routes
Used to retrieve a list of routes
in a region or to create or delete a routes
resource, use route
to read or update an individual resource.
Overview
Name | routes |
Type | Resource |
Description | Specifies a route in a route table. For more information, see [Routes](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html#route-table-routes) in the *Amazon VPC User Guide*.<br/> You must specify either a destination CIDR block or prefix list ID. You must also specify exactly one of the resources as the target.<br/> 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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) in the AWS::EC2::Route resource to explicitly declare a dependency on the AWS::EC2::TransitGatewayAttachment resource. |
Id | aws.ec2.routes |
Fields
Name | Datatype | Description |
---|---|---|
route_table_id | string | The ID of the route table for the route. |
cidr_block | string | |
region | string | AWS region. |
Methods
Name | Accessible by | Required Params |
---|---|---|
create_resource | INSERT | RouteTableId, region |
delete_resource | DELETE | data__Identifier, region |
list_resource | SELECT | region |
SELECT
Example
SELECT
region,
route_table_id,
cidr_block
FROM aws.ec2.routes
WHERE region = 'us-east-1';
INSERT
Example
Use the following StackQL query and manifest file to create a new route
resource, using stack-deploy
.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO aws.ec2.routes (
RouteTableId,
region
)
SELECT
'{{ RouteTableId }}',
'{{ region }}';
/*+ create */
INSERT INTO aws.ec2.routes (
CarrierGatewayId,
CoreNetworkArn,
DestinationCidrBlock,
DestinationIpv6CidrBlock,
DestinationPrefixListId,
EgressOnlyInternetGatewayId,
GatewayId,
InstanceId,
LocalGatewayId,
NatGatewayId,
NetworkInterfaceId,
RouteTableId,
TransitGatewayId,
VpcEndpointId,
VpcPeeringConnectionId,
region
)
SELECT
'{{ CarrierGatewayId }}',
'{{ CoreNetworkArn }}',
'{{ DestinationCidrBlock }}',
'{{ DestinationIpv6CidrBlock }}',
'{{ DestinationPrefixListId }}',
'{{ EgressOnlyInternetGatewayId }}',
'{{ GatewayId }}',
'{{ InstanceId }}',
'{{ LocalGatewayId }}',
'{{ NatGatewayId }}',
'{{ NetworkInterfaceId }}',
'{{ RouteTableId }}',
'{{ TransitGatewayId }}',
'{{ VpcEndpointId }}',
'{{ VpcPeeringConnectionId }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: route
props:
- name: CarrierGatewayId
value: '{{ CarrierGatewayId }}'
- name: CoreNetworkArn
value: '{{ CoreNetworkArn }}'
- name: DestinationCidrBlock
value: '{{ DestinationCidrBlock }}'
- name: DestinationIpv6CidrBlock
value: '{{ DestinationIpv6CidrBlock }}'
- name: DestinationPrefixListId
value: '{{ DestinationPrefixListId }}'
- name: EgressOnlyInternetGatewayId
value: '{{ EgressOnlyInternetGatewayId }}'
- name: GatewayId
value: '{{ GatewayId }}'
- name: InstanceId
value: '{{ InstanceId }}'
- name: LocalGatewayId
value: '{{ LocalGatewayId }}'
- name: NatGatewayId
value: '{{ NatGatewayId }}'
- name: NetworkInterfaceId
value: '{{ NetworkInterfaceId }}'
- name: RouteTableId
value: '{{ RouteTableId }}'
- name: TransitGatewayId
value: '{{ TransitGatewayId }}'
- name: VpcEndpointId
value: '{{ VpcEndpointId }}'
- name: VpcPeeringConnectionId
value: '{{ VpcPeeringConnectionId }}'
DELETE
Example
/*+ delete */
DELETE FROM aws.ec2.routes
WHERE data__Identifier = '<RouteTableId|CidrBlock>'
AND region = 'us-east-1';
Permissions
To operate on the routes
resource, the following permissions are required:
Create
ec2:CreateRoute,
ec2:DescribeRouteTables,
ec2:DescribeNetworkInterfaces
Delete
ec2:DeleteRoute,
ec2:DescribeRouteTables
List
ec2:DescribeRouteTables