Class: Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptions
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptions
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/representations.rb
Instance Attribute Summary collapse
-
#ban_duration_sec ⇒ Fixnum
Can only be specified if the action for the rule is "rate_based_ban".
-
#ban_threshold ⇒ Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold
Can only be specified if the action for the rule is "rate_based_ban".
-
#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.
-
#rate_limit_threshold ⇒ Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold
Threshold 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.
Constructor Details
#initialize(**args) ⇒ SecurityPolicyRuleRateLimitOptions
Returns a new instance of SecurityPolicyRuleRateLimitOptions.
35521 35522 35523 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35521 def initialize(**args) update!(**args) end |
Instance Attribute Details
#ban_duration_sec ⇒ Fixnum
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
35486 35487 35488 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35486 def ban_duration_sec @ban_duration_sec end |
#ban_threshold ⇒ Google::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_sec' when
the number of requests that exceed the 'rate_limit_threshold' also exceed this
'ban_threshold'.
Corresponds to the JSON property banThreshold
35494 35495 35496 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35494 def ban_threshold @ban_threshold 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
35501 35502 35503 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35501 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
35508 35509 35510 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35508 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
35514 35515 35516 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35514 def exceed_action @exceed_action end |
#rate_limit_threshold ⇒ Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold
Threshold at which to begin ratelimiting.
Corresponds to the JSON property rateLimitThreshold
35519 35520 35521 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35519 def rate_limit_threshold @rate_limit_threshold end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
35526 35527 35528 35529 35530 35531 35532 35533 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35526 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) @exceed_action = args[:exceed_action] if args.key?(:exceed_action) @rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold) end |