Class NatGateway

java.lang.Object
software.amazon.awssdk.services.ec2.model.NatGateway
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<NatGateway.Builder,NatGateway>

@Generated("software.amazon.awssdk:codegen") public final class NatGateway extends Object implements SdkPojo, Serializable, ToCopyableBuilder<NatGateway.Builder,NatGateway>

Describes a NAT gateway.

See Also:
  • Method Details

    • createTime

      public final Instant createTime()

      The date and time the NAT gateway was created.

      Returns:
      The date and time the NAT gateway was created.
    • deleteTime

      public final Instant deleteTime()

      The date and time the NAT gateway was deleted, if applicable.

      Returns:
      The date and time the NAT gateway was deleted, if applicable.
    • failureCode

      public final String failureCode()

      If the NAT gateway could not be created, specifies the error code for the failure. ( InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)

      Returns:
      If the NAT gateway could not be created, specifies the error code for the failure. ( InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)
    • failureMessage

      public final String failureMessage()

      If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

      • For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free addresses to create this NAT gateway"

      • For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway attached"

      • For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway"

      • For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx is already associated"

      • For InternalError: "Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again."

      • For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx does not exist or could not be found."

      Returns:
      If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

      • For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free addresses to create this NAT gateway"

      • For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway attached"

      • For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway"

      • For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx is already associated"

      • For InternalError: "Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again."

      • For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx does not exist or could not be found."

    • hasNatGatewayAddresses

      public final boolean hasNatGatewayAddresses()
      For responses, this returns true if the service returned a value for the NatGatewayAddresses 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.
    • natGatewayAddresses

      public final List<NatGatewayAddress> natGatewayAddresses()

      Information about the IP addresses and network interface associated with 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 hasNatGatewayAddresses() method.

      Returns:
      Information about the IP addresses and network interface associated with the NAT gateway.
    • natGatewayId

      public final String natGatewayId()

      The ID of the NAT gateway.

      Returns:
      The ID of the NAT gateway.
    • provisionedBandwidth

      public final ProvisionedBandwidth provisionedBandwidth()

      Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

      Returns:
      Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.
    • state

      public final NatGatewayState state()

      The state of the NAT gateway.

      • pending: The NAT gateway is being created and is not ready to process traffic.

      • failed: The NAT gateway could not be created. Check the failureCode and failureMessage fields for the reason.

      • available: The NAT gateway is able to process traffic. This status remains until you delete the NAT gateway, and does not indicate the health of the NAT gateway.

      • deleting: The NAT gateway is in the process of being terminated and may still be processing traffic.

      • deleted: The NAT gateway has been terminated and is no longer processing traffic.

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

      Returns:
      The state of the NAT gateway.

      • pending: The NAT gateway is being created and is not ready to process traffic.

      • failed: The NAT gateway could not be created. Check the failureCode and failureMessage fields for the reason.

      • available: The NAT gateway is able to process traffic. This status remains until you delete the NAT gateway, and does not indicate the health of the NAT gateway.

      • deleting: The NAT gateway is in the process of being terminated and may still be processing traffic.

      • deleted: The NAT gateway has been terminated and is no longer processing traffic.

      See Also:
    • stateAsString

      public final String stateAsString()

      The state of the NAT gateway.

      • pending: The NAT gateway is being created and is not ready to process traffic.

      • failed: The NAT gateway could not be created. Check the failureCode and failureMessage fields for the reason.

      • available: The NAT gateway is able to process traffic. This status remains until you delete the NAT gateway, and does not indicate the health of the NAT gateway.

      • deleting: The NAT gateway is in the process of being terminated and may still be processing traffic.

      • deleted: The NAT gateway has been terminated and is no longer processing traffic.

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

      Returns:
      The state of the NAT gateway.

      • pending: The NAT gateway is being created and is not ready to process traffic.

      • failed: The NAT gateway could not be created. Check the failureCode and failureMessage fields for the reason.

      • available: The NAT gateway is able to process traffic. This status remains until you delete the NAT gateway, and does not indicate the health of the NAT gateway.

      • deleting: The NAT gateway is in the process of being terminated and may still be processing traffic.

      • deleted: The NAT gateway has been terminated and is no longer processing traffic.

      See Also:
    • subnetId

      public final String subnetId()

      The ID of the subnet in which the NAT gateway is located.

      Returns:
      The ID of the subnet in which the NAT gateway is located.
    • vpcId

      public final String vpcId()

      The ID of the VPC in which the NAT gateway is located.

      Returns:
      The ID of the VPC in which the NAT gateway is located.
    • hasTags

      public final boolean hasTags()
      For responses, this returns true if the service returned a value for the Tags 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.
    • tags

      public final List<Tag> tags()

      The tags for 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 hasTags() method.

      Returns:
      The tags for the NAT gateway.
    • connectivityType

      public final ConnectivityType connectivityType()

      Indicates whether the NAT gateway supports public or private 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.
      See Also:
    • connectivityTypeAsString

      public final String connectivityTypeAsString()

      Indicates whether the NAT gateway supports public or private 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.
      See Also:
    • toBuilder

      public NatGateway.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<NatGateway.Builder,NatGateway>
      Returns:
      a builder for type T
    • builder

      public static NatGateway.Builder builder()
    • serializableBuilderClass

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

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

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • 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)
    • 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.