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/vsphere/requests/compute/vm_destroy.rb
Jeff McCune 4264b1f99c (#9241) Add destroy API request and model action
Without this patch we have no way to completely destroy
a server instance.  This patch adds a vm_destroy API request
and implements the destroy method on the server model.

The vSphere API requires the server to be in a poweredOff state.
The model action and the request do not verify this is the case
before issuing the command.
2011-09-10 13:32:58 -07:00

28 lines
712 B
Ruby

module Fog
module Compute
class Vsphere
class Real
def vm_destroy(params = {})
raise ArgumentError ":instance_uuid is a required parameter" unless params.has_key? :instance_uuid
vm = find_all_by_instance_uuid(params[:instance_uuid]).first
unless vm.kind_of? RbVmomi::VIM::VirtualMachine
raise Fog::Vsphere::Errors::NotFound, "Could not find VirtualMachine with instance uuid #{params[:instance_uuid]}"
end
task = vm.Destroy_Task
task.wait_for_completion
task.info.state
end
end
class Mock
def vm_destroy(params = {})
"success"
end
end
end
end
end