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.
-
#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.
32601 32602 32603 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32601 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(): 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
32550 32551 32552 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32550 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
32556 32557 32558 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32556 def description @description end |
#header_action ⇒ Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderAction
Optional, additional actions that are performed on headers.
Corresponds to the JSON property headerAction
32561 32562 32563 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32561 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
32567 32568 32569 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32567 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
32573 32574 32575 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32573 def match @match end |
#preview ⇒ Boolean Also known as: preview?
If set to true, the specified action is not enforced.
Corresponds to the JSON property preview
32578 32579 32580 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32578 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
32587 32588 32589 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32587 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
32593 32594 32595 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32593 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
32599 32600 32601 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32599 def @redirect_options end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
32606 32607 32608 32609 32610 32611 32612 32613 32614 32615 32616 |
# File 'lib/google/apis/compute_v1/classes.rb', line 32606 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 |