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.
-
#network_match ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleNetworkMatcher
Represents a match condition that incoming network 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.
38508 38509 38510 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38508 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. This action is only supported in Global Security Policies of
type CLOUD_ARMOR. - 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
38442 38443 38444 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38442 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
38448 38449 38450 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38448 def description @description end |
#header_action ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderAction
Optional, additional actions that are performed on headers. This field is only
supported in Global Security Policies of type CLOUD_ARMOR.
Corresponds to the JSON property headerAction
38454 38455 38456 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38454 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
38460 38461 38462 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38460 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
38466 38467 38468 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38466 def match @match end |
#network_match ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleNetworkMatcher
Represents a match condition that incoming network traffic is evaluated
against.
Corresponds to the JSON property networkMatch
38472 38473 38474 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38472 def network_match @network_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
38479 38480 38481 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38479 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
38484 38485 38486 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38484 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
38493 38494 38495 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38493 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
38499 38500 38501 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38499 def @rate_limit_options end |
#redirect_options ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions
Parameters defining the redirect action. Cannot be specified for any other
actions. This field is only supported in Global Security Policies of type
CLOUD_ARMOR.
Corresponds to the JSON property redirectOptions
38506 38507 38508 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38506 def @redirect_options end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
38513 38514 38515 38516 38517 38518 38519 38520 38521 38522 38523 38524 38525 |
# File 'lib/google/apis/compute_v1/classes.rb', line 38513 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) @network_match = args[:network_match] if args.key?(:network_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 |