Sha256: 0d6598d3deffdc1d85d84964db30308d42fc2f60bbb51ab73dbadd627f49928e
Contents?: true
Size: 1014 Bytes
Versions: 8
Compression:
Stored size: 1014 Bytes
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. class Ufo::Network class Fetch include Ufo::AwsService 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"]} ]) resp.vpcs.first.vpc_id 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
8 entries across 8 versions & 1 rubygems