VirtualNetworkGatewayConnection

class VirtualNetworkGatewayConnection : KotlinCustomResource

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

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

The authorizationKey.

Link copied to clipboard
val connectionMode: Output<String>?

The connection mode for this connection.

Link copied to clipboard

Connection protocol used for this connection.

Link copied to clipboard

Virtual Network Gateway connection status.

Link copied to clipboard
val connectionType: Output<String>

Gateway connection type.

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

The dead peer detection timeout of this connection in seconds.

Link copied to clipboard

The egress bytes transferred in this connection.

Link copied to clipboard

List of egress NatRules.

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

EnableBgp flag.

Link copied to clipboard

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

Link copied to clipboard
val etag: Output<String>

A unique read-only string that changes whenever the resource is updated.

Link copied to clipboard

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>
Link copied to clipboard

The ingress bytes transferred in this connection.

Link copied to clipboard

List of ingress NatRules.

Link copied to clipboard

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>?

Resource location.

Link copied to clipboard
val name: Output<String>

Resource name.

Link copied to clipboard

The reference to peerings resource.

Link copied to clipboard

The provisioning state of the virtual network gateway connection resource.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val resourceGuid: Output<String>

The resource GUID property of the virtual network gateway connection resource.

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

The routing weight.

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

The IPSec shared key.

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

Resource tags.

Link copied to clipboard

The Traffic Selector Policies to be considered by this connection.

Link copied to clipboard

Collection of all tunnels' connection health status.

Link copied to clipboard
val type: Output<String>

Resource type.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard

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.