Class: Chef::Knife::ProfitbricksServerList

Inherits:
Chef::Knife
  • Object
show all
Includes:
ProfitbricksBase
Defined in:
lib/chef/knife/profitbricks_server_list.rb

Instance Method Summary collapse

Methods included from ProfitbricksBase

#connection, included, #msg_pair

Instance Method Details

#runObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/chef/knife/profitbricks_server_list.rb', line 17

def run
  $stdout.sync = true
  server_list = [
    ui.color('ID', :bold),
    ui.color('Name', :bold),
    ui.color('Cores', :bold),
    ui.color('RAM', :bold),
    ui.color('Availability Zone', :bold),
    ui.color('VM State', :bold),
    ui.color('Boot Volume', :bold),
    ui.color('Boot CDROM', :bold)
  ]
  connection

  ProfitBricks::Server.list(config[:datacenter_id]).each do |server|
    server_list << server.id
    server_list << server.properties['name']
    server_list << server.properties['cores'].to_s
    server_list << server.properties['ram'].to_s
    server_list << server.properties['availabilityZone']
    server_list << server.properties['vmState']
    server_list << (server.properties['bootVolume'] == nil ? '' : server.properties['bootVolume']['id'])
    server_list << (server.properties['bootCdrom'] == nil ? '' : server.properties['bootCdrom']['id'])
  end

  puts ui.list(server_list, :uneven_columns_across, 8)
end