Virtual Network Gateway Nat Rule Args
data class VirtualNetworkGatewayNatRuleArgs(val externalMappings: Output<List<VirtualNetworkGatewayNatRuleExternalMappingArgs>>? = null, val internalMappings: Output<List<VirtualNetworkGatewayNatRuleInternalMappingArgs>>? = null, val ipConfigurationId: Output<String>? = null, val mode: Output<String>? = null, val name: Output<String>? = null, val resourceGroupName: Output<String>? = null, val type: Output<String>? = null, val virtualNetworkGatewayId: Output<String>? = null) : ConvertibleToJava<VirtualNetworkGatewayNatRuleArgs>
Manages a Virtual Network Gateway Nat Rule.
Example Usage
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.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.PublicIp;
import com.pulumi.azure.network.PublicIpArgs;
import com.pulumi.azure.network.VirtualNetworkGateway;
import com.pulumi.azure.network.VirtualNetworkGatewayArgs;
import com.pulumi.azure.network.inputs.VirtualNetworkGatewayIpConfigurationArgs;
import com.pulumi.azure.network.NetworkFunctions;
import com.pulumi.azure.network.inputs.GetVirtualNetworkGatewayArgs;
import com.pulumi.azure.network.VirtualNetworkGatewayNatRule;
import com.pulumi.azure.network.VirtualNetworkGatewayNatRuleArgs;
import com.pulumi.azure.network.inputs.VirtualNetworkGatewayNatRuleExternalMappingArgs;
import com.pulumi.azure.network.inputs.VirtualNetworkGatewayNatRuleInternalMappingArgs;
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 exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
.name("example-vnet")
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.addressSpaces("10.0.0.0/16")
.build());
var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
.name("GatewaySubnet")
.resourceGroupName(exampleResourceGroup.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.0.1.0/24")
.build());
var examplePublicIp = new PublicIp("examplePublicIp", PublicIpArgs.builder()
.name("example-pip")
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.allocationMethod("Dynamic")
.build());
var exampleVirtualNetworkGateway = new VirtualNetworkGateway("exampleVirtualNetworkGateway", VirtualNetworkGatewayArgs.builder()
.name("example-vnetgw")
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.type("Vpn")
.vpnType("RouteBased")
.sku("Basic")
.ipConfigurations(VirtualNetworkGatewayIpConfigurationArgs.builder()
.publicIpAddressId(examplePublicIp.id())
.privateIpAddressAllocation("Dynamic")
.subnetId(exampleSubnet.id())
.build())
.build());
final var example = NetworkFunctions.getVirtualNetworkGateway(GetVirtualNetworkGatewayArgs.builder()
.name(exampleVirtualNetworkGateway.name())
.resourceGroupName(exampleVirtualNetworkGateway.resourceGroupName())
.build());
var exampleVirtualNetworkGatewayNatRule = new VirtualNetworkGatewayNatRule("exampleVirtualNetworkGatewayNatRule", VirtualNetworkGatewayNatRuleArgs.builder()
.name("example-vnetgwnatrule")
.resourceGroupName(exampleResourceGroup.name())
.virtualNetworkGatewayId(example.applyValue(getVirtualNetworkGatewayResult -> getVirtualNetworkGatewayResult).applyValue(example -> example.applyValue(getVirtualNetworkGatewayResult -> getVirtualNetworkGatewayResult.id())))
.mode("EgressSnat")
.type("Dynamic")
.ipConfigurationId(example.applyValue(getVirtualNetworkGatewayResult -> getVirtualNetworkGatewayResult).applyValue(example -> example.applyValue(getVirtualNetworkGatewayResult -> getVirtualNetworkGatewayResult.ipConfigurations()[0].id())))
.externalMappings(VirtualNetworkGatewayNatRuleExternalMappingArgs.builder()
.addressSpace("10.2.0.0/26")
.portRange("200")
.build())
.internalMappings(VirtualNetworkGatewayNatRuleInternalMappingArgs.builder()
.addressSpace("10.4.0.0/26")
.portRange("400")
.build())
.build());
}
}
Content copied to clipboard
Import
Virtual Network Gateway Nat Rules can be imported using the resource id
, e.g.
$ pulumi import azure:network/virtualNetworkGatewayNatRule:VirtualNetworkGatewayNatRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Network/virtualNetworkGateways/gw1/natRules/rule1
Content copied to clipboard
Constructors
Link copied to clipboard
fun VirtualNetworkGatewayNatRuleArgs(externalMappings: Output<List<VirtualNetworkGatewayNatRuleExternalMappingArgs>>? = null, internalMappings: Output<List<VirtualNetworkGatewayNatRuleInternalMappingArgs>>? = null, ipConfigurationId: Output<String>? = null, mode: Output<String>? = null, name: Output<String>? = null, resourceGroupName: Output<String>? = null, type: Output<String>? = null, virtualNetworkGatewayId: Output<String>? = null)