google-apis-networksecurity_v1 0.30.0 → 0.31.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 53c0b355f4d855b6c7e376f024b4292ace07dc48a692ab0eed4b3ec22d0104be
4
- data.tar.gz: 7d70530fe72d6bbee2a1cb2dcd635d57fb40860bef4b4392003cae55e050546d
3
+ metadata.gz: b405a629e898e7005a178dc30cb4c856f1cd08234c5e9f0143767ac164fb8438
4
+ data.tar.gz: b576425cb00f5c2a62b8ea634a3a5bffd4fe0f16e16215aaaa05c8ca83b00ae8
5
5
  SHA512:
6
- metadata.gz: 652a2a00c9e691da2c2c593440a02456ac1ef017a917a872583ae4f8b6024bcc72e0390ff785ce19a87fed757294f63a097bb57e414c1b84aec7ac7773b9e87d
7
- data.tar.gz: bc0e8e86b9995362cb0d8d74ee73c140f36d1b8c1b6440066c1bb1533655c3a4a6a48801c33c10e634c945f82e75276869b86a4bbb9d71f65b1afe590e5cd7e5
6
+ metadata.gz: cbc06a698dad058e54c17a03ae1ac6befe7b8b7245e1e740b0f9482e39f548674348758a1c17d5a12a1decce12d482c368a27009de9f26eb904bbbc0eb975658
7
+ data.tar.gz: 85f3b178e62ad17e40ab50bf49d5370642c206d1c7d9b2767f7b6ff444701c9224f67032c5be1a03b91bc02fd9614e12fde01369d4a81abf8a4fcc330283775c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release history for google-apis-networksecurity_v1
2
2
 
3
+ ### v0.31.0 (2024-11-17)
4
+
5
+ * Regenerated from discovery document revision 20241109
6
+
3
7
  ### v0.30.0 (2024-09-29)
4
8
 
5
9
  * Regenerated from discovery document revision 20240919
@@ -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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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::NetworksecurityV1::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
@@ -1331,6 +1840,37 @@ module Google
1331
1840
  end
1332
1841
  end
1333
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::NetworksecurityV1::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
+
1334
1874
  # Response returned by the ListClientTlsPolicies method.
1335
1875
  class ListClientTlsPoliciesResponse
1336
1876
  include Google::Apis::Core::Hashable
@@ -16,13 +16,13 @@ module Google
16
16
  module Apis
17
17
  module NetworksecurityV1
18
18
  # Version of the google-apis-networksecurity_v1 gem
19
- GEM_VERSION = "0.30.0"
19
+ GEM_VERSION = "0.31.0"
20
20
 
21
21
  # Version of the code generator used to generate this client
22
22
  GENERATOR_VERSION = "0.15.1"
23
23
 
24
24
  # Revision of the discovery document this client was generated from
25
- REVISION = "20240919"
25
+ REVISION = "20241109"
26
26
  end
27
27
  end
28
28
  end
@@ -40,6 +40,96 @@ module Google
40
40
  include Google::Apis::Core::JsonObjectSupport
41
41
  end
42
42
 
43
+ class AuthzPolicy
44
+ class Representation < Google::Apis::Core::JsonRepresentation; end
45
+
46
+ include Google::Apis::Core::JsonObjectSupport
47
+ end
48
+
49
+ class AuthzPolicyAuthzRule
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
53
+ end
54
+
55
+ class AuthzPolicyAuthzRuleFrom
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
61
+ class AuthzPolicyAuthzRuleFromRequestSource
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+
64
+ include Google::Apis::Core::JsonObjectSupport
65
+ end
66
+
67
+ class AuthzPolicyAuthzRuleHeaderMatch
68
+ class Representation < Google::Apis::Core::JsonRepresentation; end
69
+
70
+ include Google::Apis::Core::JsonObjectSupport
71
+ end
72
+
73
+ class AuthzPolicyAuthzRuleRequestResource
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+
76
+ include Google::Apis::Core::JsonObjectSupport
77
+ end
78
+
79
+ class AuthzPolicyAuthzRuleRequestResourceTagValueIdSet
80
+ class Representation < Google::Apis::Core::JsonRepresentation; end
81
+
82
+ include Google::Apis::Core::JsonObjectSupport
83
+ end
84
+
85
+ class AuthzPolicyAuthzRuleStringMatch
86
+ class Representation < Google::Apis::Core::JsonRepresentation; end
87
+
88
+ include Google::Apis::Core::JsonObjectSupport
89
+ end
90
+
91
+ class AuthzPolicyAuthzRuleTo
92
+ class Representation < Google::Apis::Core::JsonRepresentation; end
93
+
94
+ include Google::Apis::Core::JsonObjectSupport
95
+ end
96
+
97
+ class AuthzPolicyAuthzRuleToRequestOperation
98
+ class Representation < Google::Apis::Core::JsonRepresentation; end
99
+
100
+ include Google::Apis::Core::JsonObjectSupport
101
+ end
102
+
103
+ class AuthzPolicyAuthzRuleToRequestOperationHeaderSet
104
+ class Representation < Google::Apis::Core::JsonRepresentation; end
105
+
106
+ include Google::Apis::Core::JsonObjectSupport
107
+ end
108
+
109
+ class AuthzPolicyCustomProvider
110
+ class Representation < Google::Apis::Core::JsonRepresentation; end
111
+
112
+ include Google::Apis::Core::JsonObjectSupport
113
+ end
114
+
115
+ class AuthzPolicyCustomProviderAuthzExtension
116
+ class Representation < Google::Apis::Core::JsonRepresentation; end
117
+
118
+ include Google::Apis::Core::JsonObjectSupport
119
+ end
120
+
121
+ class AuthzPolicyCustomProviderCloudIap
122
+ class Representation < Google::Apis::Core::JsonRepresentation; end
123
+
124
+ include Google::Apis::Core::JsonObjectSupport
125
+ end
126
+
127
+ class AuthzPolicyTarget
128
+ class Representation < Google::Apis::Core::JsonRepresentation; end
129
+
130
+ include Google::Apis::Core::JsonObjectSupport
131
+ end
132
+
43
133
  class CancelOperationRequest
44
134
  class Representation < Google::Apis::Core::JsonRepresentation; end
45
135
 
@@ -202,6 +292,12 @@ module Google
202
292
  include Google::Apis::Core::JsonObjectSupport
203
293
  end
204
294
 
295
+ class ListAuthzPoliciesResponse
296
+ class Representation < Google::Apis::Core::JsonRepresentation; end
297
+
298
+ include Google::Apis::Core::JsonObjectSupport
299
+ end
300
+
205
301
  class ListClientTlsPoliciesResponse
206
302
  class Representation < Google::Apis::Core::JsonRepresentation; end
207
303
 
@@ -414,6 +510,154 @@ module Google
414
510
  end
415
511
  end
416
512
 
513
+ class AuthzPolicy
514
+ # @private
515
+ class Representation < Google::Apis::Core::JsonRepresentation
516
+ property :action, as: 'action'
517
+ property :create_time, as: 'createTime'
518
+ property :custom_provider, as: 'customProvider', class: Google::Apis::NetworksecurityV1::AuthzPolicyCustomProvider, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyCustomProvider::Representation
519
+
520
+ property :description, as: 'description'
521
+ collection :http_rules, as: 'httpRules', class: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRule, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRule::Representation
522
+
523
+ hash :labels, as: 'labels'
524
+ property :name, as: 'name'
525
+ property :target, as: 'target', class: Google::Apis::NetworksecurityV1::AuthzPolicyTarget, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyTarget::Representation
526
+
527
+ property :update_time, as: 'updateTime'
528
+ end
529
+ end
530
+
531
+ class AuthzPolicyAuthzRule
532
+ # @private
533
+ class Representation < Google::Apis::Core::JsonRepresentation
534
+ property :from, as: 'from', class: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleFrom, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleFrom::Representation
535
+
536
+ property :to, as: 'to', class: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleTo, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleTo::Representation
537
+
538
+ property :when, as: 'when'
539
+ end
540
+ end
541
+
542
+ class AuthzPolicyAuthzRuleFrom
543
+ # @private
544
+ class Representation < Google::Apis::Core::JsonRepresentation
545
+ collection :not_sources, as: 'notSources', class: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleFromRequestSource, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleFromRequestSource::Representation
546
+
547
+ collection :sources, as: 'sources', class: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleFromRequestSource, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleFromRequestSource::Representation
548
+
549
+ end
550
+ end
551
+
552
+ class AuthzPolicyAuthzRuleFromRequestSource
553
+ # @private
554
+ class Representation < Google::Apis::Core::JsonRepresentation
555
+ collection :principals, as: 'principals', class: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleStringMatch, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleStringMatch::Representation
556
+
557
+ collection :resources, as: 'resources', class: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleRequestResource, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleRequestResource::Representation
558
+
559
+ end
560
+ end
561
+
562
+ class AuthzPolicyAuthzRuleHeaderMatch
563
+ # @private
564
+ class Representation < Google::Apis::Core::JsonRepresentation
565
+ property :name, as: 'name'
566
+ property :value, as: 'value', class: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleStringMatch, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleStringMatch::Representation
567
+
568
+ end
569
+ end
570
+
571
+ class AuthzPolicyAuthzRuleRequestResource
572
+ # @private
573
+ class Representation < Google::Apis::Core::JsonRepresentation
574
+ property :iam_service_account, as: 'iamServiceAccount', class: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleStringMatch, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleStringMatch::Representation
575
+
576
+ property :tag_value_id_set, as: 'tagValueIdSet', class: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleRequestResourceTagValueIdSet, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleRequestResourceTagValueIdSet::Representation
577
+
578
+ end
579
+ end
580
+
581
+ class AuthzPolicyAuthzRuleRequestResourceTagValueIdSet
582
+ # @private
583
+ class Representation < Google::Apis::Core::JsonRepresentation
584
+ collection :ids, as: 'ids'
585
+ end
586
+ end
587
+
588
+ class AuthzPolicyAuthzRuleStringMatch
589
+ # @private
590
+ class Representation < Google::Apis::Core::JsonRepresentation
591
+ property :contains, as: 'contains'
592
+ property :exact, as: 'exact'
593
+ property :ignore_case, as: 'ignoreCase'
594
+ property :prefix, as: 'prefix'
595
+ property :suffix, as: 'suffix'
596
+ end
597
+ end
598
+
599
+ class AuthzPolicyAuthzRuleTo
600
+ # @private
601
+ class Representation < Google::Apis::Core::JsonRepresentation
602
+ collection :not_operations, as: 'notOperations', class: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleToRequestOperation, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleToRequestOperation::Representation
603
+
604
+ collection :operations, as: 'operations', class: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleToRequestOperation, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleToRequestOperation::Representation
605
+
606
+ end
607
+ end
608
+
609
+ class AuthzPolicyAuthzRuleToRequestOperation
610
+ # @private
611
+ class Representation < Google::Apis::Core::JsonRepresentation
612
+ property :header_set, as: 'headerSet', class: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleToRequestOperationHeaderSet, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleToRequestOperationHeaderSet::Representation
613
+
614
+ collection :hosts, as: 'hosts', class: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleStringMatch, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleStringMatch::Representation
615
+
616
+ collection :methods_prop, as: 'methods'
617
+ collection :paths, as: 'paths', class: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleStringMatch, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleStringMatch::Representation
618
+
619
+ end
620
+ end
621
+
622
+ class AuthzPolicyAuthzRuleToRequestOperationHeaderSet
623
+ # @private
624
+ class Representation < Google::Apis::Core::JsonRepresentation
625
+ collection :headers, as: 'headers', class: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleHeaderMatch, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyAuthzRuleHeaderMatch::Representation
626
+
627
+ end
628
+ end
629
+
630
+ class AuthzPolicyCustomProvider
631
+ # @private
632
+ class Representation < Google::Apis::Core::JsonRepresentation
633
+ property :authz_extension, as: 'authzExtension', class: Google::Apis::NetworksecurityV1::AuthzPolicyCustomProviderAuthzExtension, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyCustomProviderAuthzExtension::Representation
634
+
635
+ property :cloud_iap, as: 'cloudIap', class: Google::Apis::NetworksecurityV1::AuthzPolicyCustomProviderCloudIap, decorator: Google::Apis::NetworksecurityV1::AuthzPolicyCustomProviderCloudIap::Representation
636
+
637
+ end
638
+ end
639
+
640
+ class AuthzPolicyCustomProviderAuthzExtension
641
+ # @private
642
+ class Representation < Google::Apis::Core::JsonRepresentation
643
+ collection :resources, as: 'resources'
644
+ end
645
+ end
646
+
647
+ class AuthzPolicyCustomProviderCloudIap
648
+ # @private
649
+ class Representation < Google::Apis::Core::JsonRepresentation
650
+ end
651
+ end
652
+
653
+ class AuthzPolicyTarget
654
+ # @private
655
+ class Representation < Google::Apis::Core::JsonRepresentation
656
+ property :load_balancing_scheme, as: 'loadBalancingScheme'
657
+ collection :resources, as: 'resources'
658
+ end
659
+ end
660
+
417
661
  class CancelOperationRequest
418
662
  # @private
419
663
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -676,6 +920,16 @@ module Google
676
920
  end
677
921
  end
678
922
 
923
+ class ListAuthzPoliciesResponse
924
+ # @private
925
+ class Representation < Google::Apis::Core::JsonRepresentation
926
+ collection :authz_policies, as: 'authzPolicies', class: Google::Apis::NetworksecurityV1::AuthzPolicy, decorator: Google::Apis::NetworksecurityV1::AuthzPolicy::Representation
927
+
928
+ property :next_page_token, as: 'nextPageToken'
929
+ collection :unreachable, as: 'unreachable'
930
+ end
931
+ end
932
+
679
933
  class ListClientTlsPoliciesResponse
680
934
  # @private
681
935
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -2004,6 +2004,129 @@ module Google
2004
2004
  execute_or_queue_command(command, &block)
2005
2005
  end
2006
2006
 
2007
+ # Creates a new AuthzPolicy in a given project and location.
2008
+ # @param [String] parent
2009
+ # Required. The parent resource of the `AuthzPolicy` resource. Must be in the
2010
+ # format `projects/`project`/locations/`location``.
2011
+ # @param [Google::Apis::NetworksecurityV1::AuthzPolicy] authz_policy_object
2012
+ # @param [String] authz_policy_id
2013
+ # Required. User-provided ID of the `AuthzPolicy` resource to be created.
2014
+ # @param [String] request_id
2015
+ # Optional. An optional request ID to identify requests. Specify a unique
2016
+ # request ID so that if you must retry your request, the server can ignore the
2017
+ # request if it has already been completed. The server guarantees that for at
2018
+ # least 60 minutes since the first request. For example, consider a situation
2019
+ # where you make an initial request and the request times out. If you make the
2020
+ # request again with the same request ID, the server can check if original
2021
+ # operation with the same request ID was received, and if so, ignores the second
2022
+ # request. This prevents clients from accidentally creating duplicate
2023
+ # commitments. The request ID must be a valid UUID with the exception that zero
2024
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
2025
+ # @param [String] fields
2026
+ # Selector specifying which fields to include in a partial response.
2027
+ # @param [String] quota_user
2028
+ # Available to use for quota purposes for server-side applications. Can be any
2029
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2030
+ # @param [Google::Apis::RequestOptions] options
2031
+ # Request-specific options
2032
+ #
2033
+ # @yield [result, err] Result & error if block supplied
2034
+ # @yieldparam result [Google::Apis::NetworksecurityV1::Operation] parsed result object
2035
+ # @yieldparam err [StandardError] error object if request failed
2036
+ #
2037
+ # @return [Google::Apis::NetworksecurityV1::Operation]
2038
+ #
2039
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2040
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2041
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2042
+ def create_project_location_authz_policy(parent, authz_policy_object = nil, authz_policy_id: nil, request_id: nil, fields: nil, quota_user: nil, options: nil, &block)
2043
+ command = make_simple_command(:post, 'v1/{+parent}/authzPolicies', options)
2044
+ command.request_representation = Google::Apis::NetworksecurityV1::AuthzPolicy::Representation
2045
+ command.request_object = authz_policy_object
2046
+ command.response_representation = Google::Apis::NetworksecurityV1::Operation::Representation
2047
+ command.response_class = Google::Apis::NetworksecurityV1::Operation
2048
+ command.params['parent'] = parent unless parent.nil?
2049
+ command.query['authzPolicyId'] = authz_policy_id unless authz_policy_id.nil?
2050
+ command.query['requestId'] = request_id unless request_id.nil?
2051
+ command.query['fields'] = fields unless fields.nil?
2052
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2053
+ execute_or_queue_command(command, &block)
2054
+ end
2055
+
2056
+ # Deletes a single AuthzPolicy.
2057
+ # @param [String] name
2058
+ # Required. The name of the `AuthzPolicy` resource to delete. Must be in the
2059
+ # format `projects/`project`/locations/`location`/authzPolicies/`authz_policy``.
2060
+ # @param [String] request_id
2061
+ # Optional. An optional request ID to identify requests. Specify a unique
2062
+ # request ID so that if you must retry your request, the server can ignore the
2063
+ # request if it has already been completed. The server guarantees that for at
2064
+ # least 60 minutes after the first request. For example, consider a situation
2065
+ # where you make an initial request and the request times out. If you make the
2066
+ # request again with the same request ID, the server can check if original
2067
+ # operation with the same request ID was received, and if so, ignores the second
2068
+ # request. This prevents clients from accidentally creating duplicate
2069
+ # commitments. The request ID must be a valid UUID with the exception that zero
2070
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
2071
+ # @param [String] fields
2072
+ # Selector specifying which fields to include in a partial response.
2073
+ # @param [String] quota_user
2074
+ # Available to use for quota purposes for server-side applications. Can be any
2075
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2076
+ # @param [Google::Apis::RequestOptions] options
2077
+ # Request-specific options
2078
+ #
2079
+ # @yield [result, err] Result & error if block supplied
2080
+ # @yieldparam result [Google::Apis::NetworksecurityV1::Operation] parsed result object
2081
+ # @yieldparam err [StandardError] error object if request failed
2082
+ #
2083
+ # @return [Google::Apis::NetworksecurityV1::Operation]
2084
+ #
2085
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2086
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2087
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2088
+ def delete_project_location_authz_policy(name, request_id: nil, fields: nil, quota_user: nil, options: nil, &block)
2089
+ command = make_simple_command(:delete, 'v1/{+name}', options)
2090
+ command.response_representation = Google::Apis::NetworksecurityV1::Operation::Representation
2091
+ command.response_class = Google::Apis::NetworksecurityV1::Operation
2092
+ command.params['name'] = name unless name.nil?
2093
+ command.query['requestId'] = request_id unless request_id.nil?
2094
+ command.query['fields'] = fields unless fields.nil?
2095
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2096
+ execute_or_queue_command(command, &block)
2097
+ end
2098
+
2099
+ # Gets details of a single AuthzPolicy.
2100
+ # @param [String] name
2101
+ # Required. A name of the `AuthzPolicy` resource to get. Must be in the format `
2102
+ # projects/`project`/locations/`location`/authzPolicies/`authz_policy``.
2103
+ # @param [String] fields
2104
+ # Selector specifying which fields to include in a partial response.
2105
+ # @param [String] quota_user
2106
+ # Available to use for quota purposes for server-side applications. Can be any
2107
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2108
+ # @param [Google::Apis::RequestOptions] options
2109
+ # Request-specific options
2110
+ #
2111
+ # @yield [result, err] Result & error if block supplied
2112
+ # @yieldparam result [Google::Apis::NetworksecurityV1::AuthzPolicy] parsed result object
2113
+ # @yieldparam err [StandardError] error object if request failed
2114
+ #
2115
+ # @return [Google::Apis::NetworksecurityV1::AuthzPolicy]
2116
+ #
2117
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2118
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2119
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2120
+ def get_project_location_authz_policy(name, fields: nil, quota_user: nil, options: nil, &block)
2121
+ command = make_simple_command(:get, 'v1/{+name}', options)
2122
+ command.response_representation = Google::Apis::NetworksecurityV1::AuthzPolicy::Representation
2123
+ command.response_class = Google::Apis::NetworksecurityV1::AuthzPolicy
2124
+ command.params['name'] = name unless name.nil?
2125
+ command.query['fields'] = fields unless fields.nil?
2126
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2127
+ execute_or_queue_command(command, &block)
2128
+ end
2129
+
2007
2130
  # Gets the access control policy for a resource. Returns an empty policy if the
2008
2131
  # resource exists and does not have a policy set.
2009
2132
  # @param [String] resource
@@ -2049,6 +2172,103 @@ module Google
2049
2172
  execute_or_queue_command(command, &block)
2050
2173
  end
2051
2174
 
2175
+ # Lists AuthzPolicies in a given project and location.
2176
+ # @param [String] parent
2177
+ # Required. The project and location from which the `AuthzPolicy` resources are
2178
+ # listed, specified in the following format: `projects/`project`/locations/`
2179
+ # location``.
2180
+ # @param [String] filter
2181
+ # Optional. Filtering results.
2182
+ # @param [String] order_by
2183
+ # Optional. Hint for how to order the results.
2184
+ # @param [Fixnum] page_size
2185
+ # Optional. Requested page size. The server might return fewer items than
2186
+ # requested. If unspecified, the server picks an appropriate default.
2187
+ # @param [String] page_token
2188
+ # Optional. A token identifying a page of results that the server returns.
2189
+ # @param [String] fields
2190
+ # Selector specifying which fields to include in a partial response.
2191
+ # @param [String] quota_user
2192
+ # Available to use for quota purposes for server-side applications. Can be any
2193
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2194
+ # @param [Google::Apis::RequestOptions] options
2195
+ # Request-specific options
2196
+ #
2197
+ # @yield [result, err] Result & error if block supplied
2198
+ # @yieldparam result [Google::Apis::NetworksecurityV1::ListAuthzPoliciesResponse] parsed result object
2199
+ # @yieldparam err [StandardError] error object if request failed
2200
+ #
2201
+ # @return [Google::Apis::NetworksecurityV1::ListAuthzPoliciesResponse]
2202
+ #
2203
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2204
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2205
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2206
+ def list_project_location_authz_policies(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
2207
+ command = make_simple_command(:get, 'v1/{+parent}/authzPolicies', options)
2208
+ command.response_representation = Google::Apis::NetworksecurityV1::ListAuthzPoliciesResponse::Representation
2209
+ command.response_class = Google::Apis::NetworksecurityV1::ListAuthzPoliciesResponse
2210
+ command.params['parent'] = parent unless parent.nil?
2211
+ command.query['filter'] = filter unless filter.nil?
2212
+ command.query['orderBy'] = order_by unless order_by.nil?
2213
+ command.query['pageSize'] = page_size unless page_size.nil?
2214
+ command.query['pageToken'] = page_token unless page_token.nil?
2215
+ command.query['fields'] = fields unless fields.nil?
2216
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2217
+ execute_or_queue_command(command, &block)
2218
+ end
2219
+
2220
+ # Updates the parameters of a single AuthzPolicy.
2221
+ # @param [String] name
2222
+ # Required. Identifier. Name of the `AuthzPolicy` resource in the following
2223
+ # format: `projects/`project`/locations/`location`/authzPolicies/`authz_policy``.
2224
+ # @param [Google::Apis::NetworksecurityV1::AuthzPolicy] authz_policy_object
2225
+ # @param [String] request_id
2226
+ # Optional. An optional request ID to identify requests. Specify a unique
2227
+ # request ID so that if you must retry your request, the server can ignore the
2228
+ # request if it has already been completed. The server guarantees that for at
2229
+ # least 60 minutes since the first request. For example, consider a situation
2230
+ # where you make an initial request and the request times out. If you make the
2231
+ # request again with the same request ID, the server can check if original
2232
+ # operation with the same request ID was received, and if so, ignores the second
2233
+ # request. This prevents clients from accidentally creating duplicate
2234
+ # commitments. The request ID must be a valid UUID with the exception that zero
2235
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
2236
+ # @param [String] update_mask
2237
+ # Required. Used to specify the fields to be overwritten in the `AuthzPolicy`
2238
+ # resource by the update. The fields specified in the `update_mask` are relative
2239
+ # to the resource, not the full request. A field is overwritten if it is in the
2240
+ # mask. If the user does not specify a mask, then all fields are overwritten.
2241
+ # @param [String] fields
2242
+ # Selector specifying which fields to include in a partial response.
2243
+ # @param [String] quota_user
2244
+ # Available to use for quota purposes for server-side applications. Can be any
2245
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2246
+ # @param [Google::Apis::RequestOptions] options
2247
+ # Request-specific options
2248
+ #
2249
+ # @yield [result, err] Result & error if block supplied
2250
+ # @yieldparam result [Google::Apis::NetworksecurityV1::Operation] parsed result object
2251
+ # @yieldparam err [StandardError] error object if request failed
2252
+ #
2253
+ # @return [Google::Apis::NetworksecurityV1::Operation]
2254
+ #
2255
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2256
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2257
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2258
+ def patch_project_location_authz_policy(name, authz_policy_object = nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
2259
+ command = make_simple_command(:patch, 'v1/{+name}', options)
2260
+ command.request_representation = Google::Apis::NetworksecurityV1::AuthzPolicy::Representation
2261
+ command.request_object = authz_policy_object
2262
+ command.response_representation = Google::Apis::NetworksecurityV1::Operation::Representation
2263
+ command.response_class = Google::Apis::NetworksecurityV1::Operation
2264
+ command.params['name'] = name unless name.nil?
2265
+ command.query['requestId'] = request_id unless request_id.nil?
2266
+ command.query['updateMask'] = update_mask unless update_mask.nil?
2267
+ command.query['fields'] = fields unless fields.nil?
2268
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2269
+ execute_or_queue_command(command, &block)
2270
+ end
2271
+
2052
2272
  # Sets the access control policy on the specified resource. Replaces any
2053
2273
  # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `
2054
2274
  # PERMISSION_DENIED` errors.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-apis-networksecurity_v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.30.0
4
+ version: 0.31.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-29 00:00:00.000000000 Z
11
+ date: 2024-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-apis-core
@@ -58,7 +58,7 @@ licenses:
58
58
  metadata:
59
59
  bug_tracker_uri: https://github.com/googleapis/google-api-ruby-client/issues
60
60
  changelog_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-networksecurity_v1/CHANGELOG.md
61
- documentation_uri: https://googleapis.dev/ruby/google-apis-networksecurity_v1/v0.30.0
61
+ documentation_uri: https://googleapis.dev/ruby/google-apis-networksecurity_v1/v0.31.0
62
62
  source_code_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-networksecurity_v1
63
63
  post_install_message:
64
64
  rdoc_options: []
@@ -75,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  requirements: []
78
- rubygems_version: 3.5.6
78
+ rubygems_version: 3.5.22
79
79
  signing_key:
80
80
  specification_version: 4
81
81
  summary: Simple REST client for Network Security API V1