Class CreateNatGatewayRequest

All Implemented Interfaces:
SdkPojo, ToCopyableBuilder<CreateNatGatewayRequest.Builder,CreateNatGatewayRequest>

@Generated("software.amazon.awssdk:codegen") public final class CreateNatGatewayRequest extends Ec2Request implements ToCopyableBuilder<CreateNatGatewayRequest.Builder,CreateNatGatewayRequest>
  • Method Details

    • availabilityMode

      public final AvailabilityMode availabilityMode()

      Specifies whether to create a zonal (single-AZ) or regional (multi-AZ) NAT gateway. Defaults to zonal.

      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.

      If the service returns an enum value that is not available in the current SDK version, availabilityMode will return AvailabilityMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from availabilityModeAsString().

      Returns:
      Specifies whether to create a zonal (single-AZ) or regional (multi-AZ) NAT gateway. Defaults to zonal.

      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.

      See Also:
    • availabilityModeAsString

      public final String availabilityModeAsString()

      Specifies whether to create a zonal (single-AZ) or regional (multi-AZ) NAT gateway. Defaults to zonal.

      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.

      If the service returns an enum value that is not available in the current SDK version, availabilityMode will return AvailabilityMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from availabilityModeAsString().

      Returns:
      Specifies whether to create a zonal (single-AZ) or regional (multi-AZ) NAT gateway. Defaults to zonal.

      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.

      See Also:
    • allocationId

      public final String allocationId()

      [Public NAT gateways only] The allocation ID of an Elastic IP address to associate with the NAT gateway. You cannot specify an Elastic IP address with a private NAT gateway. If the Elastic IP address is associated with another resource, you must first disassociate it.

      Returns:
      [Public NAT gateways only] The allocation ID of an Elastic IP address to associate with the NAT gateway. You cannot specify an Elastic IP address with a private NAT gateway. If the Elastic IP address is associated with another resource, you must first disassociate it.
    • clientToken

      public final String clientToken()

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

      Constraint: Maximum 64 ASCII characters.

      Returns:
      Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

      Constraint: Maximum 64 ASCII characters.

    • dryRun

      public final Boolean dryRun()

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      Returns:
      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
    • subnetId

      public final String subnetId()

      The ID of the subnet in which to create the NAT gateway.

      Returns:
      The ID of the subnet in which to create the NAT gateway.
    • vpcId

      public final String vpcId()

      The ID of the VPC where you want to create a regional NAT gateway.

      Returns:
      The ID of the VPC where you want to create a regional NAT gateway.
    • hasAvailabilityZoneAddresses

      public final boolean hasAvailabilityZoneAddresses()
      For responses, this returns true if the service returned a value for the AvailabilityZoneAddresses property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • availabilityZoneAddresses

      public final List<AvailabilityZoneAddress> 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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasAvailabilityZoneAddresses() method.

      Returns:
      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.

    • hasTagSpecifications

      public final boolean hasTagSpecifications()
      For responses, this returns true if the service returned a value for the TagSpecifications property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • tagSpecifications

      public final List<TagSpecification> tagSpecifications()

      The tags to assign to the NAT gateway.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTagSpecifications() method.

      Returns:
      The tags to assign to the NAT gateway.
    • connectivityType

      public final ConnectivityType connectivityType()

      Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.

      If the service returns an enum value that is not available in the current SDK version, connectivityType will return ConnectivityType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from connectivityTypeAsString().

      Returns:
      Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.
      See Also:
    • connectivityTypeAsString

      public final String connectivityTypeAsString()

      Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.

      If the service returns an enum value that is not available in the current SDK version, connectivityType will return ConnectivityType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from connectivityTypeAsString().

      Returns:
      Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.
      See Also:
    • privateIpAddress

      public final String 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:
      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.
    • hasSecondaryAllocationIds

      public final boolean hasSecondaryAllocationIds()
      For responses, this returns true if the service returned a value for the SecondaryAllocationIds property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • secondaryAllocationIds

      public final List<String> secondaryAllocationIds()

      Secondary EIP allocation IDs. For more information, see Create a NAT gateway in the Amazon VPC User Guide.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSecondaryAllocationIds() method.

      Returns:
      Secondary EIP allocation IDs. For more information, see Create a NAT gateway in the Amazon VPC User Guide.
    • hasSecondaryPrivateIpAddresses

      public final boolean hasSecondaryPrivateIpAddresses()
      For responses, this returns true if the service returned a value for the SecondaryPrivateIpAddresses property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • secondaryPrivateIpAddresses

      public final List<String> secondaryPrivateIpAddresses()

      Secondary private IPv4 addresses. For more information about secondary addresses, see Create a NAT gateway in the Amazon VPC User Guide.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSecondaryPrivateIpAddresses() method.

      Returns:
      Secondary private IPv4 addresses. For more information about secondary addresses, see Create a NAT gateway in the Amazon VPC User Guide.
    • secondaryPrivateIpAddressCount

      public final Integer 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 VPC User Guide.

      Returns:
      [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 VPC User Guide.
    • toBuilder

      public CreateNatGatewayRequest.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<CreateNatGatewayRequest.Builder,CreateNatGatewayRequest>
      Specified by:
      toBuilder in class Ec2Request
      Returns:
      a builder for type T
    • builder

      public static CreateNatGatewayRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends CreateNatGatewayRequest.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class AwsRequest
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsRequest
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
      Description copied from class: SdkRequest
      Used to retrieve the value of a field from any class that extends SdkRequest. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkRequest
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.