BatchPutGatewayRateLimits
Atomically creates or updates multiple rate limits for a gateway. The operation updates existing limits with matching keys and creates new limits for new keys. If the operation fails, the service applies no changes. Retry the request after resolving the issue.
Request Syntax
PUT /gateways/gatewayIdentifier/rate-limits/batch HTTP/1.1
Content-type: application/json
{
"clientToken": "string",
"rateLimits": [
{
"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.
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
- rateLimits
-
The complete set of rate limits for this gateway. This operation replaces all existing rate limits in a single request. If the operation fails, no rate limits are changed.
Type: Array of BatchPutLimitEntry objects
Array Members: Minimum number of 1 item. Maximum number of 50 items.
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"rateLimits": [
{
"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 200 response.
The following data is returned in JSON format by the service.
- rateLimits
-
The resulting set of rate limits after the batch operation.
Type: Array of GatewayRateLimitDetail objects
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: