From 0af6f091a52a84ccc3b2115f9b1561512f9f7742 Mon Sep 17 00:00:00 2001 From: njucz Date: Thu, 18 Jun 2020 15:03:54 +0800 Subject: [PATCH] make `ip_rules`, `virtual_network_subnet_ids` could become zero --- ...source_arm_storage_account_network_rules.go | 18 ++++-------------- ...e_arm_storage_account_network_rules_test.go | 13 +++++++++++-- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/azurerm/internal/services/storage/resource_arm_storage_account_network_rules.go b/azurerm/internal/services/storage/resource_arm_storage_account_network_rules.go index 2d8f676f3c88..e3b5909da5e7 100644 --- a/azurerm/internal/services/storage/resource_arm_storage_account_network_rules.go +++ b/azurerm/internal/services/storage/resource_arm_storage_account_network_rules.go @@ -11,7 +11,6 @@ import ( "github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/azure" "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" "github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/locks" "github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/timeouts" "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" @@ -116,7 +115,7 @@ func resourceArmStorageAccountNetworkRulesCreateUpdate(d *schema.ResourceData, m return fmt.Errorf("Error retrieving Storage Account %q (Resource Group %q): %+v", storageAccountName, resourceGroup, err) } - if features.ShouldResourcesBeImported() && d.IsNewResource() { + if d.IsNewResource() { if storageAccount.AccountProperties == nil { return fmt.Errorf("Error retrieving Storage Account %q (Resource Group %q): `properties` was nil", storageAccountName, resourceGroup) } @@ -132,18 +131,9 @@ func resourceArmStorageAccountNetworkRulesCreateUpdate(d *schema.ResourceData, m } rules.DefaultAction = storage.DefaultAction(d.Get("default_action").(string)) - - if v, ok := d.GetOk("bypass"); ok { - rules.Bypass = expandStorageAccountNetworkRuleBypass(v.(*schema.Set).List()) - } - - if v, ok := d.GetOk("ip_rules"); ok { - rules.IPRules = expandStorageAccountNetworkRuleIpRules(v.(*schema.Set).List()) - } - - if v, ok := d.GetOk("virtual_network_subnet_ids"); ok { - rules.VirtualNetworkRules = expandStorageAccountNetworkRuleVirtualRules(v.(*schema.Set).List()) - } + rules.Bypass = expandStorageAccountNetworkRuleBypass(d.Get("bypass").(*schema.Set).List()) + rules.IPRules = expandStorageAccountNetworkRuleIpRules(d.Get("ip_rules").(*schema.Set).List()) + rules.VirtualNetworkRules = expandStorageAccountNetworkRuleVirtualRules(d.Get("virtual_network_subnet_ids").(*schema.Set).List()) opts := storage.AccountUpdateParameters{ AccountPropertiesUpdateParameters: &storage.AccountPropertiesUpdateParameters{ diff --git a/azurerm/internal/services/storage/tests/resource_arm_storage_account_network_rules_test.go b/azurerm/internal/services/storage/tests/resource_arm_storage_account_network_rules_test.go index 887c5740dadc..4d3eaaf38718 100644 --- a/azurerm/internal/services/storage/tests/resource_arm_storage_account_network_rules_test.go +++ b/azurerm/internal/services/storage/tests/resource_arm_storage_account_network_rules_test.go @@ -49,6 +49,13 @@ func TestAccAzureRMStorageAccountNetworkRules_update(t *testing.T) { ), }, data.ImportStep(), + { + Config: testAccAzureRMStorageAccountNetworkRules_empty(data), + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMStorageAccountExists("azurerm_storage_account.test"), + ), + }, + data.ImportStep(), { Config: testAccAzureRMStorageAccountNetworkRules_basic(data), Check: resource.ComposeTestCheckFunc( @@ -213,8 +220,10 @@ resource "azurerm_storage_account_network_rules" "test" { resource_group_name = azurerm_resource_group.test.name storage_account_name = azurerm_storage_account.test.name - default_action = "Deny" - bypass = ["Metrics"] + default_action = "Deny" + bypass = ["None"] + ip_rules = [] + virtual_network_subnet_ids = [] } `, data.RandomInteger, data.Locations.Primary, data.RandomString) }