'Retrieve all the spot instances requests associated with your account.
:type request_ids: list
:param request_ids: A list of strings of spot instance request IDs
: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.spotinstancerequest.SpotInstanceRequest`'

def get_all_spot_instance_requests(self, request_ids=None, filters=None, dry_run=False):

    params = {}
    if request_ids:
        self.build_list_params(params, request_ids, 'SpotInstanceRequestId')
    if filters:
        if ('launch.group-id' in filters):
            lgid = filters.get('launch.group-id')
            if ((not lgid.startswith('sg-')) or (len(lgid) != 11)):
                warnings.warn("The    'launch.group-id'    filter    now    requires    a    security    group    id    (sg-*)    and    no    longer    supports    filtering    by    group    name.    Please    update    your    filters    accordingly.", UserWarning)
        self.build_filter_params(params, filters)
    if dry_run:
        params['DryRun'] = 'true'
    return self.get_list('DescribeSpotInstanceRequests', params, [('item', SpotInstanceRequest)], verb='POST')
