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.
35855 35856 35857 |
# File 'lib/google/apis/compute_v1/classes.rb', line 35855 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
35789 35790 35791 |
# File 'lib/google/apis/compute_v1/classes.rb', line 35789 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
35795 35796 35797 |
# File 'lib/google/apis/compute_v1/classes.rb', line 35795 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
35801 35802 35803 |
# File 'lib/google/apis/compute_v1/classes.rb', line 35801 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
35807 35808 35809 |
# File 'lib/google/apis/compute_v1/classes.rb', line 35807 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
35813 35814 35815 |
# File 'lib/google/apis/compute_v1/classes.rb', line 35813 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
35819 35820 35821 |
# File 'lib/google/apis/compute_v1/classes.rb', line 35819 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
35826 35827 35828 |
# File 'lib/google/apis/compute_v1/classes.rb', line 35826 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
35831 35832 35833 |
# File 'lib/google/apis/compute_v1/classes.rb', line 35831 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
35840 35841 35842 |
# File 'lib/google/apis/compute_v1/classes.rb', line 35840 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
35846 35847 35848 |
# File 'lib/google/apis/compute_v1/classes.rb', line 35846 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
35853 35854 35855 |
# File 'lib/google/apis/compute_v1/classes.rb', line 35853 def @redirect_options end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
35860 35861 35862 35863 35864 35865 35866 35867 35868 35869 35870 35871 35872 |
# File 'lib/google/apis/compute_v1/classes.rb', line 35860 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 |