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

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

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_durationFixnum

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

Returns:

  • (Fixnum)


30675
30676
30677
# File 'generated/google/apis/compute_alpha/classes.rb', line 30675

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)


30682
30683
30684
# File 'generated/google/apis/compute_alpha/classes.rb', line 30682

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)


30689
30690
30691
# File 'generated/google/apis/compute_alpha/classes.rb', line 30689

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)


30695
30696
30697
# File 'generated/google/apis/compute_alpha/classes.rb', line 30695

def exceed_action
  @exceed_action
end

#threshold_rpsFixnum

Rate in requests per second at which to begin ratelimiting. Corresponds to the JSON property thresholdRps

Returns:

  • (Fixnum)


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