<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def get_eip_address_info(addresses=None, allocation_ids=None, region=None, key=None,
                         keyid=None, profile=None):
    '''
    Get 'interesting' info about some, or all EIPs associated with the current account.

    addresses
        (list) - Optional list of addresses.  If provided, only the addresses
        associated with those in the list will be returned.
    allocation_ids
        (list) - Optional list of allocation IDs.  If provided, only the
        addresses associated with the given allocation IDs will be returned.

    returns
        (list of dicts) - A list of dicts, each containing the info for one of the requested EIPs.

    CLI Example:

    .. code-block:: bash

        salt-call boto_ec2.get_eip_address_info addresses=52.4.2.15

    .. versionadded:: 2016.3.0
    '''
    if type(addresses) == (type('string')):
        addresses = [addresses]
    if type(allocation_ids) == (type('string')):
        allocation_ids = [allocation_ids]

    ret = _get_all_eip_addresses(addresses=addresses, allocation_ids=allocation_ids,
                       region=region, key=key, keyid=keyid, profile=profile)

    interesting = ['allocation_id', 'association_id', 'domain', 'instance_id',
                   'network_interface_id', 'network_interface_owner_id', 'public_ip',
                   'private_ip_address']

    return [dict([(x, getattr(address, x)) for x in interesting]) for address in ret]