1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/ibm/requests/compute/delete_instance.rb

53 lines
1.5 KiB
Ruby
Raw Normal View History

2012-01-10 17:20:56 -05:00
module Fog
module Compute
class IBM
class Real
2011-04-27 01:49:05 -04:00
# Deletes the Instance that the authenticated user manages with the specified :instance_id
#
# ==== Parameters
# * instance_id<~String> - Id of instance
2012-01-10 17:20:56 -05:00
#
# ==== Returns
# * response<~Excon::Response>:
2011-04-27 01:49:05 -04:00
# * body<~Hash>:
# *'success'<~Bool>: true or false for success
2012-01-10 17:20:56 -05:00
def delete_instance(instance_id)
request(
:method => 'DELETE',
:expects => 200,
:path => "/instances/#{instance_id}"
)
end
end
2011-12-02 13:27:44 -05:00
class Mock
def delete_instance(instance_id)
response = Excon::Response.new
if deleteable? instance_id
# remove from memoreeeez.
self.data[:instances].delete instance_id
response.body = { 'success' => true }
2011-12-02 13:27:44 -05:00
response.status = 200
else
# TODO: we should really return a 412 if the instance is in an invalid state, and a 404 if it doesn't exist.
response.status = 404
end
response
end
# we can't delete the instance if it doesn't exist, or is in an invalid state.
def deleteable?(instance_id)
return false unless instance_exists? instance_id
instance = self.data[:instances][instance_id]
return false if [0, 1, 7, 14, 15].include?(instance["status"].to_i)
true
end
end
2012-01-10 17:20:56 -05:00
end
end
end