Class: Chef::Knife::VagrantServerList

Inherits:
Chef::Knife show all
Includes:
VagrantBase
Defined in:
lib/chef/knife/vagrant_server_list.rb

Instance Method Summary collapse

Methods included from VagrantBase

#colored_vagrant_state, included, #locate_config_value, #msg_pair, #vagrant_exec, #vagrant_instance_list, #vagrant_instance_state, #write_insecure_key

Instance Method Details

#runObject



11
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
# File 'lib/chef/knife/vagrant_server_list.rb', line 11

def run
  $stdout.sync = true

  server_list = [
    ui.color('Instance Name', :bold),
    ui.color('IP Address', :bold),
    ui.color('Box', :bold),
    ui.color('Provider', :bold),
    ui.color('State', :bold)
  ].flatten.compact
  
  output_column_count = server_list.length
          
  vagrant_instance_list.each do |server|
    server_list << server[:name]
    server_list << server[:ip_address]
    server_list << server[:box]

    state, provider = vagrant_instance_state(server[:name])
    server_list << provider
    server_list << colored_vagrant_state(state)
  end

  puts ui.list(server_list, :uneven_columns_across, output_column_count)

end