CreateGatewayRateLimit
Creates a rate limit for a gateway. Rate limits define throttling rules for each dimension that control request rates, token consumption rates, and concurrent connections through the gateway.
Request Syntax
POST /gateways/gatewayIdentifier/rate-limits HTTP/1.1
Content-type: application/json
{
"clientToken": "string",
"description": "string",
"dimensionKeys": [ "string" ],
"entries": [
{
"connections": [
{
"period": "string",
"rate": number
}
],
"dimensions": {
"string" : "string"
},
"requests": [
{
"period": "string",
"rate": number
}
],
"tokens": [
{
"period": "string",
"rate": number
}
]
}
],
"rateLimitId": "string"
}
URI Request Parameters
The request uses the following URI parameters.
- gatewayIdentifier
-
The unique identifier of the gateway to create the rate limit for.
Pattern:
([0-9a-z][-]?){1,100}-[0-9a-z]{10}Required: Yes
Request Body
The request accepts the following data in JSON format.
- clientToken
-
A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If you don't specify this field, a value is randomly generated for you. If this token matches a previous request, the service ignores the request, but doesn't return an error. For more information, see Ensuring idempotency.
Type: String
Length Constraints: Minimum length of 33. Maximum length of 256.
Pattern:
[a-zA-Z0-9](-*[a-zA-Z0-9]){0,256}Required: No
- description
-
An optional human-readable description for this rate limit. If not provided, the rate limit is created without a description.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 512.
Required: No
- dimensionKeys
-
The ordered list of dimension key names that define the scope of this rate limit. Must be unique per gateway—no two rate limits can share the same dimension keys.
Type: Array of strings
Array Members: Minimum number of 1 item. Maximum number of 10 items.
Length Constraints: Minimum length of 1. Maximum length of 80.
Pattern:
(targetName|toolName|qualifiedModelId|\$\.context\.iam\.principal|\$\.context\.iam\.sourceIdentity|\$\.context\.jwt\.[a-zA-Z_][a-zA-Z0-9_\-\.]{0,61}[a-zA-Z0-9_])Required: Yes
- entries
-
The rule entries that map dimension values to rate configurations.
Type: Array of LimitEntry objects
Array Members: Minimum number of 1 item. Maximum number of 1000 items.
Required: Yes
- rateLimitId
-
An optional customer-defined identifier for the rate limit. If not provided, the system generates one.
Type: String
Length Constraints: Minimum length of 2. Maximum length of 64.
Pattern:
[a-zA-Z0-9][a-zA-Z0-9\-_\.]{0,62}[a-zA-Z0-9]Required: No
Response Syntax
HTTP/1.1 201
Content-type: application/json
{
"createdAt": "string",
"description": "string",
"dimensionKeys": [ "string" ],
"entries": [
{
"connections": [
{
"period": "string",
"rate": number
}
],
"dimensions": {
"string" : "string"
},
"requests": [
{
"period": "string",
"rate": number
}
],
"tokens": [
{
"period": "string",
"rate": number
}
]
}
],
"gatewayIdentifier": "string",
"rateLimitId": "string",
"status": "string",
"updatedAt": "string"
}
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.
- createdAt
-
The timestamp when the rate limit was created.
Type: Timestamp
- description
-
The human-readable description of the rate limit.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 512.
- dimensionKeys
-
The ordered list of dimension key names that define the scope of this rate limit.
Type: Array of strings
Array Members: Minimum number of 1 item. Maximum number of 10 items.
Length Constraints: Minimum length of 1. Maximum length of 80.
Pattern:
(targetName|toolName|qualifiedModelId|\$\.context\.iam\.principal|\$\.context\.iam\.sourceIdentity|\$\.context\.jwt\.[a-zA-Z_][a-zA-Z0-9_\-\.]{0,61}[a-zA-Z0-9_]) - entries
-
The list of rule entries that map dimension values to rate configurations.
Type: Array of LimitEntry objects
Array Members: Minimum number of 1 item. Maximum number of 1000 items.
- gatewayIdentifier
-
The unique identifier of the gateway.
Type: String
Pattern:
([0-9a-z][-]?){1,100}-[0-9a-z]{10} - rateLimitId
-
The unique identifier of the created rate limit.
Type: String
Length Constraints: Minimum length of 2. Maximum length of 64.
Pattern:
[a-zA-Z0-9][a-zA-Z0-9\-_\.]{0,62}[a-zA-Z0-9] - status
-
The current status of the rate limit.
Type: String
Valid Values:
CREATING | ACTIVE | UPDATING | DELETING - updatedAt
-
The timestamp when the rate limit was last updated.
Type: Timestamp
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedException
-
This exception is thrown when a request is denied per access permissions
HTTP Status Code: 403
- ConflictException
-
This exception is thrown when there is a conflict performing an operation
HTTP Status Code: 409
- InternalServerException
-
This exception is thrown if there was an unexpected error during processing of request
HTTP Status Code: 500
- ResourceNotFoundException
-
This exception is thrown when a resource referenced by the operation does not exist
HTTP Status Code: 404
- ServiceQuotaExceededException
-
This exception is thrown when a request is made beyond the service quota
HTTP Status Code: 402
- ThrottlingException
-
This exception is thrown when the number of requests exceeds the limit
HTTP Status Code: 429
- ValidationException
-
The input fails to 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: