Class: Chef::Knife::EsxVmDelete
- Inherits:
-
Chef::Knife
- Object
- Chef::Knife
- Chef::Knife::EsxVmDelete
- Includes:
- ESXBase
- Defined in:
- lib/chef/knife/esx_vm_delete.rb
Instance Method Summary collapse
Methods included from ESXBase
#connection, included, #locate_config_value
Instance Method Details
#run ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/chef/knife/esx_vm_delete.rb', line 34 def run deleted = [] connection.virtual_machines.each do |vm| @name_args.each do |vm_name| if vm_name == vm.name if config[:force_delete] =~ /(no|NO|false|FALSE)/ confirm("Do you really want to delete this virtual machine '#{vm.name}'") end vm.power_off if (vm.name =~ /#{vm.name}/ and vm.power_state == 'poweredOn') vm.destroy deleted << vm_name #Assume yes because the user already confirmed the deletion system "knife client delete #{vm.name} -y" system "knife node delete #{vm.name} -y" ui.info("Deleted virtual machine #{vm.name}") end end end @name_args.each do |vm_name| ui.warn "Virtual Machine #{vm_name} not found" if not deleted.include?(vm_name) end end |