Class: Google::Apis::ComputeV1::SecurityPolicy
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::SecurityPolicy
- 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 Google Cloud Armor security policy resource. Only external backend services that use load balancers can reference a security policy. For more information, see Google Cloud Armor security policy overview.
Instance Attribute Summary collapse
-
#adaptive_protection_config ⇒ Google::Apis::ComputeV1::SecurityPolicyAdaptiveProtectionConfig
Configuration options for Cloud Armor Adaptive Protection (CAAP).
-
#advanced_options_config ⇒ Google::Apis::ComputeV1::SecurityPolicyAdvancedOptionsConfig
Corresponds to the JSON property
advancedOptionsConfig. -
#creation_timestamp ⇒ String
[Output Only] Creation timestamp in RFC3339 text format.
-
#ddos_protection_config ⇒ Google::Apis::ComputeV1::SecurityPolicyDdosProtectionConfig
Corresponds to the JSON property
ddosProtectionConfig. -
#description ⇒ String
An optional description of this resource.
-
#fingerprint ⇒ String
Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking.
-
#id ⇒ Fixnum
[Output Only] The unique identifier for the resource.
-
#kind ⇒ String
[Output only] Type of the resource.
-
#name ⇒ String
Name of the resource.
-
#recaptcha_options_config ⇒ Google::Apis::ComputeV1::SecurityPolicyRecaptchaOptionsConfig
Corresponds to the JSON property
recaptchaOptionsConfig. -
#region ⇒ String
[Output Only] URL of the region where the regional security policy resides.
-
#rules ⇒ Array<Google::Apis::ComputeV1::SecurityPolicyRule>
A list of rules that belong to this policy.
-
#self_link ⇒ String
[Output Only] Server-defined URL for the resource.
-
#type ⇒ String
The type indicates the intended use of the security policy.
Instance Method Summary collapse
-
#initialize(**args) ⇒ SecurityPolicy
constructor
A new instance of SecurityPolicy.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ SecurityPolicy
Returns a new instance of SecurityPolicy.
33233 33234 33235 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33233 def initialize(**args) update!(**args) end |
Instance Attribute Details
#adaptive_protection_config ⇒ Google::Apis::ComputeV1::SecurityPolicyAdaptiveProtectionConfig
Configuration options for Cloud Armor Adaptive Protection (CAAP).
Corresponds to the JSON property adaptiveProtectionConfig
33131 33132 33133 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33131 def adaptive_protection_config @adaptive_protection_config end |
#advanced_options_config ⇒ Google::Apis::ComputeV1::SecurityPolicyAdvancedOptionsConfig
Corresponds to the JSON property advancedOptionsConfig
33136 33137 33138 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33136 def @advanced_options_config end |
#creation_timestamp ⇒ String
[Output Only] Creation timestamp in RFC3339 text format.
Corresponds to the JSON property creationTimestamp
33141 33142 33143 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33141 def @creation_timestamp end |
#ddos_protection_config ⇒ Google::Apis::ComputeV1::SecurityPolicyDdosProtectionConfig
Corresponds to the JSON property ddosProtectionConfig
33146 33147 33148 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33146 def ddos_protection_config @ddos_protection_config end |
#description ⇒ String
An optional description of this resource. Provide this property when you
create the resource.
Corresponds to the JSON property description
33152 33153 33154 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33152 def description @description end |
#fingerprint ⇒ String
Specifies a fingerprint for this resource, which is essentially a hash of the
metadata's contents and used for optimistic locking. The fingerprint is
initially generated by Compute Engine and changes after every request to
modify or update metadata. You must always provide an up-to-date fingerprint
hash in order to update or change metadata, otherwise the request will fail
with error 412 conditionNotMet. To see the latest fingerprint, make get()
request to the security policy.
Corresponds to the JSON property fingerprint
NOTE: Values are automatically base64 encoded/decoded in the client library.
33164 33165 33166 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33164 def fingerprint @fingerprint end |
#id ⇒ Fixnum
[Output Only] The unique identifier for the resource. This identifier is
defined by the server.
Corresponds to the JSON property id
33170 33171 33172 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33170 def id @id end |
#kind ⇒ String
[Output only] Type of the resource. Always compute#securityPolicyfor security
policies
Corresponds to the JSON property kind
33176 33177 33178 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33176 def kind @kind end |
#name ⇒ String
Name of the resource. Provided by the client when the resource is created. The
name must be 1-63 characters long, and comply with RFC1035. Specifically, the
name must be 1-63 characters long and match the regular expression [a-z]([-a-
z0-9]*[a-z0-9])? which means the first character must be a lowercase letter,
and all following characters must be a dash, lowercase letter, or digit,
except the last character, which cannot be a dash.
Corresponds to the JSON property name
33186 33187 33188 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33186 def name @name end |
#recaptcha_options_config ⇒ Google::Apis::ComputeV1::SecurityPolicyRecaptchaOptionsConfig
Corresponds to the JSON property recaptchaOptionsConfig
33191 33192 33193 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33191 def @recaptcha_options_config end |
#region ⇒ String
[Output Only] URL of the region where the regional security policy resides.
This field is not applicable to global security policies.
Corresponds to the JSON property region
33197 33198 33199 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33197 def region @region end |
#rules ⇒ Array<Google::Apis::ComputeV1::SecurityPolicyRule>
A list of rules that belong to this policy. There must always be a default
rule which is a rule with priority 2147483647 and match all condition (for the
match condition this means match "" for srcIpRanges and for the networkMatch
condition every field must be either match "" or not set). If no rules are
provided when creating a security policy, a default rule with action "allow"
will be added.
Corresponds to the JSON property rules
33207 33208 33209 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33207 def rules @rules end |
#self_link ⇒ String
[Output Only] Server-defined URL for the resource.
Corresponds to the JSON property selfLink
33212 33213 33214 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33212 def self_link @self_link end |
#type ⇒ String
The type indicates the intended use of the security policy. - CLOUD_ARMOR:
Cloud Armor backend security policies can be configured to filter incoming
HTTP requests targeting backend services. They filter requests before they hit
the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can
be configured to filter incoming HTTP requests targeting backend services (
including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They
filter requests before the request is served from Google's cache. -
CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be
configured to filter HTTP requests targeting services managed by Traffic
Director in a service mesh. They filter requests before the request is served
from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can
be configured to filter packets targeting network load balancing resources
such as backend services, target pools, target instances, and instances with
external IPs. They filter requests before the request is served from the
application. This field can be set only at resource creation time.
Corresponds to the JSON property type
33231 33232 33233 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33231 def type @type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
33238 33239 33240 33241 33242 33243 33244 33245 33246 33247 33248 33249 33250 33251 33252 33253 |
# File 'lib/google/apis/compute_v1/classes.rb', line 33238 def update!(**args) @adaptive_protection_config = args[:adaptive_protection_config] if args.key?(:adaptive_protection_config) @advanced_options_config = args[:advanced_options_config] if args.key?(:advanced_options_config) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @ddos_protection_config = args[:ddos_protection_config] if args.key?(:ddos_protection_config) @description = args[:description] if args.key?(:description) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config) @region = args[:region] if args.key?(:region) @rules = args[:rules] if args.key?(:rules) @self_link = args[:self_link] if args.key?(:self_link) @type = args[:type] if args.key?(:type) end |