VirtualNetworkGatewayNatRuleArgs

data class VirtualNetworkGatewayNatRuleArgs(val externalMappings: Output<List<VpnNatRuleMappingArgs>>? = null, val id: Output<String>? = null, val internalMappings: Output<List<VpnNatRuleMappingArgs>>? = null, val ipConfigurationId: Output<String>? = null, val mode: Output<Either<String, VpnNatRuleMode>>? = null, val name: Output<String>? = null, val natRuleName: Output<String>? = null, val resourceGroupName: Output<String>? = null, val type: Output<Either<String, VpnNatRuleType>>? = null, val virtualNetworkGatewayName: Output<String>? = null) : ConvertibleToJava<VirtualNetworkGatewayNatRuleArgs>

VirtualNetworkGatewayNatRule 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: 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

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 = AzureNative.Network.VpnNatRuleMode.EgressSnat,
NatRuleName = "natRule1",
ResourceGroupName = "rg1",
Type = AzureNative.Network.VpnNatRuleType.Static,
VirtualNetworkGatewayName = "gateway1",
});
});
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.NewVirtualNetworkGatewayNatRule(ctx, "virtualNetworkGatewayNatRule", &network.VirtualNetworkGatewayNatRuleArgs{
ExternalMappings: network.VpnNatRuleMappingArray{
&network.VpnNatRuleMappingArgs{
AddressSpace: pulumi.String("192.168.21.0/24"),
PortRange: pulumi.String("300-400"),
},
},
InternalMappings: network.VpnNatRuleMappingArray{
&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(network.VpnNatRuleModeEgressSnat),
NatRuleName: pulumi.String("natRule1"),
ResourceGroupName: pulumi.String("rg1"),
Type: pulumi.String(network.VpnNatRuleTypeStatic),
VirtualNetworkGatewayName: pulumi.String("gateway1"),
})
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.VirtualNetworkGatewayNatRule;
import com.pulumi.azurenative.network.VirtualNetworkGatewayNatRuleArgs;
import com.pulumi.azurenative.network.inputs.VpnNatRuleMappingArgs;
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(VpnNatRuleMappingArgs.builder()
.addressSpace("192.168.21.0/24")
.portRange("300-400")
.build())
.internalMappings(VpnNatRuleMappingArgs.builder()
.addressSpace("10.4.0.0/24")
.portRange("200-300")
.build())
.ipConfigurationId("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/ipConfigurations/default")
.mode("EgressSnat")
.natRuleName("natRule1")
.resourceGroupName("rg1")
.type("Static")
.virtualNetworkGatewayName("gateway1")
.build());
}
}

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}

Constructors

Link copied to clipboard
constructor(externalMappings: Output<List<VpnNatRuleMappingArgs>>? = null, id: Output<String>? = null, internalMappings: Output<List<VpnNatRuleMappingArgs>>? = null, ipConfigurationId: Output<String>? = null, mode: Output<Either<String, VpnNatRuleMode>>? = null, name: Output<String>? = null, natRuleName: Output<String>? = null, resourceGroupName: Output<String>? = null, type: Output<Either<String, VpnNatRuleType>>? = null, virtualNetworkGatewayName: Output<String>? = null)

Properties

Link copied to clipboard

The private IP address external mapping for NAT.

Link copied to clipboard
val id: Output<String>? = null

Resource ID.

Link copied to clipboard

The private IP address internal mapping for NAT.

Link copied to clipboard
val ipConfigurationId: Output<String>? = null

The IP Configuration ID this NAT rule applies to.

Link copied to clipboard
val mode: Output<Either<String, VpnNatRuleMode>>? = null

The Source NAT direction of a VPN NAT.

Link copied to clipboard
val name: Output<String>? = null

The name of the resource that is unique within a resource group. This name can be used to access the resource.

Link copied to clipboard
val natRuleName: Output<String>? = null

The name of the nat rule.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The resource group name of the Virtual Network Gateway.

Link copied to clipboard
val type: Output<Either<String, VpnNatRuleType>>? = null

The type of NAT rule for VPN NAT.

Link copied to clipboard
val virtualNetworkGatewayName: Output<String>? = null

The name of the gateway.

Functions

Link copied to clipboard
open override fun toJava(): VirtualNetworkGatewayNatRuleArgs