View a markdown version of this page

CreateLinkRoutingRule - AWS RTB Fabric

CreateLinkRoutingRule

Creates a routing rule for a link.

Routing rules use priority-based evaluation where lower priority numbers are evaluated first. Each rule specifies conditions that must all match for the rule to apply.

Request Syntax

POST /responder-gateway/gatewayId/link/linkId/routing-rule HTTP/1.1 Content-type: application/json { "clientToken": "string", "conditions": { "hostHeader": "string", "hostHeaderWildcard": "string", "pathExact": "string", "pathPrefix": "string", "queryStringEquals": { "key": "string", "value": "string" }, "queryStringExists": "string" }, "priority": number, "tags": { "string" : "string" } }

URI Request Parameters

The request uses the following URI parameters.

gatewayId

The unique identifier of the gateway.

Length Constraints: Minimum length of 8. Maximum length of 32.

Pattern: rtb-gw-[a-z0-9-]{1,25}

Required: Yes

linkId

The unique identifier of the link.

Length Constraints: Minimum length of 6. Maximum length of 30.

Pattern: link-[a-z0-9-]{1,25}

Required: Yes

Request Body

The request accepts the following data in JSON format.

clientToken

Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

If you don't provide this value, then AWS generates a random one for you.

If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

Type: String

Required: Yes

conditions

The conditions for the routing rule. All specified fields must match for the rule to apply. At least one condition field must be set.

Type: RuleCondition object

Required: Yes

priority

The priority of the routing rule. Lower numbers are evaluated first. Valid values are 1 to 1000. Priority must be unique among non-deleted rules within a link.

Type: Integer

Valid Range: Minimum value of 1. Maximum value of 1000.

Required: Yes

tags

A map of the key-value pairs of the tag or tags to assign to the resource.

Type: String to string map

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Key Pattern: (resourceArn|internalId|[a-zA-Z0-9+\-=._:/@]+)

Value Length Constraints: Minimum length of 0. Maximum length of 1600.

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "createdAt": number, "ruleId": "string", "status": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

createdAt

The timestamp of when the routing rule was created.

Type: Timestamp

ruleId

The unique identifier of the routing rule.

Type: String

Length Constraints: Minimum length of 6. Maximum length of 30.

Pattern: rule-[a-z0-9-]{1,25}

status

The status of the routing rule.

Type: String

Valid Values: CREATION_IN_PROGRESS | ACTIVE | UPDATE_IN_PROGRESS | DELETION_IN_PROGRESS | DELETED | FAILED

Errors

For information about the errors that are common to all actions, see Common Error Types.

AccessDeniedException

The request could not be completed because you do not have sufficient access to perform this action.

HTTP Status Code: 403

ConflictException

The request could not be completed because of a conflict in the current state of the resource.

HTTP Status Code: 409

InternalServerException

The request could not be completed because of an internal server error. Try your call again.

HTTP Status Code: 500

ResourceNotFoundException

The request could not be completed because the resource does not exist.

HTTP Status Code: 404

ServiceQuotaExceededException

The request could not be completed because you exceeded a service quota.

HTTP Status Code: 402

ThrottlingException

The request was denied due to request throttling.

HTTP Status Code: 429

ValidationException

The request could not be completed because it fails satisfy the constraints specified by the service.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: