52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/chef/knife/ec2_server_list.rb', line 52
def run
$stdout.sync = true
connection = Fog::Compute.new(
:provider => 'AWS',
:aws_access_key_id => Chef::Config[:knife][:aws_access_key_id],
:aws_secret_access_key => Chef::Config[:knife][:aws_secret_access_key],
:region => Chef::Config[:knife][:region] || config[:region]
)
server_list = [
ui.color('Instance ID', :bold),
ui.color('Public IP', :bold),
ui.color('Private IP', :bold),
ui.color('Flavor', :bold),
ui.color('Image', :bold),
ui.color('Security Groups', :bold),
ui.color('State', :bold)
]
connection.servers.all.each do |server|
server_list << server.id.to_s
server_list << (server.public_ip_address == nil ? "" : server.public_ip_address)
server_list << (server.private_ip_address == nil ? "" : server.private_ip_address)
server_list << (server.flavor_id == nil ? "" : server.flavor_id)
server_list << (server.image_id == nil ? "" : server.image_id)
server_list << server.groups.join(", ")
server_list << (server.state == nil ? "" : server.state)
end
puts ui.list(server_list, :columns_across, 7)
end
|