EC2 / Client / create_route_table
create_route_table#
- EC2.Client.create_route_table(**kwargs)#
- Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet. - For more information, see Route tables in the Amazon Virtual Private Cloud User Guide . - See also: AWS API Documentation - Request Syntax - response = client.create_route_table( DryRun=True|False, VpcId='string', TagSpecifications=[ { 'ResourceType': 'capacity-reservation'|'client-vpn-endpoint'|'customer-gateway'|'carrier-gateway'|'coip-pool'|'dedicated-host'|'dhcp-options'|'egress-only-internet-gateway'|'elastic-ip'|'elastic-gpu'|'export-image-task'|'export-instance-task'|'fleet'|'fpga-image'|'host-reservation'|'image'|'import-image-task'|'import-snapshot-task'|'instance'|'instance-event-window'|'internet-gateway'|'ipam'|'ipam-pool'|'ipam-scope'|'ipv4pool-ec2'|'ipv6pool-ec2'|'key-pair'|'launch-template'|'local-gateway'|'local-gateway-route-table'|'local-gateway-virtual-interface'|'local-gateway-virtual-interface-group'|'local-gateway-route-table-vpc-association'|'local-gateway-route-table-virtual-interface-group-association'|'natgateway'|'network-acl'|'network-interface'|'network-insights-analysis'|'network-insights-path'|'network-insights-access-scope'|'network-insights-access-scope-analysis'|'placement-group'|'prefix-list'|'replace-root-volume-task'|'reserved-instances'|'route-table'|'security-group'|'security-group-rule'|'snapshot'|'spot-fleet-request'|'spot-instances-request'|'subnet'|'subnet-cidr-reservation'|'traffic-mirror-filter'|'traffic-mirror-session'|'traffic-mirror-target'|'transit-gateway'|'transit-gateway-attachment'|'transit-gateway-connect-peer'|'transit-gateway-multicast-domain'|'transit-gateway-policy-table'|'transit-gateway-route-table'|'transit-gateway-route-table-announcement'|'volume'|'vpc'|'vpc-endpoint'|'vpc-endpoint-connection'|'vpc-endpoint-service'|'vpc-endpoint-service-permission'|'vpc-peering-connection'|'vpn-connection'|'vpn-gateway'|'vpc-flow-log'|'capacity-reservation-fleet'|'traffic-mirror-filter-rule'|'vpc-endpoint-connection-device-type'|'verified-access-instance'|'verified-access-group'|'verified-access-endpoint'|'verified-access-policy'|'verified-access-trust-provider'|'vpn-connection-device-type'|'vpc-block-public-access-exclusion'|'ipam-resource-discovery'|'ipam-resource-discovery-association', 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] }, ] ) - Parameters:
- DryRun (boolean) – 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.
- VpcId (string) – - [REQUIRED] - The ID of the VPC. 
- TagSpecifications (list) – - The tags to assign to the route table. - (dict) – - The tags to apply to a resource when the resource is being created. When you specify a tag, you must specify the resource type to tag, otherwise the request will fail. - Note - The - Valid Valueslists all the resource types that can be tagged. However, the action you’re using might not support tagging all of these resource types. If you try to tag a resource type that is unsupported for the action you’re using, you’ll get an error.- ResourceType (string) – - The type of resource to tag on creation. 
- Tags (list) – - The tags to apply to the resource. - (dict) – - Describes a tag. - Key (string) – - The key of the tag. - Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with - aws:.
- Value (string) – - The value of the tag. - Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters. 
 
 
 
 
 
- Return type:
- dict 
- Returns:
- Response Syntax - { 'RouteTable': { 'Associations': [ { 'Main': True|False, 'RouteTableAssociationId': 'string', 'RouteTableId': 'string', 'SubnetId': 'string', 'GatewayId': 'string', 'AssociationState': { 'State': 'associating'|'associated'|'disassociating'|'disassociated'|'failed', 'StatusMessage': 'string' } }, ], 'PropagatingVgws': [ { 'GatewayId': 'string' }, ], 'RouteTableId': 'string', 'Routes': [ { 'DestinationCidrBlock': 'string', 'DestinationIpv6CidrBlock': 'string', 'DestinationPrefixListId': 'string', 'EgressOnlyInternetGatewayId': 'string', 'GatewayId': 'string', 'InstanceId': 'string', 'InstanceOwnerId': 'string', 'NatGatewayId': 'string', 'TransitGatewayId': 'string', 'LocalGatewayId': 'string', 'CarrierGatewayId': 'string', 'NetworkInterfaceId': 'string', 'Origin': 'CreateRouteTable'|'CreateRoute'|'EnableVgwRoutePropagation', 'State': 'active'|'blackhole', 'VpcPeeringConnectionId': 'string', 'CoreNetworkArn': 'string' }, ], 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ], 'VpcId': 'string', 'OwnerId': 'string' } } - Response Structure - (dict) – - RouteTable (dict) – - Information about the route table. - Associations (list) – - The associations between the route table and one or more subnets or a gateway. - (dict) – - Describes an association between a route table and a subnet or gateway. - Main (boolean) – - Indicates whether this is the main route table. 
- RouteTableAssociationId (string) – - The ID of the association. 
- RouteTableId (string) – - The ID of the route table. 
- SubnetId (string) – - The ID of the subnet. A subnet ID is not returned for an implicit association. 
- GatewayId (string) – - The ID of the internet gateway or virtual private gateway. 
- AssociationState (dict) – - The state of the association. - State (string) – - The state of the association. 
- StatusMessage (string) – - The status message, if applicable. 
 
 
 
- PropagatingVgws (list) – - Any virtual private gateway (VGW) propagating routes. - (dict) – - Describes a virtual private gateway propagating route. - GatewayId (string) – - The ID of the virtual private gateway. 
 
 
- RouteTableId (string) – - The ID of the route table. 
- Routes (list) – - The routes in the route table. - (dict) – - Describes a route in a route table. - DestinationCidrBlock (string) – - The IPv4 CIDR block used for the destination match. 
- DestinationIpv6CidrBlock (string) – - The IPv6 CIDR block used for the destination match. 
- DestinationPrefixListId (string) – - The prefix of the Amazon Web Service. 
- EgressOnlyInternetGatewayId (string) – - The ID of the egress-only internet gateway. 
- GatewayId (string) – - The ID of a gateway attached to your VPC. 
- InstanceId (string) – - The ID of a NAT instance in your VPC. 
- InstanceOwnerId (string) – - The ID of Amazon Web Services account that owns the instance. 
- NatGatewayId (string) – - The ID of a NAT gateway. 
- TransitGatewayId (string) – - The ID of a transit gateway. 
- LocalGatewayId (string) – - The ID of the local gateway. 
- CarrierGatewayId (string) – - The ID of the carrier gateway. 
- NetworkInterfaceId (string) – - The ID of the network interface. 
- Origin (string) – - Describes how the route was created. - CreateRouteTable- The route was automatically created when the route table was created.
- CreateRoute- The route was manually added to the route table.
- EnableVgwRoutePropagation- The route was propagated by route propagation.
 
- State (string) – - The state of the route. The - blackholestate indicates that the route’s target isn’t available (for example, the specified gateway isn’t attached to the VPC, or the specified NAT instance has been terminated).
- VpcPeeringConnectionId (string) – - The ID of a VPC peering connection. 
- CoreNetworkArn (string) – - The Amazon Resource Name (ARN) of the core network. 
 
 
- Tags (list) – - Any tags assigned to the route table. - (dict) – - Describes a tag. - Key (string) – - The key of the tag. - Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with - aws:.
- Value (string) – - The value of the tag. - Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters. 
 
 
- VpcId (string) – - The ID of the VPC. 
- OwnerId (string) – - The ID of the Amazon Web Services account that owns the route table. 
 
 
 
 - Examples - This example creates a route table for the specified VPC. - response = client.create_route_table( VpcId='vpc-a01106c2', ) print(response) - Expected Output: - { 'RouteTable': { 'Associations': [ ], 'PropagatingVgws': [ ], 'RouteTableId': 'rtb-22574640', 'Routes': [ { 'DestinationCidrBlock': '10.0.0.0/16', 'GatewayId': 'local', 'State': 'active', }, ], 'Tags': [ ], 'VpcId': 'vpc-a01106c2', }, 'ResponseMetadata': { '...': '...', }, }