CreateRule - Amazon VPC Lattice

CreateRule

Creates a listener rule. Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions. For more information, see Listener rules in the Amazon VPC Lattice User Guide.

Request Syntax

POST /services/serviceIdentifier/listeners/listenerIdentifier/rules HTTP/1.1 Content-type: application/json { "action": { ... }, "clientToken": "string", "match": { ... }, "name": "string", "priority": number, "tags": { "string" : "string" } }

URI Request Parameters

The request uses the following URI parameters.

listenerIdentifier

The ID or Amazon Resource Name (ARN) of the listener.

Length Constraints: Minimum length of 20. Maximum length of 2048.

Pattern: ^((listener-[0-9a-z]{17})|(^arn:[a-z0-9\-]+:vpc-lattice:[a-zA-Z0-9\-]+:\d{12}:service/svc-[0-9a-z]{17}/listener/listener-[0-9a-z]{17}$))$

Required: Yes

serviceIdentifier

The ID or Amazon Resource Name (ARN) of the service.

Length Constraints: Minimum length of 17. Maximum length of 2048.

Pattern: ^((svc-[0-9a-z]{17})|(arn:[a-z0-9\-]+:vpc-lattice:[a-zA-Z0-9\-]+:\d{12}:service/svc-[0-9a-z]{17}))$

Required: Yes

Request Body

The request accepts the following data in JSON format.

action

The action for the default rule.

Type: RuleAction object

Note: This object is a Union. Only one member of this object can be specified or returned.

Required: Yes

clientToken

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [!-~]+

Required: No

match

The rule match.

Type: RuleMatch object

Note: This object is a Union. Only one member of this object can be specified or returned.

Required: Yes

name

The name of the rule. The name must be unique within the listener. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

Type: String

Length Constraints: Minimum length of 3. Maximum length of 63.

Pattern: ^(?!rule-)(?![-])(?!.*[-]$)(?!.*[-]{2})[a-z0-9-]+$

Required: Yes

priority

The priority assigned to the rule. Each rule for a specific listener must have a unique priority. The lower the priority number the higher the priority.

Type: Integer

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

Required: Yes

tags

The tags for the rule.

Type: String to string map

Map Entries: Minimum number of 0 items. Maximum number of 200 items.

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

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

Required: No

Response Syntax

HTTP/1.1 201 Content-type: application/json { "action": { ... }, "arn": "string", "id": "string", "match": { ... }, "name": "string", "priority": number }

Response Elements

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

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

action

The rule action.

Type: RuleAction object

Note: This object is a Union. Only one member of this object can be specified or returned.

arn

The Amazon Resource Name (ARN) of the rule.

Type: String

Length Constraints: Minimum length of 20. Maximum length of 2048.

Pattern: ^arn:[a-z0-9\-]+:vpc-lattice:[a-zA-Z0-9\-]+:\d{12}:service/svc-[0-9a-z]{17}/listener/listener-[0-9a-z]{17}/rule/rule-[0-9a-z]{17}$

id

The ID of the rule.

Type: String

Length Constraints: Minimum length of 5. Maximum length of 22.

Pattern: ^rule-[0-9a-z]{17}$

match

The rule match. The RuleMatch must be an HttpMatch. This means that the rule should be an exact match on HTTP constraints which are made up of the HTTP method, path, and header.

Type: RuleMatch object

Note: This object is a Union. Only one member of this object can be specified or returned.

name

The name of the rule.

Type: String

Length Constraints: Minimum length of 3. Maximum length of 63.

Pattern: ^(?!rule-)(?![-])(?!.*[-]$)(?!.*[-]{2})[a-z0-9-]+$

priority

The priority assigned to the rule. The lower the priority number the higher the priority.

Type: Integer

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

Errors

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

AccessDeniedException

The user does not have sufficient access to perform this action.

HTTP Status Code: 403

ConflictException

The request conflicts with the current state of the resource. Updating or deleting a resource can cause an inconsistent state.

HTTP Status Code: 409

InternalServerException

An unexpected error occurred while processing the request.

HTTP Status Code: 500

ResourceNotFoundException

The request references a resource that does not exist.

HTTP Status Code: 404

ServiceQuotaExceededException

The request would cause a service quota to be exceeded.

HTTP Status Code: 402

ThrottlingException

The limit on the number of requests per second was exceeded.

HTTP Status Code: 429

ValidationException

The input does not satisfy the constraints specified by an AWS 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: