Class: Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptions
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptions
- 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
-
#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".
-
#block_duration ⇒ 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 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.
-
#rate_limit_threshold ⇒ Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold
Threshold at which to begin ratelimiting.
-
#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.
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_sec ⇒ 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' when the
number of requests that exceed the 'rate_limit_threshold' also exceed this '
ban_threshold'.
Corresponds to the JSON property banDurationSec
33786 33787 33788 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 33786 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' 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_duration ⇒ 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
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
33802 33803 33804 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 33802 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
33809 33810 33811 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 33809 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
33816 33817 33818 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 33816 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
33822 33823 33824 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 33822 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
33827 33828 33829 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 33827 def rate_limit_threshold @rate_limit_threshold end |
#threshold_rps ⇒ Fixnum
Rate in requests per second at which to begin ratelimiting. [Deprecated] This
field is deprecated.
Corresponds to the JSON property thresholdRps
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 |