class Chef::Knife::VcVmShow
Public Instance Methods
run()
click to toggle source
# File lib/chef/knife/vm/vc_vm_show.rb, line 27 def run $stdout.sync = true vm_arg = @name_args.first connection.login vm = get_vm(vm_arg) vm_info = connection.get_vm_info vm[:id] vm_disks = connection.get_vm_disk_info vm[:id] connection.logout out_msg("VM Name", vm[:vm_name]) out_msg("OS Name", vm[:os_desc]) out_msg("Status", vm[:status]) list = [] list << ['', ''] vm_info.each do |section, values| list << ui.color(section.capitalize, :bold) list << '' list << (values[:description] || '') list << (values[:name] || '') list << ['', ''] end list << [ui.color('Disks', :bold), ''] vm_disks.each do |values| list << (values[:name] || '') list << (values[:capacity] || '') end list << ['', '', ui.color('Networks', :bold), ''] vm[:networks].each do |network, values| # remove NetworkConnectionIndex from network hash key network =~ /^(.*)_[0-9]+$/ list << [$1 || '', ''] values.each do |k, v| list << " #{(pretty_symbol(k) || '')}" list << (v || '') end end list << ['', '', ui.color('Guest Customizations', :bold), ''] list.flatten! vm[:guest_customizations].each do |k, v| list << (pretty_symbol(k) || '') list << (v || '') end ui.msg ui.list(list, :columns_across, 2) end