Class: Awful::Vpc

Inherits:
Cli show all
Defined in:
lib/awful/vpc.rb

Instance Method Summary collapse

Methods inherited from Cli

#initialize

Constructor Details

This class inherits a constructor from Awful::Cli

Instance Method Details

#dump(name) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/awful/vpc.rb', line 26

def dump(name)
  ec2.describe_vpcs.map(&:vpcs).flatten.find do |vpc|
    vpc.vpc_id == name or vpc.tags.any? { |tag| tag.value == name }
  end.tap do |vpc|
    puts YAML.dump(stringify_keys(vpc.to_hash))
  end
end

#ls(name = /./) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/awful/vpc.rb', line 12

def ls(name = /./)
  fields = options[:long] ?
    ->(v) { [tag_name(v), v.vpc_id, v.state, v.cidr_block] } :
    ->(v) { [v.vpc_id] }
  ec2.describe_vpcs.map(&:vpcs).flatten.select do |vpc|
    vpc.tags.any? { |tag| tag.value.match(name) }
  end.map do |vpc|
    fields.call(vpc)
  end.tap do |list|
    print_table list
  end
end