Class: Chef::Knife::OneandoneIpList

Inherits:
Chef::Knife show all
Includes:
OneandoneBase
Defined in:
lib/chef/knife/oneandone_ip_list.rb

Instance Method Summary collapse

Methods included from OneandoneBase

#formated_output, included, #init_client

Instance Method Details

#runObject



10
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/oneandone_ip_list.rb', line 10

def run
  $stdout.sync = true

  init_client

  response = OneAndOne::PublicIP.new.list
  formated_output(response, true)

  ip_list = [
    ui.color('ID', :bold),
    ui.color('IP Address', :bold),
    ui.color('DHCP', :bold),
    ui.color('State', :bold),
    ui.color('Data Center', :bold),
    ui.color('Assigned To', :bold)
  ]
  response.each do |ip|
    ip_list << ip['id']
    ip_list << ip['ip']
    ip_list << ip['is_dhcp'].to_s
    ip_list << ip['state']
    ip_list << ip['datacenter']['country_code']
    ip_list << (ip['assigned_to'].nil? ? '' : ip['assigned_to']['name'])
  end

  puts ui.list(ip_list, :uneven_columns_across, 6)
end