'Retrieve all the EC2 images available on your account.
:type image_ids: list
:param image_ids: A list of strings with the image IDs wanted
:type owners: list
:param owners: A list of owner IDs, the special strings \'self\',
\'amazon\', and \'aws-marketplace\', may be used to describe
images owned by you, Amazon or AWS Marketplace
respectively
:type executable_by: list
:param executable_by: Returns AMIs for which the specified
user ID has explicit launch permissions
: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 dry_run: bool
:param dry_run: Set to True if the operation should not actually run.
:rtype: list
:return: A list of :class:`boto.ec2.image.Image`'

def get_all_images(self, image_ids=None, owners=None, executable_by=None, filters=None, dry_run=False):

    params = {}
    if image_ids:
        self.build_list_params(params, image_ids, 'ImageId')
    if owners:
        self.build_list_params(params, owners, 'Owner')
    if executable_by:
        self.build_list_params(params, executable_by, 'ExecutableBy')
    if filters:
        self.build_filter_params(params, filters)
    if dry_run:
        params['DryRun'] = 'true'
    return self.get_list('DescribeImages', params, [('item', Image)], verb='POST')
