Skip to content

Commit

Permalink
Merge pull request #5004 from terraform-providers/f/networking
Browse files Browse the repository at this point in the history
[Networking] Updating to `2019-09-01` / fixing `azurerm_virtual_hub` / VPN Resources
  • Loading branch information
tombuildsstuff authored Nov 29, 2019
2 parents 4a8ab56 + 91d54d8 commit a39d909
Show file tree
Hide file tree
Showing 199 changed files with 9,036 additions and 3,831 deletions.
2 changes: 1 addition & 1 deletion azurerm/data_source_express_route_circuit.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"time"

"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-07-01/network"
"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-09-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/validate"
Expand Down
2 changes: 1 addition & 1 deletion azurerm/data_source_loadbalancer.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"time"

"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-07-01/network"
"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-09-01/network"
"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"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"time"

"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-07-01/network"
"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-09-01/network"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/azure"
aznet "github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/services/network"
Expand Down
2 changes: 1 addition & 1 deletion azurerm/data_source_public_ips.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (
"strings"
"time"

"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-07-01/network"
"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-09-01/network"
"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"
Expand Down
2 changes: 1 addition & 1 deletion azurerm/data_source_route_table.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"time"

"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-07-01/network"
"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-09-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/validate"
Expand Down
90 changes: 0 additions & 90 deletions azurerm/data_source_virtual_hub.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,70 +41,6 @@ func dataSourceArmVirtualHub() *schema.Resource {
Computed: true,
},

"s2s_vpn_gateway_id": {
Type: schema.TypeString,
Computed: true,
},

"p2s_vpn_gateway_id": {
Type: schema.TypeString,
Computed: true,
},

"express_route_gateway_id": {
Type: schema.TypeString,
Computed: true,
},

"virtual_network_connection": {
Type: schema.TypeList,
Computed: true,
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
"name": {
Type: schema.TypeString,
Computed: true,
},
"remote_virtual_network_id": {
Type: schema.TypeString,
Computed: true,
},
"allow_hub_to_remote_vnet_transit": {
Type: schema.TypeBool,
Computed: true,
},
"allow_remote_vnet_to_use_hub_vnet_gateways": {
Type: schema.TypeBool,
Computed: true,
},
"enable_internet_security": {
Type: schema.TypeBool,
Computed: true,
},
},
},
},

"route": {
Type: schema.TypeList,
Computed: true,
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
"address_prefixes": {
Type: schema.TypeList,
Computed: true,
Elem: &schema.Schema{
Type: schema.TypeString,
},
},
"next_hop_ip_address": {
Type: schema.TypeString,
Computed: true,
},
},
},
},

"tags": tags.SchemaDataSource(),
},
}
Expand Down Expand Up @@ -136,37 +72,11 @@ func dataSourceArmVirtualHubRead(d *schema.ResourceData, meta interface{}) error
if props := resp.VirtualHubProperties; props != nil {
d.Set("address_prefix", props.AddressPrefix)

var expressRouteGatewayId *string
if props.ExpressRouteGateway != nil {
expressRouteGatewayId = props.ExpressRouteGateway.ID
}
d.Set("express_route_gateway_id", expressRouteGatewayId)

var p2sVpnGatewayId *string
if props.P2SVpnGateway != nil {
p2sVpnGatewayId = props.P2SVpnGateway.ID
}
d.Set("p2s_vpn_gateway_id", p2sVpnGatewayId)

if err := d.Set("route", flattenArmVirtualHubRoute(props.RouteTable)); err != nil {
return fmt.Errorf("Error setting `route`: %+v", err)
}

var vpnGatewayId *string
if props.VpnGateway != nil {
vpnGatewayId = props.VpnGateway.ID
}
d.Set("s2s_vpn_gateway_id", vpnGatewayId)

var virtualWanId *string
if props.VirtualWan != nil {
virtualWanId = props.VirtualWan.ID
}
d.Set("virtual_wan_id", virtualWanId)

if err := d.Set("virtual_network_connection", flattenArmVirtualHubVirtualNetworkConnection(props.VirtualNetworkConnections)); err != nil {
return fmt.Errorf("Error setting `virtual_network_connection`: %+v", err)
}
}

return tags.FlattenAndSet(d, resp.Tags)
Expand Down
4 changes: 2 additions & 2 deletions azurerm/data_source_virtual_hub_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ func testAccDataSourceVirtualHub_basic(rInt int, location string) string {
%s
data "azurerm_virtual_hub" "test" {
name = "${azurerm_virtual_hub.test.name}"
resource_group_name = "${azurerm_virtual_hub.test.resource_group_name}"
name = azurerm_virtual_hub.test.name
resource_group_name = azurerm_virtual_hub.test.resource_group_name
}
`, config)
}
2 changes: 1 addition & 1 deletion azurerm/data_source_virtual_network.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"time"

"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-07-01/network"
"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-09-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/validate"
Expand Down
2 changes: 1 addition & 1 deletion azurerm/data_source_virtual_network_gateway.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"time"

"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-07-01/network"
"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-09-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/validate"
Expand Down
2 changes: 1 addition & 1 deletion azurerm/data_source_virtual_network_gateway_connection.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"time"

"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-07-01/network"
"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-09-01/network"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/azure"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/tags"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/timeouts"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"testing"

"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-07-01/network"
"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-09-01/network"

"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/tf"
Expand Down
2 changes: 1 addition & 1 deletion azurerm/helpers/azure/network_interface.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package azure

import "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-07-01/network"
import "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-09-01/network"

func FindNetworkInterfaceIPConfiguration(input *[]network.InterfaceIPConfiguration, name string) *network.InterfaceIPConfiguration {
if input == nil {
Expand Down
17 changes: 16 additions & 1 deletion azurerm/internal/services/network/client.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package network

import (
"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-07-01/network"
"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-09-01/network"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/common"
)

Expand All @@ -18,6 +18,7 @@ type Client struct {
InterfacesClient *network.InterfacesClient
LoadBalancersClient *network.LoadBalancersClient
LocalNetworkGatewaysClient *network.LocalNetworkGatewaysClient
PointToSiteVpnGatewaysClient *network.P2sVpnGatewaysClient
ProfileClient *network.ProfilesClient
PacketCapturesClient *network.PacketCapturesClient
PublicIPsClient *network.PublicIPAddressesClient
Expand All @@ -33,6 +34,8 @@ type Client struct {
VnetPeeringsClient *network.VirtualNetworkPeeringsClient
VirtualWanClient *network.VirtualWansClient
VirtualHubClient *network.VirtualHubsClient
VpnGatewaysClient *network.VpnGatewaysClient
VpnServerConfigurationsClient *network.VpnServerConfigurationsClient
WatcherClient *network.WatchersClient
WebApplicationFirewallPoliciesClient *network.WebApplicationFirewallPoliciesClient
PrivateLinkServiceClient *network.PrivateLinkServicesClient
Expand Down Expand Up @@ -75,6 +78,12 @@ func BuildClient(o *common.ClientOptions) *Client {
LocalNetworkGatewaysClient := network.NewLocalNetworkGatewaysClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&LocalNetworkGatewaysClient.Client, o.ResourceManagerAuthorizer)

pointToSiteVpnGatewaysClient := network.NewP2sVpnGatewaysClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&pointToSiteVpnGatewaysClient.Client, o.ResourceManagerAuthorizer)

vpnServerConfigurationsClient := network.NewVpnServerConfigurationsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&vpnServerConfigurationsClient.Client, o.ResourceManagerAuthorizer)

ProfileClient := network.NewProfilesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&ProfileClient.Client, o.ResourceManagerAuthorizer)

Expand Down Expand Up @@ -123,6 +132,9 @@ func BuildClient(o *common.ClientOptions) *Client {
VirtualHubClient := network.NewVirtualHubsClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&VirtualHubClient.Client, o.ResourceManagerAuthorizer)

vpnGatewaysClient := network.NewVpnGatewaysClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&vpnGatewaysClient.Client, o.ResourceManagerAuthorizer)

WatcherClient := network.NewWatchersClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&WatcherClient.Client, o.ResourceManagerAuthorizer)

Expand All @@ -142,6 +154,7 @@ func BuildClient(o *common.ClientOptions) *Client {
InterfacesClient: &InterfacesClient,
LoadBalancersClient: &LoadBalancersClient,
LocalNetworkGatewaysClient: &LocalNetworkGatewaysClient,
PointToSiteVpnGatewaysClient: &pointToSiteVpnGatewaysClient,
ProfileClient: &ProfileClient,
PacketCapturesClient: &PacketCapturesClient,
PublicIPsClient: &PublicIPsClient,
Expand All @@ -157,6 +170,8 @@ func BuildClient(o *common.ClientOptions) *Client {
VnetPeeringsClient: &VnetPeeringsClient,
VirtualWanClient: &VirtualWanClient,
VirtualHubClient: &VirtualHubClient,
VpnGatewaysClient: &vpnGatewaysClient,
VpnServerConfigurationsClient: &vpnServerConfigurationsClient,
WatcherClient: &WatcherClient,
WebApplicationFirewallPoliciesClient: &WebApplicationFirewallPoliciesClient,
PrivateLinkServiceClient: &PrivateLinkServiceClient,
Expand Down
31 changes: 31 additions & 0 deletions azurerm/internal/services/network/point_to_site_vpn_gateway.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package network

import (
"fmt"

"github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/azure"
)

type PointToSiteVPNGatewayResourceID struct {
Base azure.ResourceID

Name string
}

func ParsePointToSiteVPNGatewayID(input string) (*PointToSiteVPNGatewayResourceID, error) {
id, err := azure.ParseAzureResourceID(input)
if err != nil {
return nil, fmt.Errorf("[ERROR] Unable to parse Point-to-Site VPN Gateway ID %q: %+v", input, err)
}

routeTable := PointToSiteVPNGatewayResourceID{
Base: *id,
Name: id.Path["p2sVpnGateways"],
}

if routeTable.Name == "" {
return nil, fmt.Errorf("ID was missing the `p2sVpnGateways` element")
}

return &routeTable, nil
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package network

import (
"testing"

"github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/azure"
)

func TestParsePointToSiteVPNGateway(t *testing.T) {
testData := []struct {
Name string
Input string
Expected *PointToSiteVPNGatewayResourceID
}{
{
Name: "Empty",
Input: "",
Expected: nil,
},
{
Name: "No Point-to-Site VPN Gateways Segment",
Input: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foo",
Expected: nil,
},
{
Name: "No Point-to-Site VPN Gateways Value",
Input: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foo/p2sVpnGateways/",
Expected: nil,
},
{
Name: "Completed",
Input: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foo/p2sVpnGateways/example",
Expected: &PointToSiteVPNGatewayResourceID{
Name: "example",
Base: azure.ResourceID{
ResourceGroup: "foo",
},
},
},
}

for _, v := range testData {
t.Logf("[DEBUG] Testing %q", v.Name)

actual, err := ParsePointToSiteVPNGatewayID(v.Input)
if err != nil {
if v.Expected == nil {
continue
}

t.Fatalf("Expected a value but got an error: %s", err)
}

if actual.Name != v.Expected.Name {
t.Fatalf("Expected %q but got %q for Name", v.Expected.Name, actual.Name)
}

if actual.Base.ResourceGroup != v.Expected.Base.ResourceGroup {
t.Fatalf("Expected %q but got %q for ResourceGroup", v.Expected.Base.ResourceGroup, actual.Base.ResourceGroup)
}
}
}
Loading

0 comments on commit a39d909

Please sign in to comment.