Skip to content

EC2  >  Operations  >  create_route

create_route

Operation

create_route async

create_route(input: CreateRouteInput, plugins: list[Plugin] | None = None) -> CreateRouteOutput

Creates a route in a route table within a VPC.

You must specify either a destination CIDR block or a prefix list ID. You must also specify exactly one of the resources from the parameter list.

When determining how to route traffic, we use the route with the most specific match. For example, traffic is destined for the IPv4 address 192.0.2.3, and the route table includes the following two IPv4 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 covers a smaller number of IP addresses and is therefore more specific, so we use that route to determine where to target the traffic.

For more information about route tables, see Route tables in the Amazon VPC User Guide.

Parameters:

Name Type Description Default
input CreateRouteInput

An instance of CreateRouteInput.

required
plugins list[Plugin] | None

A list of callables that modify the configuration dynamically. Changes made by these plugins only apply for the duration of the operation execution and will not affect any other operation invocations.

None

Returns:

Type Description
CreateRouteOutput

An instance of CreateRouteOutput.

Input

CreateRouteInput dataclass

Bases: _SerdeShape

Dataclass for CreateRouteInput structure.

Attributes

carrier_gateway_id class-attribute instance-attribute
carrier_gateway_id: str | None = ...

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.

core_network_arn class-attribute instance-attribute
core_network_arn: str | None = ...

The Amazon Resource Name (ARN) of the core network.

destination_cidr_block class-attribute instance-attribute
destination_cidr_block: str | None = ...

The 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_block class-attribute instance-attribute
destination_ipv6_cidr_block: str | None = ...

The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.

destination_prefix_list_id class-attribute instance-attribute
destination_prefix_list_id: str | None = ...

The ID of a prefix list used for the destination match.

dry_run class-attribute instance-attribute
dry_run: bool | None = ...

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

egress_only_internet_gateway_id class-attribute instance-attribute
egress_only_internet_gateway_id: str | None = ...

[IPv6 traffic only] The ID of an egress-only internet gateway.

gateway_id class-attribute instance-attribute
gateway_id: str | None = ...

The ID of an internet gateway or virtual private gateway attached to your VPC.

instance_id class-attribute instance-attribute
instance_id: str | None = ...

The 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_id class-attribute instance-attribute
local_gateway_id: str | None = ...

The ID of the local gateway.

nat_gateway_id class-attribute instance-attribute
nat_gateway_id: str | None = ...

[IPv4 traffic only] The ID of a NAT gateway.

network_interface_id class-attribute instance-attribute
network_interface_id: str | None = ...

The ID of a network interface.

odb_network_arn class-attribute instance-attribute
odb_network_arn: str | None = ...

The Amazon Resource Name (ARN) of the ODB network.

route_table_id class-attribute instance-attribute
route_table_id: str | None = ...

The ID of the route table for the route.

transit_gateway_id class-attribute instance-attribute
transit_gateway_id: str | None = ...

The ID of a transit gateway.

vpc_endpoint_id class-attribute instance-attribute
vpc_endpoint_id: str | None = ...

The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

vpc_peering_connection_id class-attribute instance-attribute
vpc_peering_connection_id: str | None = ...

The ID of a VPC peering connection.

Output

CreateRouteOutput dataclass

Bases: _SerdeShape

Dataclass for CreateRouteOutput structure.

Attributes

response_metadata class-attribute instance-attribute
response_metadata: ResponseMetadata = ...

Metadata about the response that produced this output. Use this to recover the request identifiers a service's support team needs in order to investigate a call. Members of the metadata are individually optional.

return_ class-attribute instance-attribute
return_: bool | None = ...

Returns true if the request succeeds; otherwise, it returns an error.