class Chef::Knife::ScalewayServerList

Public Instance Methods

run() click to toggle source
# File lib/chef/knife/scaleway_droplet_list.rb, line 22
def run
  $stdout.sync = true

  validate!

  server_list = [
    ui.color('ID',     :bold),
    ui.color('Name',   :bold),
    ui.color('Size',   :bold),
    ui.color('Region', :bold),
    ui.color('IPv4',   :bold),
    ui.color('Image',  :bold),
    ui.color('Status', :bold)
  ]
  servers = Scaleway::Server.all

  servers.each do |server|
    ip = server.public_ip ? server.public_ip.address.to_s : ''.to_s

    server_list << server.id.to_s
    server_list << server.name.to_s
    server_list << '?' # server.size_slug.to_s
    server_list << 'fr-1' # server.region.name.to_s
    server_list << ip
    server_list << server.image.name.to_s
    server_list << server.state.to_s
  end

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