class Chef::Knife::VcVmSetDisks
Public Instance Methods
run()
click to toggle source
# File lib/chef/knife/vm/vc_vm_set_disks.rb, line 47 def run $stdout.sync = true vm_arg = @name_args.shift new_disk = locate_config_value(:vm_add_disk) delete_disk = locate_config_value(:vm_delete_disk) disk_name = locate_config_value(:vm_disk_name) disk_size = locate_config_value(:vm_disk_size) raise ArgumentError, "Disk name is mandatory if using --no-add" if !new_disk && disk_name.nil? raise ArgumentError, "Disk size is mandatory if using --add" if new_disk && disk_size.nil? raise ArgumentError, "Disk name is mandatory if using --delete" if delete_disk && disk_name.nil? connection.login vm = get_vm(vm_arg) if !delete_disk || ui.confirm("Do you really want to #{ui.color('DELETE', :red)} disk #{disk_name}") task_id = connection.set_vm_disk_info vm[:id], { :add => new_disk, :delete => delete_disk, :disk_size => disk_size, :disk_name => disk_name } ui.msg "VM setting Disks info..." wait_task(connection, task_id) end connection.logout end