class Chef::Knife::RackspaceServerList
Public Instance Methods
run()
click to toggle source
# File lib/chef/knife/rackspace_server_list.rb, line 29 def run $stdout.sync = true server_list = [ ui.color("Instance ID", :bold), ui.color("Name", :bold), ui.color("Flavor", :bold), ui.color("Image", :bold), ui.color("State", :bold), ] if version_one? network_list = %w{public private} else network_list = connection.networks.sort_by(&:label).collect(&:label) end server_list.insert(2, network_list.collect { |n| ui.color("#{n.capitalize} IP", :bold) }).flatten! num_columns_across = server_list.length connection.servers.all.each do |server| server = connection.servers.get(server.id) server_list << server.id.to_s server_list << server.name server_list += network_list.collect { |n| ip_address(server, n) } server_list << (server.flavor_id.nil? ? "" : server.flavor_id.to_s) server_list << (server.image_id.nil? ? "" : server.image_id.to_s) server_list << begin case server.state.downcase when "deleted", "suspended" ui.color(server.state.downcase, :red) when "build", "unknown" ui.color(server.state.downcase, :yellow) else ui.color(server.state.downcase, :green) end end end puts ui.list(server_list, :uneven_columns_across, num_columns_across) end