Creates a destination route for a VPN gateway. After the destination route is created, the VPN gateway matches the destination route based on the destination IP address of the traffic and forwards the traffic based on the matched destination route.
Operation description
Before you begin
Before you create a destination route, make sure that you have created an IPsec-VPN connection. For more information, see CreateVpnConnection.
Before you create a destination route, we recommend that you understand the matching rules of destination routes. For more information, see Configure destination routes.
Limits
0.0.0.0/0 is not supported as the destination CIDR block of a destination route.
For a single-tunnel VPN gateway, a CIDR block that overlaps with 100.64.0.0/10 (including the CIDR block itself, its subnets, and its supernet) is not supported as the destination CIDR block of a destination route.
- The CreateVpnRouteEntry operation is asynchronous. The system returns the configuration information of the destination route, but the destination route is not yet created. The creation task is still running in the background. You can call the DescribeVpnGateway operation to query the creation status of the destination route:
If the VPN gateway is in the updating state, the destination route is being created.
If the VPN gateway is in the active state, the destination route is created.
The CreateVpnRouteEntry operation does not support concurrent creation of destination routes under the same VPN gateway.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
vpc:CreateVpnRouteEntry |
create |
*VpnGateway
|
None | None |
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| RegionId |
string |
Yes |
The region ID of the VPN gateway. You can call the DescribeRegions operation to query the region ID. |
cn-hangzhou |
| ClientToken |
string |
No |
The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the value is unique among different requests. The client token can contain only ASCII characters. Note
If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId of each API request is unique. |
d7d24a21-f4ba-4454-9173-b3828dae**** |
| VpnGatewayId |
string |
Yes |
The instance ID of the VPN gateway. |
vpn-bp1a3kqjiiq9legfx**** |
| RouteDest |
string |
Yes |
The destination CIDR block of the destination route. |
10.0.0.0/24 |
| NextHop |
string |
Yes |
The next hop of the destination route. |
vco-bp15oes1py4i66rmd**** |
| Weight |
integer |
Yes |
The weight of the destination route. In scenarios where you use the same VPN gateway instance to establish active/standby IPsec-VPN connections, you can specify the active/standby links by configuring the weight of the destination route. A destination route with a weight of 100 is the active link by default, and a destination route with a weight of 0 is the standby link by default. You can configure health checks for the IPsec-VPN connection to automatically detect the connectivity of the links. If the active link is disconnected, the system automatically switches traffic to the standby link to ensure high availability of the cloud access link. For more information, see CreateVpnConnection. Valid values:
Note
|
0 |
| PublishVpc |
boolean |
Yes |
Specifies whether to publish the destination route to the VPC. Valid values:
|
true |
| Description |
string |
No |
The description of the destination route. The description must be 1 to 100 characters in length, and cannot start with |
mytest |
| OverlayMode |
string |
No |
The tunnel protocol. Set the value to Ipsec (IPsec tunnel protocol). |
Ipsec |
| DryRun |
boolean |
No |
Specifies whether to only precheck the request. Valid values:
|
false |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
The returned result. |
||
| NextHop |
string |
The next hop of the destination route. |
vco-bp15oes1py4i66rmd**** |
| Weight |
integer |
The weight of the destination route. Valid values:
|
0 |
| RouteDest |
string |
The destination CIDR block of the destination route. |
10.0.0.0/24 |
| RequestId |
string |
The ID of the request. |
5BE01CD7-5A50-472D-AC14-CA181C5C03BE |
| Description |
string |
The description of the destination route. |
mytest |
| State |
string |
The publish status of the destination route. Valid values:
|
published |
| CreateTime |
integer |
The timestamp when the destination route was created. Unit: milliseconds. The timestamp is in the UNIX format, which represents the total duration from 00:00:00 on January 1, 1970 (UTC) to the time when the destination route was created. |
1492747187000 |
| OverlayMode |
string |
The tunnel protocol. Set the value to Ipsec (IPsec tunnel protocol). |
Ipsec |
| VpnInstanceId |
string |
The instance ID of the VPN gateway. |
vpn-bp1a3kqjiiq9legfx**** |
Examples
Success response
JSON format
{
"NextHop": "vco-bp15oes1py4i66rmd****",
"Weight": 0,
"RouteDest": "10.0.0.0/24",
"RequestId": "5BE01CD7-5A50-472D-AC14-CA181C5C03BE",
"Description": "mytest",
"State": "published",
"CreateTime": 1492747187000,
"OverlayMode": "Ipsec",
"VpnInstanceId": "vpn-bp1a3kqjiiq9legfx****"
}
Error codes
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | Resource.QuotaFull | The quota of resource is full | |
| 400 | VpnGateway.Configuring | The specified service is configuring. | |
| 400 | VpnGateway.FinancialLocked | The specified service is financial locked. | |
| 400 | VpnRouteEntry.AlreadyExists | The specified route entry is already exist. | The route already exists. |
| 400 | VpnRouteEntry.Conflict | The specified route entry has conflict. | Route conflicts exist. |
| 400 | VpnRouteEntry.ConflictSSL | The specified route entry has conflict with SSL client. | The route conflicts with the SSL client. |
| 400 | VpnRouteEntry.BackupRoute | Validate backup route entry failed. | Active/standby routes failed authentication. |
| 400 | VpnRouteEntry.InvalidWeight | Invalid route entry weight value. | The weight specified for the route is invalid. |
| 400 | InvalidNextHop.NotFound | The specified NextHop does not exist. | The specified next hop does not exist. |
| 400 | IllegalParam.RouteDest | The specified RouteDest is invalid | The destination address is invalid. |
| 400 | OperationFailed.RouteConflict | Operation failed because there is already a route in VPC route table to another VPN on the same network block. | Operation failed because there is already a route in VPC route table to another VPN on the same network block. |
| 400 | OperationFailed.InvalidCidrBlock | Operation failed because the specified network block is invalid. | The CIDR block is invalid. |
| 400 | QuotaExceeded.VpnRouteEntry | The number of route entries to the VPN gateway in the VPC routing table has reached the quota limit. | The number of route entries to the VPN gateway in the VPC routing table has reached the quota limit. |
| 400 | TaskConflict | The operation is too frequent, please wait a moment and try again. | Your requests are too frequent. Try again later. |
| 400 | VpnTask.CONFLICT | Vpn task has conflict. | The VPN operation conflicts. Try again later. |
| 400 | IncorrectVpcStatus | Current VPC status does not support this operation. | |
| 400 | InternalError | The request processing has failed due to some unknown error, exception or failure. | |
| 400 | InvalidCidrBlock.Malformed | Specified CIDR block is not valid. | |
| 400 | DryRunOperation | Request validation has been passed with DryRun flag set. | The request passed the dry run. |
| 400 | CreatePbrRoutesQuotaFull.QuotaFull | The number of policy routes exceeds the quota limit. | The number of policy routes exceeds the quota limit. |
| 400 | CreateDbrRoutesQuotaFull.QuotaFull | The number of created destination routes exceeds the quota limit. | The number of created destination routes exceeds the quota limit. |
| 403 | Forbbiden.SubUser | User not authorized to operate on the specified resource as your account is created by another user. | |
| 403 | Forbidden | User not authorized to operate on the specified resource. | You do not have the permissions to manage the specified resource. Apply for the permissions and try again. |
| 404 | InvalidVpnGatewayInstanceId.NotFound | The specified vpn gateway instance id does not exist. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.