Class NatGateway

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.Resource
software.amazon.awscdk.services.ec2.alpha.NatGateway
All Implemented Interfaces:
IResource, IRouteTarget, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-11-13T21:17:43.030Z") @Stability(Experimental) public class NatGateway extends Resource implements IRouteTarget
(experimental) Creates a network address translation (NAT) gateway.

Example:

 VpcV2 myVpc = new VpcV2(this, "Vpc");
 RouteTable routeTable = RouteTable.Builder.create(this, "RouteTable")
         .vpc(myVpc)
         .build();
 SubnetV2 subnet = SubnetV2.Builder.create(this, "Subnet")
         .vpc(myVpc)
         .availabilityZone("eu-west-2a")
         .ipv4CidrBlock(new IpCidr("10.0.0.0/24"))
         .subnetType(SubnetType.PRIVATE_ISOLATED)
         .build();
 NatGateway natgw = NatGateway.Builder.create(this, "NatGW")
         .subnet(subnet)
         .vpc(myVpc)
         .connectivityType(NatConnectivityType.PRIVATE)
         .privateIpAddress("10.0.0.42")
         .build();
 Route.Builder.create(this, "NatGwRoute")
         .routeTable(routeTable)
         .destination("0.0.0.0/0")
         .target(Map.of("gateway", natgw))
         .build();
 
  • Constructor Details

    • NatGateway

      protected NatGateway(software.amazon.jsii.JsiiObjectRef objRef)
    • NatGateway

      protected NatGateway(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • NatGateway

      @Stability(Experimental) public NatGateway(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull NatGatewayProps props)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      props - This parameter is required.
  • Method Details

    • getResource

      @Stability(Experimental) @NotNull public CfnNatGateway getResource()
      (experimental) The NAT gateway CFN resource.
    • getRouterTargetId

      @Stability(Experimental) @NotNull public String getRouterTargetId()
      (experimental) The ID of the route target.
      Specified by:
      getRouterTargetId in interface IRouteTarget
    • getRouterType

      @Stability(Experimental) @NotNull public RouterType getRouterType()
      (experimental) The type of router used in the route.
      Specified by:
      getRouterType in interface IRouteTarget
    • getConnectivityType

      @Stability(Experimental) @Nullable public NatConnectivityType getConnectivityType()
      (experimental) Indicates whether the NAT gateway supports public or private connectivity.

      Default: public

    • getMaxDrainDuration

      @Stability(Experimental) @Nullable public Duration getMaxDrainDuration()
      (experimental) The maximum amount of time to wait before forcibly releasing the IP addresses if connections are still in progress.

      Default: '350 seconds'