diff --git a/azurerm/internal/services/network/client/client.go b/azurerm/internal/services/network/client/client.go index aa3227829680..01d7574da640 100644 --- a/azurerm/internal/services/network/client/client.go +++ b/azurerm/internal/services/network/client/client.go @@ -17,6 +17,7 @@ type Client struct { ExpressRouteCircuitsClient *network.ExpressRouteCircuitsClient ExpressRouteGatewaysClient *network.ExpressRouteGatewaysClient ExpressRoutePeeringsClient *network.ExpressRouteCircuitPeeringsClient + HubVirtualNetworkConnectionClient *network.HubVirtualNetworkConnectionsClient InterfacesClient *network.InterfacesClient LoadBalancersClient *network.LoadBalancersClient LocalNetworkGatewaysClient *network.LocalNetworkGatewaysClient @@ -78,6 +79,9 @@ func NewClient(o *common.ClientOptions) *Client { ExpressRoutePeeringsClient := network.NewExpressRouteCircuitPeeringsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId) o.ConfigureClient(&ExpressRoutePeeringsClient.Client, o.ResourceManagerAuthorizer) + HubVirtualNetworkConnectionClient := network.NewHubVirtualNetworkConnectionsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId) + o.ConfigureClient(&HubVirtualNetworkConnectionClient.Client, o.ResourceManagerAuthorizer) + InterfacesClient := network.NewInterfacesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId) o.ConfigureClient(&InterfacesClient.Client, o.ResourceManagerAuthorizer) @@ -173,6 +177,7 @@ func NewClient(o *common.ClientOptions) *Client { ExpressRouteCircuitsClient: &ExpressRouteCircuitsClient, ExpressRouteGatewaysClient: &ExpressRouteGatewaysClient, ExpressRoutePeeringsClient: &ExpressRoutePeeringsClient, + HubVirtualNetworkConnectionClient: &HubVirtualNetworkConnectionClient, InterfacesClient: &InterfacesClient, LoadBalancersClient: &LoadBalancersClient, LocalNetworkGatewaysClient: &LocalNetworkGatewaysClient, diff --git a/azurerm/internal/services/network/tests/virtual_hub_connection_resource_test.go b/azurerm/internal/services/network/tests/virtual_hub_connection_resource_test.go index 265af4cbfa3c..2ea42cc5a087 100644 --- a/azurerm/internal/services/network/tests/virtual_hub_connection_resource_test.go +++ b/azurerm/internal/services/network/tests/virtual_hub_connection_resource_test.go @@ -105,9 +105,35 @@ func TestAccAzureRMVirtualHubConnection_update(t *testing.T) { }) } +func TestAccAzureRMVirtualHubConnection_recreateWithSameConnectionName(t *testing.T) { + data := acceptance.BuildTestData(t, "azurerm_virtual_hub_connection", "test") + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acceptance.PreCheck(t) }, + Providers: acceptance.SupportedProviders, + CheckDestroy: testCheckAzureRMVirtualHubConnectionDestroy, + Steps: []resource.TestStep{ + { + Config: testAccAzureRMVirtualHubConnection_basic(data), + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMVirtualHubConnectionExists(data.ResourceName), + ), + }, + data.ImportStep(), + { + Config: testAccAzureRMVirtualHubConnection_enableInternetSecurity(data), + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMVirtualHubConnectionExists(data.ResourceName), + ), + }, + data.ImportStep(), + }, + }) +} + func testCheckAzureRMVirtualHubConnectionExists(resourceName string) resource.TestCheckFunc { return func(s *terraform.State) error { - client := acceptance.AzureProvider.Meta().(*clients.Client).Network.VirtualHubClient + client := acceptance.AzureProvider.Meta().(*clients.Client).Network.HubVirtualNetworkConnectionClient ctx := acceptance.AzureProvider.Meta().(*clients.Client).StopContext rs, ok := s.RootModule().Resources[resourceName] @@ -120,32 +146,11 @@ func testCheckAzureRMVirtualHubConnectionExists(resourceName string) resource.Te return err } - resp, err := client.Get(ctx, id.ResourceGroup, id.VirtualHubName) - if err != nil { - return fmt.Errorf("Bad: Get on network.VirtualHubClient: %+v", err) - } - - if resp.VirtualHubProperties == nil { - return fmt.Errorf("VirtualHubProperties was nil!") - } - - props := *resp.VirtualHubProperties - if props.VirtualNetworkConnections == nil { - return fmt.Errorf("props.VirtualNetworkConnections was nil") - } - - conns := *props.VirtualNetworkConnections - - found := false - for _, conn := range conns { - if conn.Name != nil && *conn.Name == id.Name { - found = true - break + if resp, err := client.Get(ctx, id.ResourceGroup, id.VirtualHubName, id.Name); err != nil { + if utils.ResponseWasNotFound(resp.Response) { + return fmt.Errorf("Bad: Virtual Hub Connection %q (Resource Group %q) does not exist", id.Name, id.ResourceGroup) } - } - - if !found { - return fmt.Errorf("Connection %q was not found", id.Name) + return fmt.Errorf("Bad: Get on network.HubVirtualNetworkConnectionClient: %+v", err) } return nil @@ -153,10 +158,10 @@ func testCheckAzureRMVirtualHubConnectionExists(resourceName string) resource.Te } func testCheckAzureRMVirtualHubConnectionDestroy(s *terraform.State) error { - for _, rs := range s.RootModule().Resources { - client := acceptance.AzureProvider.Meta().(*clients.Client).Network.VirtualHubClient - ctx := acceptance.AzureProvider.Meta().(*clients.Client).StopContext + client := acceptance.AzureProvider.Meta().(*clients.Client).Network.HubVirtualNetworkConnectionClient + ctx := acceptance.AzureProvider.Meta().(*clients.Client).StopContext + for _, rs := range s.RootModule().Resources { if rs.Type != "azurerm_virtual_hub_connection" { continue } @@ -166,26 +171,9 @@ func testCheckAzureRMVirtualHubConnectionDestroy(s *terraform.State) error { return err } - resp, err := client.Get(ctx, id.ResourceGroup, id.VirtualHubName) - if err != nil { + if resp, err := client.Get(ctx, id.ResourceGroup, id.VirtualHubName, id.Name); err != nil { if !utils.ResponseWasNotFound(resp.Response) { - return fmt.Errorf("Bad: Get on network.VirtualHubClient: %+v", err) - } - } - - // since it's been deleted, that's fine - if resp.VirtualHubProperties == nil { - return nil - } - props := *resp.VirtualHubProperties - if props.VirtualNetworkConnections == nil { - return nil - } - - conns := *props.VirtualNetworkConnections - for _, conn := range conns { - if conn.Name != nil && *conn.Name == id.Name { - return fmt.Errorf("Connection %q still exists", id.Name) + return fmt.Errorf("Bad: Get on network.HubVirtualNetworkConnectionClient: %+v", err) } } @@ -243,7 +231,7 @@ resource "azurerm_subnet" "test2" { name = "acctestsubnet2%d" resource_group_name = azurerm_resource_group.test.name virtual_network_name = azurerm_virtual_network.test2.name - address_prefix = "10.6.1.0/24" + address_prefixes = ["10.6.1.0/24"] } resource "azurerm_subnet_network_security_group_association" "test2" { @@ -252,25 +240,35 @@ resource "azurerm_subnet_network_security_group_association" "test2" { } resource "azurerm_virtual_hub_connection" "test" { - name = "acctestvhubconn-%d" - virtual_hub_id = azurerm_virtual_hub.test.id - remote_virtual_network_id = azurerm_virtual_network.test.id - hub_to_vitual_network_traffic_allowed = true - vitual_network_to_hub_gateways_traffic_allowed = false - internet_security_enabled = false + name = "acctestvhubconn-%d" + virtual_hub_id = azurerm_virtual_hub.test.id + remote_virtual_network_id = azurerm_virtual_network.test.id + internet_security_enabled = false } resource "azurerm_virtual_hub_connection" "test2" { - name = "acctestvhubconn2-%d" - virtual_hub_id = azurerm_virtual_hub.test.id - remote_virtual_network_id = azurerm_virtual_network.test2.id - hub_to_vitual_network_traffic_allowed = false - vitual_network_to_hub_gateways_traffic_allowed = false - internet_security_enabled = true + name = "acctestvhubconn2-%d" + virtual_hub_id = azurerm_virtual_hub.test.id + remote_virtual_network_id = azurerm_virtual_network.test2.id + internet_security_enabled = true } `, template, data.RandomInteger, data.RandomInteger, data.RandomInteger, data.RandomInteger, data.RandomInteger) } +func testAccAzureRMVirtualHubConnection_enableInternetSecurity(data acceptance.TestData) string { + template := testAccAzureRMVirtualHubConnection_template(data) + return fmt.Sprintf(` +%s + +resource "azurerm_virtual_hub_connection" "test" { + name = "acctestbasicvhubconn-%d" + virtual_hub_id = azurerm_virtual_hub.test.id + remote_virtual_network_id = azurerm_virtual_network.test.id + internet_security_enabled = true +} +`, template, data.RandomInteger) +} + func testAccAzureRMVirtualHubConnection_template(data acceptance.TestData) string { return fmt.Sprintf(` provider "azurerm" { @@ -299,7 +297,7 @@ resource "azurerm_subnet" "test" { name = "acctestsubnet%d" resource_group_name = azurerm_resource_group.test.name virtual_network_name = azurerm_virtual_network.test.name - address_prefix = "10.5.1.0/24" + address_prefixes = ["10.5.1.0/24"] } resource "azurerm_subnet_network_security_group_association" "test" { diff --git a/azurerm/internal/services/network/tests/virtual_wan_resource_test.go b/azurerm/internal/services/network/tests/virtual_wan_resource_test.go index f7f30bf02a8b..f2ba972cced6 100644 --- a/azurerm/internal/services/network/tests/virtual_wan_resource_test.go +++ b/azurerm/internal/services/network/tests/virtual_wan_resource_test.go @@ -180,7 +180,6 @@ resource "azurerm_virtual_wan" "test" { disable_vpn_encryption = false allow_branch_to_branch_traffic = true - allow_vnet_to_vnet_traffic = true office365_local_breakout_category = "All" type = "Standard" diff --git a/azurerm/internal/services/network/virtual_hub_connection_resource.go b/azurerm/internal/services/network/virtual_hub_connection_resource.go index e28f58ec30bb..4345e4a3a64b 100644 --- a/azurerm/internal/services/network/virtual_hub_connection_resource.go +++ b/azurerm/internal/services/network/virtual_hub_connection_resource.go @@ -5,12 +5,11 @@ import ( "log" "time" - "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2020-03-01/network" + "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2020-05-01/network" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" "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/services/network/parse" "github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/timeouts" @@ -56,15 +55,17 @@ func resourceArmVirtualHubConnection() *schema.Resource { }, "hub_to_vitual_network_traffic_allowed": { - Type: schema.TypeBool, - Optional: true, - ForceNew: true, + Type: schema.TypeBool, + Optional: true, + ForceNew: true, + Deprecated: "This field has been deprecated since it is maintained internally in the implementation.", }, "vitual_network_to_hub_gateways_traffic_allowed": { - Type: schema.TypeBool, - Optional: true, - ForceNew: true, + Type: schema.TypeBool, + Optional: true, + ForceNew: true, + Deprecated: "This field has been deprecated since it is maintained internally in the implementation.", }, "internet_security_enabled": { @@ -77,7 +78,7 @@ func resourceArmVirtualHubConnection() *schema.Resource { } func resourceArmVirtualHubConnectionCreate(d *schema.ResourceData, meta interface{}) error { - client := meta.(*clients.Client).Network.VirtualHubClient + client := meta.(*clients.Client).Network.HubVirtualNetworkConnectionClient ctx, cancel := timeouts.ForCreate(meta.(*clients.Client).StopContext, d) defer cancel() @@ -89,32 +90,18 @@ func resourceArmVirtualHubConnectionCreate(d *schema.ResourceData, meta interfac locks.ByName(id.Name, virtualHubResourceName) defer locks.UnlockByName(id.Name, virtualHubResourceName) - virtualHub, err := client.Get(ctx, id.ResourceGroup, id.Name) - if err != nil { - if utils.ResponseWasNotFound(virtualHub.Response) { - return fmt.Errorf("Virtual Hub %q was not found in Resource Group %q", id.Name, id.ResourceGroup) - } - - return fmt.Errorf("Error retrieving Virtual Hub %q (Resource Group %q): %+v", id.Name, id.ResourceGroup, err) - } - - if virtualHub.VirtualHubProperties == nil { - return fmt.Errorf("Error retrieving Virtual Hub %q (Resource Group %q): `properties` was nil", id.Name, id.ResourceGroup) - } - name := d.Get("name").(string) - if features.ShouldResourcesBeImported() { - if connection, _ := findVirtualHubConnection(name, virtualHub); connection != nil { - return tf.ImportAsExistsError("azurerm_virtual_hub_connection", *connection.ID) + if d.IsNewResource() { + existing, err := client.Get(ctx, id.ResourceGroup, id.Name, name) + if err != nil { + if !utils.ResponseWasNotFound(existing.Response) { + return fmt.Errorf("checking for present of existing Virtual Hub Connection %q (Resource Group %q): %+v", name, id.ResourceGroup, err) + } + } + if existing.ID != nil && *existing.ID != "" { + return tf.ImportAsExistsError("azurerm_virtual_hub_connection", *existing.ID) } - } - - props := *virtualHub.VirtualHubProperties - - var connections []network.HubVirtualNetworkConnection - if props.VirtualNetworkConnections != nil { - connections = *props.VirtualNetworkConnections } connection := network.HubVirtualNetworkConnection{ @@ -123,45 +110,34 @@ func resourceArmVirtualHubConnectionCreate(d *schema.ResourceData, meta interfac RemoteVirtualNetwork: &network.SubResource{ ID: utils.String(d.Get("remote_virtual_network_id").(string)), }, - AllowHubToRemoteVnetTransit: utils.Bool(d.Get("hub_to_vitual_network_traffic_allowed").(bool)), - AllowRemoteVnetToUseHubVnetGateways: utils.Bool(d.Get("vitual_network_to_hub_gateways_traffic_allowed").(bool)), - EnableInternetSecurity: utils.Bool(d.Get("internet_security_enabled").(bool)), + EnableInternetSecurity: utils.Bool(d.Get("internet_security_enabled").(bool)), }, } - connections = append(connections, connection) - virtualHub.VirtualHubProperties.VirtualNetworkConnections = &connections - future, err := client.CreateOrUpdate(ctx, id.ResourceGroup, id.Name, virtualHub) + future, err := client.CreateOrUpdate(ctx, id.ResourceGroup, id.Name, name, connection) if err != nil { - return fmt.Errorf("Error adding Connection %q to Virtual Hub %q (Resource Group %q): %+v", name, id.Name, id.ResourceGroup, err) + return fmt.Errorf("creating Virtual Hub Connection %q (Resource Group %q): %+v", name, id.ResourceGroup, err) } if err := future.WaitForCompletionRef(ctx, client.Client); err != nil { - return fmt.Errorf("Error waiting for addition of Connection %q to Virtual Hub %q (Resource Group %q): %+v", name, id.Name, id.ResourceGroup, err) - } - - virtualHub, err = client.Get(ctx, id.ResourceGroup, id.Name) - if err != nil { - return fmt.Errorf("Error retrieving Virtual Hub %q (Resource Group %q): %+v", id.Name, id.ResourceGroup, err) + return fmt.Errorf("waiting for creation of Virtual Hub Connection %q (Resource Group %q): %+v", name, id.ResourceGroup, err) } - newConnection, err := findVirtualHubConnection(name, virtualHub) + resp, err := client.Get(ctx, id.ResourceGroup, id.Name, name) if err != nil { - return fmt.Errorf("Error retrieving Virtual Hub %q (Resource Group %q): %+v", id.Name, id.ResourceGroup, err) - } - if newConnection == nil { - return fmt.Errorf("Connection %q was not found in Virtual Hub %q / Resource Group %q", name, id.Name, id.ResourceGroup) + return fmt.Errorf("retrieving Virtual Hub Connection %q (Resource Group %q): %+v", name, id.ResourceGroup, err) } - if newConnection.ID == nil && *newConnection.ID == "" { - return fmt.Errorf("Error retrieving Connection %q (Virtual Hub %q / Resource Group %q): `id` was nil or empty", name, id.Name, id.ResourceGroup) + if resp.ID == nil || *resp.ID == "" { + return fmt.Errorf("Cannot read Virtual Hub Connection %q (Resource Group %q) ID", name, id.ResourceGroup) } + d.SetId(*resp.ID) - d.SetId(*newConnection.ID) return resourceArmVirtualHubConnectionRead(d, meta) } func resourceArmVirtualHubConnectionRead(d *schema.ResourceData, meta interface{}) error { - client := meta.(*clients.Client).Network.VirtualHubClient + client := meta.(*clients.Client).Network.HubVirtualNetworkConnectionClient + virtualHubClient := meta.(*clients.Client).Network.VirtualHubClient ctx, cancel := timeouts.ForRead(meta.(*clients.Client).StopContext, d) defer cancel() @@ -170,36 +146,28 @@ func resourceArmVirtualHubConnectionRead(d *schema.ResourceData, meta interface{ return err } - virtualHub, err := client.Get(ctx, id.ResourceGroup, id.VirtualHubName) + resp, err := client.Get(ctx, id.ResourceGroup, id.VirtualHubName, id.Name) if err != nil { - if utils.ResponseWasNotFound(virtualHub.Response) { - log.Printf("[DEBUG] Virtual Hub %q was not found in Resource Group %q - so Connection %q can't exist - removing from state", id.Name, id.VirtualHubName, id.ResourceGroup) + if utils.ResponseWasNotFound(resp.Response) { + log.Printf("[INFO] Virtual Hub Connection %q does not exist - removing from state", d.Id()) d.SetId("") return nil } - - return fmt.Errorf("Error retrieving Virtual Hub %q (Resource Group %q): %+v", id.VirtualHubName, id.ResourceGroup, err) + return fmt.Errorf("reading Virtual Hub Connection %q (Resource Group %q): %+v", id.Name, id.ResourceGroup, err) } - connection, err := findVirtualHubConnection(id.Name, virtualHub) + virtualHubResp, err := virtualHubClient.Get(ctx, id.ResourceGroup, id.VirtualHubName) if err != nil { - return fmt.Errorf("Error retrieving Connection %q (Virtual Hub %q / Resource Group %q): %+v`", id.Name, id.VirtualHubName, id.ResourceGroup, err) + return fmt.Errorf("retrieving Virtual Hub %q (Resource Group %q): %+v", id.VirtualHubName, id.ResourceGroup, err) } - if connection == nil { - log.Printf("[DEBUG] Connection %q was not found within Virtual Hub %q (Resource Group %q) - removing from state", id.Name, id.VirtualHubName, id.ResourceGroup) - d.SetId("") - return nil - } - if connection.HubVirtualNetworkConnectionProperties == nil { - return fmt.Errorf("Error retrieving Connection %q (Virtual Hub %q / Resource Group %q): `properties` was nil`", id.Name, id.VirtualHubName, id.ResourceGroup) + if virtualHubResp.ID == nil || *virtualHubResp.ID == "" { + return fmt.Errorf("Cannot read Virtual Hub %q (Resource Group %q) ID", id.VirtualHubName, id.ResourceGroup) } d.Set("name", id.Name) - d.Set("virtual_hub_id", virtualHub.ID) + d.Set("virtual_hub_id", virtualHubResp.ID) - if props := connection.HubVirtualNetworkConnectionProperties; props != nil { - d.Set("hub_to_vitual_network_traffic_allowed", props.AllowHubToRemoteVnetTransit) - d.Set("vitual_network_to_hub_gateways_traffic_allowed", props.AllowRemoteVnetToUseHubVnetGateways) + if props := resp.HubVirtualNetworkConnectionProperties; props != nil { d.Set("internet_security_enabled", props.EnableInternetSecurity) remoteVirtualNetworkId := "" if props.RemoteVirtualNetwork != nil && props.RemoteVirtualNetwork.ID != nil { @@ -212,7 +180,7 @@ func resourceArmVirtualHubConnectionRead(d *schema.ResourceData, meta interface{ } func resourceArmVirtualHubConnectionDelete(d *schema.ResourceData, meta interface{}) error { - client := meta.(*clients.Client).Network.VirtualHubClient + client := meta.(*clients.Client).Network.HubVirtualNetworkConnectionClient ctx, cancel := timeouts.ForRead(meta.(*clients.Client).StopContext, d) defer cancel() @@ -224,68 +192,14 @@ func resourceArmVirtualHubConnectionDelete(d *schema.ResourceData, meta interfac locks.ByName(id.VirtualHubName, virtualHubResourceName) defer locks.UnlockByName(id.VirtualHubName, virtualHubResourceName) - virtualHub, err := client.Get(ctx, id.ResourceGroup, id.VirtualHubName) - if err != nil { - if utils.ResponseWasNotFound(virtualHub.Response) { - return fmt.Errorf("Virtual Hub %q was not found in Resource Group %q", id.VirtualHubName, id.ResourceGroup) - } - - return fmt.Errorf("Error retrieving Virtual Hub %q (Resource Group %q): %+v", id.VirtualHubName, id.ResourceGroup, err) - } - - if virtualHub.VirtualHubProperties == nil { - return fmt.Errorf("Error retrieving Virtual Hub %q (Resource Group %q): `properties` was nil", id.VirtualHubName, id.ResourceGroup) - } - - if virtualHub.VirtualHubProperties.VirtualNetworkConnections == nil { - return fmt.Errorf("Error retrieving Virtual Hub %q (Resource Group %q): `properties.VirtualNetworkConnections` was nil", id.VirtualHubName, id.ResourceGroup) - } - - var newConnections []network.HubVirtualNetworkConnection - for _, connection := range *virtualHub.VirtualHubProperties.VirtualNetworkConnections { - if connection.Name == nil { - continue - } - - if *connection.Name == id.Name { - continue - } - - newConnections = append(newConnections, connection) - } - virtualHub.VirtualHubProperties.VirtualNetworkConnections = &newConnections - - future, err := client.CreateOrUpdate(ctx, id.ResourceGroup, id.VirtualHubName, virtualHub) + future, err := client.Delete(ctx, id.ResourceGroup, id.VirtualHubName, id.Name) if err != nil { - return fmt.Errorf("Error removing Connection %q to Virtual Hub %q (Resource Group %q): %+v", id.Name, id.VirtualHubName, id.ResourceGroup, err) + return fmt.Errorf("deleting Virtual Hub Connection %q (Resource Group %q): %+v", id.Name, id.ResourceGroup, err) } - if err := future.WaitForCompletionRef(ctx, client.Client); err != nil { - return fmt.Errorf("Error waiting for removal of Connection %q to Virtual Hub %q (Resource Group %q): %+v", id.Name, id.VirtualHubName, id.ResourceGroup, err) + if err = future.WaitForCompletionRef(ctx, client.Client); err != nil { + return fmt.Errorf("waiting for deleting Virtual Hub Connection %q (Resource Group %q): %+v", id.Name, id.ResourceGroup, err) } return nil } - -func findVirtualHubConnection(name string, virtualHub network.VirtualHub) (*network.HubVirtualNetworkConnection, error) { - if virtualHub.VirtualHubProperties == nil { - return nil, fmt.Errorf("`properties` was nil") - } - if virtualHub.VirtualHubProperties.VirtualNetworkConnections == nil { - return nil, fmt.Errorf("`properties.VirtualNetworkConnections` was nil") - } - - connections := *virtualHub.VirtualHubProperties.VirtualNetworkConnections - - for _, connection := range connections { - if connection.Name == nil || connection.ID == nil { - continue - } - - if *connection.Name == name { - return &connection, nil - } - } - - return nil, nil -} diff --git a/azurerm/internal/services/network/virtual_hub_resource.go b/azurerm/internal/services/network/virtual_hub_resource.go index 8cedbe1c3815..587102d0628c 100644 --- a/azurerm/internal/services/network/virtual_hub_resource.go +++ b/azurerm/internal/services/network/virtual_hub_resource.go @@ -5,7 +5,7 @@ import ( "log" "time" - "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2020-03-01/network" + "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2020-05-01/network" "github.com/hashicorp/go-azure-helpers/response" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" "github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/azure" diff --git a/azurerm/internal/services/network/virtual_wan_resource.go b/azurerm/internal/services/network/virtual_wan_resource.go index 6f3ecb6a8887..8d6840d10a95 100644 --- a/azurerm/internal/services/network/virtual_wan_resource.go +++ b/azurerm/internal/services/network/virtual_wan_resource.go @@ -5,7 +5,7 @@ import ( "log" "time" - "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2020-03-01/network" + "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2020-05-01/network" "github.com/hashicorp/go-azure-helpers/response" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/helper/validation" @@ -60,9 +60,9 @@ func resourceArmVirtualWan() *schema.Resource { }, "allow_vnet_to_vnet_traffic": { - Type: schema.TypeBool, - Optional: true, - Default: false, + Type: schema.TypeBool, + Optional: true, + Deprecated: "This field has been deprecated since it is maintained internally in the implementation.", }, "office365_local_breakout_category": { @@ -100,7 +100,6 @@ func resourceArmVirtualWanCreateUpdate(d *schema.ResourceData, meta interface{}) location := azure.NormalizeLocation(d.Get("location").(string)) disableVpnEncryption := d.Get("disable_vpn_encryption").(bool) allowBranchToBranchTraffic := d.Get("allow_branch_to_branch_traffic").(bool) - allowVnetToVnetTraffic := d.Get("allow_vnet_to_vnet_traffic").(bool) office365LocalBreakoutCategory := d.Get("office365_local_breakout_category").(string) virtualWanType := d.Get("type").(string) t := d.Get("tags").(map[string]interface{}) @@ -124,7 +123,6 @@ func resourceArmVirtualWanCreateUpdate(d *schema.ResourceData, meta interface{}) VirtualWanProperties: &network.VirtualWanProperties{ DisableVpnEncryption: utils.Bool(disableVpnEncryption), AllowBranchToBranchTraffic: utils.Bool(allowBranchToBranchTraffic), - AllowVnetToVnetTraffic: utils.Bool(allowVnetToVnetTraffic), Office365LocalBreakoutCategory: network.OfficeTrafficCategory(office365LocalBreakoutCategory), Type: utils.String(virtualWanType), }, @@ -183,7 +181,6 @@ func resourceArmVirtualWanRead(d *schema.ResourceData, meta interface{}) error { if props := resp.VirtualWanProperties; props != nil { d.Set("disable_vpn_encryption", props.DisableVpnEncryption) d.Set("allow_branch_to_branch_traffic", props.AllowBranchToBranchTraffic) - d.Set("allow_vnet_to_vnet_traffic", props.AllowVnetToVnetTraffic) d.Set("office365_local_breakout_category", props.Office365LocalBreakoutCategory) d.Set("type", props.Type) } diff --git a/website/docs/r/virtual_hub_connection.html.markdown b/website/docs/r/virtual_hub_connection.html.markdown index a2f1da1f8631..70baff801514 100644 --- a/website/docs/r/virtual_hub_connection.html.markdown +++ b/website/docs/r/virtual_hub_connection.html.markdown @@ -60,10 +60,14 @@ The following arguments are supported: * `hub_to_vitual_network_traffic_allowed` - (Optional) Is the Virtual Hub traffic allowed to transit via the Remote Virtual Network? Changing this forces a new resource to be created. +~> **NOTE:** The field `hub_to_vitual_network_traffic_allowed` has been deprecated since it is maintained internally in the implementation. + * `vitual_network_to_hub_gateways_traffic_allowed` - (Optional) Is Remote Virtual Network traffic allowed to transit the Hub's Virtual Network Gateway's? Changing this forces a new resource to be created. -> **NOTE** Please ensure that you deploy either a [Site-to-Site](https://www.terraform.io/docs/providers/azurerm/r/vpn_gateway.html)/[Point-to-Site](https://www.terraform.io/docs/providers/azurerm/r/point_to_site_vpn_gateway.html) VPN gateway or an [ExpressRoute gateway](https://www.terraform.io/docs/providers/azurerm/r/express_route_gateway.html) in the Virtual Hub before enabling this field. +~> **NOTE:** The field `vitual_network_to_hub_gateways_traffic_allowed` has been deprecated since it is maintained internally in the implementation. + * `internet_security_enabled` - (Optional) Should Internet Security be enabled to secure internet traffic? Changing this forces a new resource to be created. ## Attributes Reference diff --git a/website/docs/r/virtual_wan.html.markdown b/website/docs/r/virtual_wan.html.markdown index e8ef87506d9c..bd622c7d4e9b 100644 --- a/website/docs/r/virtual_wan.html.markdown +++ b/website/docs/r/virtual_wan.html.markdown @@ -40,7 +40,9 @@ The following arguments are supported: * `allow_branch_to_branch_traffic` - (Optional) Boolean flag to specify whether branch to branch traffic is allowed. Defaults to `true`. -* `allow_vnet_to_vnet_traffic` - (Optional) Boolean flag to specify whether VNet to VNet traffic is allowed. Defaults to `false`. +* `allow_vnet_to_vnet_traffic` - (Optional) Boolean flag to specify whether VNet to VNet traffic is allowed. + +~> **NOTE:** The field `allow_vnet_to_vnet_traffic` has been deprecated since it is maintained internally in the implementation. * `office365_local_breakout_category` - (Optional) Specifies the Office365 local breakout category. Possible values include: `Optimize`, `OptimizeAndAllow`, `All`, `None`. Defaults to `None`.