Vnp Gateway Nat Rule
Manages a VPN Gateway NAT Rule.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleVirtualWan = new azure.network.VirtualWan("example", {
name: "example-vwan",
resourceGroupName: example.name,
location: example.location,
});
const exampleVirtualHub = new azure.network.VirtualHub("example", {
name: "example-vhub",
resourceGroupName: example.name,
location: example.location,
addressPrefix: "10.0.1.0/24",
virtualWanId: exampleVirtualWan.id,
});
const exampleVpnGateway = new azure.network.VpnGateway("example", {
name: "example-vpngateway",
location: example.location,
resourceGroupName: example.name,
virtualHubId: exampleVirtualHub.id,
});
const exampleVnpGatewayNatRule = new azure.network.VnpGatewayNatRule("example", {
name: "example-vpngatewaynatrule",
vpnGatewayId: exampleVpnGateway.id,
externalMappings: [{
addressSpace: "192.168.21.0/26",
}],
internalMappings: [{
addressSpace: "10.4.0.0/26",
}],
});
Content copied to clipboard
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_virtual_wan = azure.network.VirtualWan("example",
name="example-vwan",
resource_group_name=example.name,
location=example.location)
example_virtual_hub = azure.network.VirtualHub("example",
name="example-vhub",
resource_group_name=example.name,
location=example.location,
address_prefix="10.0.1.0/24",
virtual_wan_id=example_virtual_wan.id)
example_vpn_gateway = azure.network.VpnGateway("example",
name="example-vpngateway",
location=example.location,
resource_group_name=example.name,
virtual_hub_id=example_virtual_hub.id)
example_vnp_gateway_nat_rule = azure.network.VnpGatewayNatRule("example",
name="example-vpngatewaynatrule",
vpn_gateway_id=example_vpn_gateway.id,
external_mappings=[{
"address_space": "192.168.21.0/26",
}],
internal_mappings=[{
"address_space": "10.4.0.0/26",
}])
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleVirtualWan = new Azure.Network.VirtualWan("example", new()
{
Name = "example-vwan",
ResourceGroupName = example.Name,
Location = example.Location,
});
var exampleVirtualHub = new Azure.Network.VirtualHub("example", new()
{
Name = "example-vhub",
ResourceGroupName = example.Name,
Location = example.Location,
AddressPrefix = "10.0.1.0/24",
VirtualWanId = exampleVirtualWan.Id,
});
var exampleVpnGateway = new Azure.Network.VpnGateway("example", new()
{
Name = "example-vpngateway",
Location = example.Location,
ResourceGroupName = example.Name,
VirtualHubId = exampleVirtualHub.Id,
});
var exampleVnpGatewayNatRule = new Azure.Network.VnpGatewayNatRule("example", new()
{
Name = "example-vpngatewaynatrule",
VpnGatewayId = exampleVpnGateway.Id,
ExternalMappings = new[]
{
new Azure.Network.Inputs.VnpGatewayNatRuleExternalMappingArgs
{
AddressSpace = "192.168.21.0/26",
},
},
InternalMappings = new[]
{
new Azure.Network.Inputs.VnpGatewayNatRuleInternalMappingArgs
{
AddressSpace = "10.4.0.0/26",
},
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleVirtualWan, err := network.NewVirtualWan(ctx, "example", &network.VirtualWanArgs{
Name: pulumi.String("example-vwan"),
ResourceGroupName: example.Name,
Location: example.Location,
})
if err != nil {
return err
}
exampleVirtualHub, err := network.NewVirtualHub(ctx, "example", &network.VirtualHubArgs{
Name: pulumi.String("example-vhub"),
ResourceGroupName: example.Name,
Location: example.Location,
AddressPrefix: pulumi.String("10.0.1.0/24"),
VirtualWanId: exampleVirtualWan.ID(),
})
if err != nil {
return err
}
exampleVpnGateway, err := network.NewVpnGateway(ctx, "example", &network.VpnGatewayArgs{
Name: pulumi.String("example-vpngateway"),
Location: example.Location,
ResourceGroupName: example.Name,
VirtualHubId: exampleVirtualHub.ID(),
})
if err != nil {
return err
}
_, err = network.NewVnpGatewayNatRule(ctx, "example", &network.VnpGatewayNatRuleArgs{
Name: pulumi.String("example-vpngatewaynatrule"),
VpnGatewayId: exampleVpnGateway.ID(),
ExternalMappings: network.VnpGatewayNatRuleExternalMappingArray{
&network.VnpGatewayNatRuleExternalMappingArgs{
AddressSpace: pulumi.String("192.168.21.0/26"),
},
},
InternalMappings: network.VnpGatewayNatRuleInternalMappingArray{
&network.VnpGatewayNatRuleInternalMappingArgs{
AddressSpace: pulumi.String("10.4.0.0/26"),
},
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualWan;
import com.pulumi.azure.network.VirtualWanArgs;
import com.pulumi.azure.network.VirtualHub;
import com.pulumi.azure.network.VirtualHubArgs;
import com.pulumi.azure.network.VpnGateway;
import com.pulumi.azure.network.VpnGatewayArgs;
import com.pulumi.azure.network.VnpGatewayNatRule;
import com.pulumi.azure.network.VnpGatewayNatRuleArgs;
import com.pulumi.azure.network.inputs.VnpGatewayNatRuleExternalMappingArgs;
import com.pulumi.azure.network.inputs.VnpGatewayNatRuleInternalMappingArgs;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleVirtualWan = new VirtualWan("exampleVirtualWan", VirtualWanArgs.builder()
.name("example-vwan")
.resourceGroupName(example.name())
.location(example.location())
.build());
var exampleVirtualHub = new VirtualHub("exampleVirtualHub", VirtualHubArgs.builder()
.name("example-vhub")
.resourceGroupName(example.name())
.location(example.location())
.addressPrefix("10.0.1.0/24")
.virtualWanId(exampleVirtualWan.id())
.build());
var exampleVpnGateway = new VpnGateway("exampleVpnGateway", VpnGatewayArgs.builder()
.name("example-vpngateway")
.location(example.location())
.resourceGroupName(example.name())
.virtualHubId(exampleVirtualHub.id())
.build());
var exampleVnpGatewayNatRule = new VnpGatewayNatRule("exampleVnpGatewayNatRule", VnpGatewayNatRuleArgs.builder()
.name("example-vpngatewaynatrule")
.vpnGatewayId(exampleVpnGateway.id())
.externalMappings(VnpGatewayNatRuleExternalMappingArgs.builder()
.addressSpace("192.168.21.0/26")
.build())
.internalMappings(VnpGatewayNatRuleInternalMappingArgs.builder()
.addressSpace("10.4.0.0/26")
.build())
.build());
}
}
Content copied to clipboard
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleVirtualWan:
type: azure:network:VirtualWan
name: example
properties:
name: example-vwan
resourceGroupName: ${example.name}
location: ${example.location}
exampleVirtualHub:
type: azure:network:VirtualHub
name: example
properties:
name: example-vhub
resourceGroupName: ${example.name}
location: ${example.location}
addressPrefix: 10.0.1.0/24
virtualWanId: ${exampleVirtualWan.id}
exampleVpnGateway:
type: azure:network:VpnGateway
name: example
properties:
name: example-vpngateway
location: ${example.location}
resourceGroupName: ${example.name}
virtualHubId: ${exampleVirtualHub.id}
exampleVnpGatewayNatRule:
type: azure:network:VnpGatewayNatRule
name: example
properties:
name: example-vpngatewaynatrule
vpnGatewayId: ${exampleVpnGateway.id}
externalMappings:
- addressSpace: 192.168.21.0/26
internalMappings:
- addressSpace: 10.4.0.0/26
Content copied to clipboard
Import
VPN Gateway NAT Rules can be imported using the resource id
, e.g.
$ pulumi import azure:network/vnpGatewayNatRule:VnpGatewayNatRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Network/vpnGateways/vpnGateway1/natRules/natRule1
Content copied to clipboard
Properties
Link copied to clipboard
One of more external_mapping
blocks as defined below.
Link copied to clipboard
One of more internal_mapping
blocks as defined below.
Link copied to clipboard
The ID of the IP Configuration this VPN Gateway NAT Rule applies to. Possible values are Instance0
and Instance1
.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
The ID of the VPN Gateway that this VPN Gateway NAT Rule belongs to. Changing this forces a new resource to be created.