Class: Chef::Knife::OvhPccVmDelete
- Inherits:
-
Chef::Knife
- Object
- Chef::Knife
- Chef::Knife::OvhPccVmDelete
- Includes:
- OvhBase
- Defined in:
- lib/chef/knife/ovh_pcc_vm_delete.rb
Instance Method Summary collapse
Methods included from OvhBase
#fatal_exit, #find_all_in_folders, #find_in_folders, #get_folders, #get_vim_connection, included
Instance Method Details
#run ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/chef/knife/ovh_pcc_vm_delete.rb', line 17 def run $stdout.sync = true vmname = @name_args[0] if vmname.nil? show_usage fatal_exit("You must specify a virtual machine name") end vim = get_vim_connection dcname = config[:vsphere_dc] || Chef::Config[:knife][:vsphere_dc] dc = vim.serviceInstance.find_datacenter(dcname) or fatal_exit("datacenter not found") vm = find_in_folders(dc.vmFolder, RbVmomi::VIM::VirtualMachine,vmname) or fatal_exit("VM #{vmname} not found") vm.PowerOffVM_Task.wait_for_completion unless vm.runtime.powerState == "poweredOff" vm.Destroy_Task puts "Deleted virtual machine #{vmname}" end |