# File lib/fog/aws/requests/compute/describe_spot_instance_requests.rb, line 46
        def describe_spot_instance_requests(filters = {})
          response = Excon::Response.new
          spot_requests = self.data[:spot_requests].values

          if id = Array(filters['spot-instance-request-id']).first
            spot_requests = spot_requests.select { |r| r['spotInstanceRequestId'] == id }
          end

          spot_requests.select { |r| r['instanceId'].nil? }.each do |request|
            run_instance_options = {
              'BlockDeviceMapping'    => request['launchSpecification']['blockDeviceMapping'],
              'EbsOptimized'          => request['launchSpecification']['ebsOptimized'],
              'KeyName'               => request['launchSpecification']['keyName'],
              'SecurityGroupId'       => request['launchSpecification']['groupSet'].first,
              'SpotInstanceRequestId' => request['spotInstanceRequestId'],
              'SubnetId'              => request['launchSpecification']['subnetId']
            }
            instances = run_instances(request['launchSpecification']['imageId'], 1,1, run_instance_options).body['instancesSet']

            request['instanceId'] = instances.first['instanceId']
            request['state'] = 'active'
            request['fault'] = {'code' => 'fulfilled', 'message' => 'Your Spot request is fulfilled.'}
            request['launchedAvailabilityZone'] = instances.first['placement']['availabilityZone']

            self.data[:spot_requests][request['spotInstanceRequestId']] = request
          end

          response.body = {'spotInstanceRequestSet' => spot_requests, 'requestId' => Fog::AWS::Mock.request_id}
          response
        end