google-iam-v3 0.a → 0.1.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +154 -8
  5. data/lib/google/iam/v3/operation_metadata_pb.rb +44 -0
  6. data/lib/google/iam/v3/policy_binding_resources_pb.rb +50 -0
  7. data/lib/google/iam/v3/policy_bindings/client.rb +1130 -0
  8. data/lib/google/iam/v3/policy_bindings/credentials.rb +45 -0
  9. data/lib/google/iam/v3/policy_bindings/operations.rb +811 -0
  10. data/lib/google/iam/v3/policy_bindings/paths.rb +140 -0
  11. data/lib/google/iam/v3/policy_bindings/rest/client.rb +1062 -0
  12. data/lib/google/iam/v3/policy_bindings/rest/operations.rb +926 -0
  13. data/lib/google/iam/v3/policy_bindings/rest/service_stub.rb +535 -0
  14. data/lib/google/iam/v3/policy_bindings/rest.rb +52 -0
  15. data/lib/google/iam/v3/policy_bindings.rb +55 -0
  16. data/lib/google/iam/v3/policy_bindings_service_pb.rb +59 -0
  17. data/lib/google/iam/v3/policy_bindings_service_services_pb.rb +63 -0
  18. data/lib/google/iam/v3/principal_access_boundary_policies/client.rb +1083 -0
  19. data/lib/google/iam/v3/principal_access_boundary_policies/credentials.rb +45 -0
  20. data/lib/google/iam/v3/principal_access_boundary_policies/operations.rb +811 -0
  21. data/lib/google/iam/v3/principal_access_boundary_policies/paths.rb +67 -0
  22. data/lib/google/iam/v3/principal_access_boundary_policies/rest/client.rb +1015 -0
  23. data/lib/google/iam/v3/principal_access_boundary_policies/rest/operations.rb +926 -0
  24. data/lib/google/iam/v3/principal_access_boundary_policies/rest/service_stub.rb +447 -0
  25. data/lib/google/iam/v3/principal_access_boundary_policies/rest.rb +52 -0
  26. data/lib/google/iam/v3/principal_access_boundary_policies.rb +55 -0
  27. data/lib/google/iam/v3/principal_access_boundary_policies_service_pb.rb +61 -0
  28. data/lib/google/iam/v3/principal_access_boundary_policies_service_services_pb.rb +56 -0
  29. data/lib/google/iam/v3/principal_access_boundary_policy_resources_pb.rb +49 -0
  30. data/lib/google/iam/v3/rest.rb +36 -0
  31. data/lib/google/iam/v3/version.rb +7 -2
  32. data/lib/google/iam/v3.rb +44 -0
  33. data/lib/google-iam-v3.rb +21 -0
  34. data/proto_docs/README.md +4 -0
  35. data/proto_docs/google/api/client.rb +473 -0
  36. data/proto_docs/google/api/field_behavior.rb +85 -0
  37. data/proto_docs/google/api/field_info.rb +88 -0
  38. data/proto_docs/google/api/launch_stage.rb +71 -0
  39. data/proto_docs/google/api/resource.rb +227 -0
  40. data/proto_docs/google/iam/v3/operation_metadata.rb +55 -0
  41. data/proto_docs/google/iam/v3/policy_binding_resources.rb +171 -0
  42. data/proto_docs/google/iam/v3/policy_bindings_service.rb +232 -0
  43. data/proto_docs/google/iam/v3/principal_access_boundary_policies_service.rb +191 -0
  44. data/proto_docs/google/iam/v3/principal_access_boundary_policy_resources.rb +127 -0
  45. data/proto_docs/google/longrunning/operations.rb +173 -0
  46. data/proto_docs/google/protobuf/any.rb +145 -0
  47. data/proto_docs/google/protobuf/duration.rb +98 -0
  48. data/proto_docs/google/protobuf/empty.rb +34 -0
  49. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  50. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  51. data/proto_docs/google/rpc/status.rb +48 -0
  52. data/proto_docs/google/type/expr.rb +75 -0
  53. metadata +107 -10
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/iam/v3/policy_bindings_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/operation_metadata_pb'
12
+ require 'google/iam/v3/policy_binding_resources_pb'
13
+ require 'google/longrunning/operations_pb'
14
+ require 'google/protobuf/empty_pb'
15
+ require 'google/protobuf/field_mask_pb'
16
+
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"
19
+
20
+ pool = Google::Protobuf::DescriptorPool.generated_pool
21
+
22
+ begin
23
+ pool.add_serialized_file(descriptor_data)
24
+ rescue TypeError
25
+ # Compatibility code: will be removed in the next major version.
26
+ require 'google/protobuf/descriptor_pb'
27
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
28
+ parsed.clear_dependency
29
+ serialized = parsed.class.encode(parsed)
30
+ file = pool.add_serialized_file(serialized)
31
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
32
+ imports = [
33
+ ["google.iam.v3.PolicyBinding", "google/iam/v3/policy_binding_resources.proto"],
34
+ ["google.protobuf.FieldMask", "google/protobuf/field_mask.proto"],
35
+ ]
36
+ imports.each do |type_name, expected_filename|
37
+ import_file = pool.lookup(type_name).file_descriptor
38
+ if import_file.name != expected_filename
39
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
40
+ end
41
+ end
42
+ warn "Each proto file must use a consistent fully-qualified name."
43
+ warn "This will become an error in the next major version."
44
+ end
45
+
46
+ module Google
47
+ module Iam
48
+ module V3
49
+ CreatePolicyBindingRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.CreatePolicyBindingRequest").msgclass
50
+ GetPolicyBindingRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.GetPolicyBindingRequest").msgclass
51
+ UpdatePolicyBindingRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.UpdatePolicyBindingRequest").msgclass
52
+ DeletePolicyBindingRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.DeletePolicyBindingRequest").msgclass
53
+ ListPolicyBindingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.ListPolicyBindingsRequest").msgclass
54
+ ListPolicyBindingsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.ListPolicyBindingsResponse").msgclass
55
+ SearchTargetPolicyBindingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.SearchTargetPolicyBindingsRequest").msgclass
56
+ SearchTargetPolicyBindingsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.SearchTargetPolicyBindingsResponse").msgclass
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,63 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/iam/v3/policy_bindings_service.proto for package 'google.iam.v3'
3
+ # Original file comments:
4
+ # Copyright 2025 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/policy_bindings_service_pb'
21
+
22
+ module Google
23
+ module Iam
24
+ module V3
25
+ module PolicyBindings
26
+ # An interface for managing Identity and Access Management (IAM) policy
27
+ # bindings.
28
+ class Service
29
+
30
+ include ::GRPC::GenericService
31
+
32
+ self.marshal_class_method = :encode
33
+ self.unmarshal_class_method = :decode
34
+ self.service_name = 'google.iam.v3.PolicyBindings'
35
+
36
+ # Creates a policy binding and returns a long-running operation.
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.
39
+ rpc :CreatePolicyBinding, ::Google::Iam::V3::CreatePolicyBindingRequest, ::Google::Longrunning::Operation
40
+ # Gets a policy binding.
41
+ rpc :GetPolicyBinding, ::Google::Iam::V3::GetPolicyBindingRequest, ::Google::Iam::V3::PolicyBinding
42
+ # Updates a policy binding and returns a long-running operation.
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.
47
+ rpc :UpdatePolicyBinding, ::Google::Iam::V3::UpdatePolicyBindingRequest, ::Google::Longrunning::Operation
48
+ # Deletes a policy binding and returns a long-running operation.
49
+ # 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.
51
+ rpc :DeletePolicyBinding, ::Google::Iam::V3::DeletePolicyBindingRequest, ::Google::Longrunning::Operation
52
+ # Lists policy bindings.
53
+ rpc :ListPolicyBindings, ::Google::Iam::V3::ListPolicyBindingsRequest, ::Google::Iam::V3::ListPolicyBindingsResponse
54
+ # Search policy bindings by target. Returns all policy binding objects bound
55
+ # directly to target.
56
+ rpc :SearchTargetPolicyBindings, ::Google::Iam::V3::SearchTargetPolicyBindingsRequest, ::Google::Iam::V3::SearchTargetPolicyBindingsResponse
57
+ end
58
+
59
+ Stub = Service.rpc_stub_class
60
+ end
61
+ end
62
+ end
63
+ end