EC2 / Client / associate_nat_gateway_address

associate_nat_gateway_address#

EC2.Client.associate_nat_gateway_address(**kwargs)#

Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a public NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

By default, you can associate up to 2 Elastic IP addresses per public NAT gateway. You can increase the limit by requesting a quota adjustment. For more information, see Elastic IP address quotas in the Amazon VPC User Guide.

Warning

When you associate an EIP or secondary EIPs with a public NAT gateway, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it’s not the same, the EIP will fail to associate. You can see the network border group for the subnet’s AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

See also: AWS API Documentation

Request Syntax

response = client.associate_nat_gateway_address(
    NatGatewayId='string',
    AllocationIds=[
        'string',
    ],
    PrivateIpAddresses=[
        'string',
    ],
    DryRun=True|False
)
Parameters:
  • NatGatewayId (string) –

    [REQUIRED]

    The ID of the NAT gateway.

  • AllocationIds (list) –

    [REQUIRED]

    The allocation IDs of EIPs that you want to associate with your NAT gateway.

    • (string) –

  • PrivateIpAddresses (list) –

    The private IPv4 addresses that you want to assign to the NAT gateway.

    • (string) –

  • 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) –

      The 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.