module Furikake::Resources::Vpc

Public Class Methods

get_resources() click to toggle source
# 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
report() click to toggle source
# 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

Private Instance Methods

get_resources() click to toggle source
# 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
report() click to toggle source
# 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