From 9092fad0d6a8ba98296beb5604007764273a26df Mon Sep 17 00:00:00 2001 From: Matthew Frahry Date: Wed, 12 Feb 2020 18:01:01 -0800 Subject: [PATCH 1/4] moving relay_namepace to 2.0 --- .../relay/resource_arm_relay_namespace.go | 70 ++-------------- .../resource_arm_relay_namespace_test.go | 79 ------------------- website/docs/r/relay_namespace.html.markdown | 10 +-- 3 files changed, 6 insertions(+), 153 deletions(-) diff --git a/azurerm/internal/services/relay/resource_arm_relay_namespace.go b/azurerm/internal/services/relay/resource_arm_relay_namespace.go index c39207255de3..165542daf5fb 100644 --- a/azurerm/internal/services/relay/resource_arm_relay_namespace.go +++ b/azurerm/internal/services/relay/resource_arm_relay_namespace.go @@ -14,7 +14,6 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/helper/validation" "github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/azure" - "github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/suppress" "github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/tf" "github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/clients" "github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/features" @@ -53,32 +52,9 @@ func resourceArmRelayNamespace() *schema.Resource { "resource_group_name": azure.SchemaResourceGroupName(), - "sku": { - Type: schema.TypeList, - Optional: true, - Computed: true, - Deprecated: "This property has been deprecated in favour of the 'sku_name' property and will be removed in version 2.0 of the provider", - ConflictsWith: []string{"sku_name"}, - MaxItems: 1, - Elem: &schema.Resource{ - Schema: map[string]*schema.Schema{ - "name": { - Type: schema.TypeString, - Required: true, - DiffSuppressFunc: suppress.CaseDifference, - ValidateFunc: validation.StringInSlice([]string{ - string(relay.Standard), - }, true), - }, - }, - }, - }, - "sku_name": { - Type: schema.TypeString, - Optional: true, - Computed: true, - ConflictsWith: []string{"sku"}, + Type: schema.TypeString, + Required: true, ValidateFunc: validation.StringInSlice([]string{ string(relay.Standard), }, false), @@ -123,27 +99,9 @@ func resourceArmRelayNamespaceCreateUpdate(d *schema.ResourceData, meta interfac ctx, cancel := timeouts.ForCreateUpdate(meta.(*clients.Client).StopContext, d) defer cancel() - // Remove in 2.0 - var sku relay.Sku - - if inputs := d.Get("sku").([]interface{}); len(inputs) != 0 { - input := inputs[0].(map[string]interface{}) - v := input["name"].(string) - - sku = relay.Sku{ - Name: utils.String(v), - Tier: relay.SkuTier(v), - } - } else { - // Keep in 2.0 - sku = relay.Sku{ - Name: utils.String(d.Get("sku_name").(string)), - Tier: relay.SkuTier(d.Get("sku_name").(string)), - } - } - - if *sku.Name == "" { - return fmt.Errorf("either 'sku_name' or 'sku' must be defined in the configuration file") + sku := relay.Sku{ + Name: utils.String(d.Get("sku_name").(string)), + Tier: relay.SkuTier(d.Get("sku_name").(string)), } log.Printf("[INFO] preparing arguments for Relay Namespace creation.") @@ -226,11 +184,6 @@ func resourceArmRelayNamespaceRead(d *schema.ResourceData, meta interface{}) err } if sku := resp.Sku; sku != nil { - // Remove in 2.0 - if err := d.Set("sku", flattenRelayNamespaceSku(sku)); err != nil { - return fmt.Errorf("Error setting 'sku': %+v", err) - } - if err := d.Set("sku_name", sku.Name); err != nil { return fmt.Errorf("Error setting 'sku_name': %+v", err) } @@ -307,16 +260,3 @@ func relayNamespaceDeleteRefreshFunc(ctx context.Context, client *relay.Namespac return res, "Pending", nil } } - -// Remove in 2.0 -func flattenRelayNamespaceSku(input *relay.Sku) []interface{} { - if input == nil { - return []interface{}{} - } - - output := make(map[string]interface{}) - if name := input.Name; name != nil { - output["name"] = *name - } - return []interface{}{output} -} diff --git a/azurerm/internal/services/relay/tests/resource_arm_relay_namespace_test.go b/azurerm/internal/services/relay/tests/resource_arm_relay_namespace_test.go index 4d85310b2bad..d85f6632df18 100644 --- a/azurerm/internal/services/relay/tests/resource_arm_relay_namespace_test.go +++ b/azurerm/internal/services/relay/tests/resource_arm_relay_namespace_test.go @@ -3,7 +3,6 @@ package tests import ( "fmt" "net/http" - "regexp" "testing" "github.com/hashicorp/terraform-plugin-sdk/helper/resource" @@ -38,49 +37,6 @@ func TestAccAzureRMRelayNamespace_basic(t *testing.T) { }) } -// TODO: Remove in 2.0 -func TestAccAzureRMRelayNamespace_basicClassic(t *testing.T) { - data := acceptance.BuildTestData(t, "azurerm_relay_namespace", "test") - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acceptance.PreCheck(t) }, - Providers: acceptance.SupportedProviders, - CheckDestroy: testCheckAzureRMRelayNamespaceDestroy, - Steps: []resource.TestStep{ - { - Config: testAccAzureRMRelayNamespace_basicClassic(data), - Check: resource.ComposeTestCheckFunc( - testCheckAzureRMRelayNamespaceExists(data.ResourceName), - resource.TestCheckResourceAttrSet(data.ResourceName, "metric_id"), - resource.TestCheckResourceAttrSet(data.ResourceName, "primary_connection_string"), - resource.TestCheckResourceAttrSet(data.ResourceName, "secondary_connection_string"), - resource.TestCheckResourceAttrSet(data.ResourceName, "primary_key"), - resource.TestCheckResourceAttrSet(data.ResourceName, "secondary_key"), - resource.TestCheckResourceAttr(data.ResourceName, "sku.0.name", "Standard"), - ), - }, - data.ImportStep(), - }, - }) -} - -// Remove in 2.0 -func TestAccAzureRMRelayNamespace_basicNotDefined(t *testing.T) { - data := acceptance.BuildTestData(t, "azurerm_relay_namespace", "test") - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acceptance.PreCheck(t) }, - Providers: acceptance.SupportedProviders, - CheckDestroy: testCheckAzureRMRelayNamespaceDestroy, - Steps: []resource.TestStep{ - { - Config: testAccAzureRMRelayNamespace_basicNotDefined(data), - ExpectError: regexp.MustCompile("either 'sku_name' or 'sku' must be defined in the configuration file"), - }, - }, - }) -} - func TestAccAzureRMRelayNamespace_requiresImport(t *testing.T) { if !features.ShouldResourcesBeImported() { t.Skip("Skipping since resources aren't required to be imported") @@ -205,41 +161,6 @@ resource "azurerm_relay_namespace" "test" { `, data.RandomInteger, data.Locations.Primary, data.RandomInteger) } -// Remove in 2.0 -func testAccAzureRMRelayNamespace_basicClassic(data acceptance.TestData) string { - return fmt.Sprintf(` -resource "azurerm_resource_group" "test" { - name = "acctestRG-%d" - location = "%s" -} - -resource "azurerm_relay_namespace" "test" { - name = "acctestrn-%d" - location = "${azurerm_resource_group.test.location}" - resource_group_name = "${azurerm_resource_group.test.name}" - - sku { - name = "Standard" - } -} -`, data.RandomInteger, data.Locations.Primary, data.RandomInteger) -} - -func testAccAzureRMRelayNamespace_basicNotDefined(data acceptance.TestData) string { - return fmt.Sprintf(` -resource "azurerm_resource_group" "test" { - name = "acctestRG-%d" - location = "%s" -} - -resource "azurerm_relay_namespace" "test" { - name = "acctestrn-%d" - location = "${azurerm_resource_group.test.location}" - resource_group_name = "${azurerm_resource_group.test.name}" -} -`, data.RandomInteger, data.Locations.Primary, data.RandomInteger) -} - func testAccAzureRMRelayNamespace_requiresImport(data acceptance.TestData) string { template := testAccAzureRMRelayNamespace_basic(data) return fmt.Sprintf(` diff --git a/website/docs/r/relay_namespace.html.markdown b/website/docs/r/relay_namespace.html.markdown index eee5e4815de4..207eb03492ec 100644 --- a/website/docs/r/relay_namespace.html.markdown +++ b/website/docs/r/relay_namespace.html.markdown @@ -42,18 +42,10 @@ The following arguments are supported: * `location` - (Required) Specifies the supported Azure location where the Azure Relay Namespace exists. Changing this forces a new resource to be created. -* `sku` - (Optional **Deprecated**)) A `sku` block as described below. - -* `sku_name` - (Optional) The name of the SKU to use. At this time the only supported value is `Standard`. +* `sku_name` - (Required) The name of the SKU to use. At this time the only supported value is `Standard`. * `tags` - (Optional) A mapping of tags to assign to the resource. ----- - -A `sku` block contains: - -* `name` - (Optional) The name of the SKU to use. At this time the only supported value is `Standard`. - ## Attributes Reference The following attributes are exported: From 064e3209d58b82728e48c7c267e2a4f64df3ba2c Mon Sep 17 00:00:00 2001 From: Matthew Frahry Date: Wed, 12 Feb 2020 21:33:56 -0800 Subject: [PATCH 2/4] Update upgrade guide --- website/docs/guides/2.0-upgrade-guide.html.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/website/docs/guides/2.0-upgrade-guide.html.markdown b/website/docs/guides/2.0-upgrade-guide.html.markdown index 3c3fc2955605..c3d4f732e333 100644 --- a/website/docs/guides/2.0-upgrade-guide.html.markdown +++ b/website/docs/guides/2.0-upgrade-guide.html.markdown @@ -405,6 +405,12 @@ The `sku_name` field will become Required. The deprecated `public_ip_address_allocation` field will be removed. This field has been replaced by `allocation_method`. +### Resource: `azurerm_relay_namespace` + +The deprecated `sku` block has been replaced by the `sku_name` field and will be removed. + +The `sku_name` field will become Required. + ### Resource: `azurerm_scheduler_job` Azure Scheduler is being retired in favour of Logic Apps ([more information can be found here](https://docs.microsoft.com/en-us/azure/scheduler/migrate-from-scheduler-to-logic-apps)) - as such this Resource will be removed in v2.0 of the AzureRM Provider. From 05946ac767d0864ab0a03c403bacdfe4e8d227ed Mon Sep 17 00:00:00 2001 From: tombuildsstuff Date: Thu, 13 Feb 2020 13:19:24 +0100 Subject: [PATCH 3/4] r/relay_hybrid_connection: fixing the import test --- .../tests/resource_arm_relay_hybrid_connection_test.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/azurerm/internal/services/relay/tests/resource_arm_relay_hybrid_connection_test.go b/azurerm/internal/services/relay/tests/resource_arm_relay_hybrid_connection_test.go index 5bc8d93560f3..1d92278a021a 100644 --- a/azurerm/internal/services/relay/tests/resource_arm_relay_hybrid_connection_test.go +++ b/azurerm/internal/services/relay/tests/resource_arm_relay_hybrid_connection_test.go @@ -181,12 +181,12 @@ func testAccAzureRMRelayHybridConnection_requiresImport(data acceptance.TestData return fmt.Sprintf(` %s -resource "azurerm_relay_namespace" "import" { - name = "acctestrnhc-%d" - resource_group_name = "${azurerm_resource_group.test.name}" - relay_namespace_name = "${azurerm_relay_namespace.test.name}" +resource "azurerm_relay_hybrid_connection" "import" { + name = azurerm_relay_hybrid_connection.test.name + resource_group_name = azurerm_relay_hybrid_connection.test.resource_group_name + relay_namespace_name = azurerm_relay_hybrid_connection.test.relay_namespace_name } -`, template, data.RandomInteger) +`, template) } func testCheckAzureRMRelayHybridConnectionExists(resourceName string) resource.TestCheckFunc { From c647be02c95ce92886d69d2e49b9e68ba5ae36bb Mon Sep 17 00:00:00 2001 From: tombuildsstuff Date: Thu, 13 Feb 2020 18:24:19 +0100 Subject: [PATCH 4/4] r/relay_hybrid_connection: fixing the resource name --- .../services/relay/resource_arm_relay_hybrid_connection.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azurerm/internal/services/relay/resource_arm_relay_hybrid_connection.go b/azurerm/internal/services/relay/resource_arm_relay_hybrid_connection.go index a702f5d223cf..df88b114a82a 100644 --- a/azurerm/internal/services/relay/resource_arm_relay_hybrid_connection.go +++ b/azurerm/internal/services/relay/resource_arm_relay_hybrid_connection.go @@ -91,7 +91,7 @@ func resourceArmHybridConnectionCreateUpdate(d *schema.ResourceData, meta interf } if existing.ID != nil && *existing.ID != "" { - return tf.ImportAsExistsError("azurerm_app_service", *existing.ID) + return tf.ImportAsExistsError("azurerm_relay_hybrid_connection", *existing.ID) } }