Class: Chef::Knife::ProxmoxServerList
- Inherits:
-
Chef::Knife
- Object
- Chef::Knife
- Chef::Knife::ProxmoxServerList
- Includes:
- ProxmoxBase
- Defined in:
- lib/chef/knife/proxmox_server_list.rb
Instance Method Summary collapse
Methods included from ProxmoxBase
#action_response, #check_config_parameter, #check_global_parameter, #connection, #destroy_item, included, #locate_config_value, #new_vmid, #server_create, #server_destroy, #server_get_data, #server_name_to_vmid, #server_start, #server_stop, #template_number_to_name, #vmid_to_node, #waitfor
Instance Method Details
#run ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/chef/knife/proxmox_server_list.rb', line 12 def run # Needed connection server_list = [ ui.color('Id' , :bold), ui.color('Node', :bold), ui.color('Name', :bold), ui.color('Type', :bold), ui.color('Status',:bold), ui.color('IP Address',:bold) ] @connection['cluster/resources?type=vm'].get @auth_params do |response, request, result, &block| JSON.parse(response.body)['data'].each {|entry| vm_id = entry['vmid'] type = entry['type'] server_list << vm_id.to_s server_list << entry['node'] server_list << entry['name'] server_list << type status = (entry['uptime'] == 0)?'down':'up' server_list << status ipaddress = (type.to_s.match('openvz'))?server_get_data(vm_id,'ip'):"Not Available" server_list << ipaddress } end puts ui.list(server_list, :uneven_columns_across, 6) end |