Skip to content

Latest commit

 

History

History
213 lines (139 loc) · 8.37 KB

RateLimiterApi.md

File metadata and controls

213 lines (139 loc) · 8.37 KB

RateLimiterApi

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_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)

Parameters

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.

Return type

crate::models::RateLimiterResponse

Authorization

token

HTTP request headers

  • Content-Type: application/x-www-form-urlencoded
  • Accept: application/json

[Back to top] [Back to API list] [Back to README]

delete_rate_limiter

Delete a rate limiter by its ID.

let cfg = &Configuration::default();
let params = DeleteRateLimiterParams {
    // parameters
};
delete_rate_limiter(cfg, params)

Parameters

Name Type Description Required Notes
rate_limiter_id String Alphanumeric string identifying the rate limiter. [required]

Return type

crate::models::InlineResponse200

Authorization

token

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

[Back to top] [Back to API list] [Back to README]

get_rate_limiter

Get a rate limiter by its ID.

let cfg = &Configuration::default();
let params = GetRateLimiterParams {
    // parameters
};
get_rate_limiter(cfg, params)

Parameters

Name Type Description Required Notes
rate_limiter_id String Alphanumeric string identifying the rate limiter. [required]

Return type

crate::models::RateLimiterResponse

Authorization

token

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

[Back to top] [Back to API list] [Back to README]

list_rate_limiters

List all rate limiters for a particular service and version.

let cfg = &Configuration::default();
let params = ListRateLimitersParams {
    // parameters
};
list_rate_limiters(cfg, params)

Parameters

Name Type Description Required Notes
service_id String Alphanumeric string identifying the service. [required]
version_id i32 Integer identifying a service version. [required]

Return type

Vec<crate::models::RateLimiterResponse>

Authorization

token

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

[Back to top] [Back to API list] [Back to README]

update_rate_limiter

Update a rate limiter by its ID.

let cfg = &Configuration::default();
let params = UpdateRateLimiterParams {
    // parameters
};
update_rate_limiter(cfg, params)

Parameters

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.

Return type

crate::models::RateLimiterResponse

Authorization

token

HTTP request headers

  • Content-Type: application/x-www-form-urlencoded
  • Accept: application/json

[Back to top] [Back to API list] [Back to README]