Class: Chef::Knife::Ec2VpcList

Inherits:
Chef::Knife show all
Includes:
Ec2Base
Defined in:
lib/chef/knife/ec2_vpc_list.rb

Instance Method Summary collapse

Methods included from Ec2Base

#ami, #connection_string, #ec2_connection, #fetch_ami, #fetch_ec2_instance, #fetch_network_interfaces, #fetch_password_data, #fetch_region, #fetch_subnet, #find_name_tag, included, #is_image_windows?, #msg_pair, #normalize_server_data, #server_hashes, #validate_aws_config!, #vpc_mode?

Methods inherited from Chef::Knife

#aws_cred_file_location, #custom_warnings!, #find_server_platform, #iam_name_from_profile, #ini_parse

Instance Method Details

#run ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/chef/knife/ec2_vpc_list.rb', line 29

def run
  validate_aws_config!
  custom_warnings!

  vpcs_list = [
    ui.color("ID", :bold),
    ui.color("State", :bold),
    ui.color("CIDR Block", :bold),
    ui.color("Instance Tenancy", :bold),
    ui.color("DHCP Options ID", :bold),
    ui.color("Default VPC?", :bold),
  ].flatten.compact

  output_column_count = vpcs_list.length

  if config[:format] == "summary"
    vpc_hash.each_pair do |_k, v|
      vpcs_list << v["vpc_id"]
      vpcs_list << v["state"]
      vpcs_list << v["cidr_block"]
      vpcs_list << v["instance_tenancy"]
      vpcs_list << v["dhcp_options_id"]
      vpcs_list << (v["is_default"] ? "Yes" : "No")
    end
    puts ui.list(vpcs_list, :uneven_columns_across, output_column_count)
  else
    output(format_for_display(vpc_hash))
  end
end