Note
All URIs are relative to https://api.fastly.com
| Method | HTTP request | Description |
|---|---|---|
| create_rate_limiter | POST /service/{service_id}/version/{version_id}/rate-limiters | Create a rate limiter |
| delete_rate_limiter | DELETE /rate-limiters/{rate_limiter_id} | Delete a rate limiter |
| get_rate_limiter | GET /rate-limiters/{rate_limiter_id} | Get a rate limiter |
| list_rate_limiters | GET /service/{service_id}/version/{version_id}/rate-limiters | List rate limiters |
| update_rate_limiter | PUT /rate-limiters/{rate_limiter_id} | Update a rate limiter |
Create a rate limiter for a particular service and version.
let cfg = &Configuration::default();
let params = CreateRateLimiterParams {
// parameters
};
create_rate_limiter(cfg, params)| Name | Type | Description | Required | Notes |
|---|---|---|---|---|
| service_id | String | Alphanumeric string identifying the service. | [required] | |
| version_id | i32 | Integer identifying a service version. | [required] | |
| name | Option<String> | A human readable name for the rate limiting rule. | ||
| uri_dictionary_name | Option<String> | The name of a Dictionary containing URIs as keys. If not defined or null, all origin URIs will be rate limited. |
||
| http_methods | Option<Vec<String>> | Array of HTTP methods to apply rate limiting to. | ||
| rps_limit | Option<i32> | Upper limit of requests per second allowed by the rate limiter. | ||
| window_size | Option<i32> | Number of seconds during which the RPS limit must be exceeded in order to trigger a violation. | ||
| client_key | Option<Vec<String>> | Array of VCL variables used to generate a counter key to identify a client. Example variables include req.http.Fastly-Client-IP, req.http.User-Agent, or a custom header like req.http.API-Key. |
||
| penalty_box_duration | Option<i32> | Length of time in minutes that the rate limiter is in effect after the initial violation is detected. | ||
| action | Option<String> | The action to take when a rate limiter violation is detected. | ||
| response_object_name | Option<String> | Name of existing response object. Required if action is response_object. Note that the rate limiter response is only updated to reflect the response object content when saving the rate limiter configuration. |
||
| logger_type | Option<String> | Name of the type of logging endpoint to be used when action is log_only. The logging endpoint type is used to determine the appropriate log format to use when emitting log entries. |
||
| feature_revision | Option<i32> | Revision number of the rate limiting feature implementation. Defaults to the most recent revision. |
crate::models::RateLimiterResponse
- Content-Type: application/x-www-form-urlencoded
- Accept: application/json
[Back to top] [Back to API list] [Back to README]
Delete a rate limiter by its ID.
let cfg = &Configuration::default();
let params = DeleteRateLimiterParams {
// parameters
};
delete_rate_limiter(cfg, params)| Name | Type | Description | Required | Notes |
|---|---|---|---|---|
| rate_limiter_id | String | Alphanumeric string identifying the rate limiter. | [required] |
crate::models::InlineResponse200
- Content-Type: Not defined
- Accept: application/json
[Back to top] [Back to API list] [Back to README]
Get a rate limiter by its ID.
let cfg = &Configuration::default();
let params = GetRateLimiterParams {
// parameters
};
get_rate_limiter(cfg, params)| Name | Type | Description | Required | Notes |
|---|---|---|---|---|
| rate_limiter_id | String | Alphanumeric string identifying the rate limiter. | [required] |
crate::models::RateLimiterResponse
- Content-Type: Not defined
- Accept: application/json
[Back to top] [Back to API list] [Back to README]
List all rate limiters for a particular service and version.
let cfg = &Configuration::default();
let params = ListRateLimitersParams {
// parameters
};
list_rate_limiters(cfg, params)| Name | Type | Description | Required | Notes |
|---|---|---|---|---|
| service_id | String | Alphanumeric string identifying the service. | [required] | |
| version_id | i32 | Integer identifying a service version. | [required] |
Vec<crate::models::RateLimiterResponse>
- Content-Type: Not defined
- Accept: application/json
[Back to top] [Back to API list] [Back to README]
Update a rate limiter by its ID.
let cfg = &Configuration::default();
let params = UpdateRateLimiterParams {
// parameters
};
update_rate_limiter(cfg, params)| Name | Type | Description | Required | Notes |
|---|---|---|---|---|
| rate_limiter_id | String | Alphanumeric string identifying the rate limiter. | [required] | |
| name | Option<String> | A human readable name for the rate limiting rule. | ||
| uri_dictionary_name | Option<String> | The name of a Dictionary containing URIs as keys. If not defined or null, all origin URIs will be rate limited. |
||
| http_methods | Option<Vec<String>> | Array of HTTP methods to apply rate limiting to. | ||
| rps_limit | Option<i32> | Upper limit of requests per second allowed by the rate limiter. | ||
| window_size | Option<i32> | Number of seconds during which the RPS limit must be exceeded in order to trigger a violation. | ||
| client_key | Option<Vec<String>> | Array of VCL variables used to generate a counter key to identify a client. Example variables include req.http.Fastly-Client-IP, req.http.User-Agent, or a custom header like req.http.API-Key. |
||
| penalty_box_duration | Option<i32> | Length of time in minutes that the rate limiter is in effect after the initial violation is detected. | ||
| action | Option<String> | The action to take when a rate limiter violation is detected. | ||
| response_object_name | Option<String> | Name of existing response object. Required if action is response_object. Note that the rate limiter response is only updated to reflect the response object content when saving the rate limiter configuration. |
||
| logger_type | Option<String> | Name of the type of logging endpoint to be used when action is log_only. The logging endpoint type is used to determine the appropriate log format to use when emitting log entries. |
||
| feature_revision | Option<i32> | Revision number of the rate limiting feature implementation. Defaults to the most recent revision. |
crate::models::RateLimiterResponse
- Content-Type: application/x-www-form-urlencoded
- Accept: application/json