class AWS::EC2::VPCCollection

Public Instance Methods

[](vpc_id) click to toggle source
# File lib/aws/ec2/vpc_collection.rb, line 56
def [] vpc_id
  VPC.new(vpc_id, :config => config)
end
create(cidr_block, options = {}) click to toggle source

Creates a VPC with the CIDR block you specify. The smallest VPC you can create uses a /28 netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP addresses).

vpc = ec2.vpcs.create('10.0.0.0/16')

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

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

@param [Hash] options

@option options [Boolean] :instance_tenancy (:default)

The allowed tenancy of instances launched into the VPC. A value of
`:default` means instances can be launched with any tenancy; a value
of `:dedicated` means all instances launched into the VPC will be launched with
dedicated tenancy regardless of the tenancy assigned to the instance at launch.

@return [VPC]

# File lib/aws/ec2/vpc_collection.rb, line 41
def create cidr_block, options = {}

  tenancy = options.key?(:instance_tenancy) ?
    options[:instance_tenancy].to_s : 'default'

  client_opts = {}
  client_opts[:cidr_block] = cidr_block
  client_opts[:instance_tenancy] = tenancy

  resp = client.create_vpc(client_opts)

  VPC.new_from(:create_vpc, resp.vpc, resp.vpc.vpc_id, :config => config)

end

Protected Instance Methods

_each_item(options = {}) { |new_from(:describe_vpcs, v, vpc_id, :config => config)| ... } click to toggle source
# File lib/aws/ec2/vpc_collection.rb, line 61
def _each_item options = {}, &block
  response = filtered_request(:describe_vpcs, options, &block)
  response.vpc_set.each do |v|
    yield(VPC.new_from(:describe_vpcs, v, v.vpc_id, :config => config))
  end
end