class Chef::Knife::Ec2SubnetList
Public Instance Methods
run()
click to toggle source
# File lib/chef/knife/ec2_subnet_list.rb, line 29 def run validate_aws_config! custom_warnings! subnet_list = [ ui.color("ID", :bold), ui.color("State", :bold), ui.color("CIDR Block", :bold), ui.color("AZ", :bold), ui.color("Available IPs", :bold), ui.color("AZ Default?", :bold), ui.color("Maps Public IP?", :bold), ui.color("VPC ID", :bold), ].flatten.compact output_column_count = subnet_list.length if config[:format] == "summary" subnet_hash.each_pair do |_k, v| subnet_list << v["subnet_id"] subnet_list << v["state"] subnet_list << v["cidr_block"] subnet_list << v["availability_zone"] subnet_list << v["available_ip_address_count"].to_s subnet_list << (v["default_for_az"] ? "Yes" : "No") subnet_list << (v["map_public_ip_on_launch"] ? "Yes" : "No") subnet_list << v["vpc_id"] end puts ui.list(subnet_list, :uneven_columns_across, output_column_count) else output(format_for_display(subnet_hash)) end end
Private Instance Methods
subnet_hash()
click to toggle source
@return [Hash<Hash>]
# File lib/chef/knife/ec2_subnet_list.rb, line 66 def subnet_hash all_data = {} ec2_connection.describe_subnets.first.subnets.each do |s| s_data = {} %w{subnet_id availability_zone available_ip_address_count cidr_block default_for_az map_public_ip_on_launch state vpc_id}.each do |id| s_data[id] = s.send(id) end all_data[s_data["subnet_id"]] = s_data end all_data end