Creates a policy-based route for a VPN gateway.

Usage notes

  • Before you call this operation, we recommend that you learn about the match rules of policy-based routes and limits on policy-based routes. For more information, see Work with policy-based routes.
  • Before you create a policy-based route, make sure that an IPsec-VPN connection is created. For more information, see CreateVpnConnection.
  • CreateVpnPbrRouteEntry is an asynchronous operation. After you send the request, the route information is returned but the operation is still being performed in the background. You can call DescribeVpnGateway to query the status of a VPN gateway.
    • If a VPN gateway is in the updating state, the policy-based route entry is being created.
    • If a VPN gateway is in the active state, the policy-based route entry is created.
  • You cannot repeatedly call CreateVpnPbrRouteEntry to create a policy-based route for a VPN gateway within the specified period of time.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter Type Required Example Description
Action String Yes CreateVpnPbrRouteEntry

The operation that you want to perform. Set the value to CreateVpnPbrRouteEntry.

RegionId String Yes cn-hangzhou

The ID of the region where the VPN gateway is created. You can call the DescribeRegions operation to query the most recent region list.

ClientToken String No d7d24a21-f4ba-4454-9173-b3****

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 set this parameter, ClientToken is set to the value of RequestId. The value of RequestId may be different for each API request.
VpnGatewayId String Yes vpn-bp1a3kqjiiq9legfx****

The ID of the VPN gateway.

RouteSource String Yes 192.168.1.0/24

The source CIDR block of the policy-based route.

RouteDest String Yes 10.0.0.0/24

The destination CIDR block of the policy-based route.

NextHop String Yes vco-bp15oes1py4i66rmd****

The next hop of the policy-based route.

Weight Integer Yes 0

The weight of the policy-based route.

If you use the same VPN gateway to establish active/standby IPsec-VPN connections, you can configure route weights to specify which connection is active. A value of 100 specifies the active connection while a value of 0 specifies the standby connection.

You can configure health checks to automatically check the connection connectivity. If the active connection is down, the standby connection automatically takes over. For more information, see CreateVpnConnection.

  • 100: The IPsec-VPN connection associated with the policy-based route serves as an active connection.
  • 0: The IPsec-VPN connection associated with the policy-based route serves as a standby connection.
Note When you specify the active or standby connection, the primary route and secondary route must use the same source CIDR block and destination CIDR block.
PublishVpc Boolean Yes true

Specifies whether to advertise the policy-based route to a virtual private cloud (VPC) route table. Valid values:

  • true: yes
  • false: no
Description String No desctest

The description of the policy-based route.

The description must be 1 to 100 characters in length, and cannot start with http:// or https://.

OverlayMode String No Ipsec

The tunneling protocol. Set the value to Ipsec.

Priority Integer No 10

The priority of the policy-based route. Valid values: 1 to 100. Default value: 10.

A smaller value indicates a higher priority.

Note Only some VPN gateways in specific regions allow you to configure priorities for policy-based routes. For more information about the regions, see Match rules of policy-based routes.

Response parameters

Parameter Type Example Description
NextHop String vco-bp15oes1py4i66rmd****

The next hop of the policy-based route.

Weight Integer 0

The weight of the policy-based route.

  • 100: The IPsec-VPN connection associated with the policy-based route serves as an active connection.
  • 0: The IPsec-VPN connection associated with the policy-based route serves as a standby connection.
RouteDest String 10.0.0.0/24

The destination CIDR block of the policy-based route.

RequestId String 5BE01CD7-5A50-472D-AC14-CA181C5C03BE

The ID of the request.

Description String desctest

The description of the policy-based route.

State String normal

The status of the policy-based route. Valid values:

  • published: advertised to the VPC route table.
  • normal: not advertised to the VPC route table.
CreateTime Long 1492747187000

The timestamp generated when the policy-based route was created. Unit: milliseconds.

This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.

OverlayMode String Ipsec

The tunneling protocol. The value is set to Ipsec, which indicates the IPsec tunneling protocol.

RouteSource String 192.168.1.0/24

The source CIDR block of the policy-based route.

VpnInstanceId String vpn-bp1cmw7jh1nfe43m9****

The ID of the VPN gateway.

Priority Integer 10

The priority of the policy-based route.

Examples

Sample requests

http(s)://[Endpoint]/?Action=CreateVpnPbrRouteEntry
&RegionId=cn-hangzhou
&ClientToken=d7d24a21-f4ba-4454-9173-b3****
&VpnGatewayId=vpn-bp1a3kqjiiq9legfx****
&RouteSource=192.168.1.0/24
&RouteDest=10.0.0.0/24
&NextHop=vco-bp15oes1py4i66rmd****
&Weight=0
&PublishVpc=true
&Description=desctest
&OverlayMode=Ipsec
&Priority=10
&Common request parameters

Sample success responses

XML format

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateVpnPbrRouteEntryResponse>
    <NextHop>vco-bp15oes1py4i66rmd****</NextHop>
    <Weight>0</Weight>
    <RouteDest>10.0.0.0/24</RouteDest>
    <RequestId>5BE01CD7-5A50-472D-AC14-CA181C5C03BE</RequestId>
    <Description>desctest</Description>
    <State>normal</State>
    <CreateTime>1492747187000</CreateTime>
    <OverlayMode>Ipsec</OverlayMode>
    <RouteSource>192.168.1.0/24</RouteSource>
    <VpnInstanceId>vpn-bp1cmw7jh1nfe43m9****</VpnInstanceId>
    <Priority>10</Priority>
</CreateVpnPbrRouteEntryResponse>

JSON format

HTTP/1.1 200 OK
Content-Type:application/json

{
  "NextHop" : "vco-bp15oes1py4i66rmd****",
  "Weight" : 0,
  "RouteDest" : "10.0.0.0/24",
  "RequestId" : "5BE01CD7-5A50-472D-AC14-CA181C5C03BE",
  "Description" : "desctest",
  "State" : "normal",
  "CreateTime" : 1492747187000,
  "OverlayMode" : "Ipsec",
  "RouteSource" : "192.168.1.0/24",
  "VpnInstanceId" : "vpn-bp1cmw7jh1nfe43m9****",
  "Priority" : 10
}

Error codes

HttpCode Error code Error message Description
400 Resource.QuotaFull The quota of resource is full The error message returned because the resource quota is exhausted.
400 VpnGateway.Configuring The specified service is configuring. The error message returned because the operation is not allowed when the specified service is being configured. Try again later.
400 VpnGateway.FinancialLocked The specified service is financial locked. The error message returned because the service is suspended due to overdue payments. Top up your account balance first.
400 VpnRouteEntry.AlreadyExists The specified route entry is already exist. The error message returned because the route already exists.
400 VpnRouteEntry.Conflict The specified route entry has conflict. The error message returned because the specified route conflicts with an existing route.
400 VpnRouteEntry.ConflictSSL The specified route entry has conflict with SSL client. The error message returned because the route conflicts with the SSL client.
400 VpnRouteEntry.BackupRoute Validate backup route entry failed. The error message returned because active/standby routes failed authentication.
400 VpnRouteEntry.InvalidWeight Invalid route entry weight value. The error message returned because the weight specified for the route is invalid.
400 InvalidNextHop.NotFound The specified NextHop does not exist. The error message returned because the specified next hop does not exist.
400 IllegalParam.RouteDest The specified RouteDest is invalid The error message returned because 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. The error message returned because a route that points to another VPN gateway already exists in the same CIDR block in the route table of the VPC.
400 OperationFailed.InvalidCidrBlock Operation failed because the specified network block is invalid. The error message returned because the specified CIDR block is invalid.
400 OperationFailed.RouteConflict Operation failed because there is already a route in VPC route table to a non-RI and non-VPN next hop on the same network block. The error message returned because a route that points to another VPN gateway already exists in the same CIDR block in the route table of the VPC.
400 QuotaExceeded.VpnRouteEntry The number of route entries to the VPN gateway in the VPC routing table has reached the quota limit. The error message returned because the number of routes that point to the VPN gateway in the VPC route table reaches the upper limit.
400 VpnPbrRouteEntryPriority.NotSupport Current version of the VPN does not support setting custom pbr route entry priority. The error message returned because the VPN gateway of the current version does not allow you to set route priorities.
400 TaskConflict The operation is too frequent, please wait a moment and try again. The error message returned because your requests are too frequent. Try again later.
403 Forbbiden.SubUser User not authorized to operate on the specified resource as your account is created by another user. The error message returned because you are unauthorized to perform this operation on the specified resource. Acquire the required permissions and try again.
403 Forbidden User not authorized to operate on the specified resource. The error message returned because you are unauthorized to perform this operation on the specified resource. Apply for the required permissions and try again.
404 InvalidVpnGatewayInstanceId.NotFound The specified vpn gateway instance id does not exist. The error message returned because the specified VPN gateway does not exist. Check whether the specified VPN gateway is valid.

For a list of error codes, see Service error codes.