1. Packages
  2. Azure Classic
  3. API Docs
  4. network
  5. VirtualNetworkGatewayConnection

We recommend using Azure Native.

Azure Classic v5.58.0 published on Saturday, Dec 2, 2023 by Pulumi

azure.network.VirtualNetworkGatewayConnection

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v5.58.0 published on Saturday, Dec 2, 2023 by Pulumi

    Manages a connection in an existing Virtual Network Gateway.

    Example Usage

    Site-to-Site connection

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new()
        {
            Location = "West US",
        });
    
        var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("exampleVirtualNetwork", new()
        {
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            AddressSpaces = new[]
            {
                "10.0.0.0/16",
            },
        });
    
        var exampleSubnet = new Azure.Network.Subnet("exampleSubnet", new()
        {
            ResourceGroupName = exampleResourceGroup.Name,
            VirtualNetworkName = exampleVirtualNetwork.Name,
            AddressPrefixes = new[]
            {
                "10.0.1.0/24",
            },
        });
    
        var onpremiseLocalNetworkGateway = new Azure.Network.LocalNetworkGateway("onpremiseLocalNetworkGateway", new()
        {
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            GatewayAddress = "168.62.225.23",
            AddressSpaces = new[]
            {
                "10.1.1.0/24",
            },
        });
    
        var examplePublicIp = new Azure.Network.PublicIp("examplePublicIp", new()
        {
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            AllocationMethod = "Dynamic",
        });
    
        var exampleVirtualNetworkGateway = new Azure.Network.VirtualNetworkGateway("exampleVirtualNetworkGateway", new()
        {
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            Type = "Vpn",
            VpnType = "RouteBased",
            ActiveActive = false,
            EnableBgp = false,
            Sku = "Basic",
            IpConfigurations = new[]
            {
                new Azure.Network.Inputs.VirtualNetworkGatewayIpConfigurationArgs
                {
                    PublicIpAddressId = examplePublicIp.Id,
                    PrivateIpAddressAllocation = "Dynamic",
                    SubnetId = exampleSubnet.Id,
                },
            },
        });
    
        var onpremiseVirtualNetworkGatewayConnection = new Azure.Network.VirtualNetworkGatewayConnection("onpremiseVirtualNetworkGatewayConnection", new()
        {
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            Type = "IPsec",
            VirtualNetworkGatewayId = exampleVirtualNetworkGateway.Id,
            LocalNetworkGatewayId = onpremiseLocalNetworkGateway.Id,
            SharedKey = "4-v3ry-53cr37-1p53c-5h4r3d-k3y",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
    			Location: pulumi.String("West US"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &network.VirtualNetworkArgs{
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    			AddressSpaces: pulumi.StringArray{
    				pulumi.String("10.0.0.0/16"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		exampleSubnet, err := network.NewSubnet(ctx, "exampleSubnet", &network.SubnetArgs{
    			ResourceGroupName:  exampleResourceGroup.Name,
    			VirtualNetworkName: exampleVirtualNetwork.Name,
    			AddressPrefixes: pulumi.StringArray{
    				pulumi.String("10.0.1.0/24"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		onpremiseLocalNetworkGateway, err := network.NewLocalNetworkGateway(ctx, "onpremiseLocalNetworkGateway", &network.LocalNetworkGatewayArgs{
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    			GatewayAddress:    pulumi.String("168.62.225.23"),
    			AddressSpaces: pulumi.StringArray{
    				pulumi.String("10.1.1.0/24"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		examplePublicIp, err := network.NewPublicIp(ctx, "examplePublicIp", &network.PublicIpArgs{
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    			AllocationMethod:  pulumi.String("Dynamic"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleVirtualNetworkGateway, err := network.NewVirtualNetworkGateway(ctx, "exampleVirtualNetworkGateway", &network.VirtualNetworkGatewayArgs{
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    			Type:              pulumi.String("Vpn"),
    			VpnType:           pulumi.String("RouteBased"),
    			ActiveActive:      pulumi.Bool(false),
    			EnableBgp:         pulumi.Bool(false),
    			Sku:               pulumi.String("Basic"),
    			IpConfigurations: network.VirtualNetworkGatewayIpConfigurationArray{
    				&network.VirtualNetworkGatewayIpConfigurationArgs{
    					PublicIpAddressId:          examplePublicIp.ID(),
    					PrivateIpAddressAllocation: pulumi.String("Dynamic"),
    					SubnetId:                   exampleSubnet.ID(),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = network.NewVirtualNetworkGatewayConnection(ctx, "onpremiseVirtualNetworkGatewayConnection", &network.VirtualNetworkGatewayConnectionArgs{
    			Location:                exampleResourceGroup.Location,
    			ResourceGroupName:       exampleResourceGroup.Name,
    			Type:                    pulumi.String("IPsec"),
    			VirtualNetworkGatewayId: exampleVirtualNetworkGateway.ID(),
    			LocalNetworkGatewayId:   onpremiseLocalNetworkGateway.ID(),
    			SharedKey:               pulumi.String("4-v3ry-53cr37-1p53c-5h4r3d-k3y"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.network.VirtualNetwork;
    import com.pulumi.azure.network.VirtualNetworkArgs;
    import com.pulumi.azure.network.Subnet;
    import com.pulumi.azure.network.SubnetArgs;
    import com.pulumi.azure.network.LocalNetworkGateway;
    import com.pulumi.azure.network.LocalNetworkGatewayArgs;
    import com.pulumi.azure.network.PublicIp;
    import com.pulumi.azure.network.PublicIpArgs;
    import com.pulumi.azure.network.VirtualNetworkGateway;
    import com.pulumi.azure.network.VirtualNetworkGatewayArgs;
    import com.pulumi.azure.network.inputs.VirtualNetworkGatewayIpConfigurationArgs;
    import com.pulumi.azure.network.VirtualNetworkGatewayConnection;
    import com.pulumi.azure.network.VirtualNetworkGatewayConnectionArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()        
                .location("West US")
                .build());
    
            var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()        
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .addressSpaces("10.0.0.0/16")
                .build());
    
            var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()        
                .resourceGroupName(exampleResourceGroup.name())
                .virtualNetworkName(exampleVirtualNetwork.name())
                .addressPrefixes("10.0.1.0/24")
                .build());
    
            var onpremiseLocalNetworkGateway = new LocalNetworkGateway("onpremiseLocalNetworkGateway", LocalNetworkGatewayArgs.builder()        
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .gatewayAddress("168.62.225.23")
                .addressSpaces("10.1.1.0/24")
                .build());
    
            var examplePublicIp = new PublicIp("examplePublicIp", PublicIpArgs.builder()        
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .allocationMethod("Dynamic")
                .build());
    
            var exampleVirtualNetworkGateway = new VirtualNetworkGateway("exampleVirtualNetworkGateway", VirtualNetworkGatewayArgs.builder()        
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .type("Vpn")
                .vpnType("RouteBased")
                .activeActive(false)
                .enableBgp(false)
                .sku("Basic")
                .ipConfigurations(VirtualNetworkGatewayIpConfigurationArgs.builder()
                    .publicIpAddressId(examplePublicIp.id())
                    .privateIpAddressAllocation("Dynamic")
                    .subnetId(exampleSubnet.id())
                    .build())
                .build());
    
            var onpremiseVirtualNetworkGatewayConnection = new VirtualNetworkGatewayConnection("onpremiseVirtualNetworkGatewayConnection", VirtualNetworkGatewayConnectionArgs.builder()        
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .type("IPsec")
                .virtualNetworkGatewayId(exampleVirtualNetworkGateway.id())
                .localNetworkGatewayId(onpremiseLocalNetworkGateway.id())
                .sharedKey("4-v3ry-53cr37-1p53c-5h4r3d-k3y")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure as azure
    
    example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West US")
    example_virtual_network = azure.network.VirtualNetwork("exampleVirtualNetwork",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        address_spaces=["10.0.0.0/16"])
    example_subnet = azure.network.Subnet("exampleSubnet",
        resource_group_name=example_resource_group.name,
        virtual_network_name=example_virtual_network.name,
        address_prefixes=["10.0.1.0/24"])
    onpremise_local_network_gateway = azure.network.LocalNetworkGateway("onpremiseLocalNetworkGateway",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        gateway_address="168.62.225.23",
        address_spaces=["10.1.1.0/24"])
    example_public_ip = azure.network.PublicIp("examplePublicIp",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        allocation_method="Dynamic")
    example_virtual_network_gateway = azure.network.VirtualNetworkGateway("exampleVirtualNetworkGateway",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        type="Vpn",
        vpn_type="RouteBased",
        active_active=False,
        enable_bgp=False,
        sku="Basic",
        ip_configurations=[azure.network.VirtualNetworkGatewayIpConfigurationArgs(
            public_ip_address_id=example_public_ip.id,
            private_ip_address_allocation="Dynamic",
            subnet_id=example_subnet.id,
        )])
    onpremise_virtual_network_gateway_connection = azure.network.VirtualNetworkGatewayConnection("onpremiseVirtualNetworkGatewayConnection",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        type="IPsec",
        virtual_network_gateway_id=example_virtual_network_gateway.id,
        local_network_gateway_id=onpremise_local_network_gateway.id,
        shared_key="4-v3ry-53cr37-1p53c-5h4r3d-k3y")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West US"});
    const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        addressSpaces: ["10.0.0.0/16"],
    });
    const exampleSubnet = new azure.network.Subnet("exampleSubnet", {
        resourceGroupName: exampleResourceGroup.name,
        virtualNetworkName: exampleVirtualNetwork.name,
        addressPrefixes: ["10.0.1.0/24"],
    });
    const onpremiseLocalNetworkGateway = new azure.network.LocalNetworkGateway("onpremiseLocalNetworkGateway", {
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        gatewayAddress: "168.62.225.23",
        addressSpaces: ["10.1.1.0/24"],
    });
    const examplePublicIp = new azure.network.PublicIp("examplePublicIp", {
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        allocationMethod: "Dynamic",
    });
    const exampleVirtualNetworkGateway = new azure.network.VirtualNetworkGateway("exampleVirtualNetworkGateway", {
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        type: "Vpn",
        vpnType: "RouteBased",
        activeActive: false,
        enableBgp: false,
        sku: "Basic",
        ipConfigurations: [{
            publicIpAddressId: examplePublicIp.id,
            privateIpAddressAllocation: "Dynamic",
            subnetId: exampleSubnet.id,
        }],
    });
    const onpremiseVirtualNetworkGatewayConnection = new azure.network.VirtualNetworkGatewayConnection("onpremiseVirtualNetworkGatewayConnection", {
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        type: "IPsec",
        virtualNetworkGatewayId: exampleVirtualNetworkGateway.id,
        localNetworkGatewayId: onpremiseLocalNetworkGateway.id,
        sharedKey: "4-v3ry-53cr37-1p53c-5h4r3d-k3y",
    });
    
    resources:
      exampleResourceGroup:
        type: azure:core:ResourceGroup
        properties:
          location: West US
      exampleVirtualNetwork:
        type: azure:network:VirtualNetwork
        properties:
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
          addressSpaces:
            - 10.0.0.0/16
      exampleSubnet:
        type: azure:network:Subnet
        properties:
          resourceGroupName: ${exampleResourceGroup.name}
          virtualNetworkName: ${exampleVirtualNetwork.name}
          addressPrefixes:
            - 10.0.1.0/24
      onpremiseLocalNetworkGateway:
        type: azure:network:LocalNetworkGateway
        properties:
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
          gatewayAddress: 168.62.225.23
          addressSpaces:
            - 10.1.1.0/24
      examplePublicIp:
        type: azure:network:PublicIp
        properties:
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
          allocationMethod: Dynamic
      exampleVirtualNetworkGateway:
        type: azure:network:VirtualNetworkGateway
        properties:
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
          type: Vpn
          vpnType: RouteBased
          activeActive: false
          enableBgp: false
          sku: Basic
          ipConfigurations:
            - publicIpAddressId: ${examplePublicIp.id}
              privateIpAddressAllocation: Dynamic
              subnetId: ${exampleSubnet.id}
      onpremiseVirtualNetworkGatewayConnection:
        type: azure:network:VirtualNetworkGatewayConnection
        properties:
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
          type: IPsec
          virtualNetworkGatewayId: ${exampleVirtualNetworkGateway.id}
          localNetworkGatewayId: ${onpremiseLocalNetworkGateway.id}
          sharedKey: 4-v3ry-53cr37-1p53c-5h4r3d-k3y
    

    VNet-to-VNet connection

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var usResourceGroup = new Azure.Core.ResourceGroup("usResourceGroup", new()
        {
            Location = "East US",
        });
    
        var usVirtualNetwork = new Azure.Network.VirtualNetwork("usVirtualNetwork", new()
        {
            Location = usResourceGroup.Location,
            ResourceGroupName = usResourceGroup.Name,
            AddressSpaces = new[]
            {
                "10.0.0.0/16",
            },
        });
    
        var usGateway = new Azure.Network.Subnet("usGateway", new()
        {
            ResourceGroupName = usResourceGroup.Name,
            VirtualNetworkName = usVirtualNetwork.Name,
            AddressPrefixes = new[]
            {
                "10.0.1.0/24",
            },
        });
    
        var usPublicIp = new Azure.Network.PublicIp("usPublicIp", new()
        {
            Location = usResourceGroup.Location,
            ResourceGroupName = usResourceGroup.Name,
            AllocationMethod = "Dynamic",
        });
    
        var usVirtualNetworkGateway = new Azure.Network.VirtualNetworkGateway("usVirtualNetworkGateway", new()
        {
            Location = usResourceGroup.Location,
            ResourceGroupName = usResourceGroup.Name,
            Type = "Vpn",
            VpnType = "RouteBased",
            Sku = "Basic",
            IpConfigurations = new[]
            {
                new Azure.Network.Inputs.VirtualNetworkGatewayIpConfigurationArgs
                {
                    PublicIpAddressId = usPublicIp.Id,
                    PrivateIpAddressAllocation = "Dynamic",
                    SubnetId = usGateway.Id,
                },
            },
        });
    
        var europeResourceGroup = new Azure.Core.ResourceGroup("europeResourceGroup", new()
        {
            Location = "West Europe",
        });
    
        var europeVirtualNetwork = new Azure.Network.VirtualNetwork("europeVirtualNetwork", new()
        {
            Location = europeResourceGroup.Location,
            ResourceGroupName = europeResourceGroup.Name,
            AddressSpaces = new[]
            {
                "10.1.0.0/16",
            },
        });
    
        var europeGateway = new Azure.Network.Subnet("europeGateway", new()
        {
            ResourceGroupName = europeResourceGroup.Name,
            VirtualNetworkName = europeVirtualNetwork.Name,
            AddressPrefixes = new[]
            {
                "10.1.1.0/24",
            },
        });
    
        var europePublicIp = new Azure.Network.PublicIp("europePublicIp", new()
        {
            Location = europeResourceGroup.Location,
            ResourceGroupName = europeResourceGroup.Name,
            AllocationMethod = "Dynamic",
        });
    
        var europeVirtualNetworkGateway = new Azure.Network.VirtualNetworkGateway("europeVirtualNetworkGateway", new()
        {
            Location = europeResourceGroup.Location,
            ResourceGroupName = europeResourceGroup.Name,
            Type = "Vpn",
            VpnType = "RouteBased",
            Sku = "Basic",
            IpConfigurations = new[]
            {
                new Azure.Network.Inputs.VirtualNetworkGatewayIpConfigurationArgs
                {
                    PublicIpAddressId = europePublicIp.Id,
                    PrivateIpAddressAllocation = "Dynamic",
                    SubnetId = europeGateway.Id,
                },
            },
        });
    
        var usToEurope = new Azure.Network.VirtualNetworkGatewayConnection("usToEurope", new()
        {
            Location = usResourceGroup.Location,
            ResourceGroupName = usResourceGroup.Name,
            Type = "Vnet2Vnet",
            VirtualNetworkGatewayId = usVirtualNetworkGateway.Id,
            PeerVirtualNetworkGatewayId = europeVirtualNetworkGateway.Id,
            SharedKey = "4-v3ry-53cr37-1p53c-5h4r3d-k3y",
        });
    
        var europeToUs = new Azure.Network.VirtualNetworkGatewayConnection("europeToUs", new()
        {
            Location = europeResourceGroup.Location,
            ResourceGroupName = europeResourceGroup.Name,
            Type = "Vnet2Vnet",
            VirtualNetworkGatewayId = europeVirtualNetworkGateway.Id,
            PeerVirtualNetworkGatewayId = usVirtualNetworkGateway.Id,
            SharedKey = "4-v3ry-53cr37-1p53c-5h4r3d-k3y",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		usResourceGroup, err := core.NewResourceGroup(ctx, "usResourceGroup", &core.ResourceGroupArgs{
    			Location: pulumi.String("East US"),
    		})
    		if err != nil {
    			return err
    		}
    		usVirtualNetwork, err := network.NewVirtualNetwork(ctx, "usVirtualNetwork", &network.VirtualNetworkArgs{
    			Location:          usResourceGroup.Location,
    			ResourceGroupName: usResourceGroup.Name,
    			AddressSpaces: pulumi.StringArray{
    				pulumi.String("10.0.0.0/16"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		usGateway, err := network.NewSubnet(ctx, "usGateway", &network.SubnetArgs{
    			ResourceGroupName:  usResourceGroup.Name,
    			VirtualNetworkName: usVirtualNetwork.Name,
    			AddressPrefixes: pulumi.StringArray{
    				pulumi.String("10.0.1.0/24"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		usPublicIp, err := network.NewPublicIp(ctx, "usPublicIp", &network.PublicIpArgs{
    			Location:          usResourceGroup.Location,
    			ResourceGroupName: usResourceGroup.Name,
    			AllocationMethod:  pulumi.String("Dynamic"),
    		})
    		if err != nil {
    			return err
    		}
    		usVirtualNetworkGateway, err := network.NewVirtualNetworkGateway(ctx, "usVirtualNetworkGateway", &network.VirtualNetworkGatewayArgs{
    			Location:          usResourceGroup.Location,
    			ResourceGroupName: usResourceGroup.Name,
    			Type:              pulumi.String("Vpn"),
    			VpnType:           pulumi.String("RouteBased"),
    			Sku:               pulumi.String("Basic"),
    			IpConfigurations: network.VirtualNetworkGatewayIpConfigurationArray{
    				&network.VirtualNetworkGatewayIpConfigurationArgs{
    					PublicIpAddressId:          usPublicIp.ID(),
    					PrivateIpAddressAllocation: pulumi.String("Dynamic"),
    					SubnetId:                   usGateway.ID(),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		europeResourceGroup, err := core.NewResourceGroup(ctx, "europeResourceGroup", &core.ResourceGroupArgs{
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		europeVirtualNetwork, err := network.NewVirtualNetwork(ctx, "europeVirtualNetwork", &network.VirtualNetworkArgs{
    			Location:          europeResourceGroup.Location,
    			ResourceGroupName: europeResourceGroup.Name,
    			AddressSpaces: pulumi.StringArray{
    				pulumi.String("10.1.0.0/16"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		europeGateway, err := network.NewSubnet(ctx, "europeGateway", &network.SubnetArgs{
    			ResourceGroupName:  europeResourceGroup.Name,
    			VirtualNetworkName: europeVirtualNetwork.Name,
    			AddressPrefixes: pulumi.StringArray{
    				pulumi.String("10.1.1.0/24"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		europePublicIp, err := network.NewPublicIp(ctx, "europePublicIp", &network.PublicIpArgs{
    			Location:          europeResourceGroup.Location,
    			ResourceGroupName: europeResourceGroup.Name,
    			AllocationMethod:  pulumi.String("Dynamic"),
    		})
    		if err != nil {
    			return err
    		}
    		europeVirtualNetworkGateway, err := network.NewVirtualNetworkGateway(ctx, "europeVirtualNetworkGateway", &network.VirtualNetworkGatewayArgs{
    			Location:          europeResourceGroup.Location,
    			ResourceGroupName: europeResourceGroup.Name,
    			Type:              pulumi.String("Vpn"),
    			VpnType:           pulumi.String("RouteBased"),
    			Sku:               pulumi.String("Basic"),
    			IpConfigurations: network.VirtualNetworkGatewayIpConfigurationArray{
    				&network.VirtualNetworkGatewayIpConfigurationArgs{
    					PublicIpAddressId:          europePublicIp.ID(),
    					PrivateIpAddressAllocation: pulumi.String("Dynamic"),
    					SubnetId:                   europeGateway.ID(),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = network.NewVirtualNetworkGatewayConnection(ctx, "usToEurope", &network.VirtualNetworkGatewayConnectionArgs{
    			Location:                    usResourceGroup.Location,
    			ResourceGroupName:           usResourceGroup.Name,
    			Type:                        pulumi.String("Vnet2Vnet"),
    			VirtualNetworkGatewayId:     usVirtualNetworkGateway.ID(),
    			PeerVirtualNetworkGatewayId: europeVirtualNetworkGateway.ID(),
    			SharedKey:                   pulumi.String("4-v3ry-53cr37-1p53c-5h4r3d-k3y"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = network.NewVirtualNetworkGatewayConnection(ctx, "europeToUs", &network.VirtualNetworkGatewayConnectionArgs{
    			Location:                    europeResourceGroup.Location,
    			ResourceGroupName:           europeResourceGroup.Name,
    			Type:                        pulumi.String("Vnet2Vnet"),
    			VirtualNetworkGatewayId:     europeVirtualNetworkGateway.ID(),
    			PeerVirtualNetworkGatewayId: usVirtualNetworkGateway.ID(),
    			SharedKey:                   pulumi.String("4-v3ry-53cr37-1p53c-5h4r3d-k3y"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.network.VirtualNetwork;
    import com.pulumi.azure.network.VirtualNetworkArgs;
    import com.pulumi.azure.network.Subnet;
    import com.pulumi.azure.network.SubnetArgs;
    import com.pulumi.azure.network.PublicIp;
    import com.pulumi.azure.network.PublicIpArgs;
    import com.pulumi.azure.network.VirtualNetworkGateway;
    import com.pulumi.azure.network.VirtualNetworkGatewayArgs;
    import com.pulumi.azure.network.inputs.VirtualNetworkGatewayIpConfigurationArgs;
    import com.pulumi.azure.network.VirtualNetworkGatewayConnection;
    import com.pulumi.azure.network.VirtualNetworkGatewayConnectionArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var usResourceGroup = new ResourceGroup("usResourceGroup", ResourceGroupArgs.builder()        
                .location("East US")
                .build());
    
            var usVirtualNetwork = new VirtualNetwork("usVirtualNetwork", VirtualNetworkArgs.builder()        
                .location(usResourceGroup.location())
                .resourceGroupName(usResourceGroup.name())
                .addressSpaces("10.0.0.0/16")
                .build());
    
            var usGateway = new Subnet("usGateway", SubnetArgs.builder()        
                .resourceGroupName(usResourceGroup.name())
                .virtualNetworkName(usVirtualNetwork.name())
                .addressPrefixes("10.0.1.0/24")
                .build());
    
            var usPublicIp = new PublicIp("usPublicIp", PublicIpArgs.builder()        
                .location(usResourceGroup.location())
                .resourceGroupName(usResourceGroup.name())
                .allocationMethod("Dynamic")
                .build());
    
            var usVirtualNetworkGateway = new VirtualNetworkGateway("usVirtualNetworkGateway", VirtualNetworkGatewayArgs.builder()        
                .location(usResourceGroup.location())
                .resourceGroupName(usResourceGroup.name())
                .type("Vpn")
                .vpnType("RouteBased")
                .sku("Basic")
                .ipConfigurations(VirtualNetworkGatewayIpConfigurationArgs.builder()
                    .publicIpAddressId(usPublicIp.id())
                    .privateIpAddressAllocation("Dynamic")
                    .subnetId(usGateway.id())
                    .build())
                .build());
    
            var europeResourceGroup = new ResourceGroup("europeResourceGroup", ResourceGroupArgs.builder()        
                .location("West Europe")
                .build());
    
            var europeVirtualNetwork = new VirtualNetwork("europeVirtualNetwork", VirtualNetworkArgs.builder()        
                .location(europeResourceGroup.location())
                .resourceGroupName(europeResourceGroup.name())
                .addressSpaces("10.1.0.0/16")
                .build());
    
            var europeGateway = new Subnet("europeGateway", SubnetArgs.builder()        
                .resourceGroupName(europeResourceGroup.name())
                .virtualNetworkName(europeVirtualNetwork.name())
                .addressPrefixes("10.1.1.0/24")
                .build());
    
            var europePublicIp = new PublicIp("europePublicIp", PublicIpArgs.builder()        
                .location(europeResourceGroup.location())
                .resourceGroupName(europeResourceGroup.name())
                .allocationMethod("Dynamic")
                .build());
    
            var europeVirtualNetworkGateway = new VirtualNetworkGateway("europeVirtualNetworkGateway", VirtualNetworkGatewayArgs.builder()        
                .location(europeResourceGroup.location())
                .resourceGroupName(europeResourceGroup.name())
                .type("Vpn")
                .vpnType("RouteBased")
                .sku("Basic")
                .ipConfigurations(VirtualNetworkGatewayIpConfigurationArgs.builder()
                    .publicIpAddressId(europePublicIp.id())
                    .privateIpAddressAllocation("Dynamic")
                    .subnetId(europeGateway.id())
                    .build())
                .build());
    
            var usToEurope = new VirtualNetworkGatewayConnection("usToEurope", VirtualNetworkGatewayConnectionArgs.builder()        
                .location(usResourceGroup.location())
                .resourceGroupName(usResourceGroup.name())
                .type("Vnet2Vnet")
                .virtualNetworkGatewayId(usVirtualNetworkGateway.id())
                .peerVirtualNetworkGatewayId(europeVirtualNetworkGateway.id())
                .sharedKey("4-v3ry-53cr37-1p53c-5h4r3d-k3y")
                .build());
    
            var europeToUs = new VirtualNetworkGatewayConnection("europeToUs", VirtualNetworkGatewayConnectionArgs.builder()        
                .location(europeResourceGroup.location())
                .resourceGroupName(europeResourceGroup.name())
                .type("Vnet2Vnet")
                .virtualNetworkGatewayId(europeVirtualNetworkGateway.id())
                .peerVirtualNetworkGatewayId(usVirtualNetworkGateway.id())
                .sharedKey("4-v3ry-53cr37-1p53c-5h4r3d-k3y")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure as azure
    
    us_resource_group = azure.core.ResourceGroup("usResourceGroup", location="East US")
    us_virtual_network = azure.network.VirtualNetwork("usVirtualNetwork",
        location=us_resource_group.location,
        resource_group_name=us_resource_group.name,
        address_spaces=["10.0.0.0/16"])
    us_gateway = azure.network.Subnet("usGateway",
        resource_group_name=us_resource_group.name,
        virtual_network_name=us_virtual_network.name,
        address_prefixes=["10.0.1.0/24"])
    us_public_ip = azure.network.PublicIp("usPublicIp",
        location=us_resource_group.location,
        resource_group_name=us_resource_group.name,
        allocation_method="Dynamic")
    us_virtual_network_gateway = azure.network.VirtualNetworkGateway("usVirtualNetworkGateway",
        location=us_resource_group.location,
        resource_group_name=us_resource_group.name,
        type="Vpn",
        vpn_type="RouteBased",
        sku="Basic",
        ip_configurations=[azure.network.VirtualNetworkGatewayIpConfigurationArgs(
            public_ip_address_id=us_public_ip.id,
            private_ip_address_allocation="Dynamic",
            subnet_id=us_gateway.id,
        )])
    europe_resource_group = azure.core.ResourceGroup("europeResourceGroup", location="West Europe")
    europe_virtual_network = azure.network.VirtualNetwork("europeVirtualNetwork",
        location=europe_resource_group.location,
        resource_group_name=europe_resource_group.name,
        address_spaces=["10.1.0.0/16"])
    europe_gateway = azure.network.Subnet("europeGateway",
        resource_group_name=europe_resource_group.name,
        virtual_network_name=europe_virtual_network.name,
        address_prefixes=["10.1.1.0/24"])
    europe_public_ip = azure.network.PublicIp("europePublicIp",
        location=europe_resource_group.location,
        resource_group_name=europe_resource_group.name,
        allocation_method="Dynamic")
    europe_virtual_network_gateway = azure.network.VirtualNetworkGateway("europeVirtualNetworkGateway",
        location=europe_resource_group.location,
        resource_group_name=europe_resource_group.name,
        type="Vpn",
        vpn_type="RouteBased",
        sku="Basic",
        ip_configurations=[azure.network.VirtualNetworkGatewayIpConfigurationArgs(
            public_ip_address_id=europe_public_ip.id,
            private_ip_address_allocation="Dynamic",
            subnet_id=europe_gateway.id,
        )])
    us_to_europe = azure.network.VirtualNetworkGatewayConnection("usToEurope",
        location=us_resource_group.location,
        resource_group_name=us_resource_group.name,
        type="Vnet2Vnet",
        virtual_network_gateway_id=us_virtual_network_gateway.id,
        peer_virtual_network_gateway_id=europe_virtual_network_gateway.id,
        shared_key="4-v3ry-53cr37-1p53c-5h4r3d-k3y")
    europe_to_us = azure.network.VirtualNetworkGatewayConnection("europeToUs",
        location=europe_resource_group.location,
        resource_group_name=europe_resource_group.name,
        type="Vnet2Vnet",
        virtual_network_gateway_id=europe_virtual_network_gateway.id,
        peer_virtual_network_gateway_id=us_virtual_network_gateway.id,
        shared_key="4-v3ry-53cr37-1p53c-5h4r3d-k3y")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const usResourceGroup = new azure.core.ResourceGroup("usResourceGroup", {location: "East US"});
    const usVirtualNetwork = new azure.network.VirtualNetwork("usVirtualNetwork", {
        location: usResourceGroup.location,
        resourceGroupName: usResourceGroup.name,
        addressSpaces: ["10.0.0.0/16"],
    });
    const usGateway = new azure.network.Subnet("usGateway", {
        resourceGroupName: usResourceGroup.name,
        virtualNetworkName: usVirtualNetwork.name,
        addressPrefixes: ["10.0.1.0/24"],
    });
    const usPublicIp = new azure.network.PublicIp("usPublicIp", {
        location: usResourceGroup.location,
        resourceGroupName: usResourceGroup.name,
        allocationMethod: "Dynamic",
    });
    const usVirtualNetworkGateway = new azure.network.VirtualNetworkGateway("usVirtualNetworkGateway", {
        location: usResourceGroup.location,
        resourceGroupName: usResourceGroup.name,
        type: "Vpn",
        vpnType: "RouteBased",
        sku: "Basic",
        ipConfigurations: [{
            publicIpAddressId: usPublicIp.id,
            privateIpAddressAllocation: "Dynamic",
            subnetId: usGateway.id,
        }],
    });
    const europeResourceGroup = new azure.core.ResourceGroup("europeResourceGroup", {location: "West Europe"});
    const europeVirtualNetwork = new azure.network.VirtualNetwork("europeVirtualNetwork", {
        location: europeResourceGroup.location,
        resourceGroupName: europeResourceGroup.name,
        addressSpaces: ["10.1.0.0/16"],
    });
    const europeGateway = new azure.network.Subnet("europeGateway", {
        resourceGroupName: europeResourceGroup.name,
        virtualNetworkName: europeVirtualNetwork.name,
        addressPrefixes: ["10.1.1.0/24"],
    });
    const europePublicIp = new azure.network.PublicIp("europePublicIp", {
        location: europeResourceGroup.location,
        resourceGroupName: europeResourceGroup.name,
        allocationMethod: "Dynamic",
    });
    const europeVirtualNetworkGateway = new azure.network.VirtualNetworkGateway("europeVirtualNetworkGateway", {
        location: europeResourceGroup.location,
        resourceGroupName: europeResourceGroup.name,
        type: "Vpn",
        vpnType: "RouteBased",
        sku: "Basic",
        ipConfigurations: [{
            publicIpAddressId: europePublicIp.id,
            privateIpAddressAllocation: "Dynamic",
            subnetId: europeGateway.id,
        }],
    });
    const usToEurope = new azure.network.VirtualNetworkGatewayConnection("usToEurope", {
        location: usResourceGroup.location,
        resourceGroupName: usResourceGroup.name,
        type: "Vnet2Vnet",
        virtualNetworkGatewayId: usVirtualNetworkGateway.id,
        peerVirtualNetworkGatewayId: europeVirtualNetworkGateway.id,
        sharedKey: "4-v3ry-53cr37-1p53c-5h4r3d-k3y",
    });
    const europeToUs = new azure.network.VirtualNetworkGatewayConnection("europeToUs", {
        location: europeResourceGroup.location,
        resourceGroupName: europeResourceGroup.name,
        type: "Vnet2Vnet",
        virtualNetworkGatewayId: europeVirtualNetworkGateway.id,
        peerVirtualNetworkGatewayId: usVirtualNetworkGateway.id,
        sharedKey: "4-v3ry-53cr37-1p53c-5h4r3d-k3y",
    });
    
    resources:
      usResourceGroup:
        type: azure:core:ResourceGroup
        properties:
          location: East US
      usVirtualNetwork:
        type: azure:network:VirtualNetwork
        properties:
          location: ${usResourceGroup.location}
          resourceGroupName: ${usResourceGroup.name}
          addressSpaces:
            - 10.0.0.0/16
      usGateway:
        type: azure:network:Subnet
        properties:
          resourceGroupName: ${usResourceGroup.name}
          virtualNetworkName: ${usVirtualNetwork.name}
          addressPrefixes:
            - 10.0.1.0/24
      usPublicIp:
        type: azure:network:PublicIp
        properties:
          location: ${usResourceGroup.location}
          resourceGroupName: ${usResourceGroup.name}
          allocationMethod: Dynamic
      usVirtualNetworkGateway:
        type: azure:network:VirtualNetworkGateway
        properties:
          location: ${usResourceGroup.location}
          resourceGroupName: ${usResourceGroup.name}
          type: Vpn
          vpnType: RouteBased
          sku: Basic
          ipConfigurations:
            - publicIpAddressId: ${usPublicIp.id}
              privateIpAddressAllocation: Dynamic
              subnetId: ${usGateway.id}
      europeResourceGroup:
        type: azure:core:ResourceGroup
        properties:
          location: West Europe
      europeVirtualNetwork:
        type: azure:network:VirtualNetwork
        properties:
          location: ${europeResourceGroup.location}
          resourceGroupName: ${europeResourceGroup.name}
          addressSpaces:
            - 10.1.0.0/16
      europeGateway:
        type: azure:network:Subnet
        properties:
          resourceGroupName: ${europeResourceGroup.name}
          virtualNetworkName: ${europeVirtualNetwork.name}
          addressPrefixes:
            - 10.1.1.0/24
      europePublicIp:
        type: azure:network:PublicIp
        properties:
          location: ${europeResourceGroup.location}
          resourceGroupName: ${europeResourceGroup.name}
          allocationMethod: Dynamic
      europeVirtualNetworkGateway:
        type: azure:network:VirtualNetworkGateway
        properties:
          location: ${europeResourceGroup.location}
          resourceGroupName: ${europeResourceGroup.name}
          type: Vpn
          vpnType: RouteBased
          sku: Basic
          ipConfigurations:
            - publicIpAddressId: ${europePublicIp.id}
              privateIpAddressAllocation: Dynamic
              subnetId: ${europeGateway.id}
      usToEurope:
        type: azure:network:VirtualNetworkGatewayConnection
        properties:
          location: ${usResourceGroup.location}
          resourceGroupName: ${usResourceGroup.name}
          type: Vnet2Vnet
          virtualNetworkGatewayId: ${usVirtualNetworkGateway.id}
          peerVirtualNetworkGatewayId: ${europeVirtualNetworkGateway.id}
          sharedKey: 4-v3ry-53cr37-1p53c-5h4r3d-k3y
      europeToUs:
        type: azure:network:VirtualNetworkGatewayConnection
        properties:
          location: ${europeResourceGroup.location}
          resourceGroupName: ${europeResourceGroup.name}
          type: Vnet2Vnet
          virtualNetworkGatewayId: ${europeVirtualNetworkGateway.id}
          peerVirtualNetworkGatewayId: ${usVirtualNetworkGateway.id}
          sharedKey: 4-v3ry-53cr37-1p53c-5h4r3d-k3y
    

    Create VirtualNetworkGatewayConnection Resource

    new VirtualNetworkGatewayConnection(name: string, args: VirtualNetworkGatewayConnectionArgs, opts?: CustomResourceOptions);
    @overload
    def VirtualNetworkGatewayConnection(resource_name: str,
                                        opts: Optional[ResourceOptions] = None,
                                        authorization_key: Optional[str] = None,
                                        connection_mode: Optional[str] = None,
                                        connection_protocol: Optional[str] = None,
                                        custom_bgp_addresses: Optional[VirtualNetworkGatewayConnectionCustomBgpAddressesArgs] = None,
                                        dpd_timeout_seconds: Optional[int] = None,
                                        egress_nat_rule_ids: Optional[Sequence[str]] = None,
                                        enable_bgp: Optional[bool] = None,
                                        express_route_circuit_id: Optional[str] = None,
                                        express_route_gateway_bypass: Optional[bool] = None,
                                        ingress_nat_rule_ids: Optional[Sequence[str]] = None,
                                        ipsec_policy: Optional[VirtualNetworkGatewayConnectionIpsecPolicyArgs] = None,
                                        local_azure_ip_address_enabled: Optional[bool] = None,
                                        local_network_gateway_id: Optional[str] = None,
                                        location: Optional[str] = None,
                                        name: Optional[str] = None,
                                        peer_virtual_network_gateway_id: Optional[str] = None,
                                        resource_group_name: Optional[str] = None,
                                        routing_weight: Optional[int] = None,
                                        shared_key: Optional[str] = None,
                                        tags: Optional[Mapping[str, str]] = None,
                                        traffic_selector_policy: Optional[VirtualNetworkGatewayConnectionTrafficSelectorPolicyArgs] = None,
                                        type: Optional[str] = None,
                                        use_policy_based_traffic_selectors: Optional[bool] = None,
                                        virtual_network_gateway_id: Optional[str] = None)
    @overload
    def VirtualNetworkGatewayConnection(resource_name: str,
                                        args: VirtualNetworkGatewayConnectionArgs,
                                        opts: Optional[ResourceOptions] = None)
    func NewVirtualNetworkGatewayConnection(ctx *Context, name string, args VirtualNetworkGatewayConnectionArgs, opts ...ResourceOption) (*VirtualNetworkGatewayConnection, error)
    public VirtualNetworkGatewayConnection(string name, VirtualNetworkGatewayConnectionArgs args, CustomResourceOptions? opts = null)
    public VirtualNetworkGatewayConnection(String name, VirtualNetworkGatewayConnectionArgs args)
    public VirtualNetworkGatewayConnection(String name, VirtualNetworkGatewayConnectionArgs args, CustomResourceOptions options)
    
    type: azure:network:VirtualNetworkGatewayConnection
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args VirtualNetworkGatewayConnectionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args VirtualNetworkGatewayConnectionArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args VirtualNetworkGatewayConnectionArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VirtualNetworkGatewayConnectionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args VirtualNetworkGatewayConnectionArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    VirtualNetworkGatewayConnection Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The VirtualNetworkGatewayConnection resource accepts the following input properties:

    ResourceGroupName string

    The name of the resource group in which to create the connection Changing this forces a new resource to be created.

    Type string

    The type of connection. Valid options are IPsec (Site-to-Site), ExpressRoute (ExpressRoute), and Vnet2Vnet (VNet-to-VNet). Each connection type requires different mandatory arguments (refer to the examples above). Changing this forces a new resource to be created.

    VirtualNetworkGatewayId string

    The ID of the Virtual Network Gateway in which the connection will be created. Changing this forces a new resource to be created.

    AuthorizationKey string

    The authorization key associated with the Express Route Circuit. This field is required only if the type is an ExpressRoute connection.

    ConnectionMode string

    Connection mode to use. Possible values are Default, InitiatorOnly and ResponderOnly. Defaults to Default. Changing this value will force a resource to be created.

    ConnectionProtocol string

    The IKE protocol version to use. Possible values are IKEv1 and IKEv2, values are IKEv1 and IKEv2. Defaults to IKEv2. Changing this forces a new resource to be created.

    Note: Only valid for IPSec connections on virtual network gateways with SKU VpnGw1, VpnGw2, VpnGw3, VpnGw1AZ, VpnGw2AZ or VpnGw3AZ.

    CustomBgpAddresses VirtualNetworkGatewayConnectionCustomBgpAddresses

    A custom_bgp_addresses block which is documented below. The block can only be used on IPSec / activeactive connections, For details about see the relevant section in the Azure documentation.

    DpdTimeoutSeconds int

    The dead peer detection timeout of this connection in seconds. Changing this forces a new resource to be created.

    EgressNatRuleIds List<string>

    A list of the egress NAT Rule Ids.

    EnableBgp bool

    If true, BGP (Border Gateway Protocol) is enabled for this connection. Defaults to false.

    ExpressRouteCircuitId string

    The ID of the Express Route Circuit when creating an ExpressRoute connection (i.e. when type is ExpressRoute). The Express Route Circuit can be in the same or in a different subscription. Changing this forces a new resource to be created.

    ExpressRouteGatewayBypass bool

    If true, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.

    IngressNatRuleIds List<string>

    A list of the ingress NAT Rule Ids.

    IpsecPolicy VirtualNetworkGatewayConnectionIpsecPolicy

    A ipsec_policy block which is documented below. Only a single policy can be defined for a connection. For details on custom policies refer to the relevant section in the Azure documentation.

    LocalAzureIpAddressEnabled bool

    Use private local Azure IP for the connection. Changing this forces a new resource to be created.

    LocalNetworkGatewayId string

    The ID of the local network gateway when creating Site-to-Site connection (i.e. when type is IPsec).

    Location string

    The location/region where the connection is located. Changing this forces a new resource to be created.

    Name string

    The name of the connection. Changing the name forces a new resource to be created.

    PeerVirtualNetworkGatewayId string

    The ID of the peer virtual network gateway when creating a VNet-to-VNet connection (i.e. when type is Vnet2Vnet). The peer Virtual Network Gateway can be in the same or in a different subscription. Changing this forces a new resource to be created.

    RoutingWeight int

    The routing weight. Defaults to 10.

    SharedKey string

    The shared IPSec key. A key could be provided if a Site-to-Site, VNet-to-VNet or ExpressRoute connection is created.

    Tags Dictionary<string, string>

    A mapping of tags to assign to the resource.

    TrafficSelectorPolicy VirtualNetworkGatewayConnectionTrafficSelectorPolicy

    One or more traffic_selector_policy blocks which are documented below. A traffic_selector_policy allows to specify a traffic selector policy proposal to be used in a virtual network gateway connection. For details about traffic selectors refer to the relevant section in the Azure documentation.

    UsePolicyBasedTrafficSelectors bool

    If true, policy-based traffic selectors are enabled for this connection. Enabling policy-based traffic selectors requires an ipsec_policy block. Defaults to false.

    ResourceGroupName string

    The name of the resource group in which to create the connection Changing this forces a new resource to be created.

    Type string

    The type of connection. Valid options are IPsec (Site-to-Site), ExpressRoute (ExpressRoute), and Vnet2Vnet (VNet-to-VNet). Each connection type requires different mandatory arguments (refer to the examples above). Changing this forces a new resource to be created.

    VirtualNetworkGatewayId string

    The ID of the Virtual Network Gateway in which the connection will be created. Changing this forces a new resource to be created.

    AuthorizationKey string

    The authorization key associated with the Express Route Circuit. This field is required only if the type is an ExpressRoute connection.

    ConnectionMode string

    Connection mode to use. Possible values are Default, InitiatorOnly and ResponderOnly. Defaults to Default. Changing this value will force a resource to be created.

    ConnectionProtocol string

    The IKE protocol version to use. Possible values are IKEv1 and IKEv2, values are IKEv1 and IKEv2. Defaults to IKEv2. Changing this forces a new resource to be created.

    Note: Only valid for IPSec connections on virtual network gateways with SKU VpnGw1, VpnGw2, VpnGw3, VpnGw1AZ, VpnGw2AZ or VpnGw3AZ.

    CustomBgpAddresses VirtualNetworkGatewayConnectionCustomBgpAddressesArgs

    A custom_bgp_addresses block which is documented below. The block can only be used on IPSec / activeactive connections, For details about see the relevant section in the Azure documentation.

    DpdTimeoutSeconds int

    The dead peer detection timeout of this connection in seconds. Changing this forces a new resource to be created.

    EgressNatRuleIds []string

    A list of the egress NAT Rule Ids.

    EnableBgp bool

    If true, BGP (Border Gateway Protocol) is enabled for this connection. Defaults to false.

    ExpressRouteCircuitId string

    The ID of the Express Route Circuit when creating an ExpressRoute connection (i.e. when type is ExpressRoute). The Express Route Circuit can be in the same or in a different subscription. Changing this forces a new resource to be created.

    ExpressRouteGatewayBypass bool

    If true, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.

    IngressNatRuleIds []string

    A list of the ingress NAT Rule Ids.

    IpsecPolicy VirtualNetworkGatewayConnectionIpsecPolicyArgs

    A ipsec_policy block which is documented below. Only a single policy can be defined for a connection. For details on custom policies refer to the relevant section in the Azure documentation.

    LocalAzureIpAddressEnabled bool

    Use private local Azure IP for the connection. Changing this forces a new resource to be created.

    LocalNetworkGatewayId string

    The ID of the local network gateway when creating Site-to-Site connection (i.e. when type is IPsec).

    Location string

    The location/region where the connection is located. Changing this forces a new resource to be created.

    Name string

    The name of the connection. Changing the name forces a new resource to be created.

    PeerVirtualNetworkGatewayId string

    The ID of the peer virtual network gateway when creating a VNet-to-VNet connection (i.e. when type is Vnet2Vnet). The peer Virtual Network Gateway can be in the same or in a different subscription. Changing this forces a new resource to be created.

    RoutingWeight int

    The routing weight. Defaults to 10.

    SharedKey string

    The shared IPSec key. A key could be provided if a Site-to-Site, VNet-to-VNet or ExpressRoute connection is created.

    Tags map[string]string

    A mapping of tags to assign to the resource.

    TrafficSelectorPolicy VirtualNetworkGatewayConnectionTrafficSelectorPolicyArgs

    One or more traffic_selector_policy blocks which are documented below. A traffic_selector_policy allows to specify a traffic selector policy proposal to be used in a virtual network gateway connection. For details about traffic selectors refer to the relevant section in the Azure documentation.

    UsePolicyBasedTrafficSelectors bool

    If true, policy-based traffic selectors are enabled for this connection. Enabling policy-based traffic selectors requires an ipsec_policy block. Defaults to false.

    resourceGroupName String

    The name of the resource group in which to create the connection Changing this forces a new resource to be created.

    type String

    The type of connection. Valid options are IPsec (Site-to-Site), ExpressRoute (ExpressRoute), and Vnet2Vnet (VNet-to-VNet). Each connection type requires different mandatory arguments (refer to the examples above). Changing this forces a new resource to be created.

    virtualNetworkGatewayId String

    The ID of the Virtual Network Gateway in which the connection will be created. Changing this forces a new resource to be created.

    authorizationKey String

    The authorization key associated with the Express Route Circuit. This field is required only if the type is an ExpressRoute connection.

    connectionMode String

    Connection mode to use. Possible values are Default, InitiatorOnly and ResponderOnly. Defaults to Default. Changing this value will force a resource to be created.

    connectionProtocol String

    The IKE protocol version to use. Possible values are IKEv1 and IKEv2, values are IKEv1 and IKEv2. Defaults to IKEv2. Changing this forces a new resource to be created.

    Note: Only valid for IPSec connections on virtual network gateways with SKU VpnGw1, VpnGw2, VpnGw3, VpnGw1AZ, VpnGw2AZ or VpnGw3AZ.

    customBgpAddresses VirtualNetworkGatewayConnectionCustomBgpAddresses

    A custom_bgp_addresses block which is documented below. The block can only be used on IPSec / activeactive connections, For details about see the relevant section in the Azure documentation.

    dpdTimeoutSeconds Integer

    The dead peer detection timeout of this connection in seconds. Changing this forces a new resource to be created.

    egressNatRuleIds List<String>

    A list of the egress NAT Rule Ids.

    enableBgp Boolean

    If true, BGP (Border Gateway Protocol) is enabled for this connection. Defaults to false.

    expressRouteCircuitId String

    The ID of the Express Route Circuit when creating an ExpressRoute connection (i.e. when type is ExpressRoute). The Express Route Circuit can be in the same or in a different subscription. Changing this forces a new resource to be created.

    expressRouteGatewayBypass Boolean

    If true, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.

    ingressNatRuleIds List<String>

    A list of the ingress NAT Rule Ids.

    ipsecPolicy VirtualNetworkGatewayConnectionIpsecPolicy

    A ipsec_policy block which is documented below. Only a single policy can be defined for a connection. For details on custom policies refer to the relevant section in the Azure documentation.

    localAzureIpAddressEnabled Boolean

    Use private local Azure IP for the connection. Changing this forces a new resource to be created.

    localNetworkGatewayId String

    The ID of the local network gateway when creating Site-to-Site connection (i.e. when type is IPsec).

    location String

    The location/region where the connection is located. Changing this forces a new resource to be created.

    name String

    The name of the connection. Changing the name forces a new resource to be created.

    peerVirtualNetworkGatewayId String

    The ID of the peer virtual network gateway when creating a VNet-to-VNet connection (i.e. when type is Vnet2Vnet). The peer Virtual Network Gateway can be in the same or in a different subscription. Changing this forces a new resource to be created.

    routingWeight Integer

    The routing weight. Defaults to 10.

    sharedKey String

    The shared IPSec key. A key could be provided if a Site-to-Site, VNet-to-VNet or ExpressRoute connection is created.

    tags Map<String,String>

    A mapping of tags to assign to the resource.

    trafficSelectorPolicy VirtualNetworkGatewayConnectionTrafficSelectorPolicy

    One or more traffic_selector_policy blocks which are documented below. A traffic_selector_policy allows to specify a traffic selector policy proposal to be used in a virtual network gateway connection. For details about traffic selectors refer to the relevant section in the Azure documentation.

    usePolicyBasedTrafficSelectors Boolean

    If true, policy-based traffic selectors are enabled for this connection. Enabling policy-based traffic selectors requires an ipsec_policy block. Defaults to false.

    resourceGroupName string

    The name of the resource group in which to create the connection Changing this forces a new resource to be created.

    type string

    The type of connection. Valid options are IPsec (Site-to-Site), ExpressRoute (ExpressRoute), and Vnet2Vnet (VNet-to-VNet). Each connection type requires different mandatory arguments (refer to the examples above). Changing this forces a new resource to be created.

    virtualNetworkGatewayId string

    The ID of the Virtual Network Gateway in which the connection will be created. Changing this forces a new resource to be created.

    authorizationKey string

    The authorization key associated with the Express Route Circuit. This field is required only if the type is an ExpressRoute connection.

    connectionMode string

    Connection mode to use. Possible values are Default, InitiatorOnly and ResponderOnly. Defaults to Default. Changing this value will force a resource to be created.

    connectionProtocol string

    The IKE protocol version to use. Possible values are IKEv1 and IKEv2, values are IKEv1 and IKEv2. Defaults to IKEv2. Changing this forces a new resource to be created.

    Note: Only valid for IPSec connections on virtual network gateways with SKU VpnGw1, VpnGw2, VpnGw3, VpnGw1AZ, VpnGw2AZ or VpnGw3AZ.

    customBgpAddresses VirtualNetworkGatewayConnectionCustomBgpAddresses

    A custom_bgp_addresses block which is documented below. The block can only be used on IPSec / activeactive connections, For details about see the relevant section in the Azure documentation.

    dpdTimeoutSeconds number

    The dead peer detection timeout of this connection in seconds. Changing this forces a new resource to be created.

    egressNatRuleIds string[]

    A list of the egress NAT Rule Ids.

    enableBgp boolean

    If true, BGP (Border Gateway Protocol) is enabled for this connection. Defaults to false.

    expressRouteCircuitId string

    The ID of the Express Route Circuit when creating an ExpressRoute connection (i.e. when type is ExpressRoute). The Express Route Circuit can be in the same or in a different subscription. Changing this forces a new resource to be created.

    expressRouteGatewayBypass boolean

    If true, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.

    ingressNatRuleIds string[]

    A list of the ingress NAT Rule Ids.

    ipsecPolicy VirtualNetworkGatewayConnectionIpsecPolicy

    A ipsec_policy block which is documented below. Only a single policy can be defined for a connection. For details on custom policies refer to the relevant section in the Azure documentation.

    localAzureIpAddressEnabled boolean

    Use private local Azure IP for the connection. Changing this forces a new resource to be created.

    localNetworkGatewayId string

    The ID of the local network gateway when creating Site-to-Site connection (i.e. when type is IPsec).

    location string

    The location/region where the connection is located. Changing this forces a new resource to be created.

    name string

    The name of the connection. Changing the name forces a new resource to be created.

    peerVirtualNetworkGatewayId string

    The ID of the peer virtual network gateway when creating a VNet-to-VNet connection (i.e. when type is Vnet2Vnet). The peer Virtual Network Gateway can be in the same or in a different subscription. Changing this forces a new resource to be created.

    routingWeight number

    The routing weight. Defaults to 10.

    sharedKey string

    The shared IPSec key. A key could be provided if a Site-to-Site, VNet-to-VNet or ExpressRoute connection is created.

    tags {[key: string]: string}

    A mapping of tags to assign to the resource.

    trafficSelectorPolicy VirtualNetworkGatewayConnectionTrafficSelectorPolicy

    One or more traffic_selector_policy blocks which are documented below. A traffic_selector_policy allows to specify a traffic selector policy proposal to be used in a virtual network gateway connection. For details about traffic selectors refer to the relevant section in the Azure documentation.

    usePolicyBasedTrafficSelectors boolean

    If true, policy-based traffic selectors are enabled for this connection. Enabling policy-based traffic selectors requires an ipsec_policy block. Defaults to false.

    resource_group_name str

    The name of the resource group in which to create the connection Changing this forces a new resource to be created.

    type str

    The type of connection. Valid options are IPsec (Site-to-Site), ExpressRoute (ExpressRoute), and Vnet2Vnet (VNet-to-VNet). Each connection type requires different mandatory arguments (refer to the examples above). Changing this forces a new resource to be created.

    virtual_network_gateway_id str

    The ID of the Virtual Network Gateway in which the connection will be created. Changing this forces a new resource to be created.

    authorization_key str

    The authorization key associated with the Express Route Circuit. This field is required only if the type is an ExpressRoute connection.

    connection_mode str

    Connection mode to use. Possible values are Default, InitiatorOnly and ResponderOnly. Defaults to Default. Changing this value will force a resource to be created.

    connection_protocol str

    The IKE protocol version to use. Possible values are IKEv1 and IKEv2, values are IKEv1 and IKEv2. Defaults to IKEv2. Changing this forces a new resource to be created.

    Note: Only valid for IPSec connections on virtual network gateways with SKU VpnGw1, VpnGw2, VpnGw3, VpnGw1AZ, VpnGw2AZ or VpnGw3AZ.

    custom_bgp_addresses VirtualNetworkGatewayConnectionCustomBgpAddressesArgs

    A custom_bgp_addresses block which is documented below. The block can only be used on IPSec / activeactive connections, For details about see the relevant section in the Azure documentation.

    dpd_timeout_seconds int

    The dead peer detection timeout of this connection in seconds. Changing this forces a new resource to be created.

    egress_nat_rule_ids Sequence[str]

    A list of the egress NAT Rule Ids.

    enable_bgp bool

    If true, BGP (Border Gateway Protocol) is enabled for this connection. Defaults to false.

    express_route_circuit_id str

    The ID of the Express Route Circuit when creating an ExpressRoute connection (i.e. when type is ExpressRoute). The Express Route Circuit can be in the same or in a different subscription. Changing this forces a new resource to be created.

    express_route_gateway_bypass bool

    If true, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.

    ingress_nat_rule_ids Sequence[str]

    A list of the ingress NAT Rule Ids.

    ipsec_policy VirtualNetworkGatewayConnectionIpsecPolicyArgs

    A ipsec_policy block which is documented below. Only a single policy can be defined for a connection. For details on custom policies refer to the relevant section in the Azure documentation.

    local_azure_ip_address_enabled bool

    Use private local Azure IP for the connection. Changing this forces a new resource to be created.

    local_network_gateway_id str

    The ID of the local network gateway when creating Site-to-Site connection (i.e. when type is IPsec).

    location str

    The location/region where the connection is located. Changing this forces a new resource to be created.

    name str

    The name of the connection. Changing the name forces a new resource to be created.

    peer_virtual_network_gateway_id str

    The ID of the peer virtual network gateway when creating a VNet-to-VNet connection (i.e. when type is Vnet2Vnet). The peer Virtual Network Gateway can be in the same or in a different subscription. Changing this forces a new resource to be created.

    routing_weight int

    The routing weight. Defaults to 10.

    shared_key str

    The shared IPSec key. A key could be provided if a Site-to-Site, VNet-to-VNet or ExpressRoute connection is created.

    tags Mapping[str, str]

    A mapping of tags to assign to the resource.

    traffic_selector_policy VirtualNetworkGatewayConnectionTrafficSelectorPolicyArgs

    One or more traffic_selector_policy blocks which are documented below. A traffic_selector_policy allows to specify a traffic selector policy proposal to be used in a virtual network gateway connection. For details about traffic selectors refer to the relevant section in the Azure documentation.

    use_policy_based_traffic_selectors bool

    If true, policy-based traffic selectors are enabled for this connection. Enabling policy-based traffic selectors requires an ipsec_policy block. Defaults to false.

    resourceGroupName String

    The name of the resource group in which to create the connection Changing this forces a new resource to be created.

    type String

    The type of connection. Valid options are IPsec (Site-to-Site), ExpressRoute (ExpressRoute), and Vnet2Vnet (VNet-to-VNet). Each connection type requires different mandatory arguments (refer to the examples above). Changing this forces a new resource to be created.

    virtualNetworkGatewayId String

    The ID of the Virtual Network Gateway in which the connection will be created. Changing this forces a new resource to be created.

    authorizationKey String

    The authorization key associated with the Express Route Circuit. This field is required only if the type is an ExpressRoute connection.

    connectionMode String

    Connection mode to use. Possible values are Default, InitiatorOnly and ResponderOnly. Defaults to Default. Changing this value will force a resource to be created.

    connectionProtocol String

    The IKE protocol version to use. Possible values are IKEv1 and IKEv2, values are IKEv1 and IKEv2. Defaults to IKEv2. Changing this forces a new resource to be created.

    Note: Only valid for IPSec connections on virtual network gateways with SKU VpnGw1, VpnGw2, VpnGw3, VpnGw1AZ, VpnGw2AZ or VpnGw3AZ.

    customBgpAddresses Property Map

    A custom_bgp_addresses block which is documented below. The block can only be used on IPSec / activeactive connections, For details about see the relevant section in the Azure documentation.

    dpdTimeoutSeconds Number

    The dead peer detection timeout of this connection in seconds. Changing this forces a new resource to be created.

    egressNatRuleIds List<String>

    A list of the egress NAT Rule Ids.

    enableBgp Boolean

    If true, BGP (Border Gateway Protocol) is enabled for this connection. Defaults to false.

    expressRouteCircuitId String

    The ID of the Express Route Circuit when creating an ExpressRoute connection (i.e. when type is ExpressRoute). The Express Route Circuit can be in the same or in a different subscription. Changing this forces a new resource to be created.

    expressRouteGatewayBypass Boolean

    If true, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.

    ingressNatRuleIds List<String>

    A list of the ingress NAT Rule Ids.

    ipsecPolicy Property Map

    A ipsec_policy block which is documented below. Only a single policy can be defined for a connection. For details on custom policies refer to the relevant section in the Azure documentation.

    localAzureIpAddressEnabled Boolean

    Use private local Azure IP for the connection. Changing this forces a new resource to be created.

    localNetworkGatewayId String

    The ID of the local network gateway when creating Site-to-Site connection (i.e. when type is IPsec).

    location String

    The location/region where the connection is located. Changing this forces a new resource to be created.

    name String

    The name of the connection. Changing the name forces a new resource to be created.

    peerVirtualNetworkGatewayId String

    The ID of the peer virtual network gateway when creating a VNet-to-VNet connection (i.e. when type is Vnet2Vnet). The peer Virtual Network Gateway can be in the same or in a different subscription. Changing this forces a new resource to be created.

    routingWeight Number

    The routing weight. Defaults to 10.

    sharedKey String

    The shared IPSec key. A key could be provided if a Site-to-Site, VNet-to-VNet or ExpressRoute connection is created.

    tags Map<String>

    A mapping of tags to assign to the resource.

    trafficSelectorPolicy Property Map

    One or more traffic_selector_policy blocks which are documented below. A traffic_selector_policy allows to specify a traffic selector policy proposal to be used in a virtual network gateway connection. For details about traffic selectors refer to the relevant section in the Azure documentation.

    usePolicyBasedTrafficSelectors Boolean

    If true, policy-based traffic selectors are enabled for this connection. Enabling policy-based traffic selectors requires an ipsec_policy block. Defaults to false.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the VirtualNetworkGatewayConnection resource produces the following output properties:

    Id string

    The provider-assigned unique ID for this managed resource.

    Id string

    The provider-assigned unique ID for this managed resource.

    id String

    The provider-assigned unique ID for this managed resource.

    id string

    The provider-assigned unique ID for this managed resource.

    id str

    The provider-assigned unique ID for this managed resource.

    id String

    The provider-assigned unique ID for this managed resource.

    Look up Existing VirtualNetworkGatewayConnection Resource

    Get an existing VirtualNetworkGatewayConnection resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: VirtualNetworkGatewayConnectionState, opts?: CustomResourceOptions): VirtualNetworkGatewayConnection
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            authorization_key: Optional[str] = None,
            connection_mode: Optional[str] = None,
            connection_protocol: Optional[str] = None,
            custom_bgp_addresses: Optional[VirtualNetworkGatewayConnectionCustomBgpAddressesArgs] = None,
            dpd_timeout_seconds: Optional[int] = None,
            egress_nat_rule_ids: Optional[Sequence[str]] = None,
            enable_bgp: Optional[bool] = None,
            express_route_circuit_id: Optional[str] = None,
            express_route_gateway_bypass: Optional[bool] = None,
            ingress_nat_rule_ids: Optional[Sequence[str]] = None,
            ipsec_policy: Optional[VirtualNetworkGatewayConnectionIpsecPolicyArgs] = None,
            local_azure_ip_address_enabled: Optional[bool] = None,
            local_network_gateway_id: Optional[str] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            peer_virtual_network_gateway_id: Optional[str] = None,
            resource_group_name: Optional[str] = None,
            routing_weight: Optional[int] = None,
            shared_key: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            traffic_selector_policy: Optional[VirtualNetworkGatewayConnectionTrafficSelectorPolicyArgs] = None,
            type: Optional[str] = None,
            use_policy_based_traffic_selectors: Optional[bool] = None,
            virtual_network_gateway_id: Optional[str] = None) -> VirtualNetworkGatewayConnection
    func GetVirtualNetworkGatewayConnection(ctx *Context, name string, id IDInput, state *VirtualNetworkGatewayConnectionState, opts ...ResourceOption) (*VirtualNetworkGatewayConnection, error)
    public static VirtualNetworkGatewayConnection Get(string name, Input<string> id, VirtualNetworkGatewayConnectionState? state, CustomResourceOptions? opts = null)
    public static VirtualNetworkGatewayConnection get(String name, Output<String> id, VirtualNetworkGatewayConnectionState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AuthorizationKey string

    The authorization key associated with the Express Route Circuit. This field is required only if the type is an ExpressRoute connection.

    ConnectionMode string

    Connection mode to use. Possible values are Default, InitiatorOnly and ResponderOnly. Defaults to Default. Changing this value will force a resource to be created.

    ConnectionProtocol string

    The IKE protocol version to use. Possible values are IKEv1 and IKEv2, values are IKEv1 and IKEv2. Defaults to IKEv2. Changing this forces a new resource to be created.

    Note: Only valid for IPSec connections on virtual network gateways with SKU VpnGw1, VpnGw2, VpnGw3, VpnGw1AZ, VpnGw2AZ or VpnGw3AZ.

    CustomBgpAddresses VirtualNetworkGatewayConnectionCustomBgpAddresses

    A custom_bgp_addresses block which is documented below. The block can only be used on IPSec / activeactive connections, For details about see the relevant section in the Azure documentation.

    DpdTimeoutSeconds int

    The dead peer detection timeout of this connection in seconds. Changing this forces a new resource to be created.

    EgressNatRuleIds List<string>

    A list of the egress NAT Rule Ids.

    EnableBgp bool

    If true, BGP (Border Gateway Protocol) is enabled for this connection. Defaults to false.

    ExpressRouteCircuitId string

    The ID of the Express Route Circuit when creating an ExpressRoute connection (i.e. when type is ExpressRoute). The Express Route Circuit can be in the same or in a different subscription. Changing this forces a new resource to be created.

    ExpressRouteGatewayBypass bool

    If true, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.

    IngressNatRuleIds List<string>

    A list of the ingress NAT Rule Ids.

    IpsecPolicy VirtualNetworkGatewayConnectionIpsecPolicy

    A ipsec_policy block which is documented below. Only a single policy can be defined for a connection. For details on custom policies refer to the relevant section in the Azure documentation.

    LocalAzureIpAddressEnabled bool

    Use private local Azure IP for the connection. Changing this forces a new resource to be created.

    LocalNetworkGatewayId string

    The ID of the local network gateway when creating Site-to-Site connection (i.e. when type is IPsec).

    Location string

    The location/region where the connection is located. Changing this forces a new resource to be created.

    Name string

    The name of the connection. Changing the name forces a new resource to be created.

    PeerVirtualNetworkGatewayId string

    The ID of the peer virtual network gateway when creating a VNet-to-VNet connection (i.e. when type is Vnet2Vnet). The peer Virtual Network Gateway can be in the same or in a different subscription. Changing this forces a new resource to be created.

    ResourceGroupName string

    The name of the resource group in which to create the connection Changing this forces a new resource to be created.

    RoutingWeight int

    The routing weight. Defaults to 10.

    SharedKey string

    The shared IPSec key. A key could be provided if a Site-to-Site, VNet-to-VNet or ExpressRoute connection is created.

    Tags Dictionary<string, string>

    A mapping of tags to assign to the resource.

    TrafficSelectorPolicy VirtualNetworkGatewayConnectionTrafficSelectorPolicy

    One or more traffic_selector_policy blocks which are documented below. A traffic_selector_policy allows to specify a traffic selector policy proposal to be used in a virtual network gateway connection. For details about traffic selectors refer to the relevant section in the Azure documentation.

    Type string

    The type of connection. Valid options are IPsec (Site-to-Site), ExpressRoute (ExpressRoute), and Vnet2Vnet (VNet-to-VNet). Each connection type requires different mandatory arguments (refer to the examples above). Changing this forces a new resource to be created.

    UsePolicyBasedTrafficSelectors bool

    If true, policy-based traffic selectors are enabled for this connection. Enabling policy-based traffic selectors requires an ipsec_policy block. Defaults to false.

    VirtualNetworkGatewayId string

    The ID of the Virtual Network Gateway in which the connection will be created. Changing this forces a new resource to be created.

    AuthorizationKey string

    The authorization key associated with the Express Route Circuit. This field is required only if the type is an ExpressRoute connection.

    ConnectionMode string

    Connection mode to use. Possible values are Default, InitiatorOnly and ResponderOnly. Defaults to Default. Changing this value will force a resource to be created.

    ConnectionProtocol string

    The IKE protocol version to use. Possible values are IKEv1 and IKEv2, values are IKEv1 and IKEv2. Defaults to IKEv2. Changing this forces a new resource to be created.

    Note: Only valid for IPSec connections on virtual network gateways with SKU VpnGw1, VpnGw2, VpnGw3, VpnGw1AZ, VpnGw2AZ or VpnGw3AZ.

    CustomBgpAddresses VirtualNetworkGatewayConnectionCustomBgpAddressesArgs

    A custom_bgp_addresses block which is documented below. The block can only be used on IPSec / activeactive connections, For details about see the relevant section in the Azure documentation.

    DpdTimeoutSeconds int

    The dead peer detection timeout of this connection in seconds. Changing this forces a new resource to be created.

    EgressNatRuleIds []string

    A list of the egress NAT Rule Ids.

    EnableBgp bool

    If true, BGP (Border Gateway Protocol) is enabled for this connection. Defaults to false.

    ExpressRouteCircuitId string

    The ID of the Express Route Circuit when creating an ExpressRoute connection (i.e. when type is ExpressRoute). The Express Route Circuit can be in the same or in a different subscription. Changing this forces a new resource to be created.

    ExpressRouteGatewayBypass bool

    If true, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.

    IngressNatRuleIds []string

    A list of the ingress NAT Rule Ids.

    IpsecPolicy VirtualNetworkGatewayConnectionIpsecPolicyArgs

    A ipsec_policy block which is documented below. Only a single policy can be defined for a connection. For details on custom policies refer to the relevant section in the Azure documentation.

    LocalAzureIpAddressEnabled bool

    Use private local Azure IP for the connection. Changing this forces a new resource to be created.

    LocalNetworkGatewayId string

    The ID of the local network gateway when creating Site-to-Site connection (i.e. when type is IPsec).

    Location string

    The location/region where the connection is located. Changing this forces a new resource to be created.

    Name string

    The name of the connection. Changing the name forces a new resource to be created.

    PeerVirtualNetworkGatewayId string

    The ID of the peer virtual network gateway when creating a VNet-to-VNet connection (i.e. when type is Vnet2Vnet). The peer Virtual Network Gateway can be in the same or in a different subscription. Changing this forces a new resource to be created.

    ResourceGroupName string

    The name of the resource group in which to create the connection Changing this forces a new resource to be created.

    RoutingWeight int

    The routing weight. Defaults to 10.

    SharedKey string

    The shared IPSec key. A key could be provided if a Site-to-Site, VNet-to-VNet or ExpressRoute connection is created.

    Tags map[string]string

    A mapping of tags to assign to the resource.

    TrafficSelectorPolicy VirtualNetworkGatewayConnectionTrafficSelectorPolicyArgs

    One or more traffic_selector_policy blocks which are documented below. A traffic_selector_policy allows to specify a traffic selector policy proposal to be used in a virtual network gateway connection. For details about traffic selectors refer to the relevant section in the Azure documentation.

    Type string

    The type of connection. Valid options are IPsec (Site-to-Site), ExpressRoute (ExpressRoute), and Vnet2Vnet (VNet-to-VNet). Each connection type requires different mandatory arguments (refer to the examples above). Changing this forces a new resource to be created.

    UsePolicyBasedTrafficSelectors bool

    If true, policy-based traffic selectors are enabled for this connection. Enabling policy-based traffic selectors requires an ipsec_policy block. Defaults to false.

    VirtualNetworkGatewayId string

    The ID of the Virtual Network Gateway in which the connection will be created. Changing this forces a new resource to be created.

    authorizationKey String

    The authorization key associated with the Express Route Circuit. This field is required only if the type is an ExpressRoute connection.

    connectionMode String

    Connection mode to use. Possible values are Default, InitiatorOnly and ResponderOnly. Defaults to Default. Changing this value will force a resource to be created.

    connectionProtocol String

    The IKE protocol version to use. Possible values are IKEv1 and IKEv2, values are IKEv1 and IKEv2. Defaults to IKEv2. Changing this forces a new resource to be created.

    Note: Only valid for IPSec connections on virtual network gateways with SKU VpnGw1, VpnGw2, VpnGw3, VpnGw1AZ, VpnGw2AZ or VpnGw3AZ.

    customBgpAddresses VirtualNetworkGatewayConnectionCustomBgpAddresses

    A custom_bgp_addresses block which is documented below. The block can only be used on IPSec / activeactive connections, For details about see the relevant section in the Azure documentation.

    dpdTimeoutSeconds Integer

    The dead peer detection timeout of this connection in seconds. Changing this forces a new resource to be created.

    egressNatRuleIds List<String>

    A list of the egress NAT Rule Ids.

    enableBgp Boolean

    If true, BGP (Border Gateway Protocol) is enabled for this connection. Defaults to false.

    expressRouteCircuitId String

    The ID of the Express Route Circuit when creating an ExpressRoute connection (i.e. when type is ExpressRoute). The Express Route Circuit can be in the same or in a different subscription. Changing this forces a new resource to be created.

    expressRouteGatewayBypass Boolean

    If true, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.

    ingressNatRuleIds List<String>

    A list of the ingress NAT Rule Ids.

    ipsecPolicy VirtualNetworkGatewayConnectionIpsecPolicy

    A ipsec_policy block which is documented below. Only a single policy can be defined for a connection. For details on custom policies refer to the relevant section in the Azure documentation.

    localAzureIpAddressEnabled Boolean

    Use private local Azure IP for the connection. Changing this forces a new resource to be created.

    localNetworkGatewayId String

    The ID of the local network gateway when creating Site-to-Site connection (i.e. when type is IPsec).

    location String

    The location/region where the connection is located. Changing this forces a new resource to be created.

    name String

    The name of the connection. Changing the name forces a new resource to be created.

    peerVirtualNetworkGatewayId String

    The ID of the peer virtual network gateway when creating a VNet-to-VNet connection (i.e. when type is Vnet2Vnet). The peer Virtual Network Gateway can be in the same or in a different subscription. Changing this forces a new resource to be created.

    resourceGroupName String

    The name of the resource group in which to create the connection Changing this forces a new resource to be created.

    routingWeight Integer

    The routing weight. Defaults to 10.

    sharedKey String

    The shared IPSec key. A key could be provided if a Site-to-Site, VNet-to-VNet or ExpressRoute connection is created.

    tags Map<String,String>

    A mapping of tags to assign to the resource.

    trafficSelectorPolicy VirtualNetworkGatewayConnectionTrafficSelectorPolicy

    One or more traffic_selector_policy blocks which are documented below. A traffic_selector_policy allows to specify a traffic selector policy proposal to be used in a virtual network gateway connection. For details about traffic selectors refer to the relevant section in the Azure documentation.

    type String

    The type of connection. Valid options are IPsec (Site-to-Site), ExpressRoute (ExpressRoute), and Vnet2Vnet (VNet-to-VNet). Each connection type requires different mandatory arguments (refer to the examples above). Changing this forces a new resource to be created.

    usePolicyBasedTrafficSelectors Boolean

    If true, policy-based traffic selectors are enabled for this connection. Enabling policy-based traffic selectors requires an ipsec_policy block. Defaults to false.

    virtualNetworkGatewayId String

    The ID of the Virtual Network Gateway in which the connection will be created. Changing this forces a new resource to be created.

    authorizationKey string

    The authorization key associated with the Express Route Circuit. This field is required only if the type is an ExpressRoute connection.

    connectionMode string

    Connection mode to use. Possible values are Default, InitiatorOnly and ResponderOnly. Defaults to Default. Changing this value will force a resource to be created.

    connectionProtocol string

    The IKE protocol version to use. Possible values are IKEv1 and IKEv2, values are IKEv1 and IKEv2. Defaults to IKEv2. Changing this forces a new resource to be created.

    Note: Only valid for IPSec connections on virtual network gateways with SKU VpnGw1, VpnGw2, VpnGw3, VpnGw1AZ, VpnGw2AZ or VpnGw3AZ.

    customBgpAddresses VirtualNetworkGatewayConnectionCustomBgpAddresses

    A custom_bgp_addresses block which is documented below. The block can only be used on IPSec / activeactive connections, For details about see the relevant section in the Azure documentation.

    dpdTimeoutSeconds number

    The dead peer detection timeout of this connection in seconds. Changing this forces a new resource to be created.

    egressNatRuleIds string[]

    A list of the egress NAT Rule Ids.

    enableBgp boolean

    If true, BGP (Border Gateway Protocol) is enabled for this connection. Defaults to false.

    expressRouteCircuitId string

    The ID of the Express Route Circuit when creating an ExpressRoute connection (i.e. when type is ExpressRoute). The Express Route Circuit can be in the same or in a different subscription. Changing this forces a new resource to be created.

    expressRouteGatewayBypass boolean

    If true, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.

    ingressNatRuleIds string[]

    A list of the ingress NAT Rule Ids.

    ipsecPolicy VirtualNetworkGatewayConnectionIpsecPolicy

    A ipsec_policy block which is documented below. Only a single policy can be defined for a connection. For details on custom policies refer to the relevant section in the Azure documentation.

    localAzureIpAddressEnabled boolean

    Use private local Azure IP for the connection. Changing this forces a new resource to be created.

    localNetworkGatewayId string

    The ID of the local network gateway when creating Site-to-Site connection (i.e. when type is IPsec).

    location string

    The location/region where the connection is located. Changing this forces a new resource to be created.

    name string

    The name of the connection. Changing the name forces a new resource to be created.

    peerVirtualNetworkGatewayId string

    The ID of the peer virtual network gateway when creating a VNet-to-VNet connection (i.e. when type is Vnet2Vnet). The peer Virtual Network Gateway can be in the same or in a different subscription. Changing this forces a new resource to be created.

    resourceGroupName string

    The name of the resource group in which to create the connection Changing this forces a new resource to be created.

    routingWeight number

    The routing weight. Defaults to 10.

    sharedKey string

    The shared IPSec key. A key could be provided if a Site-to-Site, VNet-to-VNet or ExpressRoute connection is created.

    tags {[key: string]: string}

    A mapping of tags to assign to the resource.

    trafficSelectorPolicy VirtualNetworkGatewayConnectionTrafficSelectorPolicy

    One or more traffic_selector_policy blocks which are documented below. A traffic_selector_policy allows to specify a traffic selector policy proposal to be used in a virtual network gateway connection. For details about traffic selectors refer to the relevant section in the Azure documentation.

    type string

    The type of connection. Valid options are IPsec (Site-to-Site), ExpressRoute (ExpressRoute), and Vnet2Vnet (VNet-to-VNet). Each connection type requires different mandatory arguments (refer to the examples above). Changing this forces a new resource to be created.

    usePolicyBasedTrafficSelectors boolean

    If true, policy-based traffic selectors are enabled for this connection. Enabling policy-based traffic selectors requires an ipsec_policy block. Defaults to false.

    virtualNetworkGatewayId string

    The ID of the Virtual Network Gateway in which the connection will be created. Changing this forces a new resource to be created.

    authorization_key str

    The authorization key associated with the Express Route Circuit. This field is required only if the type is an ExpressRoute connection.

    connection_mode str

    Connection mode to use. Possible values are Default, InitiatorOnly and ResponderOnly. Defaults to Default. Changing this value will force a resource to be created.

    connection_protocol str

    The IKE protocol version to use. Possible values are IKEv1 and IKEv2, values are IKEv1 and IKEv2. Defaults to IKEv2. Changing this forces a new resource to be created.

    Note: Only valid for IPSec connections on virtual network gateways with SKU VpnGw1, VpnGw2, VpnGw3, VpnGw1AZ, VpnGw2AZ or VpnGw3AZ.

    custom_bgp_addresses VirtualNetworkGatewayConnectionCustomBgpAddressesArgs

    A custom_bgp_addresses block which is documented below. The block can only be used on IPSec / activeactive connections, For details about see the relevant section in the Azure documentation.

    dpd_timeout_seconds int

    The dead peer detection timeout of this connection in seconds. Changing this forces a new resource to be created.

    egress_nat_rule_ids Sequence[str]

    A list of the egress NAT Rule Ids.

    enable_bgp bool

    If true, BGP (Border Gateway Protocol) is enabled for this connection. Defaults to false.

    express_route_circuit_id str

    The ID of the Express Route Circuit when creating an ExpressRoute connection (i.e. when type is ExpressRoute). The Express Route Circuit can be in the same or in a different subscription. Changing this forces a new resource to be created.

    express_route_gateway_bypass bool

    If true, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.

    ingress_nat_rule_ids Sequence[str]

    A list of the ingress NAT Rule Ids.

    ipsec_policy VirtualNetworkGatewayConnectionIpsecPolicyArgs

    A ipsec_policy block which is documented below. Only a single policy can be defined for a connection. For details on custom policies refer to the relevant section in the Azure documentation.

    local_azure_ip_address_enabled bool

    Use private local Azure IP for the connection. Changing this forces a new resource to be created.

    local_network_gateway_id str

    The ID of the local network gateway when creating Site-to-Site connection (i.e. when type is IPsec).

    location str

    The location/region where the connection is located. Changing this forces a new resource to be created.

    name str

    The name of the connection. Changing the name forces a new resource to be created.

    peer_virtual_network_gateway_id str

    The ID of the peer virtual network gateway when creating a VNet-to-VNet connection (i.e. when type is Vnet2Vnet). The peer Virtual Network Gateway can be in the same or in a different subscription. Changing this forces a new resource to be created.

    resource_group_name str

    The name of the resource group in which to create the connection Changing this forces a new resource to be created.

    routing_weight int

    The routing weight. Defaults to 10.

    shared_key str

    The shared IPSec key. A key could be provided if a Site-to-Site, VNet-to-VNet or ExpressRoute connection is created.

    tags Mapping[str, str]

    A mapping of tags to assign to the resource.

    traffic_selector_policy VirtualNetworkGatewayConnectionTrafficSelectorPolicyArgs

    One or more traffic_selector_policy blocks which are documented below. A traffic_selector_policy allows to specify a traffic selector policy proposal to be used in a virtual network gateway connection. For details about traffic selectors refer to the relevant section in the Azure documentation.

    type str

    The type of connection. Valid options are IPsec (Site-to-Site), ExpressRoute (ExpressRoute), and Vnet2Vnet (VNet-to-VNet). Each connection type requires different mandatory arguments (refer to the examples above). Changing this forces a new resource to be created.

    use_policy_based_traffic_selectors bool

    If true, policy-based traffic selectors are enabled for this connection. Enabling policy-based traffic selectors requires an ipsec_policy block. Defaults to false.

    virtual_network_gateway_id str

    The ID of the Virtual Network Gateway in which the connection will be created. Changing this forces a new resource to be created.

    authorizationKey String

    The authorization key associated with the Express Route Circuit. This field is required only if the type is an ExpressRoute connection.

    connectionMode String

    Connection mode to use. Possible values are Default, InitiatorOnly and ResponderOnly. Defaults to Default. Changing this value will force a resource to be created.

    connectionProtocol String

    The IKE protocol version to use. Possible values are IKEv1 and IKEv2, values are IKEv1 and IKEv2. Defaults to IKEv2. Changing this forces a new resource to be created.

    Note: Only valid for IPSec connections on virtual network gateways with SKU VpnGw1, VpnGw2, VpnGw3, VpnGw1AZ, VpnGw2AZ or VpnGw3AZ.

    customBgpAddresses Property Map

    A custom_bgp_addresses block which is documented below. The block can only be used on IPSec / activeactive connections, For details about see the relevant section in the Azure documentation.

    dpdTimeoutSeconds Number

    The dead peer detection timeout of this connection in seconds. Changing this forces a new resource to be created.

    egressNatRuleIds List<String>

    A list of the egress NAT Rule Ids.

    enableBgp Boolean

    If true, BGP (Border Gateway Protocol) is enabled for this connection. Defaults to false.

    expressRouteCircuitId String

    The ID of the Express Route Circuit when creating an ExpressRoute connection (i.e. when type is ExpressRoute). The Express Route Circuit can be in the same or in a different subscription. Changing this forces a new resource to be created.

    expressRouteGatewayBypass Boolean

    If true, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.

    ingressNatRuleIds List<String>

    A list of the ingress NAT Rule Ids.

    ipsecPolicy Property Map

    A ipsec_policy block which is documented below. Only a single policy can be defined for a connection. For details on custom policies refer to the relevant section in the Azure documentation.

    localAzureIpAddressEnabled Boolean

    Use private local Azure IP for the connection. Changing this forces a new resource to be created.

    localNetworkGatewayId String

    The ID of the local network gateway when creating Site-to-Site connection (i.e. when type is IPsec).

    location String

    The location/region where the connection is located. Changing this forces a new resource to be created.

    name String

    The name of the connection. Changing the name forces a new resource to be created.

    peerVirtualNetworkGatewayId String

    The ID of the peer virtual network gateway when creating a VNet-to-VNet connection (i.e. when type is Vnet2Vnet). The peer Virtual Network Gateway can be in the same or in a different subscription. Changing this forces a new resource to be created.

    resourceGroupName String

    The name of the resource group in which to create the connection Changing this forces a new resource to be created.

    routingWeight Number

    The routing weight. Defaults to 10.

    sharedKey String

    The shared IPSec key. A key could be provided if a Site-to-Site, VNet-to-VNet or ExpressRoute connection is created.

    tags Map<String>

    A mapping of tags to assign to the resource.

    trafficSelectorPolicy Property Map

    One or more traffic_selector_policy blocks which are documented below. A traffic_selector_policy allows to specify a traffic selector policy proposal to be used in a virtual network gateway connection. For details about traffic selectors refer to the relevant section in the Azure documentation.

    type String

    The type of connection. Valid options are IPsec (Site-to-Site), ExpressRoute (ExpressRoute), and Vnet2Vnet (VNet-to-VNet). Each connection type requires different mandatory arguments (refer to the examples above). Changing this forces a new resource to be created.

    usePolicyBasedTrafficSelectors Boolean

    If true, policy-based traffic selectors are enabled for this connection. Enabling policy-based traffic selectors requires an ipsec_policy block. Defaults to false.

    virtualNetworkGatewayId String

    The ID of the Virtual Network Gateway in which the connection will be created. Changing this forces a new resource to be created.

    Supporting Types

    VirtualNetworkGatewayConnectionCustomBgpAddresses, VirtualNetworkGatewayConnectionCustomBgpAddressesArgs

    Primary string

    single IP address that is part of the azure.network.VirtualNetworkGateway ip_configuration (first one)

    Secondary string

    single IP address that is part of the azure.network.VirtualNetworkGateway ip_configuration (second one)

    Primary string

    single IP address that is part of the azure.network.VirtualNetworkGateway ip_configuration (first one)

    Secondary string

    single IP address that is part of the azure.network.VirtualNetworkGateway ip_configuration (second one)

    primary String

    single IP address that is part of the azure.network.VirtualNetworkGateway ip_configuration (first one)

    secondary String

    single IP address that is part of the azure.network.VirtualNetworkGateway ip_configuration (second one)

    primary string

    single IP address that is part of the azure.network.VirtualNetworkGateway ip_configuration (first one)

    secondary string

    single IP address that is part of the azure.network.VirtualNetworkGateway ip_configuration (second one)

    primary str

    single IP address that is part of the azure.network.VirtualNetworkGateway ip_configuration (first one)

    secondary str

    single IP address that is part of the azure.network.VirtualNetworkGateway ip_configuration (second one)

    primary String

    single IP address that is part of the azure.network.VirtualNetworkGateway ip_configuration (first one)

    secondary String

    single IP address that is part of the azure.network.VirtualNetworkGateway ip_configuration (second one)

    VirtualNetworkGatewayConnectionIpsecPolicy, VirtualNetworkGatewayConnectionIpsecPolicyArgs

    DhGroup string

    The DH group used in IKE phase 1 for initial SA. Valid options are DHGroup1, DHGroup14, DHGroup2, DHGroup2048, DHGroup24, ECP256, ECP384, or None.

    IkeEncryption string

    The IKE encryption algorithm. Valid options are AES128, AES192, AES256, DES, DES3, GCMAES128, or GCMAES256.

    IkeIntegrity string

    The IKE integrity algorithm. Valid options are GCMAES128, GCMAES256, MD5, SHA1, SHA256, or SHA384.

    IpsecEncryption string

    The IPSec encryption algorithm. Valid options are AES128, AES192, AES256, DES, DES3, GCMAES128, GCMAES192, GCMAES256, or None.

    IpsecIntegrity string

    The IPSec integrity algorithm. Valid options are GCMAES128, GCMAES192, GCMAES256, MD5, SHA1, or SHA256.

    PfsGroup string

    The DH group used in IKE phase 2 for new child SA. Valid options are ECP256, ECP384, PFS1, PFS14, PFS2, PFS2048, PFS24, PFSMM, or None.

    SaDatasize int

    The IPSec SA payload size in KB. Must be at least 1024 KB. Defaults to 102400000 KB.

    SaLifetime int

    The IPSec SA lifetime in seconds. Must be at least 300 seconds. Defaults to 27000 seconds.

    DhGroup string

    The DH group used in IKE phase 1 for initial SA. Valid options are DHGroup1, DHGroup14, DHGroup2, DHGroup2048, DHGroup24, ECP256, ECP384, or None.

    IkeEncryption string

    The IKE encryption algorithm. Valid options are AES128, AES192, AES256, DES, DES3, GCMAES128, or GCMAES256.

    IkeIntegrity string

    The IKE integrity algorithm. Valid options are GCMAES128, GCMAES256, MD5, SHA1, SHA256, or SHA384.

    IpsecEncryption string

    The IPSec encryption algorithm. Valid options are AES128, AES192, AES256, DES, DES3, GCMAES128, GCMAES192, GCMAES256, or None.

    IpsecIntegrity string

    The IPSec integrity algorithm. Valid options are GCMAES128, GCMAES192, GCMAES256, MD5, SHA1, or SHA256.

    PfsGroup string

    The DH group used in IKE phase 2 for new child SA. Valid options are ECP256, ECP384, PFS1, PFS14, PFS2, PFS2048, PFS24, PFSMM, or None.

    SaDatasize int

    The IPSec SA payload size in KB. Must be at least 1024 KB. Defaults to 102400000 KB.

    SaLifetime int

    The IPSec SA lifetime in seconds. Must be at least 300 seconds. Defaults to 27000 seconds.

    dhGroup String

    The DH group used in IKE phase 1 for initial SA. Valid options are DHGroup1, DHGroup14, DHGroup2, DHGroup2048, DHGroup24, ECP256, ECP384, or None.

    ikeEncryption String

    The IKE encryption algorithm. Valid options are AES128, AES192, AES256, DES, DES3, GCMAES128, or GCMAES256.

    ikeIntegrity String

    The IKE integrity algorithm. Valid options are GCMAES128, GCMAES256, MD5, SHA1, SHA256, or SHA384.

    ipsecEncryption String

    The IPSec encryption algorithm. Valid options are AES128, AES192, AES256, DES, DES3, GCMAES128, GCMAES192, GCMAES256, or None.

    ipsecIntegrity String

    The IPSec integrity algorithm. Valid options are GCMAES128, GCMAES192, GCMAES256, MD5, SHA1, or SHA256.

    pfsGroup String

    The DH group used in IKE phase 2 for new child SA. Valid options are ECP256, ECP384, PFS1, PFS14, PFS2, PFS2048, PFS24, PFSMM, or None.

    saDatasize Integer

    The IPSec SA payload size in KB. Must be at least 1024 KB. Defaults to 102400000 KB.

    saLifetime Integer

    The IPSec SA lifetime in seconds. Must be at least 300 seconds. Defaults to 27000 seconds.

    dhGroup string

    The DH group used in IKE phase 1 for initial SA. Valid options are DHGroup1, DHGroup14, DHGroup2, DHGroup2048, DHGroup24, ECP256, ECP384, or None.

    ikeEncryption string

    The IKE encryption algorithm. Valid options are AES128, AES192, AES256, DES, DES3, GCMAES128, or GCMAES256.

    ikeIntegrity string

    The IKE integrity algorithm. Valid options are GCMAES128, GCMAES256, MD5, SHA1, SHA256, or SHA384.

    ipsecEncryption string

    The IPSec encryption algorithm. Valid options are AES128, AES192, AES256, DES, DES3, GCMAES128, GCMAES192, GCMAES256, or None.

    ipsecIntegrity string

    The IPSec integrity algorithm. Valid options are GCMAES128, GCMAES192, GCMAES256, MD5, SHA1, or SHA256.

    pfsGroup string

    The DH group used in IKE phase 2 for new child SA. Valid options are ECP256, ECP384, PFS1, PFS14, PFS2, PFS2048, PFS24, PFSMM, or None.

    saDatasize number

    The IPSec SA payload size in KB. Must be at least 1024 KB. Defaults to 102400000 KB.

    saLifetime number

    The IPSec SA lifetime in seconds. Must be at least 300 seconds. Defaults to 27000 seconds.

    dh_group str

    The DH group used in IKE phase 1 for initial SA. Valid options are DHGroup1, DHGroup14, DHGroup2, DHGroup2048, DHGroup24, ECP256, ECP384, or None.

    ike_encryption str

    The IKE encryption algorithm. Valid options are AES128, AES192, AES256, DES, DES3, GCMAES128, or GCMAES256.

    ike_integrity str

    The IKE integrity algorithm. Valid options are GCMAES128, GCMAES256, MD5, SHA1, SHA256, or SHA384.

    ipsec_encryption str

    The IPSec encryption algorithm. Valid options are AES128, AES192, AES256, DES, DES3, GCMAES128, GCMAES192, GCMAES256, or None.

    ipsec_integrity str

    The IPSec integrity algorithm. Valid options are GCMAES128, GCMAES192, GCMAES256, MD5, SHA1, or SHA256.

    pfs_group str

    The DH group used in IKE phase 2 for new child SA. Valid options are ECP256, ECP384, PFS1, PFS14, PFS2, PFS2048, PFS24, PFSMM, or None.

    sa_datasize int

    The IPSec SA payload size in KB. Must be at least 1024 KB. Defaults to 102400000 KB.

    sa_lifetime int

    The IPSec SA lifetime in seconds. Must be at least 300 seconds. Defaults to 27000 seconds.

    dhGroup String

    The DH group used in IKE phase 1 for initial SA. Valid options are DHGroup1, DHGroup14, DHGroup2, DHGroup2048, DHGroup24, ECP256, ECP384, or None.

    ikeEncryption String

    The IKE encryption algorithm. Valid options are AES128, AES192, AES256, DES, DES3, GCMAES128, or GCMAES256.

    ikeIntegrity String

    The IKE integrity algorithm. Valid options are GCMAES128, GCMAES256, MD5, SHA1, SHA256, or SHA384.

    ipsecEncryption String

    The IPSec encryption algorithm. Valid options are AES128, AES192, AES256, DES, DES3, GCMAES128, GCMAES192, GCMAES256, or None.

    ipsecIntegrity String

    The IPSec integrity algorithm. Valid options are GCMAES128, GCMAES192, GCMAES256, MD5, SHA1, or SHA256.

    pfsGroup String

    The DH group used in IKE phase 2 for new child SA. Valid options are ECP256, ECP384, PFS1, PFS14, PFS2, PFS2048, PFS24, PFSMM, or None.

    saDatasize Number

    The IPSec SA payload size in KB. Must be at least 1024 KB. Defaults to 102400000 KB.

    saLifetime Number

    The IPSec SA lifetime in seconds. Must be at least 300 seconds. Defaults to 27000 seconds.

    VirtualNetworkGatewayConnectionTrafficSelectorPolicy, VirtualNetworkGatewayConnectionTrafficSelectorPolicyArgs

    LocalAddressCidrs List<string>

    List of local CIDRs.

    RemoteAddressCidrs List<string>

    List of remote CIDRs.

    LocalAddressCidrs []string

    List of local CIDRs.

    RemoteAddressCidrs []string

    List of remote CIDRs.

    localAddressCidrs List<String>

    List of local CIDRs.

    remoteAddressCidrs List<String>

    List of remote CIDRs.

    localAddressCidrs string[]

    List of local CIDRs.

    remoteAddressCidrs string[]

    List of remote CIDRs.

    local_address_cidrs Sequence[str]

    List of local CIDRs.

    remote_address_cidrs Sequence[str]

    List of remote CIDRs.

    localAddressCidrs List<String>

    List of local CIDRs.

    remoteAddressCidrs List<String>

    List of remote CIDRs.

    Import

    Virtual Network Gateway Connections can be imported using their resource id, e.g.

     $ pulumi import azure:network/virtualNetworkGatewayConnection:VirtualNetworkGatewayConnection exampleConnection /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.Network/connections/myConnection1
    

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes

    This Pulumi package is based on the azurerm Terraform Provider.

    azure logo

    We recommend using Azure Native.

    Azure Classic v5.58.0 published on Saturday, Dec 2, 2023 by Pulumi