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/rackspace/requests/compute/delete_image.rb

46 lines
1.1 KiB
Ruby
Raw Normal View History

module Fog
module Compute
class Rackspace
class Real
2009-10-16 01:24:42 -04:00
# Delete an image
#
# ==== Parameters
# * image_id<~Integer> - Id of image to delete
#
def delete_image(image_id)
request(
:expects => 204,
:method => 'DELETE',
:path => "images/#{image_id}"
)
end
end
class Mock
2009-10-16 01:24:42 -04:00
2009-11-20 15:46:44 -05:00
def delete_image(image_id)
response = Excon::Response.new
2010-10-13 16:20:18 -04:00
if image = list_images_detail.body['images'].detect {|_| _['id'] == image_id}
2009-11-20 15:46:44 -05:00
if image['status'] == 'SAVING'
response.status = 409
raise(Excon::Errors.status_error({:expects => 202}, response))
else
2011-05-19 18:35:33 -04:00
self.data[:last_modified][:images].delete(image_id)
self.data[:images].delete(image_id)
2009-11-20 15:46:44 -05:00
response.status = 202
end
2010-05-31 12:05:14 -04:00
response
2009-11-20 15:46:44 -05:00
else
response.status = 400
raise(Excon::Errors.status_error({:expects => 202}, response))
end
2010-05-31 12:05:14 -04:00
2009-10-16 01:24:42 -04:00
end
end
end
end
end