Class: Google::Apis::ComputeAlpha::SecurityPolicyRule

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
generated/google/apis/compute_alpha/classes.rb,
generated/google/apis/compute_alpha/representations.rb,
generated/google/apis/compute_alpha/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

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ SecurityPolicyRule

Returns a new instance of SecurityPolicyRule



25301
25302
25303
# File 'generated/google/apis/compute_alpha/classes.rb', line 25301

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#actionString

The Action to preform when the client connection triggers the rule. Can currently be either "allow" or "deny()" where valid values for status are 403, 404, and 502. Corresponds to the JSON property action

Returns:

  • (String)


25243
25244
25245
# File 'generated/google/apis/compute_alpha/classes.rb', line 25243

def action
  @action
end

#descriptionString

An optional description of this resource. Provide this property when you create the resource. Corresponds to the JSON property description

Returns:

  • (String)


25249
25250
25251
# File 'generated/google/apis/compute_alpha/classes.rb', line 25249

def description
  @description
end

#directionString

The direction in which this rule applies. This field may only be specified when versioned_expr is set to FIREWALL. Corresponds to the JSON property direction

Returns:

  • (String)


25255
25256
25257
# File 'generated/google/apis/compute_alpha/classes.rb', line 25255

def direction
  @direction
end

#enable_loggingBoolean Also known as: enable_logging?

Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules. This field may only be specified when the versioned_expr is set to FIREWALL. Corresponds to the JSON property enableLogging

Returns:

  • (Boolean)


25264
25265
25266
# File 'generated/google/apis/compute_alpha/classes.rb', line 25264

def enable_logging
  @enable_logging
end

#kindString

[Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules Corresponds to the JSON property kind

Returns:

  • (String)


25271
25272
25273
# File 'generated/google/apis/compute_alpha/classes.rb', line 25271

def kind
  @kind
end

#matchGoogle::Apis::ComputeAlpha::SecurityPolicyRuleMatcher

Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified. Corresponds to the JSON property match



25277
25278
25279
# File 'generated/google/apis/compute_alpha/classes.rb', line 25277

def match
  @match
end

#previewBoolean Also known as: preview?

If set to true, the specified action is not enforced. Corresponds to the JSON property preview

Returns:

  • (Boolean)


25282
25283
25284
# File 'generated/google/apis/compute_alpha/classes.rb', line 25282

def preview
  @preview
end

#priorityFixnum

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 prority. Corresponds to the JSON property priority

Returns:

  • (Fixnum)


25291
25292
25293
# File 'generated/google/apis/compute_alpha/classes.rb', line 25291

def priority
  @priority
end

#target_resourcesArray<String>

A list of network resource URLs to which this rule applies. This field allows you to control which network?s VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. This field may only be specified when versioned_expr is set to FIREWALL. Corresponds to the JSON property targetResources

Returns:

  • (Array<String>)


25299
25300
25301
# File 'generated/google/apis/compute_alpha/classes.rb', line 25299

def target_resources
  @target_resources
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



25306
25307
25308
25309
25310
25311
25312
25313
25314
25315
25316
# File 'generated/google/apis/compute_alpha/classes.rb', line 25306

def update!(**args)
  @action = args[:action] if args.key?(:action)
  @description = args[:description] if args.key?(:description)
  @direction = args[:direction] if args.key?(:direction)
  @enable_logging = args[:enable_logging] if args.key?(:enable_logging)
  @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)
  @target_resources = args[:target_resources] if args.key?(:target_resources)
end