Sha256: 4e82ba90203746f208287ecb3f944b1a61c9d8af1fa0c501f522f3831d036b83
Contents?: true
Size: 1.89 KB
Versions: 11
Compression:
Stored size: 1.89 KB
Contents
module Fog module Compute class AWS class Real require 'fog/aws/parsers/compute/cancel_spot_instance_requests' # Terminate specified spot instance requests # # ==== Parameters # * spot_instance_request_id<~Array> - Ids of instances to terminates # # ==== Returns # * response<~Excon::Response>: # * body<~Hash>: # * 'requestId'<~String> id of request # * 'spotInstanceRequestSet'<~Array>: # * 'spotInstanceRequestId'<~String> - id of cancelled spot instance # * 'state'<~String> - state of cancelled spot instance # # {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-CancelSpotInstanceRequests.html] def cancel_spot_instance_requests(spot_instance_request_id) params = Fog::AWS.indexed_param('SpotInstanceRequestId', spot_instance_request_id) request({ 'Action' => 'CancelSpotInstanceRequests', :idempotent => true, :parser => Fog::Parsers::Compute::AWS::CancelSpotInstanceRequests.new }.merge!(params)) end end class Mock def cancel_spot_instance_requests(spot_instance_request_id) response = Excon::Response.new spot_request = self.data[:spot_requests][spot_instance_request_id] unless spot_request raise Fog::Compute::AWS::NotFound.new("The spot instance request ID '#{spot_instance_request_id}' does not exist") end spot_request['fault']['code'] = 'request-cancelled' spot_request['state'] = 'cancelled' response.body = {'spotInstanceRequestSet' => [{'spotInstanceRequestId' => spot_instance_request_id, 'state' => 'cancelled'}], 'requestId' => Fog::AWS::Mock.request_id} response end end end end end
Version data entries
11 entries across 9 versions & 2 rubygems