google-iam-v3 0.5.0 → 0.7.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.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +4 -4
  3. data/README.md +4 -5
  4. data/lib/google/iam/v3/access_policies/client.rb +1113 -0
  5. data/lib/google/iam/v3/access_policies/credentials.rb +45 -0
  6. data/lib/google/iam/v3/access_policies/operations.rb +841 -0
  7. data/lib/google/iam/v3/access_policies/paths.rb +140 -0
  8. data/lib/google/iam/v3/access_policies/rest/client.rb +1028 -0
  9. data/lib/google/iam/v3/access_policies/rest/operations.rb +939 -0
  10. data/lib/google/iam/v3/access_policies/rest/service_stub.rb +535 -0
  11. data/lib/google/iam/v3/access_policies/rest.rb +51 -0
  12. data/lib/google/iam/v3/access_policies.rb +54 -0
  13. data/lib/google/iam/v3/access_policies_service_pb.rb +36 -0
  14. data/lib/google/iam/v3/access_policies_service_services_pb.rb +54 -0
  15. data/lib/google/iam/v3/access_policy_resources_pb.rb +29 -0
  16. data/lib/google/iam/v3/operation_metadata_pb.rb +1 -1
  17. data/lib/google/iam/v3/policy_binding_resources_pb.rb +1 -1
  18. data/lib/google/iam/v3/policy_bindings/client.rb +20 -12
  19. data/lib/google/iam/v3/policy_bindings/credentials.rb +1 -1
  20. data/lib/google/iam/v3/policy_bindings/operations.rb +1 -1
  21. data/lib/google/iam/v3/policy_bindings/paths.rb +1 -1
  22. data/lib/google/iam/v3/policy_bindings/rest/client.rb +20 -12
  23. data/lib/google/iam/v3/policy_bindings/rest/operations.rb +3 -3
  24. data/lib/google/iam/v3/policy_bindings/rest/service_stub.rb +1 -1
  25. data/lib/google/iam/v3/policy_bindings/rest.rb +1 -1
  26. data/lib/google/iam/v3/policy_bindings.rb +1 -1
  27. data/lib/google/iam/v3/policy_bindings_service_pb.rb +1 -1
  28. data/lib/google/iam/v3/policy_bindings_service_services_pb.rb +4 -6
  29. data/lib/google/iam/v3/principal_access_boundary_policies/client.rb +1 -1
  30. data/lib/google/iam/v3/principal_access_boundary_policies/credentials.rb +1 -1
  31. data/lib/google/iam/v3/principal_access_boundary_policies/operations.rb +1 -1
  32. data/lib/google/iam/v3/principal_access_boundary_policies/paths.rb +1 -1
  33. data/lib/google/iam/v3/principal_access_boundary_policies/rest/client.rb +1 -1
  34. data/lib/google/iam/v3/principal_access_boundary_policies/rest/operations.rb +3 -3
  35. data/lib/google/iam/v3/principal_access_boundary_policies/rest/service_stub.rb +1 -1
  36. data/lib/google/iam/v3/principal_access_boundary_policies/rest.rb +1 -1
  37. data/lib/google/iam/v3/principal_access_boundary_policies.rb +1 -1
  38. data/lib/google/iam/v3/principal_access_boundary_policies_service_pb.rb +1 -1
  39. data/lib/google/iam/v3/principal_access_boundary_policies_service_services_pb.rb +1 -1
  40. data/lib/google/iam/v3/principal_access_boundary_policy_resources_pb.rb +1 -1
  41. data/lib/google/iam/v3/rest.rb +3 -2
  42. data/lib/google/iam/v3/version.rb +1 -1
  43. data/lib/google/iam/v3.rb +4 -3
  44. data/lib/google-iam-v3.rb +1 -1
  45. data/proto_docs/google/api/client.rb +1 -1
  46. data/proto_docs/google/api/field_behavior.rb +1 -1
  47. data/proto_docs/google/api/field_info.rb +1 -1
  48. data/proto_docs/google/api/launch_stage.rb +1 -1
  49. data/proto_docs/google/api/resource.rb +1 -1
  50. data/proto_docs/google/iam/v3/access_policies_service.rb +203 -0
  51. data/proto_docs/google/iam/v3/access_policy_resources.rb +223 -0
  52. data/proto_docs/google/iam/v3/operation_metadata.rb +1 -1
  53. data/proto_docs/google/iam/v3/policy_binding_resources.rb +51 -29
  54. data/proto_docs/google/iam/v3/policy_bindings_service.rb +17 -6
  55. data/proto_docs/google/iam/v3/principal_access_boundary_policies_service.rb +1 -1
  56. data/proto_docs/google/iam/v3/principal_access_boundary_policy_resources.rb +1 -1
  57. data/proto_docs/google/longrunning/operations.rb +1 -1
  58. data/proto_docs/google/protobuf/any.rb +1 -1
  59. data/proto_docs/google/protobuf/duration.rb +1 -1
  60. data/proto_docs/google/protobuf/empty.rb +1 -1
  61. data/proto_docs/google/protobuf/field_mask.rb +1 -1
  62. data/proto_docs/google/protobuf/timestamp.rb +8 -7
  63. data/proto_docs/google/rpc/status.rb +1 -1
  64. data/proto_docs/google/type/expr.rb +1 -1
  65. metadata +17 -3
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/iam/v3/access_policies_service.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/api/annotations_pb'
8
+ require 'google/api/client_pb'
9
+ require 'google/api/field_behavior_pb'
10
+ require 'google/api/resource_pb'
11
+ require 'google/iam/v3/access_policy_resources_pb'
12
+ require 'google/iam/v3/operation_metadata_pb'
13
+ require 'google/iam/v3/policy_binding_resources_pb'
14
+ require 'google/longrunning/operations_pb'
15
+ require 'google/protobuf/empty_pb'
16
+
17
+
18
+ descriptor_data = "\n+google/iam/v3/access_policies_service.proto\x12\rgoogle.iam.v3\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a+google/iam/v3/access_policy_resources.proto\x1a&google/iam/v3/operation_metadata.proto\x1a,google/iam/v3/policy_binding_resources.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\"\xcc\x01\n\x19\x43reateAccessPolicyRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe2\x41\x01\x02\xfa\x41!\x12\x1fiam.googleapis.com/AccessPolicy\x12\x1e\n\x10\x61\x63\x63\x65ss_policy_id\x18\x02 \x01(\tB\x04\xe2\x41\x01\x02\x12\x38\n\raccess_policy\x18\x03 \x01(\x0b\x32\x1b.google.iam.v3.AccessPolicyB\x04\xe2\x41\x01\x02\x12\x1b\n\rvalidate_only\x18\x04 \x01(\x08\x42\x04\xe2\x41\x01\x01\"P\n\x16GetAccessPolicyRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe2\x41\x01\x02\xfa\x41!\n\x1fiam.googleapis.com/AccessPolicy\"r\n\x19UpdateAccessPolicyRequest\x12\x38\n\raccess_policy\x18\x01 \x01(\x0b\x32\x1b.google.iam.v3.AccessPolicyB\x04\xe2\x41\x01\x02\x12\x1b\n\rvalidate_only\x18\x02 \x01(\x08\x42\x04\xe2\x41\x01\x01\"\x99\x01\n\x19\x44\x65leteAccessPolicyRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe2\x41\x01\x02\xfa\x41!\n\x1fiam.googleapis.com/AccessPolicy\x12\x12\n\x04\x65tag\x18\x02 \x01(\tB\x04\xe2\x41\x01\x01\x12\x1b\n\rvalidate_only\x18\x03 \x01(\x08\x42\x04\xe2\x41\x01\x01\x12\x13\n\x05\x66orce\x18\x04 \x01(\x08\x42\x04\xe2\x41\x01\x01\"\x88\x01\n\x19ListAccessPoliciesRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe2\x41\x01\x02\xfa\x41!\x12\x1fiam.googleapis.com/AccessPolicy\x12\x17\n\tpage_size\x18\x02 \x01(\x05\x42\x04\xe2\x41\x01\x01\x12\x18\n\npage_token\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\"q\n\x1aListAccessPoliciesResponse\x12\x34\n\x0f\x61\x63\x63\x65ss_policies\x18\x01 \x03(\x0b\x32\x1b.google.iam.v3.AccessPolicy\x12\x1d\n\x0fnext_page_token\x18\x02 \x01(\tB\x04\xe2\x41\x01\x01\"\x8e\x01\n!SearchAccessPolicyBindingsRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe2\x41\x01\x02\xfa\x41!\n\x1fiam.googleapis.com/AccessPolicy\x12\x17\n\tpage_size\x18\x02 \x01(\x05\x42\x04\xe2\x41\x01\x01\x12\x18\n\npage_token\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\"z\n\"SearchAccessPolicyBindingsResponse\x12\x35\n\x0fpolicy_bindings\x18\x01 \x03(\x0b\x32\x1c.google.iam.v3.PolicyBinding\x12\x1d\n\x0fnext_page_token\x18\x02 \x01(\tB\x04\xe2\x41\x01\x01\x32\xd2\x10\n\x0e\x41\x63\x63\x65ssPolicies\x12\x84\x03\n\x12\x43reateAccessPolicy\x12(.google.iam.v3.CreateAccessPolicyRequest\x1a\x1d.google.longrunning.Operation\"\xa4\x02\xca\x41!\n\x0c\x41\x63\x63\x65ssPolicy\x12\x11OperationMetadata\xda\x41%parent,access_policy,access_policy_id\x82\xd3\xe4\x93\x02\xd1\x01\"2/v3/{parent=projects/*/locations/*}/accessPolicies:\raccess_policyZB\"1/v3/{parent=folders/*/locations/*}/accessPolicies:\raccess_policyZH\"7/v3/{parent=organizations/*/locations/*}/accessPolicies:\raccess_policy\x12\x8a\x02\n\x0fGetAccessPolicy\x12%.google.iam.v3.GetAccessPolicyRequest\x1a\x1b.google.iam.v3.AccessPolicy\"\xb2\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02\xa4\x01\x12\x32/v3/{name=projects/*/locations/*/accessPolicies/*}Z3\x12\x31/v3/{name=folders/*/locations/*/accessPolicies/*}Z9\x12\x37/v3/{name=organizations/*/locations/*/accessPolicies/*}\x12\x86\x03\n\x12UpdateAccessPolicy\x12(.google.iam.v3.UpdateAccessPolicyRequest\x1a\x1d.google.longrunning.Operation\"\xa6\x02\xca\x41!\n\x0c\x41\x63\x63\x65ssPolicy\x12\x11OperationMetadata\x82\xd3\xe4\x93\x02\xfb\x01\x32@/v3/{access_policy.name=projects/*/locations/*/accessPolicies/*}:\raccess_policyZP2?/v3/{access_policy.name=folders/*/locations/*/accessPolicies/*}:\raccess_policyZV2E/v3/{access_policy.name=organizations/*/locations/*/accessPolicies/*}:\raccess_policy\x12\xbf\x02\n\x12\x44\x65leteAccessPolicy\x12(.google.iam.v3.DeleteAccessPolicyRequest\x1a\x1d.google.longrunning.Operation\"\xdf\x01\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\xa4\x01*2/v3/{name=projects/*/locations/*/accessPolicies/*}Z3*1/v3/{name=folders/*/locations/*/accessPolicies/*}Z9*7/v3/{name=organizations/*/locations/*/accessPolicies/*}\x12\xa0\x02\n\x12ListAccessPolicies\x12(.google.iam.v3.ListAccessPoliciesRequest\x1a).google.iam.v3.ListAccessPoliciesResponse\"\xb4\x01\xda\x41\x06parent\x82\xd3\xe4\x93\x02\xa4\x01\x12\x32/v3/{parent=projects/*/locations/*}/accessPoliciesZ3\x12\x31/v3/{parent=folders/*/locations/*}/accessPoliciesZ9\x12\x37/v3/{parent=organizations/*/locations/*}/accessPolicies\x12\xf5\x02\n\x1aSearchAccessPolicyBindings\x12\x30.google.iam.v3.SearchAccessPolicyBindingsRequest\x1a\x31.google.iam.v3.SearchAccessPolicyBindingsResponse\"\xf1\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02\xe3\x01\x12L/v3/{name=organizations/*/locations/*/accessPolicies/*}:searchPolicyBindingsZH\x12\x46/v3/{name=folders/*/locations/*/accessPolicies/*}:searchPolicyBindingsZI\x12G/v3/{name=projects/*/locations/*/accessPolicies/*}:searchPolicyBindings\x1a\x46\xca\x41\x12iam.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x81\x01\n\x11\x63om.google.iam.v3B\x13\x41\x63\x63\x65ssPoliciesProtoP\x01Z)cloud.google.com/go/iam/apiv3/iampb;iampb\xaa\x02\x13Google.Cloud.Iam.V3\xca\x02\x13Google\\Cloud\\Iam\\V3b\x06proto3"
19
+
20
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
21
+ pool.add_serialized_file(descriptor_data)
22
+
23
+ module Google
24
+ module Iam
25
+ module V3
26
+ CreateAccessPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.CreateAccessPolicyRequest").msgclass
27
+ GetAccessPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.GetAccessPolicyRequest").msgclass
28
+ UpdateAccessPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.UpdateAccessPolicyRequest").msgclass
29
+ DeleteAccessPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.DeleteAccessPolicyRequest").msgclass
30
+ ListAccessPoliciesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.ListAccessPoliciesRequest").msgclass
31
+ ListAccessPoliciesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.ListAccessPoliciesResponse").msgclass
32
+ SearchAccessPolicyBindingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.SearchAccessPolicyBindingsRequest").msgclass
33
+ SearchAccessPolicyBindingsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.SearchAccessPolicyBindingsResponse").msgclass
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,54 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/iam/v3/access_policies_service.proto for package 'google.iam.v3'
3
+ # Original file comments:
4
+ # Copyright 2026 Google LLC
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'grpc'
20
+ require 'google/iam/v3/access_policies_service_pb'
21
+
22
+ module Google
23
+ module Iam
24
+ module V3
25
+ module AccessPolicies
26
+ # Manages Identity and Access Management (IAM) access policies.
27
+ class Service
28
+
29
+ include ::GRPC::GenericService
30
+
31
+ self.marshal_class_method = :encode
32
+ self.unmarshal_class_method = :decode
33
+ self.service_name = 'google.iam.v3.AccessPolicies'
34
+
35
+ # Creates an access policy, and returns a long running operation.
36
+ rpc :CreateAccessPolicy, ::Google::Iam::V3::CreateAccessPolicyRequest, ::Google::Longrunning::Operation
37
+ # Gets an access policy.
38
+ rpc :GetAccessPolicy, ::Google::Iam::V3::GetAccessPolicyRequest, ::Google::Iam::V3::AccessPolicy
39
+ # Updates an access policy.
40
+ rpc :UpdateAccessPolicy, ::Google::Iam::V3::UpdateAccessPolicyRequest, ::Google::Longrunning::Operation
41
+ # Deletes an access policy.
42
+ rpc :DeleteAccessPolicy, ::Google::Iam::V3::DeleteAccessPolicyRequest, ::Google::Longrunning::Operation
43
+ # Lists access policies.
44
+ rpc :ListAccessPolicies, ::Google::Iam::V3::ListAccessPoliciesRequest, ::Google::Iam::V3::ListAccessPoliciesResponse
45
+ # Returns all policy bindings that bind a specific policy if a user has
46
+ # searchPolicyBindings permission on that policy.
47
+ rpc :SearchAccessPolicyBindings, ::Google::Iam::V3::SearchAccessPolicyBindingsRequest, ::Google::Iam::V3::SearchAccessPolicyBindingsResponse
48
+ end
49
+
50
+ Stub = Service.rpc_stub_class
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/iam/v3/access_policy_resources.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/api/field_behavior_pb'
8
+ require 'google/api/field_info_pb'
9
+ require 'google/api/resource_pb'
10
+ require 'google/protobuf/timestamp_pb'
11
+ require 'google/type/expr_pb'
12
+
13
+
14
+ descriptor_data = "\n+google/iam/v3/access_policy_resources.proto\x12\rgoogle.iam.v3\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16google/type/expr.proto\"\xb9\x05\n\x0c\x41\x63\x63\x65ssPolicy\x12\x12\n\x04name\x18\x01 \x01(\tB\x04\xe2\x41\x01\x08\x12\x19\n\x03uid\x18\x02 \x01(\tB\x0c\xe2\x41\x01\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x12\n\x04\x65tag\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\x12\x1a\n\x0c\x64isplay_name\x18\x04 \x01(\tB\x04\xe2\x41\x01\x01\x12G\n\x0b\x61nnotations\x18\x05 \x03(\x0b\x32,.google.iam.v3.AccessPolicy.AnnotationsEntryB\x04\xe2\x41\x01\x01\x12\x35\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x35\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x39\n\x07\x64\x65tails\x18\x08 \x01(\x0b\x32\".google.iam.v3.AccessPolicyDetailsB\x04\xe2\x41\x01\x01\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\xa3\x02\xea\x41\x9f\x02\n\x1fiam.googleapis.com/AccessPolicy\x12Porganizations/{organization}/locations/{location}/accessPolicies/{access_policy}\x12\x44\x66olders/{folder}/locations/{location}/accessPolicies/{access_policy}\x12\x46projects/{project}/locations/{location}/accessPolicies/{access_policy}*\x0e\x61\x63\x63\x65ssPolicies2\x0c\x61\x63\x63\x65ssPolicy\"K\n\x13\x41\x63\x63\x65ssPolicyDetails\x12\x34\n\x05rules\x18\x01 \x03(\x0b\x32\x1f.google.iam.v3.AccessPolicyRuleB\x04\xe2\x41\x01\x02\"\xa5\x04\n\x10\x41\x63\x63\x65ssPolicyRule\x12\x1e\n\x0b\x64\x65scription\x18\x01 \x01(\tB\x04\xe2\x41\x01\x01H\x00\x88\x01\x01\x12\x41\n\x06\x65\x66\x66\x65\x63t\x18\x02 \x01(\x0e\x32&.google.iam.v3.AccessPolicyRule.EffectB\x04\xe2\x41\x01\x02H\x01\x88\x01\x01\x12\x18\n\nprincipals\x18\x03 \x03(\tB\x04\xe2\x41\x01\x02\x12!\n\x13\x65xcluded_principals\x18\x04 \x03(\tB\x04\xe2\x41\x01\x01\x12\x42\n\toperation\x18\n \x01(\x0b\x32).google.iam.v3.AccessPolicyRule.OperationB\x04\xe2\x41\x01\x02\x12I\n\nconditions\x18\t \x03(\x0b\x32/.google.iam.v3.AccessPolicyRule.ConditionsEntryB\x04\xe2\x41\x01\x01\x1aJ\n\tOperation\x12\x19\n\x0bpermissions\x18\x01 \x03(\tB\x04\xe2\x41\x01\x01\x12\"\n\x14\x65xcluded_permissions\x18\x02 \x03(\tB\x04\xe2\x41\x01\x01\x1a\x44\n\x0f\x43onditionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12 \n\x05value\x18\x02 \x01(\x0b\x32\x11.google.type.Expr:\x02\x38\x01\"5\n\x06\x45\x66\x66\x65\x63t\x12\x16\n\x12\x45\x46\x46\x45\x43T_UNSPECIFIED\x10\x00\x12\x08\n\x04\x44\x45NY\x10\x01\x12\t\n\x05\x41LLOW\x10\x02\x42\x0e\n\x0c_descriptionB\t\n\x07_effectB\x88\x01\n\x11\x63om.google.iam.v3B\x1a\x41\x63\x63\x65ssPolicyResourcesProtoP\x01Z)cloud.google.com/go/iam/apiv3/iampb;iampb\xaa\x02\x13Google.Cloud.Iam.V3\xca\x02\x13Google\\Cloud\\Iam\\V3b\x06proto3"
15
+
16
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
17
+ pool.add_serialized_file(descriptor_data)
18
+
19
+ module Google
20
+ module Iam
21
+ module V3
22
+ AccessPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.AccessPolicy").msgclass
23
+ AccessPolicyDetails = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.AccessPolicyDetails").msgclass
24
+ AccessPolicyRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.AccessPolicyRule").msgclass
25
+ AccessPolicyRule::Operation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.AccessPolicyRule.Operation").msgclass
26
+ AccessPolicyRule::Effect = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.AccessPolicyRule.Effect").enummodule
27
+ end
28
+ end
29
+ end
@@ -8,7 +8,7 @@ require 'google/api/field_behavior_pb'
8
8
  require 'google/protobuf/timestamp_pb'
9
9
 
10
10
 
11
- descriptor_data = "\n&google/iam/v3/operation_metadata.proto\x12\rgoogle.iam.v3\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x80\x02\n\x11OperationMetadata\x12\x34\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x13\n\x06target\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04verb\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x0estatus_message\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16requested_cancellation\x18\x06 \x01(\x08\x42\x03\xe0\x41\x03\x12\x18\n\x0b\x61pi_version\x18\x07 \x01(\tB\x03\xe0\x41\x03\x42\x84\x01\n\x11\x63om.google.iam.v3B\x16OperationMetadataProtoP\x01Z)cloud.google.com/go/iam/apiv3/iampb;iampb\xaa\x02\x13Google.Cloud.Iam.V3\xca\x02\x13Google\\Cloud\\Iam\\V3b\x06proto3"
11
+ descriptor_data = "\n&google/iam/v3/operation_metadata.proto\x12\rgoogle.iam.v3\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x87\x02\n\x11OperationMetadata\x12\x35\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x32\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x14\n\x06target\x18\x03 \x01(\tB\x04\xe2\x41\x01\x03\x12\x12\n\x04verb\x18\x04 \x01(\tB\x04\xe2\x41\x01\x03\x12\x1c\n\x0estatus_message\x18\x05 \x01(\tB\x04\xe2\x41\x01\x03\x12$\n\x16requested_cancellation\x18\x06 \x01(\x08\x42\x04\xe2\x41\x01\x03\x12\x19\n\x0b\x61pi_version\x18\x07 \x01(\tB\x04\xe2\x41\x01\x03\x42\x84\x01\n\x11\x63om.google.iam.v3B\x16OperationMetadataProtoP\x01Z)cloud.google.com/go/iam/apiv3/iampb;iampb\xaa\x02\x13Google.Cloud.Iam.V3\xca\x02\x13Google\\Cloud\\Iam\\V3b\x06proto3"
12
12
 
13
13
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
14
14
  pool.add_serialized_file(descriptor_data)
@@ -11,7 +11,7 @@ require 'google/protobuf/timestamp_pb'
11
11
  require 'google/type/expr_pb'
12
12
 
13
13
 
14
- descriptor_data = "\n,google/iam/v3/policy_binding_resources.proto\x12\rgoogle.iam.v3\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16google/type/expr.proto\"\xd6\x07\n\rPolicyBinding\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x18\n\x03uid\x18\x02 \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x11\n\x04\x65tag\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0c\x64isplay_name\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12G\n\x0b\x61nnotations\x18\x05 \x03(\x0b\x32-.google.iam.v3.PolicyBinding.AnnotationsEntryB\x03\xe0\x41\x01\x12;\n\x06target\x18\x06 \x01(\x0b\x32#.google.iam.v3.PolicyBinding.TargetB\x06\xe0\x41\x05\xe0\x41\x02\x12\x41\n\x0bpolicy_kind\x18\x0b \x01(\x0e\x32\'.google.iam.v3.PolicyBinding.PolicyKindB\x03\xe0\x41\x05\x12\x16\n\x06policy\x18\x07 \x01(\tB\x06\xe0\x41\x05\xe0\x41\x02\x12\x17\n\npolicy_uid\x18\x0c \x01(\tB\x03\xe0\x41\x03\x12)\n\tcondition\x18\x08 \x01(\x0b\x32\x11.google.type.ExprB\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x1a\x30\n\x06Target\x12\x1c\n\rprincipal_set\x18\x01 \x01(\tB\x03\xe0\x41\x05H\x00\x42\x08\n\x06target\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"H\n\nPolicyKind\x12\x1b\n\x17POLICY_KIND_UNSPECIFIED\x10\x00\x12\x1d\n\x19PRINCIPAL_ACCESS_BOUNDARY\x10\x01:\xa8\x02\xea\x41\xa4\x02\n iam.googleapis.com/PolicyBinding\x12Qorganizations/{organization}/locations/{location}/policyBindings/{policy_binding}\x12\x45\x66olders/{folder}/locations/{location}/policyBindings/{policy_binding}\x12Gprojects/{project}/locations/{location}/policyBindings/{policy_binding}*\x0epolicyBindings2\rpolicyBindingB\x89\x01\n\x11\x63om.google.iam.v3B\x1bPolicyBindingResourcesProtoP\x01Z)cloud.google.com/go/iam/apiv3/iampb;iampb\xaa\x02\x13Google.Cloud.Iam.V3\xca\x02\x13Google\\Cloud\\Iam\\V3b\x06proto3"
14
+ descriptor_data = "\n,google/iam/v3/policy_binding_resources.proto\x12\rgoogle.iam.v3\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16google/type/expr.proto\"\x85\x08\n\rPolicyBinding\x12\x12\n\x04name\x18\x01 \x01(\tB\x04\xe2\x41\x01\x08\x12\x19\n\x03uid\x18\x02 \x01(\tB\x0c\xe2\x41\x01\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x12\n\x04\x65tag\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\x12\x1a\n\x0c\x64isplay_name\x18\x04 \x01(\tB\x04\xe2\x41\x01\x01\x12H\n\x0b\x61nnotations\x18\x05 \x03(\x0b\x32-.google.iam.v3.PolicyBinding.AnnotationsEntryB\x04\xe2\x41\x01\x01\x12:\n\x06target\x18\x06 \x01(\x0b\x32#.google.iam.v3.PolicyBinding.TargetB\x05\xe2\x41\x02\x05\x02\x12\x42\n\x0bpolicy_kind\x18\x0b \x01(\x0e\x32\'.google.iam.v3.PolicyBinding.PolicyKindB\x04\xe2\x41\x01\x05\x12\x15\n\x06policy\x18\x07 \x01(\tB\x05\xe2\x41\x02\x05\x02\x12\x18\n\npolicy_uid\x18\x0c \x01(\tB\x04\xe2\x41\x01\x03\x12*\n\tcondition\x18\x08 \x01(\x0b\x32\x11.google.type.ExprB\x04\xe2\x41\x01\x01\x12\x35\n\x0b\x63reate_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x35\n\x0bupdate_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x1aK\n\x06Target\x12\x1d\n\rprincipal_set\x18\x01 \x01(\tB\x04\xe2\x41\x01\x05H\x00\x12\x18\n\x08resource\x18\x02 \x01(\tB\x04\xe2\x41\x01\x05H\x00\x42\x08\n\x06target\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"T\n\nPolicyKind\x12\x1b\n\x17POLICY_KIND_UNSPECIFIED\x10\x00\x12\x1d\n\x19PRINCIPAL_ACCESS_BOUNDARY\x10\x01\x12\n\n\x06\x41\x43\x43\x45SS\x10\x02:\xa8\x02\xea\x41\xa4\x02\n iam.googleapis.com/PolicyBinding\x12Qorganizations/{organization}/locations/{location}/policyBindings/{policy_binding}\x12\x45\x66olders/{folder}/locations/{location}/policyBindings/{policy_binding}\x12Gprojects/{project}/locations/{location}/policyBindings/{policy_binding}*\x0epolicyBindings2\rpolicyBindingB\x89\x01\n\x11\x63om.google.iam.v3B\x1bPolicyBindingResourcesProtoP\x01Z)cloud.google.com/go/iam/apiv3/iampb;iampb\xaa\x02\x13Google.Cloud.Iam.V3\xca\x02\x13Google\\Cloud\\Iam\\V3b\x06proto3"
15
15
 
16
16
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
17
17
  pool.add_serialized_file(descriptor_data)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -237,7 +237,7 @@ module Google
237
237
  ##
238
238
  # Creates a policy binding and returns a long-running operation.
239
239
  # Callers will need the IAM permissions on both the policy and target.
240
- # Once the binding is created, the policy is applied to the target.
240
+ # After the binding is created, the policy is applied to the target.
241
241
  #
242
242
  # @overload create_policy_binding(request, options = nil)
243
243
  # Pass arguments to `create_policy_binding` via a request object, either of type
@@ -446,9 +446,7 @@ module Google
446
446
  ##
447
447
  # Updates a policy binding and returns a long-running operation.
448
448
  # Callers will need the IAM permissions on the policy and target in the
449
- # binding to update, and the IAM permission to remove the existing policy
450
- # from the binding. Target is immutable and cannot be updated. Once the
451
- # binding is updated, the new policy is applied to the target.
449
+ # binding to update. Target and policy are immutable and cannot be updated.
452
450
  #
453
451
  # @overload update_policy_binding(request, options = nil)
454
452
  # Pass arguments to `update_policy_binding` via a request object, either of type
@@ -552,7 +550,7 @@ module Google
552
550
  ##
553
551
  # Deletes a policy binding and returns a long-running operation.
554
552
  # Callers will need the IAM permissions on both the policy and target.
555
- # Once the binding is deleted, the policy no longer applies to the target.
553
+ # After the binding is deleted, the policy no longer applies to the target.
556
554
  #
557
555
  # @overload delete_policy_binding(request, options = nil)
558
556
  # Pass arguments to `delete_policy_binding` via a request object, either of type
@@ -690,8 +688,7 @@ module Google
690
688
  # Optional. The maximum number of policy bindings to return. The service may
691
689
  # return fewer than this value.
692
690
  #
693
- # If unspecified, at most 50 policy bindings will be returned.
694
- # The maximum value is 1000; values above 1000 will be coerced to 1000.
691
+ # The default value is 50. The maximum value is 1000.
695
692
  # @param page_token [::String]
696
693
  # Optional. A page token, received from a previous `ListPolicyBindings` call.
697
694
  # Provide this to retrieve the subsequent page.
@@ -700,7 +697,8 @@ module Google
700
697
  # match the call that provided the page token.
701
698
  # @param filter [::String]
702
699
  # Optional. An expression for filtering the results of the request. Filter
703
- # rules are case insensitive. Some eligible fields for filtering are:
700
+ # rules are case insensitive. Some eligible fields for filtering are the
701
+ # following:
704
702
  #
705
703
  # + `target`
706
704
  # + `policy`
@@ -795,7 +793,7 @@ module Google
795
793
  # @param options [::Gapic::CallOptions, ::Hash]
796
794
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
797
795
  #
798
- # @overload search_target_policy_bindings(target: nil, page_size: nil, page_token: nil, parent: nil)
796
+ # @overload search_target_policy_bindings(target: nil, page_size: nil, page_token: nil, parent: nil, filter: nil)
799
797
  # Pass arguments to `search_target_policy_bindings` via keyword arguments. Note that at
800
798
  # least one keyword argument is required. To specify no parameters, or to keep all
801
799
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -815,8 +813,7 @@ module Google
815
813
  # Optional. The maximum number of policy bindings to return. The service may
816
814
  # return fewer than this value.
817
815
  #
818
- # If unspecified, at most 50 policy bindings will be returned.
819
- # The maximum value is 1000; values above 1000 will be coerced to 1000.
816
+ # The default value is 50. The maximum value is 1000.
820
817
  # @param page_token [::String]
821
818
  # Optional. A page token, received from a previous
822
819
  # `SearchTargetPolicyBindingsRequest` call. Provide this to retrieve the
@@ -836,6 +833,17 @@ module Google
836
833
  # * `projects/{project_number}/locations/{location}`
837
834
  # * `folders/{folder_id}/locations/{location}`
838
835
  # * `organizations/{organization_id}/locations/{location}`
836
+ # @param filter [::String]
837
+ # Optional. Filtering currently only supports the kind of policies to return,
838
+ # and must be in the format "policy_kind=\\{policy_kind}".
839
+ #
840
+ # If String is empty, bindings bound to all kinds of policies would be
841
+ # returned.
842
+ #
843
+ # The only supported values are the following:
844
+ #
845
+ # * "policy_kind=PRINCIPAL_ACCESS_BOUNDARY",
846
+ # * "policy_kind=ACCESS"
839
847
  #
840
848
  # @yield [response, operation] Access the result along with the RPC operation
841
849
  # @yieldparam response [::Gapic::PagedEnumerable<::Google::Iam::V3::PolicyBinding>]
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -230,7 +230,7 @@ module Google
230
230
  ##
231
231
  # Creates a policy binding and returns a long-running operation.
232
232
  # Callers will need the IAM permissions on both the policy and target.
233
- # Once the binding is created, the policy is applied to the target.
233
+ # After the binding is created, the policy is applied to the target.
234
234
  #
235
235
  # @overload create_policy_binding(request, options = nil)
236
236
  # Pass arguments to `create_policy_binding` via a request object, either of type
@@ -425,9 +425,7 @@ module Google
425
425
  ##
426
426
  # Updates a policy binding and returns a long-running operation.
427
427
  # Callers will need the IAM permissions on the policy and target in the
428
- # binding to update, and the IAM permission to remove the existing policy
429
- # from the binding. Target is immutable and cannot be updated. Once the
430
- # binding is updated, the new policy is applied to the target.
428
+ # binding to update. Target and policy are immutable and cannot be updated.
431
429
  #
432
430
  # @overload update_policy_binding(request, options = nil)
433
431
  # Pass arguments to `update_policy_binding` via a request object, either of type
@@ -524,7 +522,7 @@ module Google
524
522
  ##
525
523
  # Deletes a policy binding and returns a long-running operation.
526
524
  # Callers will need the IAM permissions on both the policy and target.
527
- # Once the binding is deleted, the policy no longer applies to the target.
525
+ # After the binding is deleted, the policy no longer applies to the target.
528
526
  #
529
527
  # @overload delete_policy_binding(request, options = nil)
530
528
  # Pass arguments to `delete_policy_binding` via a request object, either of type
@@ -655,8 +653,7 @@ module Google
655
653
  # Optional. The maximum number of policy bindings to return. The service may
656
654
  # return fewer than this value.
657
655
  #
658
- # If unspecified, at most 50 policy bindings will be returned.
659
- # The maximum value is 1000; values above 1000 will be coerced to 1000.
656
+ # The default value is 50. The maximum value is 1000.
660
657
  # @param page_token [::String]
661
658
  # Optional. A page token, received from a previous `ListPolicyBindings` call.
662
659
  # Provide this to retrieve the subsequent page.
@@ -665,7 +662,8 @@ module Google
665
662
  # match the call that provided the page token.
666
663
  # @param filter [::String]
667
664
  # Optional. An expression for filtering the results of the request. Filter
668
- # rules are case insensitive. Some eligible fields for filtering are:
665
+ # rules are case insensitive. Some eligible fields for filtering are the
666
+ # following:
669
667
  #
670
668
  # + `target`
671
669
  # + `policy`
@@ -753,7 +751,7 @@ module Google
753
751
  # @param options [::Gapic::CallOptions, ::Hash]
754
752
  # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
755
753
  #
756
- # @overload search_target_policy_bindings(target: nil, page_size: nil, page_token: nil, parent: nil)
754
+ # @overload search_target_policy_bindings(target: nil, page_size: nil, page_token: nil, parent: nil, filter: nil)
757
755
  # Pass arguments to `search_target_policy_bindings` via keyword arguments. Note that at
758
756
  # least one keyword argument is required. To specify no parameters, or to keep all
759
757
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -773,8 +771,7 @@ module Google
773
771
  # Optional. The maximum number of policy bindings to return. The service may
774
772
  # return fewer than this value.
775
773
  #
776
- # If unspecified, at most 50 policy bindings will be returned.
777
- # The maximum value is 1000; values above 1000 will be coerced to 1000.
774
+ # The default value is 50. The maximum value is 1000.
778
775
  # @param page_token [::String]
779
776
  # Optional. A page token, received from a previous
780
777
  # `SearchTargetPolicyBindingsRequest` call. Provide this to retrieve the
@@ -794,6 +791,17 @@ module Google
794
791
  # * `projects/{project_number}/locations/{location}`
795
792
  # * `folders/{folder_id}/locations/{location}`
796
793
  # * `organizations/{organization_id}/locations/{location}`
794
+ # @param filter [::String]
795
+ # Optional. Filtering currently only supports the kind of policies to return,
796
+ # and must be in the format "policy_kind=\\{policy_kind}".
797
+ #
798
+ # If String is empty, bindings bound to all kinds of policies would be
799
+ # returned.
800
+ #
801
+ # The only supported values are the following:
802
+ #
803
+ # * "policy_kind=PRINCIPAL_ACCESS_BOUNDARY",
804
+ # * "policy_kind=ACCESS"
797
805
  # @yield [result, operation] Access the result along with the TransportOperation object
798
806
  # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Iam::V3::PolicyBinding>]
799
807
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -904,7 +904,7 @@ module Google
904
904
  uri_method: :delete,
905
905
  uri_template: "/v1/{name}",
906
906
  matches: [
907
- ["name", %r{^operations(?:/.*)?$}, true]
907
+ ["name", %r{^operations(?:/(?<__wildcard__>.*))?$}, true]
908
908
  ]
909
909
  )
910
910
  transcoder.transcode request_pb
@@ -926,7 +926,7 @@ module Google
926
926
  uri_template: "/v1/{name}:cancel",
927
927
  body: "*",
928
928
  matches: [
929
- ["name", %r{^operations(?:/.*)?$}, true]
929
+ ["name", %r{^operations(?:/(?<__wildcard__>.*))?$}, true]
930
930
  ]
931
931
  )
932
932
  transcoder.transcode request_pb
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -15,7 +15,7 @@ require 'google/protobuf/empty_pb'
15
15
  require 'google/protobuf/field_mask_pb'
16
16
 
17
17
 
18
- descriptor_data = "\n+google/iam/v3/policy_bindings_service.proto\x12\rgoogle.iam.v3\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a&google/iam/v3/operation_metadata.proto\x1a,google/iam/v3/policy_binding_resources.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\"\xcd\x01\n\x1a\x43reatePolicyBindingRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\x12 iam.googleapis.com/PolicyBinding\x12\x1e\n\x11policy_binding_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x39\n\x0epolicy_binding\x18\x03 \x01(\x0b\x32\x1c.google.iam.v3.PolicyBindingB\x03\xe0\x41\x02\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\"Q\n\x17GetPolicyBindingRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n iam.googleapis.com/PolicyBinding\"\xa9\x01\n\x1aUpdatePolicyBindingRequest\x12\x39\n\x0epolicy_binding\x18\x01 \x01(\x0b\x32\x1c.google.iam.v3.PolicyBindingB\x03\xe0\x41\x02\x12\x1a\n\rvalidate_only\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\x12\x34\n\x0bupdate_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\"\x83\x01\n\x1a\x44\x65letePolicyBindingRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n iam.googleapis.com/PolicyBinding\x12\x11\n\x04\x65tag\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\"\x9b\x01\n\x19ListPolicyBindingsRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\x12 iam.googleapis.com/PolicyBinding\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\"q\n\x1aListPolicyBindingsResponse\x12\x35\n\x0fpolicy_bindings\x18\x01 \x03(\x0b\x32\x1c.google.iam.v3.PolicyBinding\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\xa3\x01\n!SearchTargetPolicyBindingsRequest\x12\x13\n\x06target\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x38\n\x06parent\x18\x05 \x01(\tB(\xe0\x41\x02\xfa\x41\"\x12 iam.googleapis.com/PolicyBinding\"y\n\"SearchTargetPolicyBindingsResponse\x12\x35\n\x0fpolicy_bindings\x18\x01 \x03(\x0b\x32\x1c.google.iam.v3.PolicyBinding\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\x32\xa0\x11\n\x0ePolicyBindings\x12\x8c\x03\n\x13\x43reatePolicyBinding\x12).google.iam.v3.CreatePolicyBindingRequest\x1a\x1d.google.longrunning.Operation\"\xaa\x02\xca\x41\"\n\rPolicyBinding\x12\x11OperationMetadata\xda\x41\'parent,policy_binding,policy_binding_id\x82\xd3\xe4\x93\x02\xd4\x01\"2/v3/{parent=projects/*/locations/*}/policyBindings:\x0epolicy_bindingZC\"1/v3/{parent=folders/*/locations/*}/policyBindings:\x0epolicy_bindingZI\"7/v3/{parent=organizations/*/locations/*}/policyBindings:\x0epolicy_binding\x12\x8d\x02\n\x10GetPolicyBinding\x12&.google.iam.v3.GetPolicyBindingRequest\x1a\x1c.google.iam.v3.PolicyBinding\"\xb2\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02\xa4\x01\x12\x32/v3/{name=projects/*/locations/*/policyBindings/*}Z3\x12\x31/v3/{name=folders/*/locations/*/policyBindings/*}Z9\x12\x37/v3/{name=organizations/*/locations/*/policyBindings/*}\x12\xac\x03\n\x13UpdatePolicyBinding\x12).google.iam.v3.UpdatePolicyBindingRequest\x1a\x1d.google.longrunning.Operation\"\xca\x02\xca\x41\"\n\rPolicyBinding\x12\x11OperationMetadata\xda\x41\x1apolicy_binding,update_mask\x82\xd3\xe4\x93\x02\x81\x02\x32\x41/v3/{policy_binding.name=projects/*/locations/*/policyBindings/*}:\x0epolicy_bindingZR2@/v3/{policy_binding.name=folders/*/locations/*/policyBindings/*}:\x0epolicy_bindingZX2F/v3/{policy_binding.name=organizations/*/locations/*/policyBindings/*}:\x0epolicy_binding\x12\xc1\x02\n\x13\x44\x65letePolicyBinding\x12).google.iam.v3.DeletePolicyBindingRequest\x1a\x1d.google.longrunning.Operation\"\xdf\x01\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\xa4\x01*2/v3/{name=projects/*/locations/*/policyBindings/*}Z3*1/v3/{name=folders/*/locations/*/policyBindings/*}Z9*7/v3/{name=organizations/*/locations/*/policyBindings/*}\x12\xa0\x02\n\x12ListPolicyBindings\x12(.google.iam.v3.ListPolicyBindingsRequest\x1a).google.iam.v3.ListPolicyBindingsResponse\"\xb4\x01\xda\x41\x06parent\x82\xd3\xe4\x93\x02\xa4\x01\x12\x32/v3/{parent=projects/*/locations/*}/policyBindingsZ3\x12\x31/v3/{parent=folders/*/locations/*}/policyBindingsZ9\x12\x37/v3/{parent=organizations/*/locations/*}/policyBindings\x12\x90\x03\n\x1aSearchTargetPolicyBindings\x12\x30.google.iam.v3.SearchTargetPolicyBindingsRequest\x1a\x31.google.iam.v3.SearchTargetPolicyBindingsResponse\"\x8c\x02\xda\x41\rparent,target\x82\xd3\xe4\x93\x02\xf5\x01\x12M/v3/{parent=projects/*/locations/*}/policyBindings:searchTargetPolicyBindingsZN\x12L/v3/{parent=folders/*/locations/*}/policyBindings:searchTargetPolicyBindingsZT\x12R/v3/{parent=organizations/*/locations/*}/policyBindings:searchTargetPolicyBindings\x1a\x46\xca\x41\x12iam.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xb4\x02\n\x11\x63om.google.iam.v3B\x1aPolicyBindingsServiceProtoP\x01Z)cloud.google.com/go/iam/apiv3/iampb;iampb\xaa\x02\x13Google.Cloud.Iam.V3\xca\x02\x13Google\\Cloud\\Iam\\V3\xea\x41\\\n\'iam.googleapis.com/OrganizationLocation\x12\x31organizations/{organization}/locations/{location}\xea\x41J\n!iam.googleapis.com/FolderLocation\x12%folders/{folder}/locations/{location}b\x06proto3"
18
+ descriptor_data = "\n+google/iam/v3/policy_bindings_service.proto\x12\rgoogle.iam.v3\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a&google/iam/v3/operation_metadata.proto\x1a,google/iam/v3/policy_binding_resources.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\"\xd1\x01\n\x1a\x43reatePolicyBindingRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe2\x41\x01\x02\xfa\x41\"\x12 iam.googleapis.com/PolicyBinding\x12\x1f\n\x11policy_binding_id\x18\x02 \x01(\tB\x04\xe2\x41\x01\x02\x12:\n\x0epolicy_binding\x18\x03 \x01(\x0b\x32\x1c.google.iam.v3.PolicyBindingB\x04\xe2\x41\x01\x02\x12\x1b\n\rvalidate_only\x18\x04 \x01(\x08\x42\x04\xe2\x41\x01\x01\"R\n\x17GetPolicyBindingRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe2\x41\x01\x02\xfa\x41\"\n iam.googleapis.com/PolicyBinding\"\xac\x01\n\x1aUpdatePolicyBindingRequest\x12:\n\x0epolicy_binding\x18\x01 \x01(\x0b\x32\x1c.google.iam.v3.PolicyBindingB\x04\xe2\x41\x01\x02\x12\x1b\n\rvalidate_only\x18\x02 \x01(\x08\x42\x04\xe2\x41\x01\x01\x12\x35\n\x0bupdate_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x04\xe2\x41\x01\x01\"\x86\x01\n\x1a\x44\x65letePolicyBindingRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe2\x41\x01\x02\xfa\x41\"\n iam.googleapis.com/PolicyBinding\x12\x12\n\x04\x65tag\x18\x02 \x01(\tB\x04\xe2\x41\x01\x01\x12\x1b\n\rvalidate_only\x18\x03 \x01(\x08\x42\x04\xe2\x41\x01\x01\"\x9f\x01\n\x19ListPolicyBindingsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe2\x41\x01\x02\xfa\x41\"\x12 iam.googleapis.com/PolicyBinding\x12\x17\n\tpage_size\x18\x02 \x01(\x05\x42\x04\xe2\x41\x01\x01\x12\x18\n\npage_token\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\x12\x14\n\x06\x66ilter\x18\x04 \x01(\tB\x04\xe2\x41\x01\x01\"r\n\x1aListPolicyBindingsResponse\x12\x35\n\x0fpolicy_bindings\x18\x01 \x03(\x0b\x32\x1c.google.iam.v3.PolicyBinding\x12\x1d\n\x0fnext_page_token\x18\x02 \x01(\tB\x04\xe2\x41\x01\x01\"\xbd\x01\n!SearchTargetPolicyBindingsRequest\x12\x14\n\x06target\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\x12\x17\n\tpage_size\x18\x02 \x01(\x05\x42\x04\xe2\x41\x01\x01\x12\x18\n\npage_token\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\x12\x39\n\x06parent\x18\x05 \x01(\tB)\xe2\x41\x01\x02\xfa\x41\"\x12 iam.googleapis.com/PolicyBinding\x12\x14\n\x06\x66ilter\x18\x06 \x01(\tB\x04\xe2\x41\x01\x01\"z\n\"SearchTargetPolicyBindingsResponse\x12\x35\n\x0fpolicy_bindings\x18\x01 \x03(\x0b\x32\x1c.google.iam.v3.PolicyBinding\x12\x1d\n\x0fnext_page_token\x18\x02 \x01(\tB\x04\xe2\x41\x01\x01\x32\xa0\x11\n\x0ePolicyBindings\x12\x8c\x03\n\x13\x43reatePolicyBinding\x12).google.iam.v3.CreatePolicyBindingRequest\x1a\x1d.google.longrunning.Operation\"\xaa\x02\xca\x41\"\n\rPolicyBinding\x12\x11OperationMetadata\xda\x41\'parent,policy_binding,policy_binding_id\x82\xd3\xe4\x93\x02\xd4\x01\"2/v3/{parent=projects/*/locations/*}/policyBindings:\x0epolicy_bindingZC\"1/v3/{parent=folders/*/locations/*}/policyBindings:\x0epolicy_bindingZI\"7/v3/{parent=organizations/*/locations/*}/policyBindings:\x0epolicy_binding\x12\x8d\x02\n\x10GetPolicyBinding\x12&.google.iam.v3.GetPolicyBindingRequest\x1a\x1c.google.iam.v3.PolicyBinding\"\xb2\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02\xa4\x01\x12\x32/v3/{name=projects/*/locations/*/policyBindings/*}Z3\x12\x31/v3/{name=folders/*/locations/*/policyBindings/*}Z9\x12\x37/v3/{name=organizations/*/locations/*/policyBindings/*}\x12\xac\x03\n\x13UpdatePolicyBinding\x12).google.iam.v3.UpdatePolicyBindingRequest\x1a\x1d.google.longrunning.Operation\"\xca\x02\xca\x41\"\n\rPolicyBinding\x12\x11OperationMetadata\xda\x41\x1apolicy_binding,update_mask\x82\xd3\xe4\x93\x02\x81\x02\x32\x41/v3/{policy_binding.name=projects/*/locations/*/policyBindings/*}:\x0epolicy_bindingZR2@/v3/{policy_binding.name=folders/*/locations/*/policyBindings/*}:\x0epolicy_bindingZX2F/v3/{policy_binding.name=organizations/*/locations/*/policyBindings/*}:\x0epolicy_binding\x12\xc1\x02\n\x13\x44\x65letePolicyBinding\x12).google.iam.v3.DeletePolicyBindingRequest\x1a\x1d.google.longrunning.Operation\"\xdf\x01\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\xa4\x01*2/v3/{name=projects/*/locations/*/policyBindings/*}Z3*1/v3/{name=folders/*/locations/*/policyBindings/*}Z9*7/v3/{name=organizations/*/locations/*/policyBindings/*}\x12\xa0\x02\n\x12ListPolicyBindings\x12(.google.iam.v3.ListPolicyBindingsRequest\x1a).google.iam.v3.ListPolicyBindingsResponse\"\xb4\x01\xda\x41\x06parent\x82\xd3\xe4\x93\x02\xa4\x01\x12\x32/v3/{parent=projects/*/locations/*}/policyBindingsZ3\x12\x31/v3/{parent=folders/*/locations/*}/policyBindingsZ9\x12\x37/v3/{parent=organizations/*/locations/*}/policyBindings\x12\x90\x03\n\x1aSearchTargetPolicyBindings\x12\x30.google.iam.v3.SearchTargetPolicyBindingsRequest\x1a\x31.google.iam.v3.SearchTargetPolicyBindingsResponse\"\x8c\x02\xda\x41\rparent,target\x82\xd3\xe4\x93\x02\xf5\x01\x12M/v3/{parent=projects/*/locations/*}/policyBindings:searchTargetPolicyBindingsZN\x12L/v3/{parent=folders/*/locations/*}/policyBindings:searchTargetPolicyBindingsZT\x12R/v3/{parent=organizations/*/locations/*}/policyBindings:searchTargetPolicyBindings\x1a\x46\xca\x41\x12iam.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xb4\x02\n\x11\x63om.google.iam.v3B\x1aPolicyBindingsServiceProtoP\x01Z)cloud.google.com/go/iam/apiv3/iampb;iampb\xaa\x02\x13Google.Cloud.Iam.V3\xca\x02\x13Google\\Cloud\\Iam\\V3\xea\x41\\\n\'iam.googleapis.com/OrganizationLocation\x12\x31organizations/{organization}/locations/{location}\xea\x41J\n!iam.googleapis.com/FolderLocation\x12%folders/{folder}/locations/{location}b\x06proto3"
19
19
 
20
20
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
21
21
  pool.add_serialized_file(descriptor_data)
@@ -1,7 +1,7 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: google/iam/v3/policy_bindings_service.proto for package 'google.iam.v3'
3
3
  # Original file comments:
4
- # Copyright 2025 Google LLC
4
+ # Copyright 2026 Google LLC
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
@@ -35,19 +35,17 @@ module Google
35
35
 
36
36
  # Creates a policy binding and returns a long-running operation.
37
37
  # Callers will need the IAM permissions on both the policy and target.
38
- # Once the binding is created, the policy is applied to the target.
38
+ # After the binding is created, the policy is applied to the target.
39
39
  rpc :CreatePolicyBinding, ::Google::Iam::V3::CreatePolicyBindingRequest, ::Google::Longrunning::Operation
40
40
  # Gets a policy binding.
41
41
  rpc :GetPolicyBinding, ::Google::Iam::V3::GetPolicyBindingRequest, ::Google::Iam::V3::PolicyBinding
42
42
  # Updates a policy binding and returns a long-running operation.
43
43
  # Callers will need the IAM permissions on the policy and target in the
44
- # binding to update, and the IAM permission to remove the existing policy
45
- # from the binding. Target is immutable and cannot be updated. Once the
46
- # binding is updated, the new policy is applied to the target.
44
+ # binding to update. Target and policy are immutable and cannot be updated.
47
45
  rpc :UpdatePolicyBinding, ::Google::Iam::V3::UpdatePolicyBindingRequest, ::Google::Longrunning::Operation
48
46
  # Deletes a policy binding and returns a long-running operation.
49
47
  # Callers will need the IAM permissions on both the policy and target.
50
- # Once the binding is deleted, the policy no longer applies to the target.
48
+ # After the binding is deleted, the policy no longer applies to the target.
51
49
  rpc :DeletePolicyBinding, ::Google::Iam::V3::DeletePolicyBindingRequest, ::Google::Longrunning::Operation
52
50
  # Lists policy bindings.
53
51
  rpc :ListPolicyBindings, ::Google::Iam::V3::ListPolicyBindingsRequest, ::Google::Iam::V3::ListPolicyBindingsResponse
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -904,7 +904,7 @@ module Google
904
904
  uri_method: :delete,
905
905
  uri_template: "/v1/{name}",
906
906
  matches: [
907
- ["name", %r{^operations(?:/.*)?$}, true]
907
+ ["name", %r{^operations(?:/(?<__wildcard__>.*))?$}, true]
908
908
  ]
909
909
  )
910
910
  transcoder.transcode request_pb
@@ -926,7 +926,7 @@ module Google
926
926
  uri_template: "/v1/{name}:cancel",
927
927
  body: "*",
928
928
  matches: [
929
- ["name", %r{^operations(?:/.*)?$}, true]
929
+ ["name", %r{^operations(?:/(?<__wildcard__>.*))?$}, true]
930
930
  ]
931
931
  )
932
932
  transcoder.transcode request_pb
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2025 Google LLC
3
+ # Copyright 2026 Google LLC
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.