Class: Chef::Knife::RightscaleSecuritygroupList
- Inherits:
-
Chef::Knife
- Object
- Chef::Knife
- Chef::Knife::RightscaleSecuritygroupList
- Includes:
- RightscaleBase
- Defined in:
- lib/chef/knife/rightscale_securitygroup_list.rb
Instance Method Summary collapse
Methods included from RightscaleBase
#connection, included, #locate_config_value, #msg_pair, #right_api_client, #set_log_level
Instance Method Details
#run ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/chef/knife/rightscale_securitygroup_list.rb', line 45 def run $stdout.sync = true validate! @clouds = connection.list_clouds(:by_name, config[:cloud_name]) count = @clouds.size puts ui.color("Querying #{count} clouds for security groups. Could take a minute...", :magenta) if count > 1 security_group_list = [ ui.color('Cloud', :bold), ui.color('Name', :bold), ui.color('Resource UID', :bold) ].flatten.compact output_column_count = security_group_list.length @clouds.each do |cloud| next unless connection.requires_security_groups?(cloud) @security_groups = connection.list_security_groups(cloud, :by_name, config[:security_group_name]) @security_groups.each do |security_group| security_group_list << cloud.name security_group_list << security_group.name security_group_list << security_group.resource_uid end end puts ui.list(security_group_list, :uneven_columns_across, output_column_count) end |