Class AWS::EC2::SubnetCollection
In: lib/aws/ec2/subnet_collection.rb
Parent: Collection

Represents a collection of VPC subnets. You can get a subnet collection two ways. You can get a collection that represents ALL subnets (across all your VPCs). You can also get a subnet collection that represents subnets within a single vpc.

  # represents all subnets
  subnets = ec2.subnets

  # represents subnets within the named vpc
  subnets = ec2.vpcs['vpc-12345'].subnets

Creating a Subnet

To create a subnet, call {create} on a subnet collection, passing in a suitable CIDR block.

  subnet = subnets.create('10.0.0.0/20')

You can optionally pass the availability zone you want the subnet created in.

Getting a Subnet

If you know the subnet id, you can get a subnet using {#[]}.

  subnet = subnets['subnet-id-here']

You can filter subnets as well. See the EC2 API documentation (docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSubnets.html) for a complete list of accepted filters.

  subnet = subnets.filter('state', 'available').first

Methods

[]   _each_item   az_option   create  

Included Modules

TaggedCollection Core::Collection::Simple

Public Instance methods

@param [String] subnet_id @return [Subnet] Returns a subnet with the given id.

Creates a Subnet. Subnets require a valid CIDR block and are created inside a VPC. If this collection does not have a

@param [String] cidr_block The CIDR block you want the subnet to

  cover (e.g., 10.0.0.0/24).

@param [Hash] options

@option options [VPC,String] :vpc The VPC (or VPC id string) to

  create the subnet in.

@option options [String,AvailabilityZone] :availability_zone

  The Availability Zone you want the subnet in.
  AWS selects a default zone for you (recommended).

@return [Subnet]

Protected Instance methods

[Validate]