From f099070a4ec36efbe4220ebb5930af60e01c2fe6 Mon Sep 17 00:00:00 2001 From: Rupak Ganguly Date: Wed, 22 Jun 2011 12:31:14 -0400 Subject: [PATCH] Add the implementation for #delete_server services. --- lib/fog/compute/requests/hp/delete_server.rb | 43 ++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 lib/fog/compute/requests/hp/delete_server.rb diff --git a/lib/fog/compute/requests/hp/delete_server.rb b/lib/fog/compute/requests/hp/delete_server.rb new file mode 100644 index 000000000..329052466 --- /dev/null +++ b/lib/fog/compute/requests/hp/delete_server.rb @@ -0,0 +1,43 @@ +module Fog + module HP + class Compute + class Real + + # Delete an existing server + # + # ==== Parameters + # * id<~Integer> - Id of server to delete + # + def delete_server(server_id) + request( + :expects => 202, + :method => 'DELETE', + :path => "servers/#{server_id}" + ) + end + + end + + class Mock + + def delete_server(server_id) + response = Excon::Response.new + if server = list_servers_detail.body['servers'].detect {|_| _['id'] == server_id} + if server['status'] == 'BUILD' + response.status = 409 + raise(Excon::Errors.status_error({:expects => 202}, response)) + else + self.data[:last_modified][:servers].delete(server_id) + self.data[:servers].delete(server_id) + response.status = 202 + end + response + else + raise Fog::HP::Compute::NotFound + end + end + + end + end + end +end