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/servers/delete_server.rb

53 lines
1.2 KiB
Ruby
Raw Normal View History

2009-10-14 01:36:35 -04:00
unless Fog.mocking?
module Fog
module Rackspace
class Servers
# Delete an existing server
#
# ==== Parameters
# * id<~Integer> - Id of server to delete
#
def delete_server(server_id)
2009-10-14 01:36:35 -04:00
request(
:expects => 202,
:method => 'DELETE',
:path => "servers/#{server_id}"
2009-10-14 01:36:35 -04:00
)
end
end
end
end
else
module Fog
module Rackspace
class Servers
def delete_server(server_id)
2009-11-20 14:08:08 -05:00
response = Excon::Response.new
if server = list_servers_detail.body['servers'].detect { |server| server['id'] == server_id }
if server['status'] == 'BUILD'
response.status = 409
2009-11-20 15:46:44 -05:00
raise(Excon::Errors.status_error({:expects => 202}, response))
else
2009-11-20 15:46:44 -05:00
Fog::Rackspace::Servers.data[:last_modified][:servers].delete(server_id)
Fog::Rackspace::Servers.data[:servers].delete(server_id)
response.status = 202
end
2009-11-08 01:29:25 -05:00
else
response.status = 404
2009-11-20 14:08:08 -05:00
raise(Excon::Errors.status_error({:expects => 202}, response))
2009-11-08 01:29:25 -05:00
end
response
2009-10-14 01:36:35 -04:00
end
end
end
end
end