GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptions (google_api_compute v0.45.0) View Source

Attributes

  • banDurationSec (type: integer(), default: nil) - Can only be specified if the action for the rule is "rate_based_ban". If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.
  • banThreshold (type: GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptionsThreshold.t, default: nil) - Can only be specified if the action for the rule is "rate_based_ban". If specified, the key will be banned for the configured 'ban_duration_sec' when the number of requests that exceed the 'rate_limit_threshold' also exceed this 'ban_threshold'.
  • conformAction (type: String.t, default: nil) - Action to take for requests that are under the configured rate limit threshold. Valid option is "allow" only.
  • enforceOnKey (type: String.t, default: nil) - Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if this field 'enforce_on_key' is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforce_on_key_name". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key type defaults to ALL. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforce_on_key_name". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL.
  • enforceOnKeyName (type: String.t, default: nil) - Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
  • exceedAction (type: String.t, default: nil) - Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are "deny()" where valid values for status are 403, 404, 429, and 502, and "redirect" where the redirect parameters come from exceed_redirect_options below.
  • exceedRedirectOptions (type: GoogleApi.Compute.V1.Model.SecurityPolicyRuleRedirectOptions.t, default: nil) - Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect.
  • rateLimitThreshold (type: GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptionsThreshold.t, default: nil) - Threshold at which to begin ratelimiting.

Link to this section Summary

Functions

Unwrap a decoded JSON object into its complex fields.

Link to this section Types

Specs

t() :: %GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptions{
  banDurationSec: integer() | nil,
  banThreshold:
    GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptionsThreshold.t()
    | nil,
  conformAction: String.t() | nil,
  enforceOnKey: String.t() | nil,
  enforceOnKeyName: String.t() | nil,
  exceedAction: String.t() | nil,
  exceedRedirectOptions:
    GoogleApi.Compute.V1.Model.SecurityPolicyRuleRedirectOptions.t() | nil,
  rateLimitThreshold:
    GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptionsThreshold.t()
    | nil
}

Link to this section Functions

Specs

decode(struct(), keyword()) :: struct()

Unwrap a decoded JSON object into its complex fields.