create_subnet ( $vpc_id, $cidr_block, $opt )

Creates a subnet in an existing VPC. You can create up to 20 subnets in a VPC. If you add more than one subnet to a VPC, they’re set up in a star topology with a logical router in the middle. When you create each subnet, you provide the VPC ID and the CIDR block you want for the subnet. Once you create a subnet, you can’t change its CIDR block. The subnet’s CIDR block can be the same as the VPC’s CIDR block (assuming you want only a single subnet in the VPC), or a subset of the VPC’s CIDR block. If you create more than one subnet in a VPC, the subnets’ CIDR blocks must not overlap. The smallest subnet (and VPC) you can create uses a /28 netmask (16 IP addresses), and the largest uses a /18 netmask (16,384 IP addresses).

AWS reserves both the first four and the last IP address in each subnet’s CIDR block. They’re not available for use.

Access

public

Parameters

Parameter

Type

Required

Description

$vpc_id

string

Required

The ID of the VPC to create the subnet in.

$cidr_block

string

Required

The CIDR block the subnet is to cover.

$opt

array

Optional

An associative array of parameters that can have the following keys:

  • AvailabilityZone - string - Optional - The Availability Zone to create the subnet in.
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.

Returns

Type

Description

CFResponse

A CFResponse object containing a parsed HTTP response.

Examples

Create a new subnet.

$ec2 = new AmazonEC2();

$response = $ec2->create_subnet('vpc-fd7cd194', '10.0.0.0/24', array(
	'AvailabilityZone' => 'us-east-1b',
));

var_dump($response->isOK());
Result:
bool(true)

Related Methods

Source

Method defined in services/ec2.class.php | Toggle source view (8 lines) | View on GitHub

public function create_subnet($vpc_id, $cidr_block, $opt = null)
{
    if (!$opt) $opt = array();
    $opt['VpcId'] = $vpc_id;
    $opt['CidrBlock'] = $cidr_block;
    
    return $this->authenticate('CreateSubnet', $opt);
}

Copyright © 2010–2013 Amazon Web Services, LLC


Feedback