Class: AWS::EC2::VPCCollection

Inherits:
Collection show all
Includes:
Core::Collection::Simple, TaggedCollection
Defined in:
lib/aws/ec2/vpc_collection.rb

Instance Method Summary collapse

Methods included from Core::Collection

#each, #each_batch, #enum, #first, #in_groups_of, #page

Methods included from TaggedCollection

#tagged, #tagged_values

Methods included from FilteredCollection

#filter, #initialize

Instance Method Details

#[](vpc_id) ⇒ Object



56
57
58
# File 'lib/aws/ec2/vpc_collection.rb', line 56

def [] vpc_id
  VPC.new(vpc_id, :config => config)
end

#create(cidr_block, options = {}) ⇒ VPC

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')

Options Hash (options):

  • :instance_tenancy (Boolean) — default: :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.



41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 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