:doc:`EC2 <../../ec2>` / Client / describe_addresses

******************
describe_addresses
******************



.. py:method:: EC2.Client.describe_addresses(**kwargs)

  

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

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses>`_  


  **Request Syntax**
  ::

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

    One or more Elastic IP addresses.

     

    Default: Describes all your Elastic IP addresses.

    

  
    - *(string) --* 

    

  :type DryRun: boolean
  :param DryRun: 

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

    

  
  :type Filters: list
  :param Filters: 

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

     

    
    * ``allocation-id`` - The allocation ID for the address.
     
    * ``association-id`` - The association ID for the address.
     
    * ``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`` - 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`` - 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.

       

      For more information, see `List and filter using the CLI and API <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html#Filtering_Resources_CLI>`__ in the *Amazon EC2 User Guide*.

      

    
      - **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) --* 

        
    
    

  :type AllocationIds: list
  :param AllocationIds: 

    Information about the allocation IDs.

    

  
    - *(string) --* 

    

  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'Addresses': [
              {
                  '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',
                  'SubnetId': 'string',
                  'ServiceManaged': 'alb'|'nlb'|'rnat'|'rds',
                  'InstanceId': 'string',
                  'PublicIp': 'string'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Addresses** *(list) --* 

        Information about the Elastic IP addresses.

        
        

        - *(dict) --* 

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

          
          

          - **AllocationId** *(string) --* 

            The ID representing the allocation of the address.

            
          

          - **AssociationId** *(string) --* 

            The ID representing the association of the address with an instance.

            
          

          - **Domain** *(string) --* 

            The network ( ``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).

            
          

          - **SubnetId** *(string) --* 

            The ID of the subnet where the IP address is allocated.

            
          

          - **ServiceManaged** *(string) --* 

            The service that manages the elastic IP address.

             

            .. note::

              

              The only option supported today is ``alb``.

              

            
          

          - **InstanceId** *(string) --* 

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

            
          

          - **PublicIp** *(string) --* 

            The Elastic IP address.

            
      
    
  

  **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': {
            '...': '...',
        },
    }

  