EC2 / Client / describe_addresses

describe_addresses#

EC2.Client.describe_addresses(**kwargs)#

Describes the specified Elastic IP addresses or all of your Elastic IP addresses.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

Note

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

See also: AWS API Documentation

Request Syntax

response = client.describe_addresses(
    Filters=[
        {
            'Name': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    PublicIps=[
        'string',
    ],
    AllocationIds=[
        'string',
    ],
    DryRun=True|False
)
Parameters:
  • Filters (list) –

    One or more filters. Filter names and values are case-sensitive.

    • allocation-id - [EC2-VPC] The allocation ID for the address.

    • association-id - [EC2-VPC] The association ID for the address.

    • domain - Indicates whether the address is for use in EC2-Classic ( standard) or in a VPC ( vpc).

    • instance-id - The ID of the instance the address is associated with, if any.

    • network-border-group - A unique set of Availability Zones, Local Zones, or Wavelength Zones from where Amazon Web Services advertises IP addresses.

    • network-interface-id - [EC2-VPC] The ID of the network interface that the address is associated with, if any.

    • network-interface-owner-id - The Amazon Web Services account ID of the owner.

    • private-ip-address - [EC2-VPC] The private IP address associated with the Elastic IP address.

    • public-ip - The Elastic IP address, or the carrier IP address.

    • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    • (dict) –

      A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

      If you specify multiple filters, the filters are joined with an AND, and the request returns only results that match all of the specified filters.

      • Name (string) –

        The name of the filter. Filter names are case-sensitive.

      • Values (list) –

        The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an OR, and the request returns all results that match any of the specified values.

        • (string) –

  • PublicIps (list) –

    One or more Elastic IP addresses.

    Default: Describes all your Elastic IP addresses.

    • (string) –

  • AllocationIds (list) –

    [EC2-VPC] Information about the allocation IDs.

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

{
    'Addresses': [
        {
            'InstanceId': 'string',
            'PublicIp': 'string',
            'AllocationId': 'string',
            'AssociationId': 'string',
            'Domain': 'vpc'|'standard',
            'NetworkInterfaceId': 'string',
            'NetworkInterfaceOwnerId': 'string',
            'PrivateIpAddress': 'string',
            'Tags': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ],
            'PublicIpv4Pool': 'string',
            'NetworkBorderGroup': 'string',
            'CustomerOwnedIp': 'string',
            'CustomerOwnedIpv4Pool': 'string',
            'CarrierIp': 'string'
        },
    ]
}

Response Structure

  • (dict) –

    • Addresses (list) –

      Information about the Elastic IP addresses.

      • (dict) –

        Describes an Elastic IP address, or a carrier IP address.

        • InstanceId (string) –

          The ID of the instance that the address is associated with (if any).

        • PublicIp (string) –

          The Elastic IP address.

        • AllocationId (string) –

          The ID representing the allocation of the address for use with EC2-VPC.

        • AssociationId (string) –

          The ID representing the association of the address with an instance in a VPC.

        • Domain (string) –

          Indicates whether this Elastic IP address is for use with instances in EC2-Classic ( standard) or instances in a VPC ( vpc).

        • NetworkInterfaceId (string) –

          The ID of the network interface.

        • NetworkInterfaceOwnerId (string) –

          The ID of the Amazon Web Services account that owns the network interface.

        • PrivateIpAddress (string) –

          The private IP address associated with the Elastic IP address.

        • Tags (list) –

          Any tags assigned to the Elastic IP address.

          • (dict) –

            Describes a tag.

            • Key (string) –

              The key of the tag.

              Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:.

            • Value (string) –

              The value of the tag.

              Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

        • PublicIpv4Pool (string) –

          The ID of an address pool.

        • NetworkBorderGroup (string) –

          The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses.

        • CustomerOwnedIp (string) –

          The customer-owned IP address.

        • CustomerOwnedIpv4Pool (string) –

          The ID of the customer-owned address pool.

        • CarrierIp (string) –

          The carrier IP address associated. This option is only available for network interfaces which reside in a subnet in a Wavelength Zone (for example an EC2 instance).

Examples

This example describes your Elastic IP addresses.

response = client.describe_addresses(
)

print(response)

Expected Output:

{
    'Addresses': [
        {
            'Domain': 'standard',
            'InstanceId': 'i-1234567890abcdef0',
            'PublicIp': '198.51.100.0',
        },
        {
            'AllocationId': 'eipalloc-12345678',
            'AssociationId': 'eipassoc-12345678',
            'Domain': 'vpc',
            'InstanceId': 'i-1234567890abcdef0',
            'NetworkInterfaceId': 'eni-12345678',
            'NetworkInterfaceOwnerId': '123456789012',
            'PrivateIpAddress': '10.0.1.241',
            'PublicIp': '203.0.113.0',
        },
    ],
    'ResponseMetadata': {
        '...': '...',
    },
}

This example describes your Elastic IP addresses for use with instances in a VPC.

response = client.describe_addresses(
    Filters=[
        {
            'Name': 'domain',
            'Values': [
                'vpc',
            ],
        },
    ],
)

print(response)

Expected Output:

{
    'Addresses': [
        {
            'AllocationId': 'eipalloc-12345678',
            'AssociationId': 'eipassoc-12345678',
            'Domain': 'vpc',
            'InstanceId': 'i-1234567890abcdef0',
            'NetworkInterfaceId': 'eni-12345678',
            'NetworkInterfaceOwnerId': '123456789012',
            'PrivateIpAddress': '10.0.1.241',
            'PublicIp': '203.0.113.0',
        },
    ],
    'ResponseMetadata': {
        '...': '...',
    },
}

This example describes your Elastic IP addresses for use with instances in EC2-Classic.

response = client.describe_addresses(
    Filters=[
        {
            'Name': 'domain',
            'Values': [
                'standard',
            ],
        },
    ],
)

print(response)

Expected Output:

{
    'Addresses': [
        {
            'Domain': 'standard',
            'InstanceId': 'i-1234567890abcdef0',
            'PublicIp': '198.51.100.0',
        },
    ],
    'ResponseMetadata': {
        '...': '...',
    },
}