Class: Google::Apis::ComputeV1::SecurityPolicyRule
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::SecurityPolicyRule
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_v1/classes.rb,
lib/google/apis/compute_v1/representations.rb,
lib/google/apis/compute_v1/representations.rb
Overview
Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).
Instance Attribute Summary collapse
-
#action ⇒ String
The Action to perform when the rule is matched.
-
#description ⇒ String
An optional description of this resource.
-
#header_action ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderAction
Optional, additional actions that are performed on headers.
-
#kind ⇒ String
[Output only] Type of the resource.
-
#match ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleMatcher
Represents a match condition that incoming traffic is evaluated against.
-
#preconfigured_waf_config ⇒ Google::Apis::ComputeV1::SecurityPolicyRulePreconfiguredWafConfig
Preconfigured WAF configuration to be applied for the rule.
-
#preview ⇒ Boolean
(also: #preview?)
If set to true, the specified action is not enforced.
-
#priority ⇒ Fixnum
An integer indicating the priority of a rule in the list.
-
#rate_limit_options ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptions
Must be specified if the action is "rate_based_ban" or "throttle".
-
#redirect_options ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions
Parameters defining the redirect action.
Instance Method Summary collapse
-
#initialize(**args) ⇒ SecurityPolicyRule
constructor
A new instance of SecurityPolicyRule.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ SecurityPolicyRule
Returns a new instance of SecurityPolicyRule.
33501 33502 33503 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33501 def initialize(**args) update!(**args) end |
Instance Attribute Details
#action ⇒ String
The Action to perform when the rule is matched. The following are the valid
actions: - allow: allow access to target. - deny(STATUS): deny access to
target, returns the HTTP response code specified. Valid values for STATUS
are 403, 404, and 502. - rate_based_ban: limit client traffic to the
configured threshold and ban the client if the traffic exceeds the threshold.
Configure parameters for this action in RateLimitOptions. Requires
rate_limit_options to be set. - redirect: redirect to a different target. This
can either be an internal reCAPTCHA redirect, or an external URL-based
redirect via a 302 response. Parameters for this action can be configured via
redirectOptions. - throttle: limit client traffic to the configured threshold.
Configure parameters for this action in rateLimitOptions. Requires
rate_limit_options to be set for this.
Corresponds to the JSON property action
33443 33444 33445 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33443 def action @action end |
#description ⇒ String
An optional description of this resource. Provide this property when you
create the resource.
Corresponds to the JSON property description
33449 33450 33451 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33449 def description @description end |
#header_action ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderAction
Optional, additional actions that are performed on headers.
Corresponds to the JSON property headerAction
33454 33455 33456 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33454 def header_action @header_action end |
#kind ⇒ String
[Output only] Type of the resource. Always compute#securityPolicyRule for
security policy rules
Corresponds to the JSON property kind
33460 33461 33462 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33460 def kind @kind end |
#match ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleMatcher
Represents a match condition that incoming traffic is evaluated against.
Exactly one field must be specified.
Corresponds to the JSON property match
33466 33467 33468 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33466 def match @match end |
#preconfigured_waf_config ⇒ Google::Apis::ComputeV1::SecurityPolicyRulePreconfiguredWafConfig
Preconfigured WAF configuration to be applied for the rule. If the rule does
not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is
not used, this field will have no effect.
Corresponds to the JSON property preconfiguredWafConfig
33473 33474 33475 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33473 def preconfigured_waf_config @preconfigured_waf_config end |
#preview ⇒ Boolean Also known as: preview?
If set to true, the specified action is not enforced.
Corresponds to the JSON property preview
33478 33479 33480 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33478 def preview @preview end |
#priority ⇒ Fixnum
An integer indicating the priority of a rule in the list. The priority must be
a positive value between 0 and 2147483647. Rules are evaluated from highest to
lowest priority where 0 is the highest priority and 2147483647 is the lowest
priority.
Corresponds to the JSON property priority
33487 33488 33489 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33487 def priority @priority end |
#rate_limit_options ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptions
Must be specified if the action is "rate_based_ban" or "throttle". Cannot be
specified for any other actions.
Corresponds to the JSON property rateLimitOptions
33493 33494 33495 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33493 def @rate_limit_options end |
#redirect_options ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions
Parameters defining the redirect action. Cannot be specified for any other
actions.
Corresponds to the JSON property redirectOptions
33499 33500 33501 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33499 def @redirect_options end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
33506 33507 33508 33509 33510 33511 33512 33513 33514 33515 33516 33517 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33506 def update!(**args) @action = args[:action] if args.key?(:action) @description = args[:description] if args.key?(:description) @header_action = args[:header_action] if args.key?(:header_action) @kind = args[:kind] if args.key?(:kind) @match = args[:match] if args.key?(:match) @preconfigured_waf_config = args[:preconfigured_waf_config] if args.key?(:preconfigured_waf_config) @preview = args[:preview] if args.key?(:preview) @priority = args[:priority] if args.key?(:priority) @rate_limit_options = args[:rate_limit_options] if args.key?(:rate_limit_options) @redirect_options = args[:redirect_options] if args.key?(:redirect_options) end |