Class: Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptions

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
generated/google/apis/compute_alpha/classes.rb,
generated/google/apis/compute_alpha/representations.rb,
generated/google/apis/compute_alpha/representations.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ SecurityPolicyRuleRateLimitOptions

Returns a new instance of SecurityPolicyRuleRateLimitOptions.



33835
33836
33837
# File 'generated/google/apis/compute_alpha/classes.rb', line 33835

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#ban_duration_secFixnum

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' when the number of requests that exceed the 'rate_limit_threshold' also exceed this ' ban_threshold'. Corresponds to the JSON property banDurationSec

Returns:

  • (Fixnum)


33786
33787
33788
# File 'generated/google/apis/compute_alpha/classes.rb', line 33786

def ban_duration_sec
  @ban_duration_sec
end

#ban_thresholdGoogle::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold

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' when the number of requests that exceed the 'rate_limit_threshold' also exceed this ' ban_threshold'. Corresponds to the JSON property banThreshold



33794
33795
33796
# File 'generated/google/apis/compute_alpha/classes.rb', line 33794

def ban_threshold
  @ban_threshold
end

#block_durationFixnum

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 blocked by the rate limit after the rate falls below the threshold. The default value is 0 seconds. [Deprecated] This field is deprecated. Corresponds to the JSON property blockDuration

Returns:

  • (Fixnum)


33802
33803
33804
# File 'generated/google/apis/compute_alpha/classes.rb', line 33802

def block_duration
  @block_duration
end

#conform_actionString

Action to take when requests are under the given threshold. When requests are throttled, this is also the action for all requests which are not dropped. Valid options are "allow", "fairshare", and "drop_overload". Corresponds to the JSON property conformAction

Returns:

  • (String)


33809
33810
33811
# File 'generated/google/apis/compute_alpha/classes.rb', line 33809

def conform_action
  @conform_action
end

#enforce_on_keyString

Determines the key to enforce the threshold_rps limit on. If key is "IP", each IP has this limit enforced separately, whereas "ALL_IPs" means a single limit is applied to all requests matching this rule. Corresponds to the JSON property enforceOnKey

Returns:

  • (String)


33816
33817
33818
# File 'generated/google/apis/compute_alpha/classes.rb', line 33816

def enforce_on_key
  @enforce_on_key
end

#exceed_actionString

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

Returns:

  • (String)


33822
33823
33824
# File 'generated/google/apis/compute_alpha/classes.rb', line 33822

def exceed_action
  @exceed_action
end

#rate_limit_thresholdGoogle::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold

Threshold at which to begin ratelimiting. Corresponds to the JSON property rateLimitThreshold



33827
33828
33829
# File 'generated/google/apis/compute_alpha/classes.rb', line 33827

def rate_limit_threshold
  @rate_limit_threshold
end

#threshold_rpsFixnum

Rate in requests per second at which to begin ratelimiting. [Deprecated] This field is deprecated. Corresponds to the JSON property thresholdRps

Returns:

  • (Fixnum)


33833
33834
33835
# File 'generated/google/apis/compute_alpha/classes.rb', line 33833

def threshold_rps
  @threshold_rps
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



33840
33841
33842
33843
33844
33845
33846
33847
33848
33849
# File 'generated/google/apis/compute_alpha/classes.rb', line 33840

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)
  @block_duration = args[:block_duration] if args.key?(:block_duration)
  @conform_action = args[:conform_action] if args.key?(:conform_action)
  @enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
  @exceed_action = args[:exceed_action] if args.key?(:exceed_action)
  @rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold)
  @threshold_rps = args[:threshold_rps] if args.key?(:threshold_rps)
end