Class: Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptions
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptions
- 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
-
#block_duration ⇒ Fixnum
Can only be specifed if the action for the rule is "rate_based_blacklist" 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.
-
#conform_action ⇒ String
Action to take when requests are under the given threshold.
-
#enforce_on_key ⇒ String
Determines the key to enforce the threshold_rps limit on.
-
#exceed_action ⇒ String
When a request is denied, returns the HTTP response code specified.
-
#threshold_rps ⇒ Fixnum
Rate in requests per second at which to begin ratelimiting.
Instance Method Summary collapse
-
#initialize(**args) ⇒ SecurityPolicyRuleRateLimitOptions
constructor
A new instance of SecurityPolicyRuleRateLimitOptions.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Google::Apis::Core::JsonObjectSupport
Methods included from Google::Apis::Core::Hashable
Constructor Details
#initialize(**args) ⇒ SecurityPolicyRuleRateLimitOptions
Returns a new instance of SecurityPolicyRuleRateLimitOptions.
30702 30703 30704 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 30702 def initialize(**args) update!(**args) end |
Instance Attribute Details
#block_duration ⇒ Fixnum
Can only be specifed if the action for the rule is "rate_based_blacklist" 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.
Corresponds to the JSON property blockDuration
30675 30676 30677 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 30675 def block_duration @block_duration end |
#conform_action ⇒ String
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
30682 30683 30684 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 30682 def conform_action @conform_action end |
#enforce_on_key ⇒ String
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
30689 30690 30691 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 30689 def enforce_on_key @enforce_on_key end |
#exceed_action ⇒ 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
30695 30696 30697 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 30695 def exceed_action @exceed_action end |
#threshold_rps ⇒ Fixnum
Rate in requests per second at which to begin ratelimiting.
Corresponds to the JSON property thresholdRps
30700 30701 30702 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 30700 def threshold_rps @threshold_rps end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
30707 30708 30709 30710 30711 30712 30713 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 30707 def update!(**args) @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) @threshold_rps = args[:threshold_rps] if args.key?(:threshold_rps) end |