google-apis-networksecurity_v1beta1 0.37.0 → 0.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/google/apis/networksecurity_v1beta1/classes.rb +1002 -14
- data/lib/google/apis/networksecurity_v1beta1/gem_version.rb +3 -3
- data/lib/google/apis/networksecurity_v1beta1/representations.rb +440 -0
- data/lib/google/apis/networksecurity_v1beta1/service.rb +1415 -205
- metadata +4 -4
@@ -194,6 +194,515 @@ module Google
|
|
194
194
|
end
|
195
195
|
end
|
196
196
|
|
197
|
+
# `AuthzPolicy` is a resource that allows to forward traffic to a callout
|
198
|
+
# backend designed to scan the traffic for security purposes.
|
199
|
+
class AuthzPolicy
|
200
|
+
include Google::Apis::Core::Hashable
|
201
|
+
|
202
|
+
# Required. Can be one of `ALLOW`, `DENY`, `CUSTOM`. When the action is `CUSTOM`,
|
203
|
+
# `customProvider` must be specified. When the action is `ALLOW`, only requests
|
204
|
+
# matching the policy will be allowed. When the action is `DENY`, only requests
|
205
|
+
# matching the policy will be denied. When a request arrives, the policies are
|
206
|
+
# evaluated in the following order: 1. If there is a `CUSTOM` policy that
|
207
|
+
# matches the request, the `CUSTOM` policy is evaluated using the custom
|
208
|
+
# authorization providers and the request is denied if the provider rejects the
|
209
|
+
# request. 2. If there are any `DENY` policies that match the request, the
|
210
|
+
# request is denied. 3. If there are no `ALLOW` policies for the resource or if
|
211
|
+
# any of the `ALLOW` policies match the request, the request is allowed. 4. Else
|
212
|
+
# the request is denied by default if none of the configured AuthzPolicies with `
|
213
|
+
# ALLOW` action match the request.
|
214
|
+
# Corresponds to the JSON property `action`
|
215
|
+
# @return [String]
|
216
|
+
attr_accessor :action
|
217
|
+
|
218
|
+
# Output only. The timestamp when the resource was created.
|
219
|
+
# Corresponds to the JSON property `createTime`
|
220
|
+
# @return [String]
|
221
|
+
attr_accessor :create_time
|
222
|
+
|
223
|
+
# Allows delegating authorization decisions to Cloud IAP or to Service
|
224
|
+
# Extensions.
|
225
|
+
# Corresponds to the JSON property `customProvider`
|
226
|
+
# @return [Google::Apis::NetworksecurityV1beta1::AuthzPolicyCustomProvider]
|
227
|
+
attr_accessor :custom_provider
|
228
|
+
|
229
|
+
# Optional. A human-readable description of the resource.
|
230
|
+
# Corresponds to the JSON property `description`
|
231
|
+
# @return [String]
|
232
|
+
attr_accessor :description
|
233
|
+
|
234
|
+
# Optional. A list of authorization HTTP rules to match against the incoming
|
235
|
+
# request. A policy match occurs when at least one HTTP rule matches the request
|
236
|
+
# or when no HTTP rules are specified in the policy. At least one HTTP Rule is
|
237
|
+
# required for Allow or Deny Action. Limited to 5 rules.
|
238
|
+
# Corresponds to the JSON property `httpRules`
|
239
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRule>]
|
240
|
+
attr_accessor :http_rules
|
241
|
+
|
242
|
+
# Optional. Set of labels associated with the `AuthzPolicy` resource. The format
|
243
|
+
# must comply with [the following requirements](/compute/docs/labeling-resources#
|
244
|
+
# requirements).
|
245
|
+
# Corresponds to the JSON property `labels`
|
246
|
+
# @return [Hash<String,String>]
|
247
|
+
attr_accessor :labels
|
248
|
+
|
249
|
+
# Required. Identifier. Name of the `AuthzPolicy` resource in the following
|
250
|
+
# format: `projects/`project`/locations/`location`/authzPolicies/`authz_policy``.
|
251
|
+
# Corresponds to the JSON property `name`
|
252
|
+
# @return [String]
|
253
|
+
attr_accessor :name
|
254
|
+
|
255
|
+
# Specifies the set of targets to which this policy should be applied to.
|
256
|
+
# Corresponds to the JSON property `target`
|
257
|
+
# @return [Google::Apis::NetworksecurityV1beta1::AuthzPolicyTarget]
|
258
|
+
attr_accessor :target
|
259
|
+
|
260
|
+
# Output only. The timestamp when the resource was updated.
|
261
|
+
# Corresponds to the JSON property `updateTime`
|
262
|
+
# @return [String]
|
263
|
+
attr_accessor :update_time
|
264
|
+
|
265
|
+
def initialize(**args)
|
266
|
+
update!(**args)
|
267
|
+
end
|
268
|
+
|
269
|
+
# Update properties of this object
|
270
|
+
def update!(**args)
|
271
|
+
@action = args[:action] if args.key?(:action)
|
272
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
273
|
+
@custom_provider = args[:custom_provider] if args.key?(:custom_provider)
|
274
|
+
@description = args[:description] if args.key?(:description)
|
275
|
+
@http_rules = args[:http_rules] if args.key?(:http_rules)
|
276
|
+
@labels = args[:labels] if args.key?(:labels)
|
277
|
+
@name = args[:name] if args.key?(:name)
|
278
|
+
@target = args[:target] if args.key?(:target)
|
279
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
280
|
+
end
|
281
|
+
end
|
282
|
+
|
283
|
+
# Conditions to match against the incoming request.
|
284
|
+
class AuthzPolicyAuthzRule
|
285
|
+
include Google::Apis::Core::Hashable
|
286
|
+
|
287
|
+
# Describes properties of one or more sources of a request.
|
288
|
+
# Corresponds to the JSON property `from`
|
289
|
+
# @return [Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleFrom]
|
290
|
+
attr_accessor :from
|
291
|
+
|
292
|
+
# Describes properties of one or more targets of a request.
|
293
|
+
# Corresponds to the JSON property `to`
|
294
|
+
# @return [Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleTo]
|
295
|
+
attr_accessor :to
|
296
|
+
|
297
|
+
# Optional. CEL expression that describes the conditions to be satisfied for the
|
298
|
+
# action. The result of the CEL expression is ANDed with the from and to. Refer
|
299
|
+
# to the CEL language reference for a list of available attributes.
|
300
|
+
# Corresponds to the JSON property `when`
|
301
|
+
# @return [String]
|
302
|
+
attr_accessor :when
|
303
|
+
|
304
|
+
def initialize(**args)
|
305
|
+
update!(**args)
|
306
|
+
end
|
307
|
+
|
308
|
+
# Update properties of this object
|
309
|
+
def update!(**args)
|
310
|
+
@from = args[:from] if args.key?(:from)
|
311
|
+
@to = args[:to] if args.key?(:to)
|
312
|
+
@when = args[:when] if args.key?(:when)
|
313
|
+
end
|
314
|
+
end
|
315
|
+
|
316
|
+
# Describes properties of one or more sources of a request.
|
317
|
+
class AuthzPolicyAuthzRuleFrom
|
318
|
+
include Google::Apis::Core::Hashable
|
319
|
+
|
320
|
+
# Optional. Describes the negated properties of request sources. Matches
|
321
|
+
# requests from sources that do not match the criteria specified in this field.
|
322
|
+
# At least one of sources or notSources must be specified.
|
323
|
+
# Corresponds to the JSON property `notSources`
|
324
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleFromRequestSource>]
|
325
|
+
attr_accessor :not_sources
|
326
|
+
|
327
|
+
# Optional. Describes the properties of a request's sources. At least one of
|
328
|
+
# sources or notSources must be specified. Limited to 5 sources. A match occurs
|
329
|
+
# when ANY source (in sources or notSources) matches the request. Within a
|
330
|
+
# single source, the match follows AND semantics across fields and OR semantics
|
331
|
+
# within a single field, i.e. a match occurs when ANY principal matches AND ANY
|
332
|
+
# ipBlocks match.
|
333
|
+
# Corresponds to the JSON property `sources`
|
334
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleFromRequestSource>]
|
335
|
+
attr_accessor :sources
|
336
|
+
|
337
|
+
def initialize(**args)
|
338
|
+
update!(**args)
|
339
|
+
end
|
340
|
+
|
341
|
+
# Update properties of this object
|
342
|
+
def update!(**args)
|
343
|
+
@not_sources = args[:not_sources] if args.key?(:not_sources)
|
344
|
+
@sources = args[:sources] if args.key?(:sources)
|
345
|
+
end
|
346
|
+
end
|
347
|
+
|
348
|
+
# Describes the properties of a single source.
|
349
|
+
class AuthzPolicyAuthzRuleFromRequestSource
|
350
|
+
include Google::Apis::Core::Hashable
|
351
|
+
|
352
|
+
# Optional. A list of identities derived from the client's certificate. This
|
353
|
+
# field will not match on a request unless mutual TLS is enabled for the
|
354
|
+
# Forwarding rule or Gateway. Each identity is a string whose value is matched
|
355
|
+
# against the URI SAN, or DNS SAN or the subject field in the client's
|
356
|
+
# certificate. The match can be exact, prefix, suffix or a substring match. One
|
357
|
+
# of exact, prefix, suffix or contains must be specified. Limited to 5
|
358
|
+
# principals.
|
359
|
+
# Corresponds to the JSON property `principals`
|
360
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleStringMatch>]
|
361
|
+
attr_accessor :principals
|
362
|
+
|
363
|
+
# Optional. A list of resources to match against the resource of the source VM
|
364
|
+
# of a request. Limited to 5 resources.
|
365
|
+
# Corresponds to the JSON property `resources`
|
366
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleRequestResource>]
|
367
|
+
attr_accessor :resources
|
368
|
+
|
369
|
+
def initialize(**args)
|
370
|
+
update!(**args)
|
371
|
+
end
|
372
|
+
|
373
|
+
# Update properties of this object
|
374
|
+
def update!(**args)
|
375
|
+
@principals = args[:principals] if args.key?(:principals)
|
376
|
+
@resources = args[:resources] if args.key?(:resources)
|
377
|
+
end
|
378
|
+
end
|
379
|
+
|
380
|
+
# Determines how a HTTP header should be matched.
|
381
|
+
class AuthzPolicyAuthzRuleHeaderMatch
|
382
|
+
include Google::Apis::Core::Hashable
|
383
|
+
|
384
|
+
# Optional. Specifies the name of the header in the request.
|
385
|
+
# Corresponds to the JSON property `name`
|
386
|
+
# @return [String]
|
387
|
+
attr_accessor :name
|
388
|
+
|
389
|
+
# Determines how a string value should be matched.
|
390
|
+
# Corresponds to the JSON property `value`
|
391
|
+
# @return [Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleStringMatch]
|
392
|
+
attr_accessor :value
|
393
|
+
|
394
|
+
def initialize(**args)
|
395
|
+
update!(**args)
|
396
|
+
end
|
397
|
+
|
398
|
+
# Update properties of this object
|
399
|
+
def update!(**args)
|
400
|
+
@name = args[:name] if args.key?(:name)
|
401
|
+
@value = args[:value] if args.key?(:value)
|
402
|
+
end
|
403
|
+
end
|
404
|
+
|
405
|
+
# Describes the properties of a client VM resource accessing the internal
|
406
|
+
# application load balancers.
|
407
|
+
class AuthzPolicyAuthzRuleRequestResource
|
408
|
+
include Google::Apis::Core::Hashable
|
409
|
+
|
410
|
+
# Determines how a string value should be matched.
|
411
|
+
# Corresponds to the JSON property `iamServiceAccount`
|
412
|
+
# @return [Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleStringMatch]
|
413
|
+
attr_accessor :iam_service_account
|
414
|
+
|
415
|
+
# Describes a set of resource tag value permanent IDs to match against the
|
416
|
+
# resource manager tags value associated with the source VM of a request.
|
417
|
+
# Corresponds to the JSON property `tagValueIdSet`
|
418
|
+
# @return [Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleRequestResourceTagValueIdSet]
|
419
|
+
attr_accessor :tag_value_id_set
|
420
|
+
|
421
|
+
def initialize(**args)
|
422
|
+
update!(**args)
|
423
|
+
end
|
424
|
+
|
425
|
+
# Update properties of this object
|
426
|
+
def update!(**args)
|
427
|
+
@iam_service_account = args[:iam_service_account] if args.key?(:iam_service_account)
|
428
|
+
@tag_value_id_set = args[:tag_value_id_set] if args.key?(:tag_value_id_set)
|
429
|
+
end
|
430
|
+
end
|
431
|
+
|
432
|
+
# Describes a set of resource tag value permanent IDs to match against the
|
433
|
+
# resource manager tags value associated with the source VM of a request.
|
434
|
+
class AuthzPolicyAuthzRuleRequestResourceTagValueIdSet
|
435
|
+
include Google::Apis::Core::Hashable
|
436
|
+
|
437
|
+
# Required. A list of resource tag value permanent IDs to match against the
|
438
|
+
# resource manager tags value associated with the source VM of a request. The
|
439
|
+
# match follows AND semantics which means all the ids must match. Limited to 5
|
440
|
+
# matches.
|
441
|
+
# Corresponds to the JSON property `ids`
|
442
|
+
# @return [Array<Fixnum>]
|
443
|
+
attr_accessor :ids
|
444
|
+
|
445
|
+
def initialize(**args)
|
446
|
+
update!(**args)
|
447
|
+
end
|
448
|
+
|
449
|
+
# Update properties of this object
|
450
|
+
def update!(**args)
|
451
|
+
@ids = args[:ids] if args.key?(:ids)
|
452
|
+
end
|
453
|
+
end
|
454
|
+
|
455
|
+
# Determines how a string value should be matched.
|
456
|
+
class AuthzPolicyAuthzRuleStringMatch
|
457
|
+
include Google::Apis::Core::Hashable
|
458
|
+
|
459
|
+
# The input string must have the substring specified here. Note: empty contains
|
460
|
+
# match is not allowed, please use regex instead. Examples: * ``abc`` matches
|
461
|
+
# the value ``xyz.abc.def``
|
462
|
+
# Corresponds to the JSON property `contains`
|
463
|
+
# @return [String]
|
464
|
+
attr_accessor :contains
|
465
|
+
|
466
|
+
# The input string must match exactly the string specified here. Examples: * ``
|
467
|
+
# abc`` only matches the value ``abc``.
|
468
|
+
# Corresponds to the JSON property `exact`
|
469
|
+
# @return [String]
|
470
|
+
attr_accessor :exact
|
471
|
+
|
472
|
+
# If true, indicates the exact/prefix/suffix/contains matching should be case
|
473
|
+
# insensitive. For example, the matcher ``data`` will match both input string ``
|
474
|
+
# Data`` and ``data`` if set to true.
|
475
|
+
# Corresponds to the JSON property `ignoreCase`
|
476
|
+
# @return [Boolean]
|
477
|
+
attr_accessor :ignore_case
|
478
|
+
alias_method :ignore_case?, :ignore_case
|
479
|
+
|
480
|
+
# The input string must have the prefix specified here. Note: empty prefix is
|
481
|
+
# not allowed, please use regex instead. Examples: * ``abc`` matches the value ``
|
482
|
+
# abc.xyz``
|
483
|
+
# Corresponds to the JSON property `prefix`
|
484
|
+
# @return [String]
|
485
|
+
attr_accessor :prefix
|
486
|
+
|
487
|
+
# The input string must have the suffix specified here. Note: empty prefix is
|
488
|
+
# not allowed, please use regex instead. Examples: * ``abc`` matches the value ``
|
489
|
+
# xyz.abc``
|
490
|
+
# Corresponds to the JSON property `suffix`
|
491
|
+
# @return [String]
|
492
|
+
attr_accessor :suffix
|
493
|
+
|
494
|
+
def initialize(**args)
|
495
|
+
update!(**args)
|
496
|
+
end
|
497
|
+
|
498
|
+
# Update properties of this object
|
499
|
+
def update!(**args)
|
500
|
+
@contains = args[:contains] if args.key?(:contains)
|
501
|
+
@exact = args[:exact] if args.key?(:exact)
|
502
|
+
@ignore_case = args[:ignore_case] if args.key?(:ignore_case)
|
503
|
+
@prefix = args[:prefix] if args.key?(:prefix)
|
504
|
+
@suffix = args[:suffix] if args.key?(:suffix)
|
505
|
+
end
|
506
|
+
end
|
507
|
+
|
508
|
+
# Describes properties of one or more targets of a request.
|
509
|
+
class AuthzPolicyAuthzRuleTo
|
510
|
+
include Google::Apis::Core::Hashable
|
511
|
+
|
512
|
+
# Optional. Describes the negated properties of the targets of a request.
|
513
|
+
# Matches requests for operations that do not match the criteria specified in
|
514
|
+
# this field. At least one of operations or notOperations must be specified.
|
515
|
+
# Corresponds to the JSON property `notOperations`
|
516
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleToRequestOperation>]
|
517
|
+
attr_accessor :not_operations
|
518
|
+
|
519
|
+
# Optional. Describes properties of one or more targets of a request. At least
|
520
|
+
# one of operations or notOperations must be specified. Limited to 5 operations.
|
521
|
+
# A match occurs when ANY operation (in operations or notOperations) matches.
|
522
|
+
# Within an operation, the match follows AND semantics across fields and OR
|
523
|
+
# semantics within a field, i.e. a match occurs when ANY path matches AND ANY
|
524
|
+
# header matches and ANY method matches.
|
525
|
+
# Corresponds to the JSON property `operations`
|
526
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleToRequestOperation>]
|
527
|
+
attr_accessor :operations
|
528
|
+
|
529
|
+
def initialize(**args)
|
530
|
+
update!(**args)
|
531
|
+
end
|
532
|
+
|
533
|
+
# Update properties of this object
|
534
|
+
def update!(**args)
|
535
|
+
@not_operations = args[:not_operations] if args.key?(:not_operations)
|
536
|
+
@operations = args[:operations] if args.key?(:operations)
|
537
|
+
end
|
538
|
+
end
|
539
|
+
|
540
|
+
# Describes properties of one or more targets of a request.
|
541
|
+
class AuthzPolicyAuthzRuleToRequestOperation
|
542
|
+
include Google::Apis::Core::Hashable
|
543
|
+
|
544
|
+
# Describes a set of HTTP headers to match against.
|
545
|
+
# Corresponds to the JSON property `headerSet`
|
546
|
+
# @return [Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleToRequestOperationHeaderSet]
|
547
|
+
attr_accessor :header_set
|
548
|
+
|
549
|
+
# Optional. A list of HTTP Hosts to match against. The match can be one of exact,
|
550
|
+
# prefix, suffix, or contains (substring match). Matches are always case
|
551
|
+
# sensitive unless the ignoreCase is set. Limited to 5 matches.
|
552
|
+
# Corresponds to the JSON property `hosts`
|
553
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleStringMatch>]
|
554
|
+
attr_accessor :hosts
|
555
|
+
|
556
|
+
# Optional. A list of HTTP methods to match against. Each entry must be a valid
|
557
|
+
# HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only
|
558
|
+
# allows exact match and is always case sensitive.
|
559
|
+
# Corresponds to the JSON property `methods`
|
560
|
+
# @return [Array<String>]
|
561
|
+
attr_accessor :methods_prop
|
562
|
+
|
563
|
+
# Optional. A list of paths to match against. The match can be one of exact,
|
564
|
+
# prefix, suffix, or contains (substring match). Matches are always case
|
565
|
+
# sensitive unless the ignoreCase is set. Limited to 5 matches. Note that this
|
566
|
+
# path match includes the query parameters. For gRPC services, this should be a
|
567
|
+
# fully-qualified name of the form /package.service/method.
|
568
|
+
# Corresponds to the JSON property `paths`
|
569
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleStringMatch>]
|
570
|
+
attr_accessor :paths
|
571
|
+
|
572
|
+
def initialize(**args)
|
573
|
+
update!(**args)
|
574
|
+
end
|
575
|
+
|
576
|
+
# Update properties of this object
|
577
|
+
def update!(**args)
|
578
|
+
@header_set = args[:header_set] if args.key?(:header_set)
|
579
|
+
@hosts = args[:hosts] if args.key?(:hosts)
|
580
|
+
@methods_prop = args[:methods_prop] if args.key?(:methods_prop)
|
581
|
+
@paths = args[:paths] if args.key?(:paths)
|
582
|
+
end
|
583
|
+
end
|
584
|
+
|
585
|
+
# Describes a set of HTTP headers to match against.
|
586
|
+
class AuthzPolicyAuthzRuleToRequestOperationHeaderSet
|
587
|
+
include Google::Apis::Core::Hashable
|
588
|
+
|
589
|
+
# Required. A list of headers to match against in http header. The match can be
|
590
|
+
# one of exact, prefix, suffix, or contains (substring match). The match follows
|
591
|
+
# AND semantics which means all the headers must match. Matches are always case
|
592
|
+
# sensitive unless the ignoreCase is set. Limited to 5 matches.
|
593
|
+
# Corresponds to the JSON property `headers`
|
594
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleHeaderMatch>]
|
595
|
+
attr_accessor :headers
|
596
|
+
|
597
|
+
def initialize(**args)
|
598
|
+
update!(**args)
|
599
|
+
end
|
600
|
+
|
601
|
+
# Update properties of this object
|
602
|
+
def update!(**args)
|
603
|
+
@headers = args[:headers] if args.key?(:headers)
|
604
|
+
end
|
605
|
+
end
|
606
|
+
|
607
|
+
# Allows delegating authorization decisions to Cloud IAP or to Service
|
608
|
+
# Extensions.
|
609
|
+
class AuthzPolicyCustomProvider
|
610
|
+
include Google::Apis::Core::Hashable
|
611
|
+
|
612
|
+
# Optional. Delegate authorization decision to user authored extension. Only one
|
613
|
+
# of cloudIap or authzExtension can be specified.
|
614
|
+
# Corresponds to the JSON property `authzExtension`
|
615
|
+
# @return [Google::Apis::NetworksecurityV1beta1::AuthzPolicyCustomProviderAuthzExtension]
|
616
|
+
attr_accessor :authz_extension
|
617
|
+
|
618
|
+
# Optional. Delegates authorization decisions to Cloud IAP. Applicable only for
|
619
|
+
# managed load balancers. Enabling Cloud IAP at the AuthzPolicy level is not
|
620
|
+
# compatible with Cloud IAP settings in the BackendService. Enabling IAP in both
|
621
|
+
# places will result in request failure. Ensure that IAP is enabled in either
|
622
|
+
# the AuthzPolicy or the BackendService but not in both places.
|
623
|
+
# Corresponds to the JSON property `cloudIap`
|
624
|
+
# @return [Google::Apis::NetworksecurityV1beta1::AuthzPolicyCustomProviderCloudIap]
|
625
|
+
attr_accessor :cloud_iap
|
626
|
+
|
627
|
+
def initialize(**args)
|
628
|
+
update!(**args)
|
629
|
+
end
|
630
|
+
|
631
|
+
# Update properties of this object
|
632
|
+
def update!(**args)
|
633
|
+
@authz_extension = args[:authz_extension] if args.key?(:authz_extension)
|
634
|
+
@cloud_iap = args[:cloud_iap] if args.key?(:cloud_iap)
|
635
|
+
end
|
636
|
+
end
|
637
|
+
|
638
|
+
# Optional. Delegate authorization decision to user authored extension. Only one
|
639
|
+
# of cloudIap or authzExtension can be specified.
|
640
|
+
class AuthzPolicyCustomProviderAuthzExtension
|
641
|
+
include Google::Apis::Core::Hashable
|
642
|
+
|
643
|
+
# Required. A list of references to authorization extensions that will be
|
644
|
+
# invoked for requests matching this policy. Limited to 1 custom provider.
|
645
|
+
# Corresponds to the JSON property `resources`
|
646
|
+
# @return [Array<String>]
|
647
|
+
attr_accessor :resources
|
648
|
+
|
649
|
+
def initialize(**args)
|
650
|
+
update!(**args)
|
651
|
+
end
|
652
|
+
|
653
|
+
# Update properties of this object
|
654
|
+
def update!(**args)
|
655
|
+
@resources = args[:resources] if args.key?(:resources)
|
656
|
+
end
|
657
|
+
end
|
658
|
+
|
659
|
+
# Optional. Delegates authorization decisions to Cloud IAP. Applicable only for
|
660
|
+
# managed load balancers. Enabling Cloud IAP at the AuthzPolicy level is not
|
661
|
+
# compatible with Cloud IAP settings in the BackendService. Enabling IAP in both
|
662
|
+
# places will result in request failure. Ensure that IAP is enabled in either
|
663
|
+
# the AuthzPolicy or the BackendService but not in both places.
|
664
|
+
class AuthzPolicyCustomProviderCloudIap
|
665
|
+
include Google::Apis::Core::Hashable
|
666
|
+
|
667
|
+
def initialize(**args)
|
668
|
+
update!(**args)
|
669
|
+
end
|
670
|
+
|
671
|
+
# Update properties of this object
|
672
|
+
def update!(**args)
|
673
|
+
end
|
674
|
+
end
|
675
|
+
|
676
|
+
# Specifies the set of targets to which this policy should be applied to.
|
677
|
+
class AuthzPolicyTarget
|
678
|
+
include Google::Apis::Core::Hashable
|
679
|
+
|
680
|
+
# Required. All gateways and forwarding rules referenced by this policy and
|
681
|
+
# extensions must share the same load balancing scheme. Supported values: `
|
682
|
+
# INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [
|
683
|
+
# Backend services overview](https://cloud.google.com/load-balancing/docs/
|
684
|
+
# backend-service).
|
685
|
+
# Corresponds to the JSON property `loadBalancingScheme`
|
686
|
+
# @return [String]
|
687
|
+
attr_accessor :load_balancing_scheme
|
688
|
+
|
689
|
+
# Required. A list of references to the Forwarding Rules on which this policy
|
690
|
+
# will be applied.
|
691
|
+
# Corresponds to the JSON property `resources`
|
692
|
+
# @return [Array<String>]
|
693
|
+
attr_accessor :resources
|
694
|
+
|
695
|
+
def initialize(**args)
|
696
|
+
update!(**args)
|
697
|
+
end
|
698
|
+
|
699
|
+
# Update properties of this object
|
700
|
+
def update!(**args)
|
701
|
+
@load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
|
702
|
+
@resources = args[:resources] if args.key?(:resources)
|
703
|
+
end
|
704
|
+
end
|
705
|
+
|
197
706
|
# The request message for Operations.CancelOperation.
|
198
707
|
class CancelOperationRequest
|
199
708
|
include Google::Apis::Core::Hashable
|
@@ -333,6 +842,27 @@ module Google
|
|
333
842
|
end
|
334
843
|
end
|
335
844
|
|
845
|
+
# CustomMirroringProfile defines an action for mirroring traffic to a collector'
|
846
|
+
# s EndpointGroup
|
847
|
+
class CustomMirroringProfile
|
848
|
+
include Google::Apis::Core::Hashable
|
849
|
+
|
850
|
+
# Required. The MirroringEndpointGroup to which traffic associated with the SP
|
851
|
+
# should be mirrored.
|
852
|
+
# Corresponds to the JSON property `mirroringEndpointGroup`
|
853
|
+
# @return [String]
|
854
|
+
attr_accessor :mirroring_endpoint_group
|
855
|
+
|
856
|
+
def initialize(**args)
|
857
|
+
update!(**args)
|
858
|
+
end
|
859
|
+
|
860
|
+
# Update properties of this object
|
861
|
+
def update!(**args)
|
862
|
+
@mirroring_endpoint_group = args[:mirroring_endpoint_group] if args.key?(:mirroring_endpoint_group)
|
863
|
+
end
|
864
|
+
end
|
865
|
+
|
336
866
|
# Specification of traffic destination attributes.
|
337
867
|
class Destination
|
338
868
|
include Google::Apis::Core::Hashable
|
@@ -1310,6 +1840,37 @@ module Google
|
|
1310
1840
|
end
|
1311
1841
|
end
|
1312
1842
|
|
1843
|
+
# Message for response to listing `AuthzPolicy` resources.
|
1844
|
+
class ListAuthzPoliciesResponse
|
1845
|
+
include Google::Apis::Core::Hashable
|
1846
|
+
|
1847
|
+
# The list of `AuthzPolicy` resources.
|
1848
|
+
# Corresponds to the JSON property `authzPolicies`
|
1849
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::AuthzPolicy>]
|
1850
|
+
attr_accessor :authz_policies
|
1851
|
+
|
1852
|
+
# A token identifying a page of results that the server returns.
|
1853
|
+
# Corresponds to the JSON property `nextPageToken`
|
1854
|
+
# @return [String]
|
1855
|
+
attr_accessor :next_page_token
|
1856
|
+
|
1857
|
+
# Locations that could not be reached.
|
1858
|
+
# Corresponds to the JSON property `unreachable`
|
1859
|
+
# @return [Array<String>]
|
1860
|
+
attr_accessor :unreachable
|
1861
|
+
|
1862
|
+
def initialize(**args)
|
1863
|
+
update!(**args)
|
1864
|
+
end
|
1865
|
+
|
1866
|
+
# Update properties of this object
|
1867
|
+
def update!(**args)
|
1868
|
+
@authz_policies = args[:authz_policies] if args.key?(:authz_policies)
|
1869
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1870
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
1871
|
+
end
|
1872
|
+
end
|
1873
|
+
|
1313
1874
|
# Response returned by the ListClientTlsPolicies method.
|
1314
1875
|
class ListClientTlsPoliciesResponse
|
1315
1876
|
include Google::Apis::Core::Hashable
|
@@ -1459,22 +2020,128 @@ module Google
|
|
1459
2020
|
|
1460
2021
|
# Update properties of this object
|
1461
2022
|
def update!(**args)
|
1462
|
-
@gateway_security_policy_rules = args[:gateway_security_policy_rules] if args.key?(:gateway_security_policy_rules)
|
2023
|
+
@gateway_security_policy_rules = args[:gateway_security_policy_rules] if args.key?(:gateway_security_policy_rules)
|
2024
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2025
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
2026
|
+
end
|
2027
|
+
end
|
2028
|
+
|
2029
|
+
# The response message for Locations.ListLocations.
|
2030
|
+
class ListLocationsResponse
|
2031
|
+
include Google::Apis::Core::Hashable
|
2032
|
+
|
2033
|
+
# A list of locations that matches the specified filter in the request.
|
2034
|
+
# Corresponds to the JSON property `locations`
|
2035
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::Location>]
|
2036
|
+
attr_accessor :locations
|
2037
|
+
|
2038
|
+
# The standard List next-page token.
|
2039
|
+
# Corresponds to the JSON property `nextPageToken`
|
2040
|
+
# @return [String]
|
2041
|
+
attr_accessor :next_page_token
|
2042
|
+
|
2043
|
+
def initialize(**args)
|
2044
|
+
update!(**args)
|
2045
|
+
end
|
2046
|
+
|
2047
|
+
# Update properties of this object
|
2048
|
+
def update!(**args)
|
2049
|
+
@locations = args[:locations] if args.key?(:locations)
|
2050
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2051
|
+
end
|
2052
|
+
end
|
2053
|
+
|
2054
|
+
# Message for response to listing MirroringDeploymentGroups
|
2055
|
+
class ListMirroringDeploymentGroupsResponse
|
2056
|
+
include Google::Apis::Core::Hashable
|
2057
|
+
|
2058
|
+
# The list of MirroringDeploymentGroup
|
2059
|
+
# Corresponds to the JSON property `mirroringDeploymentGroups`
|
2060
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringDeploymentGroup>]
|
2061
|
+
attr_accessor :mirroring_deployment_groups
|
2062
|
+
|
2063
|
+
# A token identifying a page of results the server should return.
|
2064
|
+
# Corresponds to the JSON property `nextPageToken`
|
2065
|
+
# @return [String]
|
2066
|
+
attr_accessor :next_page_token
|
2067
|
+
|
2068
|
+
def initialize(**args)
|
2069
|
+
update!(**args)
|
2070
|
+
end
|
2071
|
+
|
2072
|
+
# Update properties of this object
|
2073
|
+
def update!(**args)
|
2074
|
+
@mirroring_deployment_groups = args[:mirroring_deployment_groups] if args.key?(:mirroring_deployment_groups)
|
2075
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2076
|
+
end
|
2077
|
+
end
|
2078
|
+
|
2079
|
+
# Message for response to listing MirroringDeployments
|
2080
|
+
class ListMirroringDeploymentsResponse
|
2081
|
+
include Google::Apis::Core::Hashable
|
2082
|
+
|
2083
|
+
# The list of MirroringDeployment
|
2084
|
+
# Corresponds to the JSON property `mirroringDeployments`
|
2085
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringDeployment>]
|
2086
|
+
attr_accessor :mirroring_deployments
|
2087
|
+
|
2088
|
+
# A token identifying a page of results the server should return.
|
2089
|
+
# Corresponds to the JSON property `nextPageToken`
|
2090
|
+
# @return [String]
|
2091
|
+
attr_accessor :next_page_token
|
2092
|
+
|
2093
|
+
# Locations that could not be reached.
|
2094
|
+
# Corresponds to the JSON property `unreachable`
|
2095
|
+
# @return [Array<String>]
|
2096
|
+
attr_accessor :unreachable
|
2097
|
+
|
2098
|
+
def initialize(**args)
|
2099
|
+
update!(**args)
|
2100
|
+
end
|
2101
|
+
|
2102
|
+
# Update properties of this object
|
2103
|
+
def update!(**args)
|
2104
|
+
@mirroring_deployments = args[:mirroring_deployments] if args.key?(:mirroring_deployments)
|
2105
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2106
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
2107
|
+
end
|
2108
|
+
end
|
2109
|
+
|
2110
|
+
# Message for response to listing MirroringEndpointGroupAssociations
|
2111
|
+
class ListMirroringEndpointGroupAssociationsResponse
|
2112
|
+
include Google::Apis::Core::Hashable
|
2113
|
+
|
2114
|
+
# The list of MirroringEndpointGroupAssociation
|
2115
|
+
# Corresponds to the JSON property `mirroringEndpointGroupAssociations`
|
2116
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringEndpointGroupAssociation>]
|
2117
|
+
attr_accessor :mirroring_endpoint_group_associations
|
2118
|
+
|
2119
|
+
# A token identifying a page of results the server should return.
|
2120
|
+
# Corresponds to the JSON property `nextPageToken`
|
2121
|
+
# @return [String]
|
2122
|
+
attr_accessor :next_page_token
|
2123
|
+
|
2124
|
+
def initialize(**args)
|
2125
|
+
update!(**args)
|
2126
|
+
end
|
2127
|
+
|
2128
|
+
# Update properties of this object
|
2129
|
+
def update!(**args)
|
2130
|
+
@mirroring_endpoint_group_associations = args[:mirroring_endpoint_group_associations] if args.key?(:mirroring_endpoint_group_associations)
|
1463
2131
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1464
|
-
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
1465
2132
|
end
|
1466
2133
|
end
|
1467
2134
|
|
1468
|
-
#
|
1469
|
-
class
|
2135
|
+
# Message for response to listing MirroringEndpointGroups
|
2136
|
+
class ListMirroringEndpointGroupsResponse
|
1470
2137
|
include Google::Apis::Core::Hashable
|
1471
2138
|
|
1472
|
-
#
|
1473
|
-
# Corresponds to the JSON property `
|
1474
|
-
# @return [Array<Google::Apis::NetworksecurityV1beta1::
|
1475
|
-
attr_accessor :
|
2139
|
+
# The list of MirroringEndpointGroup
|
2140
|
+
# Corresponds to the JSON property `mirroringEndpointGroups`
|
2141
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringEndpointGroup>]
|
2142
|
+
attr_accessor :mirroring_endpoint_groups
|
1476
2143
|
|
1477
|
-
#
|
2144
|
+
# A token identifying a page of results the server should return.
|
1478
2145
|
# Corresponds to the JSON property `nextPageToken`
|
1479
2146
|
# @return [String]
|
1480
2147
|
attr_accessor :next_page_token
|
@@ -1485,7 +2152,7 @@ module Google
|
|
1485
2152
|
|
1486
2153
|
# Update properties of this object
|
1487
2154
|
def update!(**args)
|
1488
|
-
@
|
2155
|
+
@mirroring_endpoint_groups = args[:mirroring_endpoint_groups] if args.key?(:mirroring_endpoint_groups)
|
1489
2156
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1490
2157
|
end
|
1491
2158
|
end
|
@@ -1748,6 +2415,313 @@ module Google
|
|
1748
2415
|
end
|
1749
2416
|
end
|
1750
2417
|
|
2418
|
+
# Message describing MirroringDeployment object
|
2419
|
+
class MirroringDeployment
|
2420
|
+
include Google::Apis::Core::Hashable
|
2421
|
+
|
2422
|
+
# Output only. [Output only] Create time stamp
|
2423
|
+
# Corresponds to the JSON property `createTime`
|
2424
|
+
# @return [String]
|
2425
|
+
attr_accessor :create_time
|
2426
|
+
|
2427
|
+
# Required. Immutable. The regional load balancer which the mirrored traffic
|
2428
|
+
# should be forwarded to. Format is: projects/`project`/regions/`region`/
|
2429
|
+
# forwardingRules/`forwardingRule`
|
2430
|
+
# Corresponds to the JSON property `forwardingRule`
|
2431
|
+
# @return [String]
|
2432
|
+
attr_accessor :forwarding_rule
|
2433
|
+
|
2434
|
+
# Optional. Labels as key value pairs
|
2435
|
+
# Corresponds to the JSON property `labels`
|
2436
|
+
# @return [Hash<String,String>]
|
2437
|
+
attr_accessor :labels
|
2438
|
+
|
2439
|
+
# Required. Immutable. The Mirroring Deployment Group that this resource is part
|
2440
|
+
# of. Format is: `projects/`project`/locations/global/mirroringDeploymentGroups/`
|
2441
|
+
# mirroringDeploymentGroup``
|
2442
|
+
# Corresponds to the JSON property `mirroringDeploymentGroup`
|
2443
|
+
# @return [String]
|
2444
|
+
attr_accessor :mirroring_deployment_group
|
2445
|
+
|
2446
|
+
# Immutable. Identifier. The name of the MirroringDeployment.
|
2447
|
+
# Corresponds to the JSON property `name`
|
2448
|
+
# @return [String]
|
2449
|
+
attr_accessor :name
|
2450
|
+
|
2451
|
+
# Output only. Whether reconciling is in progress, recommended per https://
|
2452
|
+
# google.aip.dev/128.
|
2453
|
+
# Corresponds to the JSON property `reconciling`
|
2454
|
+
# @return [Boolean]
|
2455
|
+
attr_accessor :reconciling
|
2456
|
+
alias_method :reconciling?, :reconciling
|
2457
|
+
|
2458
|
+
# Output only. Current state of the deployment.
|
2459
|
+
# Corresponds to the JSON property `state`
|
2460
|
+
# @return [String]
|
2461
|
+
attr_accessor :state
|
2462
|
+
|
2463
|
+
# Output only. [Output only] Update time stamp
|
2464
|
+
# Corresponds to the JSON property `updateTime`
|
2465
|
+
# @return [String]
|
2466
|
+
attr_accessor :update_time
|
2467
|
+
|
2468
|
+
def initialize(**args)
|
2469
|
+
update!(**args)
|
2470
|
+
end
|
2471
|
+
|
2472
|
+
# Update properties of this object
|
2473
|
+
def update!(**args)
|
2474
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
2475
|
+
@forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
|
2476
|
+
@labels = args[:labels] if args.key?(:labels)
|
2477
|
+
@mirroring_deployment_group = args[:mirroring_deployment_group] if args.key?(:mirroring_deployment_group)
|
2478
|
+
@name = args[:name] if args.key?(:name)
|
2479
|
+
@reconciling = args[:reconciling] if args.key?(:reconciling)
|
2480
|
+
@state = args[:state] if args.key?(:state)
|
2481
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
2482
|
+
end
|
2483
|
+
end
|
2484
|
+
|
2485
|
+
# Message describing MirroringDeploymentGroup object
|
2486
|
+
class MirroringDeploymentGroup
|
2487
|
+
include Google::Apis::Core::Hashable
|
2488
|
+
|
2489
|
+
# Output only. The list of Mirroring Endpoint Groups that are connected to this
|
2490
|
+
# resource.
|
2491
|
+
# Corresponds to the JSON property `connectedEndpointGroups`
|
2492
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringDeploymentGroupConnectedEndpointGroup>]
|
2493
|
+
attr_accessor :connected_endpoint_groups
|
2494
|
+
|
2495
|
+
# Output only. [Output only] Create time stamp
|
2496
|
+
# Corresponds to the JSON property `createTime`
|
2497
|
+
# @return [String]
|
2498
|
+
attr_accessor :create_time
|
2499
|
+
|
2500
|
+
# Optional. Labels as key value pairs
|
2501
|
+
# Corresponds to the JSON property `labels`
|
2502
|
+
# @return [Hash<String,String>]
|
2503
|
+
attr_accessor :labels
|
2504
|
+
|
2505
|
+
# Immutable. Identifier. Then name of the MirroringDeploymentGroup.
|
2506
|
+
# Corresponds to the JSON property `name`
|
2507
|
+
# @return [String]
|
2508
|
+
attr_accessor :name
|
2509
|
+
|
2510
|
+
# Required. Immutable. The network that is being used for the deployment. Format
|
2511
|
+
# is: projects/`project`/global/networks/`network`.
|
2512
|
+
# Corresponds to the JSON property `network`
|
2513
|
+
# @return [String]
|
2514
|
+
attr_accessor :network
|
2515
|
+
|
2516
|
+
# Output only. Whether reconciling is in progress, recommended per https://
|
2517
|
+
# google.aip.dev/128.
|
2518
|
+
# Corresponds to the JSON property `reconciling`
|
2519
|
+
# @return [Boolean]
|
2520
|
+
attr_accessor :reconciling
|
2521
|
+
alias_method :reconciling?, :reconciling
|
2522
|
+
|
2523
|
+
# Output only. Current state of the deployment group.
|
2524
|
+
# Corresponds to the JSON property `state`
|
2525
|
+
# @return [String]
|
2526
|
+
attr_accessor :state
|
2527
|
+
|
2528
|
+
# Output only. [Output only] Update time stamp
|
2529
|
+
# Corresponds to the JSON property `updateTime`
|
2530
|
+
# @return [String]
|
2531
|
+
attr_accessor :update_time
|
2532
|
+
|
2533
|
+
def initialize(**args)
|
2534
|
+
update!(**args)
|
2535
|
+
end
|
2536
|
+
|
2537
|
+
# Update properties of this object
|
2538
|
+
def update!(**args)
|
2539
|
+
@connected_endpoint_groups = args[:connected_endpoint_groups] if args.key?(:connected_endpoint_groups)
|
2540
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
2541
|
+
@labels = args[:labels] if args.key?(:labels)
|
2542
|
+
@name = args[:name] if args.key?(:name)
|
2543
|
+
@network = args[:network] if args.key?(:network)
|
2544
|
+
@reconciling = args[:reconciling] if args.key?(:reconciling)
|
2545
|
+
@state = args[:state] if args.key?(:state)
|
2546
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
2547
|
+
end
|
2548
|
+
end
|
2549
|
+
|
2550
|
+
# An endpoint group connected to this deployment group.
|
2551
|
+
class MirroringDeploymentGroupConnectedEndpointGroup
|
2552
|
+
include Google::Apis::Core::Hashable
|
2553
|
+
|
2554
|
+
# Output only. A connected mirroring endpoint group.
|
2555
|
+
# Corresponds to the JSON property `name`
|
2556
|
+
# @return [String]
|
2557
|
+
attr_accessor :name
|
2558
|
+
|
2559
|
+
def initialize(**args)
|
2560
|
+
update!(**args)
|
2561
|
+
end
|
2562
|
+
|
2563
|
+
# Update properties of this object
|
2564
|
+
def update!(**args)
|
2565
|
+
@name = args[:name] if args.key?(:name)
|
2566
|
+
end
|
2567
|
+
end
|
2568
|
+
|
2569
|
+
# Message describing MirroringEndpointGroup object.
|
2570
|
+
class MirroringEndpointGroup
|
2571
|
+
include Google::Apis::Core::Hashable
|
2572
|
+
|
2573
|
+
# Output only. [Output only] Create time stamp
|
2574
|
+
# Corresponds to the JSON property `createTime`
|
2575
|
+
# @return [String]
|
2576
|
+
attr_accessor :create_time
|
2577
|
+
|
2578
|
+
# Optional. Labels as key value pairs
|
2579
|
+
# Corresponds to the JSON property `labels`
|
2580
|
+
# @return [Hash<String,String>]
|
2581
|
+
attr_accessor :labels
|
2582
|
+
|
2583
|
+
# Required. Immutable. The Mirroring Deployment Group that this resource is
|
2584
|
+
# connected to. Format is: `projects/`project`/locations/global/
|
2585
|
+
# mirroringDeploymentGroups/`mirroringDeploymentGroup``
|
2586
|
+
# Corresponds to the JSON property `mirroringDeploymentGroup`
|
2587
|
+
# @return [String]
|
2588
|
+
attr_accessor :mirroring_deployment_group
|
2589
|
+
|
2590
|
+
# Immutable. Identifier. Next ID: 11 The name of the MirroringEndpointGroup.
|
2591
|
+
# Corresponds to the JSON property `name`
|
2592
|
+
# @return [String]
|
2593
|
+
attr_accessor :name
|
2594
|
+
|
2595
|
+
# Output only. Whether reconciling is in progress, recommended per https://
|
2596
|
+
# google.aip.dev/128.
|
2597
|
+
# Corresponds to the JSON property `reconciling`
|
2598
|
+
# @return [Boolean]
|
2599
|
+
attr_accessor :reconciling
|
2600
|
+
alias_method :reconciling?, :reconciling
|
2601
|
+
|
2602
|
+
# Output only. Current state of the endpoint group.
|
2603
|
+
# Corresponds to the JSON property `state`
|
2604
|
+
# @return [String]
|
2605
|
+
attr_accessor :state
|
2606
|
+
|
2607
|
+
# Output only. [Output only] Update time stamp
|
2608
|
+
# Corresponds to the JSON property `updateTime`
|
2609
|
+
# @return [String]
|
2610
|
+
attr_accessor :update_time
|
2611
|
+
|
2612
|
+
def initialize(**args)
|
2613
|
+
update!(**args)
|
2614
|
+
end
|
2615
|
+
|
2616
|
+
# Update properties of this object
|
2617
|
+
def update!(**args)
|
2618
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
2619
|
+
@labels = args[:labels] if args.key?(:labels)
|
2620
|
+
@mirroring_deployment_group = args[:mirroring_deployment_group] if args.key?(:mirroring_deployment_group)
|
2621
|
+
@name = args[:name] if args.key?(:name)
|
2622
|
+
@reconciling = args[:reconciling] if args.key?(:reconciling)
|
2623
|
+
@state = args[:state] if args.key?(:state)
|
2624
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
2625
|
+
end
|
2626
|
+
end
|
2627
|
+
|
2628
|
+
# Message describing MirroringEndpointGroupAssociation object
|
2629
|
+
class MirroringEndpointGroupAssociation
|
2630
|
+
include Google::Apis::Core::Hashable
|
2631
|
+
|
2632
|
+
# Output only. [Output only] Create time stamp
|
2633
|
+
# Corresponds to the JSON property `createTime`
|
2634
|
+
# @return [String]
|
2635
|
+
attr_accessor :create_time
|
2636
|
+
|
2637
|
+
# Optional. Labels as key value pairs
|
2638
|
+
# Corresponds to the JSON property `labels`
|
2639
|
+
# @return [Hash<String,String>]
|
2640
|
+
attr_accessor :labels
|
2641
|
+
|
2642
|
+
# Output only. The list of locations that this association is in and its details.
|
2643
|
+
# Corresponds to the JSON property `locationsDetails`
|
2644
|
+
# @return [Array<Google::Apis::NetworksecurityV1beta1::MirroringEndpointGroupAssociationLocationDetails>]
|
2645
|
+
attr_accessor :locations_details
|
2646
|
+
|
2647
|
+
# Required. Immutable. The Mirroring Endpoint Group that this resource is
|
2648
|
+
# connected to. Format is: `projects/`project`/locations/global/
|
2649
|
+
# mirroringEndpointGroups/`mirroringEndpointGroup``
|
2650
|
+
# Corresponds to the JSON property `mirroringEndpointGroup`
|
2651
|
+
# @return [String]
|
2652
|
+
attr_accessor :mirroring_endpoint_group
|
2653
|
+
|
2654
|
+
# Immutable. Identifier. The name of the MirroringEndpointGroupAssociation.
|
2655
|
+
# Corresponds to the JSON property `name`
|
2656
|
+
# @return [String]
|
2657
|
+
attr_accessor :name
|
2658
|
+
|
2659
|
+
# Required. Immutable. The VPC network associated. Format: projects/`project`/
|
2660
|
+
# global/networks/`network`.
|
2661
|
+
# Corresponds to the JSON property `network`
|
2662
|
+
# @return [String]
|
2663
|
+
attr_accessor :network
|
2664
|
+
|
2665
|
+
# Output only. Whether reconciling is in progress, recommended per https://
|
2666
|
+
# google.aip.dev/128.
|
2667
|
+
# Corresponds to the JSON property `reconciling`
|
2668
|
+
# @return [Boolean]
|
2669
|
+
attr_accessor :reconciling
|
2670
|
+
alias_method :reconciling?, :reconciling
|
2671
|
+
|
2672
|
+
# Output only. Current state of the endpoint group association.
|
2673
|
+
# Corresponds to the JSON property `state`
|
2674
|
+
# @return [String]
|
2675
|
+
attr_accessor :state
|
2676
|
+
|
2677
|
+
# Output only. [Output only] Update time stamp
|
2678
|
+
# Corresponds to the JSON property `updateTime`
|
2679
|
+
# @return [String]
|
2680
|
+
attr_accessor :update_time
|
2681
|
+
|
2682
|
+
def initialize(**args)
|
2683
|
+
update!(**args)
|
2684
|
+
end
|
2685
|
+
|
2686
|
+
# Update properties of this object
|
2687
|
+
def update!(**args)
|
2688
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
2689
|
+
@labels = args[:labels] if args.key?(:labels)
|
2690
|
+
@locations_details = args[:locations_details] if args.key?(:locations_details)
|
2691
|
+
@mirroring_endpoint_group = args[:mirroring_endpoint_group] if args.key?(:mirroring_endpoint_group)
|
2692
|
+
@name = args[:name] if args.key?(:name)
|
2693
|
+
@network = args[:network] if args.key?(:network)
|
2694
|
+
@reconciling = args[:reconciling] if args.key?(:reconciling)
|
2695
|
+
@state = args[:state] if args.key?(:state)
|
2696
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
2697
|
+
end
|
2698
|
+
end
|
2699
|
+
|
2700
|
+
# Details about the association status in a specific cloud location.
|
2701
|
+
class MirroringEndpointGroupAssociationLocationDetails
|
2702
|
+
include Google::Apis::Core::Hashable
|
2703
|
+
|
2704
|
+
# Output only. The cloud location.
|
2705
|
+
# Corresponds to the JSON property `location`
|
2706
|
+
# @return [String]
|
2707
|
+
attr_accessor :location
|
2708
|
+
|
2709
|
+
# Output only. The association state in this location.
|
2710
|
+
# Corresponds to the JSON property `state`
|
2711
|
+
# @return [String]
|
2712
|
+
attr_accessor :state
|
2713
|
+
|
2714
|
+
def initialize(**args)
|
2715
|
+
update!(**args)
|
2716
|
+
end
|
2717
|
+
|
2718
|
+
# Update properties of this object
|
2719
|
+
def update!(**args)
|
2720
|
+
@location = args[:location] if args.key?(:location)
|
2721
|
+
@state = args[:state] if args.key?(:state)
|
2722
|
+
end
|
2723
|
+
end
|
2724
|
+
|
1751
2725
|
# This resource represents a long-running operation that is the result of a
|
1752
2726
|
# network API call.
|
1753
2727
|
class Operation
|
@@ -1936,7 +2910,7 @@ module Google
|
|
1936
2910
|
end
|
1937
2911
|
|
1938
2912
|
# SecurityProfile is a resource that defines the behavior for one of many
|
1939
|
-
# ProfileTypes. Next ID:
|
2913
|
+
# ProfileTypes. Next ID: 12
|
1940
2914
|
class SecurityProfile
|
1941
2915
|
include Google::Apis::Core::Hashable
|
1942
2916
|
|
@@ -1945,6 +2919,12 @@ module Google
|
|
1945
2919
|
# @return [String]
|
1946
2920
|
attr_accessor :create_time
|
1947
2921
|
|
2922
|
+
# CustomMirroringProfile defines an action for mirroring traffic to a collector'
|
2923
|
+
# s EndpointGroup
|
2924
|
+
# Corresponds to the JSON property `customMirroringProfile`
|
2925
|
+
# @return [Google::Apis::NetworksecurityV1beta1::CustomMirroringProfile]
|
2926
|
+
attr_accessor :custom_mirroring_profile
|
2927
|
+
|
1948
2928
|
# Optional. An optional description of the profile. Max length 512 characters.
|
1949
2929
|
# Corresponds to the JSON property `description`
|
1950
2930
|
# @return [String]
|
@@ -1992,6 +2972,7 @@ module Google
|
|
1992
2972
|
# Update properties of this object
|
1993
2973
|
def update!(**args)
|
1994
2974
|
@create_time = args[:create_time] if args.key?(:create_time)
|
2975
|
+
@custom_mirroring_profile = args[:custom_mirroring_profile] if args.key?(:custom_mirroring_profile)
|
1995
2976
|
@description = args[:description] if args.key?(:description)
|
1996
2977
|
@etag = args[:etag] if args.key?(:etag)
|
1997
2978
|
@labels = args[:labels] if args.key?(:labels)
|
@@ -2003,7 +2984,7 @@ module Google
|
|
2003
2984
|
end
|
2004
2985
|
|
2005
2986
|
# SecurityProfileGroup is a resource that defines the behavior for various
|
2006
|
-
# ProfileTypes. Next ID:
|
2987
|
+
# ProfileTypes. Next ID: 11
|
2007
2988
|
class SecurityProfileGroup
|
2008
2989
|
include Google::Apis::Core::Hashable
|
2009
2990
|
|
@@ -2012,6 +2993,12 @@ module Google
|
|
2012
2993
|
# @return [String]
|
2013
2994
|
attr_accessor :create_time
|
2014
2995
|
|
2996
|
+
# Optional. Reference to a SecurityProfile with the CustomMirroring
|
2997
|
+
# configuration.
|
2998
|
+
# Corresponds to the JSON property `customMirroringProfile`
|
2999
|
+
# @return [String]
|
3000
|
+
attr_accessor :custom_mirroring_profile
|
3001
|
+
|
2015
3002
|
# Optional. An optional description of the profile group. Max length 2048
|
2016
3003
|
# characters.
|
2017
3004
|
# Corresponds to the JSON property `description`
|
@@ -2037,8 +3024,8 @@ module Google
|
|
2037
3024
|
# @return [String]
|
2038
3025
|
attr_accessor :name
|
2039
3026
|
|
2040
|
-
# Optional. Reference to a SecurityProfile with the
|
2041
|
-
# configuration
|
3027
|
+
# Optional. Reference to a SecurityProfile with the ThreatPrevention
|
3028
|
+
# configuration.
|
2042
3029
|
# Corresponds to the JSON property `threatPreventionProfile`
|
2043
3030
|
# @return [String]
|
2044
3031
|
attr_accessor :threat_prevention_profile
|
@@ -2055,6 +3042,7 @@ module Google
|
|
2055
3042
|
# Update properties of this object
|
2056
3043
|
def update!(**args)
|
2057
3044
|
@create_time = args[:create_time] if args.key?(:create_time)
|
3045
|
+
@custom_mirroring_profile = args[:custom_mirroring_profile] if args.key?(:custom_mirroring_profile)
|
2058
3046
|
@description = args[:description] if args.key?(:description)
|
2059
3047
|
@etag = args[:etag] if args.key?(:etag)
|
2060
3048
|
@labels = args[:labels] if args.key?(:labels)
|