Class CfnNatGatewayProps.Builder

java.lang.Object
software.amazon.awscdk.services.ec2.CfnNatGatewayProps.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<CfnNatGatewayProps>
Enclosing interface:
CfnNatGatewayProps

@Stability(Stable) public static final class CfnNatGatewayProps.Builder extends Object implements software.amazon.jsii.Builder<CfnNatGatewayProps>
A builder for CfnNatGatewayProps
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • allocationId

      @Stability(Stable) public CfnNatGatewayProps.Builder allocationId(String allocationId)
      Parameters:
      allocationId - [Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway. This property is required for a public NAT gateway and cannot be specified with a private NAT gateway.
      Returns:
      this
    • allocationId

      @Stability(Stable) public CfnNatGatewayProps.Builder allocationId(IEIPRef allocationId)
      Parameters:
      allocationId - [Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway. This property is required for a public NAT gateway and cannot be specified with a private NAT gateway.
      Returns:
      this
    • availabilityMode

      @Stability(Stable) public CfnNatGatewayProps.Builder availabilityMode(String availabilityMode)
      Parameters:
      availabilityMode - Indicates whether this is a zonal (single-AZ) or regional (multi-AZ) NAT gateway. A zonal NAT gateway is a NAT Gateway that provides redundancy and scalability within a single availability zone. A regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.

      For more information, see Regional NAT gateways for automatic multi-AZ expansion in the Amazon VPC User Guide .

      Returns:
      this
    • availabilityZoneAddresses

      @Stability(Stable) public CfnNatGatewayProps.Builder availabilityZoneAddresses(IResolvable availabilityZoneAddresses)
      Parameters:
      availabilityZoneAddresses - For regional NAT gateways only: Specifies which Availability Zones you want the NAT gateway to support and the Elastic IP addresses (EIPs) to use in each AZ. The regional NAT gateway uses these EIPs to handle outbound NAT traffic from their respective AZs. If not specified, the NAT gateway will automatically expand to new AZs and associate EIPs upon detection of an elastic network interface. If you specify this parameter, auto-expansion is disabled and you must manually manage AZ coverage.

      A regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.

      For more information, see Regional NAT gateways for automatic multi-AZ expansion in the Amazon VPC User Guide .

      Returns:
      this
    • availabilityZoneAddresses

      @Stability(Stable) public CfnNatGatewayProps.Builder availabilityZoneAddresses(List<? extends Object> availabilityZoneAddresses)
      Parameters:
      availabilityZoneAddresses - For regional NAT gateways only: Specifies which Availability Zones you want the NAT gateway to support and the Elastic IP addresses (EIPs) to use in each AZ. The regional NAT gateway uses these EIPs to handle outbound NAT traffic from their respective AZs. If not specified, the NAT gateway will automatically expand to new AZs and associate EIPs upon detection of an elastic network interface. If you specify this parameter, auto-expansion is disabled and you must manually manage AZ coverage.

      A regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.

      For more information, see Regional NAT gateways for automatic multi-AZ expansion in the Amazon VPC User Guide .

      Returns:
      this
    • connectivityType

      @Stability(Stable) public CfnNatGatewayProps.Builder connectivityType(String connectivityType)
      Parameters:
      connectivityType - Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.
      Returns:
      this
    • maxDrainDurationSeconds

      @Stability(Stable) public CfnNatGatewayProps.Builder maxDrainDurationSeconds(Number maxDrainDurationSeconds)
      Parameters:
      maxDrainDurationSeconds - The maximum amount of time to wait (in seconds) before forcibly releasing the IP addresses if connections are still in progress. Default value is 350 seconds.
      Returns:
      this
    • privateIpAddress

      @Stability(Stable) public CfnNatGatewayProps.Builder privateIpAddress(String privateIpAddress)
      Parameters:
      privateIpAddress - 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.
      Returns:
      this
    • secondaryAllocationIds

      @Stability(Stable) public CfnNatGatewayProps.Builder secondaryAllocationIds(List<String> secondaryAllocationIds)
      Parameters:
      secondaryAllocationIds - Secondary EIP allocation IDs. For more information, see Create a NAT gateway in the Amazon VPC User Guide .
      Returns:
      this
    • secondaryPrivateIpAddressCount

      @Stability(Stable) public CfnNatGatewayProps.Builder secondaryPrivateIpAddressCount(Number secondaryPrivateIpAddressCount)
      Parameters:
      secondaryPrivateIpAddressCount - [Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. For more information about secondary addresses, see Create a NAT gateway in the Amazon Virtual Private Cloud User Guide .

      SecondaryPrivateIpAddressCount and SecondaryPrivateIpAddresses cannot be set at the same time.

      Returns:
      this
    • secondaryPrivateIpAddresses

      @Stability(Stable) public CfnNatGatewayProps.Builder secondaryPrivateIpAddresses(List<String> secondaryPrivateIpAddresses)
      Parameters:
      secondaryPrivateIpAddresses - Secondary private IPv4 addresses. For more information about secondary addresses, see Create a NAT gateway in the Amazon Virtual Private Cloud User Guide .

      SecondaryPrivateIpAddressCount and SecondaryPrivateIpAddresses cannot be set at the same time.

      Returns:
      this
    • subnetId

      @Stability(Stable) public CfnNatGatewayProps.Builder subnetId(String subnetId)
      Parameters:
      subnetId - The ID of the subnet in which the NAT gateway is located.
      Returns:
      this
    • subnetId

      @Stability(Stable) public CfnNatGatewayProps.Builder subnetId(ISubnetRef subnetId)
      Parameters:
      subnetId - The ID of the subnet in which the NAT gateway is located.
      Returns:
      this
    • tags

      @Stability(Stable) public CfnNatGatewayProps.Builder tags(List<? extends CfnTag> tags)
      Parameters:
      tags - The tags for the NAT gateway.
      Returns:
      this
    • vpcId

      @Stability(Stable) public CfnNatGatewayProps.Builder vpcId(String vpcId)
      Parameters:
      vpcId - The ID of the VPC in which the NAT gateway is located.
      Returns:
      this
    • build

      @Stability(Stable) public CfnNatGatewayProps build()
      Builds the configured instance.
      Specified by:
      build in interface software.amazon.jsii.Builder<CfnNatGatewayProps>
      Returns:
      a new instance of CfnNatGatewayProps
      Throws:
      NullPointerException - if any required attribute was not provided