NatGatewayArgs

data class NatGatewayArgs(val allocationId: Output<String>? = null, val connectivityType: Output<String>? = null, val privateIp: Output<String>? = null, val subnetId: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<NatGatewayArgs>

Provides a resource to create a VPC NAT Gateway.

Example Usage

Public NAT

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.NatGateway;
import com.pulumi.aws.ec2.NatGatewayArgs;
import com.pulumi.resources.CustomResourceOptions;
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 NatGateway("example", NatGatewayArgs.builder()
.allocationId(aws_eip.example().id())
.subnetId(aws_subnet.example().id())
.tags(Map.of("Name", "gw NAT"))
.build(), CustomResourceOptions.builder()
.dependsOn(aws_internet_gateway.example())
.build());
}
}

Private NAT

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.NatGateway;
import com.pulumi.aws.ec2.NatGatewayArgs;
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 NatGateway("example", NatGatewayArgs.builder()
.connectivityType("private")
.subnetId(aws_subnet.example().id())
.build());
}
}

Import

NAT Gateways can be imported using the id, e.g.,

$ pulumi import aws:ec2/natGateway:NatGateway private_gw nat-05dba92075d71c408

Constructors

Link copied to clipboard
constructor(allocationId: Output<String>? = null, connectivityType: Output<String>? = null, privateIp: Output<String>? = null, subnetId: Output<String>? = null, tags: Output<Map<String, String>>? = null)

Properties

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

The Allocation ID of the Elastic IP address for the gateway. Required for connectivity_type of public.

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

Connectivity type for the gateway. Valid values are private and public. Defaults to public.

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

The private IPv4 address to assign to the NAT gateway. If you don't provide an address, a private IPv4 address will be automatically assigned.

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

The Subnet ID of the subnet in which to place the gateway.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Functions

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