'Get all EIP\'s associated with the current credentials.
:type addresses: list
:param addresses: Optional list of addresses.  If this list is present,
only the Addresses associated with these addresses
will be returned.
:type filters: dict
:param filters: Optional filters that can be used to limit
the results returned.  Filters are provided
in the form of a dictionary consisting of
filter names as the key and filter values
as the value.  The set of allowable filter
names/values is dependent on the request
being performed.  Check the EC2 API guide
for details.
:type allocation_ids: list
:param allocation_ids: Optional list of allocation IDs.  If this list is
present, only the Addresses associated with the given
allocation IDs will be returned.
:type dry_run: bool
:param dry_run: Set to True if the operation should not actually run.
:rtype: list of :class:`boto.ec2.address.Address`
:return: The requested Address objects'

def get_all_addresses(self, addresses=None, filters=None, allocation_ids=None, dry_run=False):

    params = {}
    if addresses:
        self.build_list_params(params, addresses, 'PublicIp')
    if allocation_ids:
        self.build_list_params(params, allocation_ids, 'AllocationId')
    if filters:
        self.build_filter_params(params, filters)
    if dry_run:
        params['DryRun'] = 'true'
    return self.get_list('DescribeAddresses', params, [('item', Address)], verb='POST')
