class Awry::Vpc
Constants
- COLORS
Public Instance Methods
client()
click to toggle source
# File lib/awry/vpc.rb, line 16 def client @_client ||= Aws::EC2::Client.new end
delete(vpc_id)
click to toggle source
# File lib/awry/vpc.rb, line 66 def delete(vpc_id) if yes?("Really delete vpc #{vpc_id}?", :yellow) p client.delete_vpc(vpc_id: vpc_id) end rescue Aws::EC2::Errors::DependencyViolation => e error(e.message) rescue Aws::EC2::Errors::InvalidVpcIDNotFound => e error(e.message) end
ls(prefix = nil)
click to toggle source
# File lib/awry/vpc.rb, line 22 def ls(prefix = nil) client.describe_vpcs.map(&:vpcs).flatten.map do |v| [ tag_name(v, '-'), v.vpc_id, color(v.state), v.cidr_block ] end.tap do |list| list.select! { |l| l.first.start_with?(prefix) } if prefix end.tap do |list| print_table list.sort end end
peers()
click to toggle source
# File lib/awry/vpc.rb, line 44 def peers client.describe_vpc_peering_connections.map(&:vpc_peering_connections).flatten.map do |p| [ tag_name(p, '-'), p.vpc_peering_connection_id, color(p.status.code), p.requester_vpc_info.vpc_id, p.accepter_vpc_info.vpc_id, p.requester_vpc_info.cidr_block, p.accepter_vpc_info.cidr_block, ] end.tap do |list| print_table list.sort end end
sg()
click to toggle source
# File lib/awry/vpc.rb, line 57 def sg client.describe_security_groups.map(&:security_groups).flatten.map do |s| [ s.group_name, s.group_id, s.vpc_id, '→'+s.ip_permissions.count.to_s, s.ip_permissions_egress.count.to_s+'→' ] end.tap do |list| print_table list.sort end end
subnets(prefix = nil)
click to toggle source
# File lib/awry/vpc.rb, line 33 def subnets(prefix = nil) client.describe_subnets.map(&:subnets).flatten.map do |s| [ tag_name(s, '') , s.subnet_id, color(s.state), s.vpc_id, s.cidr_block, s.availability_zone, s.availability_zone_id ] end.tap do |list| list.select! { |l| l.first.start_with?(prefix) } if prefix end.tap do |list| print_table list.sort end end