Method: AWS::EC2::VPCCollection#create

Defined in:
lib/aws/ec2/vpc_collection.rb

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

Parameters:

  • cidr_block (String)

    The CIDR block you want the VPC to cover (e.g., 10.0.0.0/16).

  • options (Hash) (defaults to: {})

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.

Returns:



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