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 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 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 2000.
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
RuleMatchmust 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 2000.
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.
- resourceId
-
The resource ID.
- resourceType
-
The resource type.
HTTP Status Code: 409
- InternalServerException
-
An unexpected error occurred while processing the request.
- retryAfterSeconds
-
The number of seconds to wait before retrying.
HTTP Status Code: 500
- ResourceNotFoundException
-
The request references a resource that does not exist.
- resourceId
-
The resource ID.
- resourceType
-
The resource type.
HTTP Status Code: 404
- ServiceQuotaExceededException
-
The request would cause a service quota to be exceeded.
- quotaCode
-
The ID of the service quota that was exceeded.
- resourceId
-
The resource ID.
- resourceType
-
The resource type.
- serviceCode
-
The service code.
HTTP Status Code: 402
- ThrottlingException
-
The limit on the number of requests per second was exceeded.
- quotaCode
-
The ID of the service quota that was exceeded.
- retryAfterSeconds
-
The number of seconds to wait before retrying.
- serviceCode
-
The service code.
HTTP Status Code: 429
- ValidationException
-
The input does not satisfy the constraints specified by an AWS service.
- fieldList
-
The fields that failed validation.
- reason
-
The reason.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: