VirtualNetworkGatewayConnectionArgs

data class VirtualNetworkGatewayConnectionArgs(val authorizationKey: Output<String>? = null, val connectionMode: Output<Either<String, VirtualNetworkGatewayConnectionMode>>? = null, val connectionProtocol: Output<Either<String, VirtualNetworkGatewayConnectionProtocol>>? = null, val connectionType: Output<Either<String, VirtualNetworkGatewayConnectionType>>? = null, val dpdTimeoutSeconds: Output<Int>? = null, val egressNatRules: Output<List<SubResourceArgs>>? = null, val enableBgp: Output<Boolean>? = null, val enablePrivateLinkFastPath: Output<Boolean>? = null, val expressRouteGatewayBypass: Output<Boolean>? = null, val gatewayCustomBgpIpAddresses: Output<List<GatewayCustomBgpIpAddressIpConfigurationArgs>>? = null, val id: Output<String>? = null, val ingressNatRules: Output<List<SubResourceArgs>>? = null, val ipsecPolicies: Output<List<IpsecPolicyArgs>>? = null, val localNetworkGateway2: Output<LocalNetworkGatewayArgs>? = null, val location: Output<String>? = null, val peer: Output<SubResourceArgs>? = null, val resourceGroupName: Output<String>? = null, val routingWeight: Output<Int>? = null, val sharedKey: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val trafficSelectorPolicies: Output<List<TrafficSelectorPolicyArgs>>? = null, val useLocalAzureIpAddress: Output<Boolean>? = null, val usePolicyBasedTrafficSelectors: Output<Boolean>? = null, val virtualNetworkGateway1: Output<VirtualNetworkGatewayArgs>? = null, val virtualNetworkGateway2: Output<VirtualNetworkGatewayArgs>? = null, val virtualNetworkGatewayConnectionName: Output<String>? = null) : ConvertibleToJava<VirtualNetworkGatewayConnectionArgs>

A common class for general resource information. Uses Azure REST API version 2024-05-01. In version 2.x of the Azure Native provider, it used API version 2023-02-01. Other available API versions: 2018-06-01, 2018-07-01, 2018-08-01, 2018-10-01, 2018-11-01, 2018-12-01, 2019-02-01, 2019-04-01, 2019-06-01, 2019-07-01, 2019-08-01, 2019-09-01, 2019-11-01, 2019-12-01, 2020-03-01, 2020-04-01, 2020-05-01, 2020-06-01, 2020-07-01, 2020-08-01, 2020-11-01, 2021-02-01, 2021-03-01, 2021-05-01, 2021-08-01, 2022-01-01, 2022-05-01, 2022-07-01, 2022-09-01, 2022-11-01, 2023-02-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01, 2023-11-01, 2024-01-01, 2024-03-01, 2024-07-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native network [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

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/v3"
"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(Map.ofEntries(
))
.build())
.location("centralus")
.resourceGroupName("rg1")
.routingWeight(0)
.sharedKey("Abc123")
.trafficSelectorPolicies()
.usePolicyBasedTrafficSelectors(false)
.virtualNetworkGateway1(VirtualNetworkGatewayArgs.builder()
.activeActive(false)
.bgpSettings(BgpSettingsArgs.builder()
.asn(65514.0)
.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(Map.ofEntries(
))
.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}

Constructors

Link copied to clipboard
constructor(authorizationKey: Output<String>? = null, connectionMode: Output<Either<String, VirtualNetworkGatewayConnectionMode>>? = null, connectionProtocol: Output<Either<String, VirtualNetworkGatewayConnectionProtocol>>? = null, connectionType: Output<Either<String, VirtualNetworkGatewayConnectionType>>? = null, dpdTimeoutSeconds: Output<Int>? = null, egressNatRules: Output<List<SubResourceArgs>>? = null, enableBgp: Output<Boolean>? = null, enablePrivateLinkFastPath: Output<Boolean>? = null, expressRouteGatewayBypass: Output<Boolean>? = null, gatewayCustomBgpIpAddresses: Output<List<GatewayCustomBgpIpAddressIpConfigurationArgs>>? = null, id: Output<String>? = null, ingressNatRules: Output<List<SubResourceArgs>>? = null, ipsecPolicies: Output<List<IpsecPolicyArgs>>? = null, localNetworkGateway2: Output<LocalNetworkGatewayArgs>? = null, location: Output<String>? = null, peer: Output<SubResourceArgs>? = null, resourceGroupName: Output<String>? = null, routingWeight: Output<Int>? = null, sharedKey: Output<String>? = null, tags: Output<Map<String, String>>? = null, trafficSelectorPolicies: Output<List<TrafficSelectorPolicyArgs>>? = null, useLocalAzureIpAddress: Output<Boolean>? = null, usePolicyBasedTrafficSelectors: Output<Boolean>? = null, virtualNetworkGateway1: Output<VirtualNetworkGatewayArgs>? = null, virtualNetworkGateway2: Output<VirtualNetworkGatewayArgs>? = null, virtualNetworkGatewayConnectionName: Output<String>? = null)

Properties

Link copied to clipboard
val authorizationKey: Output<String>? = null

The authorizationKey.

Link copied to clipboard

The connection mode for this connection.

Link copied to clipboard

Connection protocol used for this connection.

Link copied to clipboard

Gateway connection type.

Link copied to clipboard
val dpdTimeoutSeconds: Output<Int>? = null

The dead peer detection timeout of this connection in seconds.

Link copied to clipboard
val egressNatRules: Output<List<SubResourceArgs>>? = null

List of egress NatRules.

Link copied to clipboard
val enableBgp: Output<Boolean>? = null

EnableBgp flag.

Link copied to clipboard
val enablePrivateLinkFastPath: Output<Boolean>? = null

Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled.

Link copied to clipboard
val expressRouteGatewayBypass: Output<Boolean>? = null

Bypass ExpressRoute Gateway for data forwarding.

Link copied to clipboard

GatewayCustomBgpIpAddresses to be used for virtual network gateway Connection.

Link copied to clipboard
val id: Output<String>? = null

Resource ID.

Link copied to clipboard
val ingressNatRules: Output<List<SubResourceArgs>>? = null

List of ingress NatRules.

Link copied to clipboard
val ipsecPolicies: Output<List<IpsecPolicyArgs>>? = null

The IPSec Policies to be considered by this connection.

Link copied to clipboard

The reference to local network gateway resource.

Link copied to clipboard
val location: Output<String>? = null

Resource location.

Link copied to clipboard
val peer: Output<SubResourceArgs>? = null

The reference to peerings resource.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group.

Link copied to clipboard
val routingWeight: Output<Int>? = null

The routing weight.

Link copied to clipboard
val sharedKey: Output<String>? = null

The IPSec shared key.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Resource tags.

Link copied to clipboard

The Traffic Selector Policies to be considered by this connection.

Link copied to clipboard
val useLocalAzureIpAddress: Output<Boolean>? = null

Use private local Azure IP for the connection.

Link copied to clipboard

Enable policy-based traffic selectors.

Link copied to clipboard

The reference to virtual network gateway resource.

Link copied to clipboard

The reference to virtual network gateway resource.

Link copied to clipboard

The name of the virtual network gateway connection.

Functions

Link copied to clipboard
open override fun toJava(): VirtualNetworkGatewayConnectionArgs