Module: Furikake::Resources::Vpc

Defined in:
lib/furikake/resources/vpc.rb

Class Method Summary collapse

Class Method Details

.get_resourcesObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/furikake/resources/vpc.rb', line 21

def get_resources
  ec2 = Aws::EC2::Client.new
  vpcs = []
  ec2.describe_vpcs.vpcs.each do |v|
    vpc = []
    vpc << 'N/A' if v.tags.map(&:to_h).all? { |h| h[:key] != 'Name' }
    v.tags.each do |tag|
      vpc << tag.value if tag.key == 'Name'
    end
    vpc << v.vpc_id
    vpc << v.cidr_block
    vpc << v.state
    vpcs << vpc
  end
  vpcs
end

.reportObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/furikake/resources/vpc.rb', line 4

def report
  resources = get_resources
  headers = ['Name', 'ID', 'CIDR', 'State']
  if resources.empty?
    info = 'N/A'
  else
    info = MarkdownTables.make_table(headers, resources, is_rows: true, align: 'l')
  end
  documents = <<"EOS"
### VPC

#{info}
EOS
  
  documents
end