Vpn Connection
VpnConnection Resource. 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. 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
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
The Azure API version of the resource.
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.