class Google::Apis::ComputeBeta::SecurityPolicyRuleRateLimitOptions

Attributes

ban_duration_sec[RW]

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]

ban_threshold[RW]

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]

conform_action[RW]

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]

enforce_on_key[RW]

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]

enforce_on_key_name[RW]

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]

exceed_action[RW]

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]

rate_limit_threshold[RW]

Threshold at which to begin ratelimiting. Corresponds to the JSON property `rateLimitThreshold` @return [Google::Apis::ComputeBeta::SecurityPolicyRuleRateLimitOptionsThreshold]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/compute_beta/classes.rb, line 31593
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

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