google-apis-networksecurity_v1 0.30.0 → 0.31.0

Sign up to get free protection for your applications and to get access to all the features.
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