Vpn Connection
VpnConnection Resource. 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: 2018-07-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
VpnConnectionPut
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var vpnConnection = new AzureNative.Network.VpnConnection("vpnConnection", new()
{
ConnectionName = "vpnConnection1",
GatewayName = "gateway1",
RemoteVpnSite = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
},
ResourceGroupName = "rg1",
RoutingConfiguration = new AzureNative.Network.Inputs.RoutingConfigurationArgs
{
AssociatedRouteTable = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1",
},
InboundRouteMap = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1",
},
OutboundRouteMap = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2",
},
PropagatedRouteTables = new AzureNative.Network.Inputs.PropagatedRouteTableArgs
{
Ids = new[]
{
new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1",
},
new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2",
},
new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3",
},
},
Labels = new[]
{
"label1",
"label2",
},
},
},
TrafficSelectorPolicies = new[] {},
VpnLinkConnections = new[]
{
new AzureNative.Network.Inputs.VpnSiteLinkConnectionArgs
{
ConnectionBandwidth = 200,
Name = "Connection-Link1",
SharedKey = "key",
UsePolicyBasedTrafficSelectors = false,
VpnConnectionProtocolType = AzureNative.Network.VirtualNetworkGatewayConnectionProtocol.IKEv2,
VpnLinkConnectionMode = AzureNative.Network.VpnLinkConnectionMode.Default,
VpnSiteLink = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1",
},
},
},
});
});
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.NewVpnConnection(ctx, "vpnConnection", &network.VpnConnectionArgs{
ConnectionName: pulumi.String("vpnConnection1"),
GatewayName: pulumi.String("gateway1"),
RemoteVpnSite: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"),
},
ResourceGroupName: pulumi.String("rg1"),
RoutingConfiguration: &network.RoutingConfigurationArgs{
AssociatedRouteTable: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1"),
},
InboundRouteMap: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1"),
},
OutboundRouteMap: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2"),
},
PropagatedRouteTables: &network.PropagatedRouteTableArgs{
Ids: network.SubResourceArray{
&network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1"),
},
&network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2"),
},
&network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3"),
},
},
Labels: pulumi.StringArray{
pulumi.String("label1"),
pulumi.String("label2"),
},
},
},
TrafficSelectorPolicies: network.TrafficSelectorPolicyArray{},
VpnLinkConnections: network.VpnSiteLinkConnectionArray{
&network.VpnSiteLinkConnectionArgs{
ConnectionBandwidth: pulumi.Int(200),
Name: pulumi.String("Connection-Link1"),
SharedKey: pulumi.String("key"),
UsePolicyBasedTrafficSelectors: pulumi.Bool(false),
VpnConnectionProtocolType: pulumi.String(network.VirtualNetworkGatewayConnectionProtocolIKEv2),
VpnLinkConnectionMode: pulumi.String(network.VpnLinkConnectionModeDefault),
VpnSiteLink: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1"),
},
},
},
})
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.VpnConnection;
import com.pulumi.azurenative.network.VpnConnectionArgs;
import com.pulumi.azurenative.network.inputs.SubResourceArgs;
import com.pulumi.azurenative.network.inputs.RoutingConfigurationArgs;
import com.pulumi.azurenative.network.inputs.PropagatedRouteTableArgs;
import com.pulumi.azurenative.network.inputs.VpnSiteLinkConnectionArgs;
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 vpnConnection = new VpnConnection("vpnConnection", VpnConnectionArgs.builder()
.connectionName("vpnConnection1")
.gatewayName("gateway1")
.remoteVpnSite(SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1")
.build())
.resourceGroupName("rg1")
.routingConfiguration(RoutingConfigurationArgs.builder()
.associatedRouteTable(SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1")
.build())
.inboundRouteMap(SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1")
.build())
.outboundRouteMap(SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2")
.build())
.propagatedRouteTables(PropagatedRouteTableArgs.builder()
.ids(
SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1")
.build(),
SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2")
.build(),
SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3")
.build())
.labels(
"label1",
"label2")
.build())
.build())
.trafficSelectorPolicies()
.vpnLinkConnections(VpnSiteLinkConnectionArgs.builder()
.connectionBandwidth(200)
.name("Connection-Link1")
.sharedKey("key")
.usePolicyBasedTrafficSelectors(false)
.vpnConnectionProtocolType("IKEv2")
.vpnLinkConnectionMode("Default")
.vpnSiteLink(SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1")
.build())
.build())
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:network:VpnConnection vpnConnection1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}
Properties
Expected bandwidth in MBPS.
The connection status.
DPD timeout in seconds for vpn connection.
Egress bytes transferred.
Enable internet security.
EnableBgp flag.
Ingress bytes transferred.
The IPSec Policies to be considered by this connection.
The provisioning state of the VPN connection resource.
Id of the connected vpn site.
The Routing Configuration indicating the associated and propagated route tables on this connection.
Routing weight for vpn connection.
The Traffic Selector Policies to be considered by this connection.
Use local azure ip to initiate connection.
Enable policy-based traffic selectors.
Connection protocol used for this connection.
List of all vpn site link connections to the gateway.