class Google::Apis::ComputeV1::SecurityPolicyRule
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).
Attributes
The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(): deny access to target, returns the HTTP response code specified (valid values 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` @return [String]
An optional description of this resource. Provide this property when you create the resource. Corresponds to the JSON property `description` @return [String]
Optional, additional actions that are performed on headers. Corresponds to the JSON property `headerAction` @return [Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderAction]
- Output only
-
Type of the resource. Always compute#securityPolicyRule for
security policy rules Corresponds to the JSON property `kind` @return [String]
Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified. Corresponds to the JSON property `match` @return [Google::Apis::ComputeV1::SecurityPolicyRuleMatcher]
If set to true, the specified action is not enforced. Corresponds to the JSON property `preview` @return [Boolean]
If set to true, the specified action is not enforced. Corresponds to the JSON property `preview` @return [Boolean]
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` @return [Fixnum]
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` @return [Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptions]
Parameters defining the redirect action. Cannot be specified for any other actions. Corresponds to the JSON property `redirectOptions` @return [Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions]
Public Class Methods
# File lib/google/apis/compute_v1/classes.rb, line 32598 def initialize(**args) update!(**args) end
Public Instance Methods
Update properties of this object
# File lib/google/apis/compute_v1/classes.rb, line 32603 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) @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