class Google::Apis::ComputeBeta::SecurityPolicyRuleRateLimitOptions
Attributes
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. Corresponds to the JSON property `banDurationSec` @return [Fixnum]
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'. Corresponds to the JSON property `banThreshold` @return [Google::Apis::ComputeBeta::SecurityPolicyRuleRateLimitOptionsThreshold]
Action to take for requests that are under the configured rate limit threshold. Valid option is “allow” only. Corresponds to the JSON property `conformAction` @return [String]
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. “ALL_IPS” – This definition, equivalent to “ALL”, has been depprecated. “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”. Corresponds to the JSON property `enforceOnKey` @return [String]
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. Corresponds to the JSON property `enforceOnKeyName` @return [String]
When a request is denied, returns the HTTP response code specified. Valid options are “deny()” where valid values for status are 403, 404, 429, and 502. Corresponds to the JSON property `exceedAction` @return [String]
Threshold at which to begin ratelimiting. Corresponds to the JSON property `rateLimitThreshold` @return [Google::Apis::ComputeBeta::SecurityPolicyRuleRateLimitOptionsThreshold]
Public Class Methods
# File lib/google/apis/compute_beta/classes.rb, line 31593 def initialize(**args) update!(**args) end
Public Instance Methods
Update properties of this object
# File lib/google/apis/compute_beta/classes.rb, line 31598 def update!(**args) @ban_duration_sec = args[:ban_duration_sec] if args.key?(:ban_duration_sec) @ban_threshold = args[:ban_threshold] if args.key?(:ban_threshold) @conform_action = args[:conform_action] if args.key?(:conform_action) @enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key) @enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name) @exceed_action = args[:exceed_action] if args.key?(:exceed_action) @rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold) end