Struct fastly_api::models::rate_limiter::RateLimiter
source · pub struct RateLimiter {
pub name: Option<String>,
pub uri_dictionary_name: Option<String>,
pub http_methods: Option<HashSet<HttpMethods>>,
pub rps_limit: Option<i32>,
pub window_size: Option<WindowSize>,
pub client_key: Option<Vec<String>>,
pub penalty_box_duration: Option<i32>,
pub action: Option<Action>,
pub response: Option<Box<RateLimiterResponse1>>,
pub response_object_name: Option<String>,
pub logger_type: Option<LoggerType>,
pub feature_revision: Option<i32>,
}
Fields§
§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<HashSet<HttpMethods>>
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<WindowSize>
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<Action>
The action to take when a rate limiter violation is detected.
response: Option<Box<RateLimiterResponse1>>
§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<LoggerType>
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.
Implementations§
source§impl RateLimiter
impl RateLimiter
pub fn new() -> RateLimiter
Trait Implementations§
source§impl Clone for RateLimiter
impl Clone for RateLimiter
source§fn clone(&self) -> RateLimiter
fn clone(&self) -> RateLimiter
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for RateLimiter
impl Debug for RateLimiter
source§impl Default for RateLimiter
impl Default for RateLimiter
source§fn default() -> RateLimiter
fn default() -> RateLimiter
source§impl<'de> Deserialize<'de> for RateLimiter
impl<'de> Deserialize<'de> for RateLimiter
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
source§impl PartialEq<RateLimiter> for RateLimiter
impl PartialEq<RateLimiter> for RateLimiter
source§fn eq(&self, other: &RateLimiter) -> bool
fn eq(&self, other: &RateLimiter) -> bool
self
and other
values to be equal, and is used
by ==
.