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
-
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 anHttpMatch
. 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: