Class NatProvider

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.ec2.NatProvider
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable
Direct Known Subclasses:
NatInstanceProvider

@Generated(value="jsii-pacmak/1.94.0 (build b380f01)", date="2024-03-01T20:58:23.305Z") @Stability(Stable) public abstract class NatProvider extends software.amazon.jsii.JsiiObject
NAT providers.

Determines what type of NAT provider to create, either NAT gateways or NAT instance.

Example:

 NatInstanceProvider natInstanceProvider = NatProvider.instance(NatInstanceProps.builder()
         .instanceType(InstanceType.of(InstanceClass.T4G, InstanceSize.LARGE))
         .machineImage(new AmazonLinuxImage())
         .creditSpecification(CpuCredits.UNLIMITED)
         .build());
 Vpc.Builder.create(this, "VPC")
         .natGatewayProvider(natInstanceProvider)
         .build();
 
  • Nested Class Summary

    Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject

    software.amazon.jsii.JsiiObject.InitializationMode
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
    protected
    NatProvider(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
     
    protected
    NatProvider(software.amazon.jsii.JsiiObjectRef objRef)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract void
    Called by the VPC to configure NAT.
    abstract void
    Configures subnet with the gateway.
    Use NAT Gateways to provide NAT services for your VPC.
    Use NAT Gateways to provide NAT services for your VPC.
    Return list of gateways spawned by the provider.
    Use NAT instances to provide NAT services for your VPC.

    Methods inherited from class software.amazon.jsii.JsiiObject

    jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface software.amazon.jsii.JsiiSerializable

    $jsii$toJson
  • Constructor Details

    • NatProvider

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

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

      @Stability(Stable) protected NatProvider()
  • Method Details

    • gateway

      @Stability(Stable) @NotNull public static NatProvider gateway(@Nullable NatGatewayProps props)
      Use NAT Gateways to provide NAT services for your VPC.

      NAT gateways are managed by AWS.

      Parameters:
      props -
      See Also:
    • gateway

      @Stability(Stable) @NotNull public static NatProvider gateway()
      Use NAT Gateways to provide NAT services for your VPC.

      NAT gateways are managed by AWS.

      See Also:
    • instance

      @Stability(Stable) @NotNull public static NatInstanceProvider instance(@NotNull NatInstanceProps props)
      Use NAT instances to provide NAT services for your VPC.

      NAT instances are managed by you, but in return allow more configuration.

      Be aware that instances created using this provider will not be automatically replaced if they are stopped for any reason. You should implement your own NatProvider based on AutoScaling groups if you need that.

      Parameters:
      props - This parameter is required.
      See Also:
    • configureNat

      @Stability(Stable) public abstract void configureNat(@NotNull ConfigureNatOptions options)
      Called by the VPC to configure NAT.

      Don't call this directly, the VPC will call it automatically.

      Parameters:
      options - This parameter is required.
    • configureSubnet

      @Stability(Stable) public abstract void configureSubnet(@NotNull PrivateSubnet subnet)
      Configures subnet with the gateway.

      Don't call this directly, the VPC will call it automatically.

      Parameters:
      subnet - This parameter is required.
    • getConfiguredGateways

      @Stability(Stable) @NotNull public abstract List<GatewayConfig> getConfiguredGateways()
      Return list of gateways spawned by the provider.