google-iam-v3beta 0.4.1 → 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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +4 -4
  3. data/README.md +5 -5
  4. data/lib/google/iam/v3beta/access_policies/client.rb +1113 -0
  5. data/lib/google/iam/v3beta/access_policies/credentials.rb +45 -0
  6. data/lib/google/iam/v3beta/access_policies/operations.rb +841 -0
  7. data/lib/google/iam/v3beta/access_policies/paths.rb +140 -0
  8. data/lib/google/iam/v3beta/access_policies/rest/client.rb +1028 -0
  9. data/lib/google/iam/v3beta/access_policies/rest/operations.rb +939 -0
  10. data/lib/google/iam/v3beta/access_policies/rest/service_stub.rb +535 -0
  11. data/lib/google/iam/v3beta/access_policies/rest.rb +51 -0
  12. data/lib/google/iam/v3beta/access_policies.rb +54 -0
  13. data/lib/google/iam/v3beta/access_policies_service_pb.rb +36 -0
  14. data/lib/google/iam/v3beta/access_policies_service_services_pb.rb +54 -0
  15. data/lib/google/iam/v3beta/access_policy_resources_pb.rb +29 -0
  16. data/lib/google/iam/v3beta/policy_binding_resources_pb.rb +1 -1
  17. data/lib/google/iam/v3beta/policy_bindings/client.rb +21 -11
  18. data/lib/google/iam/v3beta/policy_bindings/operations.rb +2 -0
  19. data/lib/google/iam/v3beta/policy_bindings/rest/client.rb +21 -11
  20. data/lib/google/iam/v3beta/policy_bindings/rest/operations.rb +2 -0
  21. data/lib/google/iam/v3beta/policy_bindings_service_pb.rb +1 -1
  22. data/lib/google/iam/v3beta/policy_bindings_service_services_pb.rb +3 -5
  23. data/lib/google/iam/v3beta/principal_access_boundary_policies/client.rb +2 -0
  24. data/lib/google/iam/v3beta/principal_access_boundary_policies/operations.rb +2 -0
  25. data/lib/google/iam/v3beta/principal_access_boundary_policies/rest/client.rb +2 -0
  26. data/lib/google/iam/v3beta/principal_access_boundary_policies/rest/operations.rb +2 -0
  27. data/lib/google/iam/v3beta/rest.rb +2 -1
  28. data/lib/google/iam/v3beta/version.rb +1 -1
  29. data/lib/google/iam/v3beta.rb +3 -2
  30. data/lib/google-iam-v3beta.rb +1 -1
  31. data/proto_docs/google/iam/v3beta/access_policies_service.rb +203 -0
  32. data/proto_docs/google/iam/v3beta/access_policy_resources.rb +223 -0
  33. data/proto_docs/google/iam/v3beta/policy_binding_resources.rb +50 -28
  34. data/proto_docs/google/iam/v3beta/policy_bindings_service.rb +16 -5
  35. 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/v3beta/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/v3beta/access_policy_resources_pb'
12
+ require 'google/iam/v3beta/operation_metadata_pb'
13
+ require 'google/iam/v3beta/policy_binding_resources_pb'
14
+ require 'google/longrunning/operations_pb'
15
+ require 'google/protobuf/empty_pb'
16
+
17
+
18
+ descriptor_data = "\n/google/iam/v3beta/access_policies_service.proto\x12\x11google.iam.v3beta\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a/google/iam/v3beta/access_policy_resources.proto\x1a*google/iam/v3beta/operation_metadata.proto\x1a\x30google/iam/v3beta/policy_binding_resources.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\"\xcc\x01\n\x19\x43reateAccessPolicyRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\x12\x1fiam.googleapis.com/AccessPolicy\x12\x1d\n\x10\x61\x63\x63\x65ss_policy_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12;\n\raccess_policy\x18\x03 \x01(\x0b\x32\x1f.google.iam.v3beta.AccessPolicyB\x03\xe0\x41\x02\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\"O\n\x16GetAccessPolicyRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fiam.googleapis.com/AccessPolicy\"t\n\x19UpdateAccessPolicyRequest\x12;\n\raccess_policy\x18\x01 \x01(\x0b\x32\x1f.google.iam.v3beta.AccessPolicyB\x03\xe0\x41\x02\x12\x1a\n\rvalidate_only\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"\x95\x01\n\x19\x44\x65leteAccessPolicyRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fiam.googleapis.com/AccessPolicy\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\x12\x12\n\x05\x66orce\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\"\x85\x01\n\x19ListAccessPoliciesRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\x12\x1fiam.googleapis.com/AccessPolicy\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\"t\n\x1aListAccessPoliciesResponse\x12\x38\n\x0f\x61\x63\x63\x65ss_policies\x18\x01 \x03(\x0b\x32\x1f.google.iam.v3beta.AccessPolicy\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\x8b\x01\n!SearchAccessPolicyBindingsRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fiam.googleapis.com/AccessPolicy\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\"}\n\"SearchAccessPolicyBindingsResponse\x12\x39\n\x0fpolicy_bindings\x18\x01 \x03(\x0b\x32 .google.iam.v3beta.PolicyBinding\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\x32\xbe\x11\n\x0e\x41\x63\x63\x65ssPolicies\x12\x94\x03\n\x12\x43reateAccessPolicy\x12,.google.iam.v3beta.CreateAccessPolicyRequest\x1a\x1d.google.longrunning.Operation\"\xb0\x02\xca\x41!\n\x0c\x41\x63\x63\x65ssPolicy\x12\x11OperationMetadata\xda\x41%parent,access_policy,access_policy_id\x82\xd3\xe4\x93\x02\xdd\x01\"6/v3beta/{parent=projects/*/locations/*}/accessPolicies:\raccess_policyZF\"5/v3beta/{parent=folders/*/locations/*}/accessPolicies:\raccess_policyZL\";/v3beta/{parent=organizations/*/locations/*}/accessPolicies:\raccess_policy\x12\x9e\x02\n\x0fGetAccessPolicy\x12).google.iam.v3beta.GetAccessPolicyRequest\x1a\x1f.google.iam.v3beta.AccessPolicy\"\xbe\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02\xb0\x01\x12\x36/v3beta/{name=projects/*/locations/*/accessPolicies/*}Z7\x12\x35/v3beta/{name=folders/*/locations/*/accessPolicies/*}Z=\x12;/v3beta/{name=organizations/*/locations/*/accessPolicies/*}\x12\x96\x03\n\x12UpdateAccessPolicy\x12,.google.iam.v3beta.UpdateAccessPolicyRequest\x1a\x1d.google.longrunning.Operation\"\xb2\x02\xca\x41!\n\x0c\x41\x63\x63\x65ssPolicy\x12\x11OperationMetadata\x82\xd3\xe4\x93\x02\x87\x02\x32\x44/v3beta/{access_policy.name=projects/*/locations/*/accessPolicies/*}:\raccess_policyZT2C/v3beta/{access_policy.name=folders/*/locations/*/accessPolicies/*}:\raccess_policyZZ2I/v3beta/{access_policy.name=organizations/*/locations/*/accessPolicies/*}:\raccess_policy\x12\xcf\x02\n\x12\x44\x65leteAccessPolicy\x12,.google.iam.v3beta.DeleteAccessPolicyRequest\x1a\x1d.google.longrunning.Operation\"\xeb\x01\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\xb0\x01*6/v3beta/{name=projects/*/locations/*/accessPolicies/*}Z7*5/v3beta/{name=folders/*/locations/*/accessPolicies/*}Z=*;/v3beta/{name=organizations/*/locations/*/accessPolicies/*}\x12\xb4\x02\n\x12ListAccessPolicies\x12,.google.iam.v3beta.ListAccessPoliciesRequest\x1a-.google.iam.v3beta.ListAccessPoliciesResponse\"\xc0\x01\xda\x41\x06parent\x82\xd3\xe4\x93\x02\xb0\x01\x12\x36/v3beta/{parent=projects/*/locations/*}/accessPoliciesZ7\x12\x35/v3beta/{parent=folders/*/locations/*}/accessPoliciesZ=\x12;/v3beta/{parent=organizations/*/locations/*}/accessPolicies\x12\x89\x03\n\x1aSearchAccessPolicyBindings\x12\x34.google.iam.v3beta.SearchAccessPolicyBindingsRequest\x1a\x35.google.iam.v3beta.SearchAccessPolicyBindingsResponse\"\xfd\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02\xef\x01\x12P/v3beta/{name=organizations/*/locations/*/accessPolicies/*}:searchPolicyBindingsZL\x12J/v3beta/{name=folders/*/locations/*/accessPolicies/*}:searchPolicyBindingsZM\x12K/v3beta/{name=projects/*/locations/*/accessPolicies/*}:searchPolicyBindings\x1a\x46\xca\x41\x12iam.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x91\x01\n\x15\x63om.google.iam.v3betaB\x13\x41\x63\x63\x65ssPoliciesProtoP\x01Z-cloud.google.com/go/iam/apiv3beta/iampb;iampb\xaa\x02\x17Google.Cloud.Iam.V3Beta\xca\x02\x17Google\\Cloud\\Iam\\V3betab\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 V3beta
26
+ CreateAccessPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3beta.CreateAccessPolicyRequest").msgclass
27
+ GetAccessPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3beta.GetAccessPolicyRequest").msgclass
28
+ UpdateAccessPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3beta.UpdateAccessPolicyRequest").msgclass
29
+ DeleteAccessPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3beta.DeleteAccessPolicyRequest").msgclass
30
+ ListAccessPoliciesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3beta.ListAccessPoliciesRequest").msgclass
31
+ ListAccessPoliciesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3beta.ListAccessPoliciesResponse").msgclass
32
+ SearchAccessPolicyBindingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3beta.SearchAccessPolicyBindingsRequest").msgclass
33
+ SearchAccessPolicyBindingsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3beta.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/v3beta/access_policies_service.proto for package 'google.iam.v3beta'
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/v3beta/access_policies_service_pb'
21
+
22
+ module Google
23
+ module Iam
24
+ module V3beta
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.v3beta.AccessPolicies'
34
+
35
+ # Creates an access policy, and returns a long running operation.
36
+ rpc :CreateAccessPolicy, ::Google::Iam::V3beta::CreateAccessPolicyRequest, ::Google::Longrunning::Operation
37
+ # Gets an access policy.
38
+ rpc :GetAccessPolicy, ::Google::Iam::V3beta::GetAccessPolicyRequest, ::Google::Iam::V3beta::AccessPolicy
39
+ # Updates an access policy.
40
+ rpc :UpdateAccessPolicy, ::Google::Iam::V3beta::UpdateAccessPolicyRequest, ::Google::Longrunning::Operation
41
+ # Deletes an access policy.
42
+ rpc :DeleteAccessPolicy, ::Google::Iam::V3beta::DeleteAccessPolicyRequest, ::Google::Longrunning::Operation
43
+ # Lists access policies.
44
+ rpc :ListAccessPolicies, ::Google::Iam::V3beta::ListAccessPoliciesRequest, ::Google::Iam::V3beta::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::V3beta::SearchAccessPolicyBindingsRequest, ::Google::Iam::V3beta::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/v3beta/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/v3beta/access_policy_resources.proto\x12\x11google.iam.v3beta\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\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\x12J\n\x0b\x61nnotations\x18\x05 \x03(\x0b\x32\x30.google.iam.v3beta.AccessPolicy.AnnotationsEntryB\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12<\n\x07\x64\x65tails\x18\x08 \x01(\x0b\x32&.google.iam.v3beta.AccessPolicyDetailsB\x03\xe0\x41\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\"N\n\x13\x41\x63\x63\x65ssPolicyDetails\x12\x37\n\x05rules\x18\x01 \x03(\x0b\x32#.google.iam.v3beta.AccessPolicyRuleB\x03\xe0\x41\x02\"\xa9\x04\n\x10\x41\x63\x63\x65ssPolicyRule\x12\x1d\n\x0b\x64\x65scription\x18\x01 \x01(\tB\x03\xe0\x41\x01H\x00\x88\x01\x01\x12\x44\n\x06\x65\x66\x66\x65\x63t\x18\x02 \x01(\x0e\x32*.google.iam.v3beta.AccessPolicyRule.EffectB\x03\xe0\x41\x02H\x01\x88\x01\x01\x12\x17\n\nprincipals\x18\x03 \x03(\tB\x03\xe0\x41\x02\x12 \n\x13\x65xcluded_principals\x18\x04 \x03(\tB\x03\xe0\x41\x01\x12\x45\n\toperation\x18\n \x01(\x0b\x32-.google.iam.v3beta.AccessPolicyRule.OperationB\x03\xe0\x41\x02\x12L\n\nconditions\x18\t \x03(\x0b\x32\x33.google.iam.v3beta.AccessPolicyRule.ConditionsEntryB\x03\xe0\x41\x01\x1aH\n\tOperation\x12\x18\n\x0bpermissions\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12!\n\x14\x65xcluded_permissions\x18\x02 \x03(\tB\x03\xe0\x41\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\x98\x01\n\x15\x63om.google.iam.v3betaB\x1a\x41\x63\x63\x65ssPolicyResourcesProtoP\x01Z-cloud.google.com/go/iam/apiv3beta/iampb;iampb\xaa\x02\x17Google.Cloud.Iam.V3Beta\xca\x02\x17Google\\Cloud\\Iam\\V3betab\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 V3beta
22
+ AccessPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3beta.AccessPolicy").msgclass
23
+ AccessPolicyDetails = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3beta.AccessPolicyDetails").msgclass
24
+ AccessPolicyRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3beta.AccessPolicyRule").msgclass
25
+ AccessPolicyRule::Operation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3beta.AccessPolicyRule.Operation").msgclass
26
+ AccessPolicyRule::Effect = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3beta.AccessPolicyRule.Effect").enummodule
27
+ end
28
+ end
29
+ end
@@ -11,7 +11,7 @@ require 'google/protobuf/timestamp_pb'
11
11
  require 'google/type/expr_pb'
12
12
 
13
13
 
14
- descriptor_data = "\n0google/iam/v3beta/policy_binding_resources.proto\x12\x11google.iam.v3beta\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\"\xe2\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\x12K\n\x0b\x61nnotations\x18\x05 \x03(\x0b\x32\x31.google.iam.v3beta.PolicyBinding.AnnotationsEntryB\x03\xe0\x41\x01\x12?\n\x06target\x18\x06 \x01(\x0b\x32\'.google.iam.v3beta.PolicyBinding.TargetB\x06\xe0\x41\x05\xe0\x41\x02\x12\x45\n\x0bpolicy_kind\x18\x0b \x01(\x0e\x32+.google.iam.v3beta.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\x99\x01\n\x15\x63om.google.iam.v3betaB\x1bPolicyBindingResourcesProtoP\x01Z-cloud.google.com/go/iam/apiv3beta/iampb;iampb\xaa\x02\x17Google.Cloud.Iam.V3Beta\xca\x02\x17Google\\Cloud\\Iam\\V3betab\x06proto3"
14
+ descriptor_data = "\n0google/iam/v3beta/policy_binding_resources.proto\x12\x11google.iam.v3beta\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\"\x87\x08\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\x12K\n\x0b\x61nnotations\x18\x05 \x03(\x0b\x32\x31.google.iam.v3beta.PolicyBinding.AnnotationsEntryB\x03\xe0\x41\x01\x12?\n\x06target\x18\x06 \x01(\x0b\x32\'.google.iam.v3beta.PolicyBinding.TargetB\x06\xe0\x41\x05\xe0\x41\x02\x12\x45\n\x0bpolicy_kind\x18\x0b \x01(\x0e\x32+.google.iam.v3beta.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\x1aI\n\x06Target\x12\x1c\n\rprincipal_set\x18\x01 \x01(\tB\x03\xe0\x41\x05H\x00\x12\x17\n\x08resource\x18\x02 \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\"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\x99\x01\n\x15\x63om.google.iam.v3betaB\x1bPolicyBindingResourcesProtoP\x01Z-cloud.google.com/go/iam/apiv3beta/iampb;iampb\xaa\x02\x17Google.Cloud.Iam.V3Beta\xca\x02\x17Google\\Cloud\\Iam\\V3betab\x06proto3"
15
15
 
16
16
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
17
17
  pool.add_serialized_file(descriptor_data)
@@ -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::V3beta::PolicyBinding>]
@@ -1003,6 +1011,7 @@ module Google
1003
1011
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1004
1012
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1005
1013
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1014
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
1006
1015
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1007
1016
  # trigger a retry.
1008
1017
  # @return [::Hash]
@@ -1086,6 +1095,7 @@ module Google
1086
1095
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1087
1096
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1088
1097
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1098
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
1089
1099
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1090
1100
  # trigger a retry.
1091
1101
  #
@@ -702,6 +702,7 @@ module Google
702
702
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
703
703
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
704
704
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
705
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
705
706
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
706
707
  # trigger a retry.
707
708
  # @return [::Hash]
@@ -785,6 +786,7 @@ module Google
785
786
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
786
787
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
787
788
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
789
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
788
790
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
789
791
  # trigger a retry.
790
792
  #
@@ -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::V3beta::PolicyBinding>]
799
807
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -928,6 +936,7 @@ module Google
928
936
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
929
937
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
930
938
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
939
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
931
940
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
932
941
  # trigger a retry.
933
942
  # @return [::Hash]
@@ -1000,6 +1009,7 @@ module Google
1000
1009
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1001
1010
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1002
1011
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1012
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
1003
1013
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1004
1014
  # trigger a retry.
1005
1015
  #
@@ -540,6 +540,7 @@ module Google
540
540
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
541
541
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
542
542
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
543
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
543
544
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
544
545
  # trigger a retry.
545
546
  # @return [::Hash]
@@ -612,6 +613,7 @@ module Google
612
613
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
613
614
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
614
615
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
616
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
615
617
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
616
618
  # trigger a retry.
617
619
  #
@@ -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/v3beta/policy_bindings_service.proto\x12\x11google.iam.v3beta\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a*google/iam/v3beta/operation_metadata.proto\x1a\x30google/iam/v3beta/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\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=\n\x0epolicy_binding\x18\x03 \x01(\x0b\x32 .google.iam.v3beta.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\"\xad\x01\n\x1aUpdatePolicyBindingRequest\x12=\n\x0epolicy_binding\x18\x01 \x01(\x0b\x32 .google.iam.v3beta.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\"u\n\x1aListPolicyBindingsResponse\x12\x39\n\x0fpolicy_bindings\x18\x01 \x03(\x0b\x32 .google.iam.v3beta.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\"}\n\"SearchTargetPolicyBindingsResponse\x12\x39\n\x0fpolicy_bindings\x18\x01 \x03(\x0b\x32 .google.iam.v3beta.PolicyBinding\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\x32\x8c\x12\n\x0ePolicyBindings\x12\x9c\x03\n\x13\x43reatePolicyBinding\x12-.google.iam.v3beta.CreatePolicyBindingRequest\x1a\x1d.google.longrunning.Operation\"\xb6\x02\xca\x41\"\n\rPolicyBinding\x12\x11OperationMetadata\xda\x41\'parent,policy_binding,policy_binding_id\x82\xd3\xe4\x93\x02\xe0\x01\"6/v3beta/{parent=projects/*/locations/*}/policyBindings:\x0epolicy_bindingZG\"5/v3beta/{parent=folders/*/locations/*}/policyBindings:\x0epolicy_bindingZM\";/v3beta/{parent=organizations/*/locations/*}/policyBindings:\x0epolicy_binding\x12\xa1\x02\n\x10GetPolicyBinding\x12*.google.iam.v3beta.GetPolicyBindingRequest\x1a .google.iam.v3beta.PolicyBinding\"\xbe\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02\xb0\x01\x12\x36/v3beta/{name=projects/*/locations/*/policyBindings/*}Z7\x12\x35/v3beta/{name=folders/*/locations/*/policyBindings/*}Z=\x12;/v3beta/{name=organizations/*/locations/*/policyBindings/*}\x12\xbc\x03\n\x13UpdatePolicyBinding\x12-.google.iam.v3beta.UpdatePolicyBindingRequest\x1a\x1d.google.longrunning.Operation\"\xd6\x02\xca\x41\"\n\rPolicyBinding\x12\x11OperationMetadata\xda\x41\x1apolicy_binding,update_mask\x82\xd3\xe4\x93\x02\x8d\x02\x32\x45/v3beta/{policy_binding.name=projects/*/locations/*/policyBindings/*}:\x0epolicy_bindingZV2D/v3beta/{policy_binding.name=folders/*/locations/*/policyBindings/*}:\x0epolicy_bindingZ\\2J/v3beta/{policy_binding.name=organizations/*/locations/*/policyBindings/*}:\x0epolicy_binding\x12\xd1\x02\n\x13\x44\x65letePolicyBinding\x12-.google.iam.v3beta.DeletePolicyBindingRequest\x1a\x1d.google.longrunning.Operation\"\xeb\x01\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\xb0\x01*6/v3beta/{name=projects/*/locations/*/policyBindings/*}Z7*5/v3beta/{name=folders/*/locations/*/policyBindings/*}Z=*;/v3beta/{name=organizations/*/locations/*/policyBindings/*}\x12\xb4\x02\n\x12ListPolicyBindings\x12,.google.iam.v3beta.ListPolicyBindingsRequest\x1a-.google.iam.v3beta.ListPolicyBindingsResponse\"\xc0\x01\xda\x41\x06parent\x82\xd3\xe4\x93\x02\xb0\x01\x12\x36/v3beta/{parent=projects/*/locations/*}/policyBindingsZ7\x12\x35/v3beta/{parent=folders/*/locations/*}/policyBindingsZ=\x12;/v3beta/{parent=organizations/*/locations/*}/policyBindings\x12\xa4\x03\n\x1aSearchTargetPolicyBindings\x12\x34.google.iam.v3beta.SearchTargetPolicyBindingsRequest\x1a\x35.google.iam.v3beta.SearchTargetPolicyBindingsResponse\"\x98\x02\xda\x41\rparent,target\x82\xd3\xe4\x93\x02\x81\x02\x12Q/v3beta/{parent=projects/*/locations/*}/policyBindings:searchTargetPolicyBindingsZR\x12P/v3beta/{parent=folders/*/locations/*}/policyBindings:searchTargetPolicyBindingsZX\x12V/v3beta/{parent=organizations/*/locations/*}/policyBindings:searchTargetPolicyBindings\x1a\x46\xca\x41\x12iam.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xc4\x02\n\x15\x63om.google.iam.v3betaB\x1aPolicyBindingsServiceProtoP\x01Z-cloud.google.com/go/iam/apiv3beta/iampb;iampb\xaa\x02\x17Google.Cloud.Iam.V3Beta\xca\x02\x17Google\\Cloud\\Iam\\V3beta\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/v3beta/policy_bindings_service.proto\x12\x11google.iam.v3beta\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a*google/iam/v3beta/operation_metadata.proto\x1a\x30google/iam/v3beta/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\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=\n\x0epolicy_binding\x18\x03 \x01(\x0b\x32 .google.iam.v3beta.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\"\xad\x01\n\x1aUpdatePolicyBindingRequest\x12=\n\x0epolicy_binding\x18\x01 \x01(\x0b\x32 .google.iam.v3beta.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\"u\n\x1aListPolicyBindingsResponse\x12\x39\n\x0fpolicy_bindings\x18\x01 \x03(\x0b\x32 .google.iam.v3beta.PolicyBinding\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\xb8\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\x12\x13\n\x06\x66ilter\x18\x06 \x01(\tB\x03\xe0\x41\x01\"}\n\"SearchTargetPolicyBindingsResponse\x12\x39\n\x0fpolicy_bindings\x18\x01 \x03(\x0b\x32 .google.iam.v3beta.PolicyBinding\x12\x1c\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\x32\x8c\x12\n\x0ePolicyBindings\x12\x9c\x03\n\x13\x43reatePolicyBinding\x12-.google.iam.v3beta.CreatePolicyBindingRequest\x1a\x1d.google.longrunning.Operation\"\xb6\x02\xca\x41\"\n\rPolicyBinding\x12\x11OperationMetadata\xda\x41\'parent,policy_binding,policy_binding_id\x82\xd3\xe4\x93\x02\xe0\x01\"6/v3beta/{parent=projects/*/locations/*}/policyBindings:\x0epolicy_bindingZG\"5/v3beta/{parent=folders/*/locations/*}/policyBindings:\x0epolicy_bindingZM\";/v3beta/{parent=organizations/*/locations/*}/policyBindings:\x0epolicy_binding\x12\xa1\x02\n\x10GetPolicyBinding\x12*.google.iam.v3beta.GetPolicyBindingRequest\x1a .google.iam.v3beta.PolicyBinding\"\xbe\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02\xb0\x01\x12\x36/v3beta/{name=projects/*/locations/*/policyBindings/*}Z7\x12\x35/v3beta/{name=folders/*/locations/*/policyBindings/*}Z=\x12;/v3beta/{name=organizations/*/locations/*/policyBindings/*}\x12\xbc\x03\n\x13UpdatePolicyBinding\x12-.google.iam.v3beta.UpdatePolicyBindingRequest\x1a\x1d.google.longrunning.Operation\"\xd6\x02\xca\x41\"\n\rPolicyBinding\x12\x11OperationMetadata\xda\x41\x1apolicy_binding,update_mask\x82\xd3\xe4\x93\x02\x8d\x02\x32\x45/v3beta/{policy_binding.name=projects/*/locations/*/policyBindings/*}:\x0epolicy_bindingZV2D/v3beta/{policy_binding.name=folders/*/locations/*/policyBindings/*}:\x0epolicy_bindingZ\\2J/v3beta/{policy_binding.name=organizations/*/locations/*/policyBindings/*}:\x0epolicy_binding\x12\xd1\x02\n\x13\x44\x65letePolicyBinding\x12-.google.iam.v3beta.DeletePolicyBindingRequest\x1a\x1d.google.longrunning.Operation\"\xeb\x01\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\xb0\x01*6/v3beta/{name=projects/*/locations/*/policyBindings/*}Z7*5/v3beta/{name=folders/*/locations/*/policyBindings/*}Z=*;/v3beta/{name=organizations/*/locations/*/policyBindings/*}\x12\xb4\x02\n\x12ListPolicyBindings\x12,.google.iam.v3beta.ListPolicyBindingsRequest\x1a-.google.iam.v3beta.ListPolicyBindingsResponse\"\xc0\x01\xda\x41\x06parent\x82\xd3\xe4\x93\x02\xb0\x01\x12\x36/v3beta/{parent=projects/*/locations/*}/policyBindingsZ7\x12\x35/v3beta/{parent=folders/*/locations/*}/policyBindingsZ=\x12;/v3beta/{parent=organizations/*/locations/*}/policyBindings\x12\xa4\x03\n\x1aSearchTargetPolicyBindings\x12\x34.google.iam.v3beta.SearchTargetPolicyBindingsRequest\x1a\x35.google.iam.v3beta.SearchTargetPolicyBindingsResponse\"\x98\x02\xda\x41\rparent,target\x82\xd3\xe4\x93\x02\x81\x02\x12Q/v3beta/{parent=projects/*/locations/*}/policyBindings:searchTargetPolicyBindingsZR\x12P/v3beta/{parent=folders/*/locations/*}/policyBindings:searchTargetPolicyBindingsZX\x12V/v3beta/{parent=organizations/*/locations/*}/policyBindings:searchTargetPolicyBindings\x1a\x46\xca\x41\x12iam.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xc4\x02\n\x15\x63om.google.iam.v3betaB\x1aPolicyBindingsServiceProtoP\x01Z-cloud.google.com/go/iam/apiv3beta/iampb;iampb\xaa\x02\x17Google.Cloud.Iam.V3Beta\xca\x02\x17Google\\Cloud\\Iam\\V3beta\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)
@@ -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::V3beta::CreatePolicyBindingRequest, ::Google::Longrunning::Operation
40
40
  # Gets a policy binding.
41
41
  rpc :GetPolicyBinding, ::Google::Iam::V3beta::GetPolicyBindingRequest, ::Google::Iam::V3beta::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::V3beta::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::V3beta::DeletePolicyBindingRequest, ::Google::Longrunning::Operation
52
50
  # Lists policy bindings.
53
51
  rpc :ListPolicyBindings, ::Google::Iam::V3beta::ListPolicyBindingsRequest, ::Google::Iam::V3beta::ListPolicyBindingsResponse
@@ -956,6 +956,7 @@ module Google
956
956
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
957
957
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
958
958
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
959
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
959
960
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
960
961
  # trigger a retry.
961
962
  # @return [::Hash]
@@ -1039,6 +1040,7 @@ module Google
1039
1040
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1040
1041
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1041
1042
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1043
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
1042
1044
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1043
1045
  # trigger a retry.
1044
1046
  #
@@ -702,6 +702,7 @@ module Google
702
702
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
703
703
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
704
704
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
705
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
705
706
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
706
707
  # trigger a retry.
707
708
  # @return [::Hash]
@@ -785,6 +786,7 @@ module Google
785
786
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
786
787
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
787
788
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
789
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
788
790
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
789
791
  # trigger a retry.
790
792
  #
@@ -881,6 +881,7 @@ module Google
881
881
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
882
882
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
883
883
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
884
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
884
885
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
885
886
  # trigger a retry.
886
887
  # @return [::Hash]
@@ -953,6 +954,7 @@ module Google
953
954
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
954
955
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
955
956
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
957
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
956
958
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
957
959
  # trigger a retry.
958
960
  #
@@ -540,6 +540,7 @@ module Google
540
540
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
541
541
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
542
542
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
543
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
543
544
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
544
545
  # trigger a retry.
545
546
  # @return [::Hash]
@@ -612,6 +613,7 @@ module Google
612
613
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
613
614
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
614
615
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
616
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
615
617
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
616
618
  # trigger a retry.
617
619
  #
@@ -16,6 +16,7 @@
16
16
 
17
17
  # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
18
 
19
+ require "google/iam/v3beta/access_policies/rest"
19
20
  require "google/iam/v3beta/policy_bindings/rest"
20
21
  require "google/iam/v3beta/principal_access_boundary_policies/rest"
21
22
  require "google/iam/v3beta/version"
@@ -28,7 +29,7 @@ module Google
28
29
  # @example
29
30
  #
30
31
  # require "google/iam/v3beta/rest"
31
- # client = ::Google::Iam::V3beta::PolicyBindings::Rest::Client.new
32
+ # client = ::Google::Iam::V3beta::AccessPolicies::Rest::Client.new
32
33
  #
33
34
  module V3beta
34
35
  end
@@ -20,7 +20,7 @@
20
20
  module Google
21
21
  module Iam
22
22
  module V3beta
23
- VERSION = "0.4.1"
23
+ VERSION = "0.7.0"
24
24
  end
25
25
  end
26
26
  end
@@ -16,6 +16,7 @@
16
16
 
17
17
  # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
18
 
19
+ require "google/iam/v3beta/access_policies"
19
20
  require "google/iam/v3beta/policy_bindings"
20
21
  require "google/iam/v3beta/principal_access_boundary_policies"
21
22
  require "google/iam/v3beta/version"
@@ -28,12 +29,12 @@ module Google
28
29
  # @example Load this package, including all its services, and instantiate a gRPC client
29
30
  #
30
31
  # require "google/iam/v3beta"
31
- # client = ::Google::Iam::V3beta::PolicyBindings::Client.new
32
+ # client = ::Google::Iam::V3beta::AccessPolicies::Client.new
32
33
  #
33
34
  # @example Load this package, including all its services, and instantiate a REST client
34
35
  #
35
36
  # require "google/iam/v3beta"
36
- # client = ::Google::Iam::V3beta::PolicyBindings::Rest::Client.new
37
+ # client = ::Google::Iam::V3beta::AccessPolicies::Rest::Client.new
37
38
  #
38
39
  module V3beta
39
40
  end
@@ -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.