EC2 / Client / disassociate_nat_gateway_address

disassociate_nat_gateway_address#

EC2.Client.disassociate_nat_gateway_address(**kwargs)#

Disassociates secondary Elastic IP addresses (EIPs) from a public NAT gateway. You cannot disassociate your primary EIP. For more information, see Edit secondary IP address associations in the Amazon VPC User Guide.

While disassociating is in progress, you cannot associate/disassociate additional EIPs while the connections are being drained. You are, however, allowed to delete the NAT gateway.

An EIP is released only at the end of MaxDrainDurationSeconds. It stays associated and supports the existing connections but does not support any new connections (new connections are distributed across the remaining associated EIPs). As the existing connections drain out, the EIPs (and the corresponding private IP addresses mapped to them) are released.

See also: AWS API Documentation

Request Syntax

response = client.disassociate_nat_gateway_address(
    NatGatewayId='string',
    AssociationIds=[
        'string',
    ],
    MaxDrainDurationSeconds=123,
    DryRun=True|False
)
Parameters:
  • NatGatewayId (string) –

    [REQUIRED]

    The ID of the NAT gateway.

  • AssociationIds (list) –

    [REQUIRED]

    The association IDs of EIPs that have been associated with the NAT gateway.

    • (string) –

  • MaxDrainDurationSeconds (integer) – 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.

  • DryRun (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.

Return type:

dict

Returns:

Response Syntax

{
    'NatGatewayId': 'string',
    'NatGatewayAddresses': [
        {
            'AllocationId': 'string',
            'NetworkInterfaceId': 'string',
            'PrivateIp': 'string',
            'PublicIp': 'string',
            'AssociationId': 'string',
            'IsPrimary': True|False,
            'FailureMessage': 'string',
            'Status': 'assigning'|'unassigning'|'associating'|'disassociating'|'succeeded'|'failed'
        },
    ]
}

Response Structure

  • (dict) –

    • NatGatewayId (string) –

      The ID of the NAT gateway.

    • NatGatewayAddresses (list) –

      Information about the NAT gateway IP addresses.

      • (dict) –

        Describes the IP addresses and network interface associated with a NAT gateway.

        • AllocationId (string) –

          [Public NAT gateway only] The allocation ID of the Elastic IP address that’s associated with the NAT gateway.

        • NetworkInterfaceId (string) –

          The ID of the network interface associated with the NAT gateway.

        • PrivateIp (string) –

          The private IP address associated with the NAT gateway.

        • PublicIp (string) –

          [Public NAT gateway only] The Elastic IP address associated with the NAT gateway.

        • AssociationId (string) –

          [Public NAT gateway only] The association ID of the Elastic IP address that’s associated with the NAT gateway.

        • IsPrimary (boolean) –

          Defines if the IP address is the primary address.

        • FailureMessage (string) –

          The address failure message.

        • Status (string) –

          The address status.