Sha256: 40cb0bc10001615f826892b443be33d8ac39451dce7fd07684d7c0edbc50efcf
Contents?: true
Size: 1.25 KB
Versions: 3
Compression:
Stored size: 1.25 KB
Contents
# Provides access to default network settings for a vpc: subnets and security_group # If no @vpc_id is provided to the initializer then the default vpc is used. module Forger class Network include Forger::AwsServices extend Memoist def initialize(vpc_id) @vpc_id = vpc_id end def vpc_id return @vpc_id if @vpc_id resp = ec2.describe_vpcs(filters: [ {name: "isDefault", values: ["true"]} ]) default_vpc = resp.vpcs.first if default_vpc default_vpc.vpc_id else puts "A default vpc was not found in this AWS account and region.".color(:red) puts "Because there is no default vpc, please specify the --vpc-id option." exit 1 end end memoize :vpc_id # all subnets def subnet_ids resp = ec2.describe_subnets(filters: [ {name: "vpc-id", values: [vpc_id]} ]) resp.subnets.map(&:subnet_id).sort end memoize :subnet_ids # default security group def security_group_id resp = ec2.describe_security_groups(filters: [ {name: "vpc-id", values: [vpc_id]}, {name: "group-name", values: ["default"]} ]) resp.security_groups.first.group_id end memoize :security_group_id end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
forger-3.0.2 | lib/forger/network.rb |
forger-3.0.1 | lib/forger/network.rb |
forger-3.0.0 | lib/forger/network.rb |