From 73a633557aae56b4136ee965c70c9f6591cb85e1 Mon Sep 17 00:00:00 2001 From: Antti Siiskonen Date: Wed, 12 Aug 2020 09:51:08 +0300 Subject: [PATCH 1/2] Fix build errors --- .../mariadb/mariadb_virtual_network_rule_resource.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/azurerm/internal/services/mariadb/mariadb_virtual_network_rule_resource.go b/azurerm/internal/services/mariadb/mariadb_virtual_network_rule_resource.go index 393cc83a1be6..2ad3c3ad2ad0 100644 --- a/azurerm/internal/services/mariadb/mariadb_virtual_network_rule_resource.go +++ b/azurerm/internal/services/mariadb/mariadb_virtual_network_rule_resource.go @@ -134,12 +134,12 @@ func resourceArmMariaDbVirtualNetworkRuleCreateUpdate(d *schema.ResourceData, me }, } - if _, err = client.CreateOrUpdate(ctx, resourceGroup, serverName, name, parameters); err != nil { + if _, err := client.CreateOrUpdate(ctx, resourceGroup, serverName, name, parameters); err != nil { return fmt.Errorf("Error creating MariaDb Virtual Network Rule %q (MariaDb Server: %q, Resource Group: %q): %+v", name, serverName, resourceGroup, err) } // Wait for the provisioning state to become ready - log.Printf("[DEBUG] Waiting for MariaDb Virtual Network Rule %q (MariaDb Server: %q, Resource Group: %q) to become ready: %+v", name, serverName, resourceGroup, err) + log.Printf("[DEBUG] Waiting for MariaDb Virtual Network Rule %q (MariaDb Server: %q, Resource Group: %q) to become ready", name, serverName, resourceGroup) stateConf := &resource.StateChangeConf{ Pending: []string{"Initializing", "InProgress", "Unknown", "ResponseNotFound"}, Target: []string{"Ready"}, @@ -153,7 +153,7 @@ func resourceArmMariaDbVirtualNetworkRuleCreateUpdate(d *schema.ResourceData, me stateConf.Timeout = d.Timeout(schema.TimeoutUpdate) } - if _, err = stateConf.WaitForState(); err != nil { + if _, err := stateConf.WaitForState(); err != nil { return fmt.Errorf("Error waiting for MariaDb Virtual Network Rule %q (MariaDb Server: %q, Resource Group: %q) to be created or updated: %+v", name, serverName, resourceGroup, err) } From b5291ff995e8414e8b179b49daf105e2ee918650 Mon Sep 17 00:00:00 2001 From: Antti Siiskonen Date: Wed, 12 Aug 2020 09:50:46 +0300 Subject: [PATCH 2/2] Remove explicit subnet check from azurerm mariadb virtual network rule resource --- .../mariadb_virtual_network_rule_resource.go | 41 ------------------- 1 file changed, 41 deletions(-) diff --git a/azurerm/internal/services/mariadb/mariadb_virtual_network_rule_resource.go b/azurerm/internal/services/mariadb/mariadb_virtual_network_rule_resource.go index 2ad3c3ad2ad0..83c842535531 100644 --- a/azurerm/internal/services/mariadb/mariadb_virtual_network_rule_resource.go +++ b/azurerm/internal/services/mariadb/mariadb_virtual_network_rule_resource.go @@ -4,7 +4,6 @@ import ( "context" "fmt" "log" - "strings" "time" "github.com/Azure/azure-sdk-for-go/services/mariadb/mgmt/2018-06-01/mariadb" @@ -87,46 +86,6 @@ func resourceArmMariaDbVirtualNetworkRuleCreateUpdate(d *schema.ResourceData, me } } - // due to a bug in the API we have to ensure the Subnet's configured correctly or the API call will timeout - // BUG: https://github.com/Azure/azure-rest-api-specs/issues/3719 - subnetsClient := meta.(*clients.Client).Network.SubnetsClient - subnetParsedId, err := azure.ParseAzureResourceID(subnetId) - if err != nil { - return err - } - - subnetResourceGroup := subnetParsedId.ResourceGroup - virtualNetwork := subnetParsedId.Path["virtualNetworks"] - subnetName := subnetParsedId.Path["subnets"] - subnet, err := subnetsClient.Get(ctx, subnetResourceGroup, virtualNetwork, subnetName, "") - if err != nil { - if utils.ResponseWasNotFound(subnet.Response) { - return fmt.Errorf("Subnet with ID %q was not found: %+v", subnetId, err) - } - - return fmt.Errorf("Error obtaining Subnet %q (Virtual Network %q / Resource Group %q: %+v", subnetName, virtualNetwork, subnetResourceGroup, err) - } - - containsEndpoint := false - if props := subnet.SubnetPropertiesFormat; props != nil { - if endpoints := props.ServiceEndpoints; endpoints != nil { - for _, e := range *endpoints { - if e.Service == nil { - continue - } - - if strings.EqualFold(*e.Service, "Microsoft.Sql") { - containsEndpoint = true - break - } - } - } - } - - if !containsEndpoint { - return fmt.Errorf("Error creating MariaDb Virtual Network Rule: Subnet %q (Virtual Network %q / Resource Group %q) must contain a Service Endpoint for `Microsoft.Sql`", subnetName, virtualNetwork, subnetResourceGroup) - } - parameters := mariadb.VirtualNetworkRule{ VirtualNetworkRuleProperties: &mariadb.VirtualNetworkRuleProperties{ VirtualNetworkSubnetID: utils.String(subnetId),