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 an Edge 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 an Edge 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