create_route ( $route_table_id, $destination_cidr_block, $opt )

Creates a new route in a route table within a VPC. The route’s target can be either a gateway attached to the VPC or a NAT instance in the VPC.

When determining how to route traffic, we use the route with the most specific match. For example, let’s say the traffic is destined for 192.0.2.3, and the route table includes the following two routes:

  • 192.0.2.0/24 (goes to some target A)
  • 192.0.2.0/28 (goes to some target B)

Both routes apply to the traffic destined for 192.0.2.3. However, the second route in the list is more specific, so we use that route to determine where to target the traffic.

For more information about route tables, go to Route Tables in the Amazon Virtual Private Cloud User Guide.

Access

public

Parameters

Parameter

Type

Required

Description

$route_table_id

string

Required

The ID of the route table where the route will be added.

$destination_cidr_block

string

Required

The CIDR address block used for the destination match. For example: 0.0.0.0/0. Routing decisions are based on the most specific match.

$opt

array

Optional

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

  • GatewayId - string - Optional - The ID of a VPN or Internet gateway attached to your VPC. You must provide either GatewayId or InstanceId, but not both.
  • InstanceId - string - Optional - The ID of a NAT instance in your VPC. You must provide either GatewayId or InstanceId, but not both.
  • NetworkInterfaceId - string - Optional -
  • 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 VPC route.

Here is the flow:

  1. Create a new VPC with create_vpc() and a CIDR block.
  2. Create a new Route Table with create_route_table().
  3. Create a new Internet Gateway with create_internet_gateway().
  4. Attach the Internet Gateway to the VPC with attach_internet_gateway().
  5. Create a new Route with create_route().
$ec2 = new AmazonEC2();

$response = $ec2->create_route('rtb-e68b0b8f', '0.0.0.0/0', array(
	'GatewayId' => 'igw-8c8e0ee5'
));

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_route($route_table_id, $destination_cidr_block, $opt = null)
{
    if (!$opt) $opt = array();
    $opt['RouteTableId'] = $route_table_id;
    $opt['DestinationCidrBlock'] = $destination_cidr_block;
    
    return $this->authenticate('CreateRoute', $opt);
}

Copyright © 2010–2013 Amazon Web Services, LLC


Feedback