Virtual Network Gateway Nat Rule
VirtualNetworkGatewayNatRule Resource. Azure REST API version: 2023-02-01. Prior API version in Azure Native 1.x: 2021-03-01. Other available API versions: 2023-04-01, 2023-05-01.
Example Usage
VirtualNetworkGatewayNatRulePut
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var virtualNetworkGatewayNatRule = new AzureNative.Network.VirtualNetworkGatewayNatRule("virtualNetworkGatewayNatRule", new()
{
ExternalMappings = new[]
{
new AzureNative.Network.Inputs.VpnNatRuleMappingArgs
{
AddressSpace = "192.168.21.0/24",
PortRange = "300-400",
},
},
InternalMappings = new[]
{
new AzureNative.Network.Inputs.VpnNatRuleMappingArgs
{
AddressSpace = "10.4.0.0/24",
PortRange = "200-300",
},
},
IpConfigurationId = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/ipConfigurations/default",
Mode = "EgressSnat",
NatRuleName = "natRule1",
ResourceGroupName = "rg1",
Type = "Static",
VirtualNetworkGatewayName = "gateway1",
});
});
Content copied to clipboard
package main
import (
"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.NewVirtualNetworkGatewayNatRule(ctx, "virtualNetworkGatewayNatRule", &network.VirtualNetworkGatewayNatRuleArgs{
ExternalMappings: []network.VpnNatRuleMappingArgs{
{
AddressSpace: pulumi.String("192.168.21.0/24"),
PortRange: pulumi.String("300-400"),
},
},
InternalMappings: []network.VpnNatRuleMappingArgs{
{
AddressSpace: pulumi.String("10.4.0.0/24"),
PortRange: pulumi.String("200-300"),
},
},
IpConfigurationId: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/ipConfigurations/default"),
Mode: pulumi.String("EgressSnat"),
NatRuleName: pulumi.String("natRule1"),
ResourceGroupName: pulumi.String("rg1"),
Type: pulumi.String("Static"),
VirtualNetworkGatewayName: pulumi.String("gateway1"),
})
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.azurenative.network.VirtualNetworkGatewayNatRule;
import com.pulumi.azurenative.network.VirtualNetworkGatewayNatRuleArgs;
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 virtualNetworkGatewayNatRule = new VirtualNetworkGatewayNatRule("virtualNetworkGatewayNatRule", VirtualNetworkGatewayNatRuleArgs.builder()
.externalMappings(Map.ofEntries(
Map.entry("addressSpace", "192.168.21.0/24"),
Map.entry("portRange", "300-400")
))
.internalMappings(Map.ofEntries(
Map.entry("addressSpace", "10.4.0.0/24"),
Map.entry("portRange", "200-300")
))
.ipConfigurationId("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/ipConfigurations/default")
.mode("EgressSnat")
.natRuleName("natRule1")
.resourceGroupName("rg1")
.type("Static")
.virtualNetworkGatewayName("gateway1")
.build());
}
}
Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:network:VirtualNetworkGatewayNatRule natRule1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/natRules/{natRuleName}
Content copied to clipboard