mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
4264b1f99c
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.
28 lines
712 B
Ruby
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
|