You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::EC2::NatGateway

Inherits:
Resources::Resource show all
Defined in:
(unknown)

Instance Attribute Summary collapse

Attributes inherited from Resources::Resource

#client, #identifiers

Instance Method Summary collapse

Methods inherited from Resources::Resource

add_data_attribute, add_identifier, #data, data_attributes, #data_loaded?, identifiers, #load, #wait_until

Methods included from Resources::OperationMethods

#add_batch_operation, #add_operation, #batch_operation, #batch_operation_names, #batch_operations, #operation, #operation_names, #operations

Constructor Details

#initialize(id, options = {}) ⇒ Object #initialize(options = {}) ⇒ Object

Overloads:

  • #initialize(id, options = {}) ⇒ Object

    Parameters:

    • id (String)

    Options Hash (options):

    • :client (Client)

      When `:client is not given, the options hash is used to construct a new Client object.

  • #initialize(options = {}) ⇒ Object

    Options Hash (options):

    • :id (required, String)
    • :client (Client)

      When `:client is not given, the options hash is used to construct a new Client object.

Instance Attribute Details

#create_timeTime (readonly)

The date and time the NAT gateway was created.

Returns:

  • (Time)

    The date and time the NAT gateway was created.

#delete_timeTime (readonly)

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

Returns:

  • (Time)

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

#failure_codeString (readonly)

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:

  • (String)

    If the NAT gateway could not be created, specifies the error code for the failure.

#failure_messageString (readonly)

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:

  • (String)

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

#idString (readonly)

Returns:

  • (String)

#nat_gateway_addressesArray<Types::NatGatewayAddress> (readonly)

Information about the IP addresses and network interface associated with the NAT gateway.

Returns:

  • (Array<Types::NatGatewayAddress>)

    Information about the IP addresses and network interface associated with the NAT gateway.

#nat_gateway_idString (readonly)

The ID of the NAT gateway.

Returns:

  • (String)

    The ID of the NAT gateway.

#provisioned_bandwidthTypes::ProvisionedBandwidth (readonly)

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

Returns:

#stateString (readonly)

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.

    Possible values:

    • pending
    • failed
    • available
    • deleting
    • deleted

Returns:

  • (String)

    The state of the NAT gateway.

#subnet_idString (readonly)

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

Returns:

  • (String)

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

#tagsArray<Types::Tag> (readonly)

The tags for the NAT gateway.

Returns:

  • (Array<Types::Tag>)

    The tags for the NAT gateway.

#vpc_idString (readonly)

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

Returns:

  • (String)

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

Instance Method Details

#addressVpcAddress?

Returns:

#create_tags(options = {}) ⇒ Array<Tag>

Examples:

Request syntax example with placeholder values


natgateway.create_tags({
  dry_run: false,
  tags: [ # required
    {
      key: "String",
      value: "String",
    },
  ],
})

Basic usage

tags = natgateway.create_tags(options)
tags.map(&:value)
#=> ["tag-value", ...]

Options Hash (options):

  • :dry_run (Boolean)

    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.

  • :tags (required, Array<Types::Tag>)

    The tags. The value parameter is required, but if you don\'t want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

Returns:

See Also:

#deleteTypes::DeleteNatGatewayResult

Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its Elastic IP address, but does not release the address from your account. Deleting a NAT gateway does not delete any NAT gateway routes in your route tables.

Examples:

Request syntax example with placeholder values


natgateway.delete()

Returns:

See Also:

#delete_tags(options = {}) ⇒ Array<Tag>

Examples:

Request syntax example with placeholder values


natgateway.delete_tags({
  dry_run: false,
  tags: [
    {
      key: "String",
      value: "String",
    },
  ],
})

Basic usage

tags = natgateway.delete_tags(options)
tags.map(&:value)
#=> ["tag-value", ...]

Options Hash (options):

  • :dry_run (Boolean)

    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.

  • :tags (Array<Types::Tag>)

    The tags to delete. Specify a tag key and an optional tag value to delete specific tags. If you specify a tag key without a tag value, we delete any tag with this key regardless of its value. If you specify a tag key with an empty string as the tag value, we delete the tag only if its value is an empty string.

    If you omit this parameter, we delete all user-defined tags for the specified resources. We do not delete AWS-generated tags (tags that have the aws: prefix).

Returns:

See Also:

#subnetSubnet?

Returns: