Skip to main content

routes

Creates, updates, deletes or gets a route resource or lists routes in a region

Overview

Nameroutes
TypeResource
Description
Specifies a route in a route table. For more information, see Routes in the Amazon VPC User Guide.You must specify either a destination CIDR block or prefix list ID. You must also specify exactly one of the resources as the target.
If you create a route that references a transit gateway in the same template where you create the transit gateway, you must declare a dependency on the transit gateway attachment. The route table cannot use the transit gateway until it has successfully attached to the VPC. Add a DependsOn Attribute in the AWS::EC2::Route resource to explicitly declare a dependency on the AWS::EC2::TransitGatewayAttachment resource.
Idawscc.ec2.routes

Fields

NameDatatypeDescription
carrier_gateway_idstring
The ID of the carrier gateway.You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.
cidr_blockstring
core_network_arnstringThe Amazon Resource Name (ARN) of the core network.
destination_cidr_blockstringThe IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.
destination_ipv6_cidr_blockstringThe IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.
destination_prefix_list_idstringThe ID of a prefix list used for the destination match.
egress_only_internet_gateway_idstring[IPv6 traffic only] The ID of an egress-only internet gateway.
gateway_idstringThe ID of an internet gateway or virtual private gateway attached to your VPC.
instance_idstringThe ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.
local_gateway_idstringThe ID of the local gateway.
nat_gateway_idstring[IPv4 traffic only] The ID of a NAT gateway.
network_interface_idstringThe ID of a network interface.
route_table_idstringThe ID of the route table for the route.
transit_gateway_idstringThe ID of a transit gateway.
vpc_endpoint_idstringThe ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.
vpc_peering_connection_idstringThe ID of a VPC peering connection.
regionstringAWS region.

For more information, see AWS::EC2::Route.

Methods

NameResourceAccessible byRequired Params
create_resourceroutesINSERTRouteTableId, region
delete_resourceroutesDELETEIdentifier, region
update_resourceroutesUPDATEIdentifier, PatchDocument, region
list_resourcesroutes_list_onlySELECTregion
get_resourceroutesSELECTIdentifier, region

SELECT examples

Gets all properties from an individual route.

SELECT
region,
carrier_gateway_id,
cidr_block,
core_network_arn,
destination_cidr_block,
destination_ipv6_cidr_block,
destination_prefix_list_id,
egress_only_internet_gateway_id,
gateway_id,
instance_id,
local_gateway_id,
nat_gateway_id,
network_interface_id,
route_table_id,
transit_gateway_id,
vpc_endpoint_id,
vpc_peering_connection_id
FROM awscc.ec2.routes
WHERE
region = '{{ region }}' AND
Identifier = '{{ route_table_id }}|{{ cidr_block }}';

INSERT example

Use the following StackQL query and manifest file to create a new route resource, using stack-deploy.

/*+ create */
INSERT INTO awscc.ec2.routes (
RouteTableId,
region
)
SELECT
'{{ route_table_id }}',
'{{ region }}'
RETURNING
ErrorCode,
EventTime,
Identifier,
Operation,
OperationStatus,
RequestToken,
ResourceModel,
RetryAfter,
StatusMessage,
TypeName
;

UPDATE example

Use the following StackQL query and manifest file to update a route resource, using stack-deploy.

/*+ update */
UPDATE awscc.ec2.routes
SET PatchDocument = string('{{ {
"CarrierGatewayId": carrier_gateway_id,
"CoreNetworkArn": core_network_arn,
"EgressOnlyInternetGatewayId": egress_only_internet_gateway_id,
"GatewayId": gateway_id,
"InstanceId": instance_id,
"LocalGatewayId": local_gateway_id,
"NatGatewayId": nat_gateway_id,
"NetworkInterfaceId": network_interface_id,
"TransitGatewayId": transit_gateway_id,
"VpcEndpointId": vpc_endpoint_id,
"VpcPeeringConnectionId": vpc_peering_connection_id
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ route_table_id }}|{{ cidr_block }}'
RETURNING
ErrorCode,
EventTime,
Identifier,
Operation,
OperationStatus,
RequestToken,
ResourceModel,
RetryAfter,
StatusMessage,
TypeName
;

DELETE example

/*+ delete */
DELETE FROM awscc.ec2.routes
WHERE
Identifier = '{{ route_table_id }}|{{ cidr_block }}' AND
region = '{{ region }}'
RETURNING
ErrorCode,
EventTime,
Identifier,
Operation,
OperationStatus,
RequestToken,
ResourceModel,
RetryAfter,
StatusMessage,
TypeName
;

Additional Parameters

Mutable resources in the Cloud Control provider support additional optional parameters which can be supplied with INSERT, UPDATE, or DELETE operations. These include:

ParameterDescription
ClientToken
A unique identifier to ensure the idempotency of the resource request.This allows the provider to accurately distinguish between retries and new requests.
A client token is valid for 36 hours once used.
After that, a resource request with the same client token is treated as a new request.
If you do not specify a client token, one is generated for inclusion in the request.
RoleArn
The ARN of the IAM role used to perform this resource operation.The role specified must have the permissions required for this operation.
If you do not specify a role, a temporary session is created using your AWS user credentials.
TypeVersionId
For private resource types, the type version to use in this resource operation.If you do not specify a resource version, the default version is used.

Permissions

To operate on the routes resource, the following permissions are required:

ec2:CreateRoute,
ec2:DescribeRouteTables,
ec2:DescribeNetworkInterfaces