Virtual Network Gateway Connection
A common class for general resource information. Uses Azure REST API version 2023-02-01. In version 1.x of the Azure Native provider, it used API version 2020-11-01. Other available API versions: 2019-08-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01, 2023-11-01, 2024-01-01, 2024-03-01, 2024-05-01.
Example Usage
CreateVirtualNetworkGatewayConnection_S2S
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var virtualNetworkGatewayConnection = new AzureNative.Network.VirtualNetworkGatewayConnection("virtualNetworkGatewayConnection", new()
{
ConnectionMode = AzureNative.Network.VirtualNetworkGatewayConnectionMode.Default,
ConnectionProtocol = AzureNative.Network.VirtualNetworkGatewayConnectionProtocol.IKEv2,
ConnectionType = AzureNative.Network.VirtualNetworkGatewayConnectionType.IPsec,
DpdTimeoutSeconds = 30,
EgressNatRules = new[]
{
new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2",
},
},
EnableBgp = false,
GatewayCustomBgpIpAddresses = new[]
{
new AzureNative.Network.Inputs.GatewayCustomBgpIpAddressIpConfigurationArgs
{
CustomBgpIpAddress = "169.254.21.1",
IpConfigurationId = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/default",
},
new AzureNative.Network.Inputs.GatewayCustomBgpIpAddressIpConfigurationArgs
{
CustomBgpIpAddress = "169.254.21.3",
IpConfigurationId = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/ActiveActive",
},
},
IngressNatRules = new[]
{
new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1",
},
},
IpsecPolicies = new[] {},
LocalNetworkGateway2 = new AzureNative.Network.Inputs.LocalNetworkGatewayArgs
{
GatewayIpAddress = "x.x.x.x",
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
LocalNetworkAddressSpace = new AzureNative.Network.Inputs.AddressSpaceArgs
{
AddressPrefixes = new[]
{
"10.1.0.0/16",
},
},
Location = "centralus",
Tags = null,
},
Location = "centralus",
ResourceGroupName = "rg1",
RoutingWeight = 0,
SharedKey = "Abc123",
TrafficSelectorPolicies = new[] {},
UsePolicyBasedTrafficSelectors = false,
VirtualNetworkGateway1 = new AzureNative.Network.Inputs.VirtualNetworkGatewayArgs
{
ActiveActive = false,
BgpSettings = new AzureNative.Network.Inputs.BgpSettingsArgs
{
Asn = 65514,
BgpPeeringAddress = "10.0.1.30",
PeerWeight = 0,
},
EnableBgp = false,
GatewayType = AzureNative.Network.VirtualNetworkGatewayType.Vpn,
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
IpConfigurations = new[]
{
new AzureNative.Network.Inputs.VirtualNetworkGatewayIPConfigurationArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1",
Name = "gwipconfig1",
PrivateIPAllocationMethod = AzureNative.Network.IPAllocationMethod.Dynamic,
PublicIPAddress = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip",
},
Subnet = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet",
},
},
},
Location = "centralus",
Sku = new AzureNative.Network.Inputs.VirtualNetworkGatewaySkuArgs
{
Name = AzureNative.Network.VirtualNetworkGatewaySkuName.VpnGw1,
Tier = AzureNative.Network.VirtualNetworkGatewaySkuTier.VpnGw1,
},
Tags = null,
VpnType = AzureNative.Network.VpnType.RouteBased,
},
VirtualNetworkGatewayConnectionName = "connS2S",
});
});
package main
import (
network "github.com/pulumi/pulumi-azure-native-sdk/network/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := network.NewVirtualNetworkGatewayConnection(ctx, "virtualNetworkGatewayConnection", &network.VirtualNetworkGatewayConnectionArgs{
ConnectionMode: pulumi.String(network.VirtualNetworkGatewayConnectionModeDefault),
ConnectionProtocol: pulumi.String(network.VirtualNetworkGatewayConnectionProtocolIKEv2),
ConnectionType: pulumi.String(network.VirtualNetworkGatewayConnectionTypeIPsec),
DpdTimeoutSeconds: pulumi.Int(30),
EgressNatRules: network.SubResourceArray{
&network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2"),
},
},
EnableBgp: pulumi.Bool(false),
GatewayCustomBgpIpAddresses: network.GatewayCustomBgpIpAddressIpConfigurationArray{
&network.GatewayCustomBgpIpAddressIpConfigurationArgs{
CustomBgpIpAddress: pulumi.String("169.254.21.1"),
IpConfigurationId: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/default"),
},
&network.GatewayCustomBgpIpAddressIpConfigurationArgs{
CustomBgpIpAddress: pulumi.String("169.254.21.3"),
IpConfigurationId: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/ActiveActive"),
},
},
IngressNatRules: network.SubResourceArray{
&network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1"),
},
},
IpsecPolicies: network.IpsecPolicyArray{},
LocalNetworkGateway2: &network.LocalNetworkGatewayTypeArgs{
GatewayIpAddress: pulumi.String("x.x.x.x"),
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw"),
LocalNetworkAddressSpace: &network.AddressSpaceArgs{
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.1.0.0/16"),
},
},
Location: pulumi.String("centralus"),
Tags: pulumi.StringMap{},
},
Location: pulumi.String("centralus"),
ResourceGroupName: pulumi.String("rg1"),
RoutingWeight: pulumi.Int(0),
SharedKey: pulumi.String("Abc123"),
TrafficSelectorPolicies: network.TrafficSelectorPolicyArray{},
UsePolicyBasedTrafficSelectors: pulumi.Bool(false),
VirtualNetworkGateway1: &network.VirtualNetworkGatewayTypeArgs{
ActiveActive: pulumi.Bool(false),
BgpSettings: &network.BgpSettingsArgs{
Asn: pulumi.Float64(65514),
BgpPeeringAddress: pulumi.String("10.0.1.30"),
PeerWeight: pulumi.Int(0),
},
EnableBgp: pulumi.Bool(false),
GatewayType: pulumi.String(network.VirtualNetworkGatewayTypeVpn),
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw"),
IpConfigurations: network.VirtualNetworkGatewayIPConfigurationArray{
&network.VirtualNetworkGatewayIPConfigurationArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1"),
Name: pulumi.String("gwipconfig1"),
PrivateIPAllocationMethod: pulumi.String(network.IPAllocationMethodDynamic),
PublicIPAddress: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"),
},
Subnet: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"),
},
},
},
Location: pulumi.String("centralus"),
Sku: &network.VirtualNetworkGatewaySkuArgs{
Name: pulumi.String(network.VirtualNetworkGatewaySkuNameVpnGw1),
Tier: pulumi.String(network.VirtualNetworkGatewaySkuTierVpnGw1),
},
Tags: pulumi.StringMap{},
VpnType: pulumi.String(network.VpnTypeRouteBased),
},
VirtualNetworkGatewayConnectionName: pulumi.String("connS2S"),
})
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.azurenative.network.VirtualNetworkGatewayConnection;
import com.pulumi.azurenative.network.VirtualNetworkGatewayConnectionArgs;
import com.pulumi.azurenative.network.inputs.SubResourceArgs;
import com.pulumi.azurenative.network.inputs.GatewayCustomBgpIpAddressIpConfigurationArgs;
import com.pulumi.azurenative.network.inputs.LocalNetworkGatewayArgs;
import com.pulumi.azurenative.network.inputs.AddressSpaceArgs;
import com.pulumi.azurenative.network.inputs.VirtualNetworkGatewayArgs;
import com.pulumi.azurenative.network.inputs.BgpSettingsArgs;
import com.pulumi.azurenative.network.inputs.VirtualNetworkGatewaySkuArgs;
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 virtualNetworkGatewayConnection = new VirtualNetworkGatewayConnection("virtualNetworkGatewayConnection", VirtualNetworkGatewayConnectionArgs.builder()
.connectionMode("Default")
.connectionProtocol("IKEv2")
.connectionType("IPsec")
.dpdTimeoutSeconds(30)
.egressNatRules(SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2")
.build())
.enableBgp(false)
.gatewayCustomBgpIpAddresses(
GatewayCustomBgpIpAddressIpConfigurationArgs.builder()
.customBgpIpAddress("169.254.21.1")
.ipConfigurationId("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/default")
.build(),
GatewayCustomBgpIpAddressIpConfigurationArgs.builder()
.customBgpIpAddress("169.254.21.3")
.ipConfigurationId("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/ActiveActive")
.build())
.ingressNatRules(SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1")
.build())
.ipsecPolicies()
.localNetworkGateway2(LocalNetworkGatewayArgs.builder()
.gatewayIpAddress("x.x.x.x")
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw")
.localNetworkAddressSpace(AddressSpaceArgs.builder()
.addressPrefixes("10.1.0.0/16")
.build())
.location("centralus")
.tags()
.build())
.location("centralus")
.resourceGroupName("rg1")
.routingWeight(0)
.sharedKey("Abc123")
.trafficSelectorPolicies()
.usePolicyBasedTrafficSelectors(false)
.virtualNetworkGateway1(VirtualNetworkGatewayArgs.builder()
.activeActive(false)
.bgpSettings(BgpSettingsArgs.builder()
.asn(65514)
.bgpPeeringAddress("10.0.1.30")
.peerWeight(0)
.build())
.enableBgp(false)
.gatewayType("Vpn")
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw")
.ipConfigurations(VirtualNetworkGatewayIPConfigurationArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1")
.name("gwipconfig1")
.privateIPAllocationMethod("Dynamic")
.publicIPAddress(SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip")
.build())
.subnet(SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet")
.build())
.build())
.location("centralus")
.sku(VirtualNetworkGatewaySkuArgs.builder()
.name("VpnGw1")
.tier("VpnGw1")
.build())
.tags()
.vpnType("RouteBased")
.build())
.virtualNetworkGatewayConnectionName("connS2S")
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:network:VirtualNetworkGatewayConnection connS2S /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}
Properties
The authorizationKey.
The connection mode for this connection.
Connection protocol used for this connection.
Virtual Network Gateway connection status.
Gateway connection type.
The dead peer detection timeout of this connection in seconds.
The egress bytes transferred in this connection.
List of egress NatRules.
Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled.
Bypass ExpressRoute Gateway for data forwarding.
GatewayCustomBgpIpAddresses to be used for virtual network gateway Connection.
The ingress bytes transferred in this connection.
List of ingress NatRules.
The IPSec Policies to be considered by this connection.
The reference to local network gateway resource.
The reference to peerings resource.
The provisioning state of the virtual network gateway connection resource.
The resource GUID property of the virtual network gateway connection resource.
The routing weight.
The Traffic Selector Policies to be considered by this connection.
Collection of all tunnels' connection health status.
Use private local Azure IP for the connection.
Enable policy-based traffic selectors.
The reference to virtual network gateway resource.
The reference to virtual network gateway resource.