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

action[RW]

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]

description[RW]

An optional description of this resource. Provide this property when you create the resource. Corresponds to the JSON property `description` @return [String]

header_action[RW]

Optional, additional actions that are performed on headers. Corresponds to the JSON property `headerAction` @return [Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderAction]

kind[RW]
Output only

Type of the resource. Always compute#securityPolicyRule for

security policy rules Corresponds to the JSON property `kind` @return [String]

match[RW]

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]

preview[RW]

If set to true, the specified action is not enforced. Corresponds to the JSON property `preview` @return [Boolean]

preview?[RW]

If set to true, the specified action is not enforced. Corresponds to the JSON property `preview` @return [Boolean]

priority[RW]

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]

rate_limit_options[RW]

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]

redirect_options[RW]

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

new(**args) click to toggle source
# File lib/google/apis/compute_v1/classes.rb, line 32098
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/compute_v1/classes.rb, line 32103
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