From 3828e745828f86991ea58cdbb82d5828cddc68b6 Mon Sep 17 00:00:00 2001 From: Yuping Wei <56525716+yupwei68@users.noreply.github.com> Date: Wed, 13 May 2020 06:29:55 +0800 Subject: [PATCH] azurerm_api_management_named_value - fix the non empty plan when `secret` is true (#6834) Fix #6688 --- .../api_management_named_value_resource.go | 5 ++++- .../api_management_named_value_resource_test.go | 16 ++-------------- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/azurerm/internal/services/apimanagement/api_management_named_value_resource.go b/azurerm/internal/services/apimanagement/api_management_named_value_resource.go index cbfd467c15f7..5c3b06c3c872 100644 --- a/azurerm/internal/services/apimanagement/api_management_named_value_resource.go +++ b/azurerm/internal/services/apimanagement/api_management_named_value_resource.go @@ -149,7 +149,10 @@ func resourceArmApiManagementNamedValueRead(d *schema.ResourceData, meta interfa if properties := resp.NamedValueContractProperties; properties != nil { d.Set("display_name", properties.DisplayName) d.Set("secret", properties.Secret) - d.Set("value", properties.Value) + // API will not return `value` when `secret` is `true`, in which case we shall not set the `value`. Refer to the issue : #6688 + if properties.Secret != nil && !*properties.Secret { + d.Set("value", properties.Value) + } d.Set("tags", properties.Tags) } diff --git a/azurerm/internal/services/apimanagement/tests/api_management_named_value_resource_test.go b/azurerm/internal/services/apimanagement/tests/api_management_named_value_resource_test.go index ba1fb9b37d5b..494efaaa9f2f 100644 --- a/azurerm/internal/services/apimanagement/tests/api_management_named_value_resource_test.go +++ b/azurerm/internal/services/apimanagement/tests/api_management_named_value_resource_test.go @@ -23,10 +23,6 @@ func TestAccAzureRMAPIManagementNamedValue_basic(t *testing.T) { Config: testAccAzureRMAPIManagementNamedValue_basic(data), Check: resource.ComposeTestCheckFunc( testCheckAzureRMAPIManagementNamedValueExists(data.ResourceName), - resource.TestCheckResourceAttr(data.ResourceName, "display_name", fmt.Sprintf("TestProperty%d", data.RandomInteger)), - resource.TestCheckResourceAttr(data.ResourceName, "value", "Test Value"), - resource.TestCheckResourceAttr(data.ResourceName, "tags.0", "tag1"), - resource.TestCheckResourceAttr(data.ResourceName, "tags.1", "tag2"), ), }, data.ImportStep(), @@ -46,24 +42,16 @@ func TestAccAzureRMAPIManagementNamedValue_update(t *testing.T) { Config: testAccAzureRMAPIManagementNamedValue_basic(data), Check: resource.ComposeTestCheckFunc( testCheckAzureRMAPIManagementNamedValueExists(data.ResourceName), - resource.TestCheckResourceAttr(data.ResourceName, "display_name", fmt.Sprintf("TestProperty%d", data.RandomInteger)), - resource.TestCheckResourceAttr(data.ResourceName, "value", "Test Value"), - resource.TestCheckResourceAttr(data.ResourceName, "tags.0", "tag1"), - resource.TestCheckResourceAttr(data.ResourceName, "tags.1", "tag2"), ), }, + data.ImportStep(), { Config: testAccAzureRMAPIManagementNamedValue_update(data), Check: resource.ComposeTestCheckFunc( testCheckAzureRMAPIManagementNamedValueExists(data.ResourceName), - resource.TestCheckResourceAttr(data.ResourceName, "display_name", fmt.Sprintf("TestProperty2%d", data.RandomInteger)), - resource.TestCheckResourceAttr(data.ResourceName, "value", "Test Value2"), - resource.TestCheckResourceAttr(data.ResourceName, "secret", "true"), - resource.TestCheckResourceAttr(data.ResourceName, "tags.0", "tag3"), - resource.TestCheckResourceAttr(data.ResourceName, "tags.1", "tag4"), ), }, - data.ImportStep(), + data.ImportStep("value"), }, }) }