Class: Chef::Knife::XapiVifList
- Inherits:
-
Chef::Knife
- Object
- Chef::Knife
- Chef::Knife::XapiVifList
- Includes:
- XapiBase
- Defined in:
- lib/chef/knife/xapi_vif_list.rb
Instance Attribute Summary
Attributes included from XapiBase
Instance Method Summary collapse
Methods included from XapiBase
#add_vif_by_name, #cleanup, #clear_vm_vifs, #color_kv, #create_vbd, #create_vdi, defaults, #destroy_vdi, #detach_vdi, #fail, #find_default_sr, #find_template, #generate_mac, #get_all_vdis, get_default, #get_guest_ip, #get_host_ref, #get_sr_by_name, #get_task_ref, #get_template, #get_vbd_by_uuid, #get_vbds_from_vdi, #get_vdi_by_name_label, #get_vdi_by_uuid, #h, included, #input_to_bytes, #locate_config_value, #print_record, #print_vdi_info, set_defaults, #start, #stop, #user_select, #wait_on_task, #xapi, #yes_no?
Instance Method Details
#run ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/chef/knife/xapi_vif_list.rb', line 37 def run # Get all vifs known to the system name = @name_args[0] # if we were passed a guest name find its vdi's # otherwise do it for everything vifs = Array.new if name.nil? or name.empty? vifs = xapi.VIF.getAllRecords elsif config[:vif_name] vdis = xapi.VIF.get_by_name_label( name ) else ref = xapi.VM.get_by_name_label( name ) vm = xapi.VM.get_record( ref.first ) vm["VIFs"].each do |vif| vdis << xapi.VIF.get_record( vif )["VIF"] end end vifs.each do |vif| print_vif_info vif end end |