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,140 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Iam
22
+ module V3
23
+ module PolicyBindings
24
+ # Path helper methods for the PolicyBindings API.
25
+ module Paths
26
+ ##
27
+ # Create a fully-qualified FolderLocation resource string.
28
+ #
29
+ # The resource will be in the following format:
30
+ #
31
+ # `folders/{folder}/locations/{location}`
32
+ #
33
+ # @param folder [String]
34
+ # @param location [String]
35
+ #
36
+ # @return [::String]
37
+ def folder_location_path folder:, location:
38
+ raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
39
+
40
+ "folders/#{folder}/locations/#{location}"
41
+ end
42
+
43
+ ##
44
+ # Create a fully-qualified Location resource string.
45
+ #
46
+ # The resource will be in the following format:
47
+ #
48
+ # `projects/{project}/locations/{location}`
49
+ #
50
+ # @param project [String]
51
+ # @param location [String]
52
+ #
53
+ # @return [::String]
54
+ def location_path project:, location:
55
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
56
+
57
+ "projects/#{project}/locations/#{location}"
58
+ end
59
+
60
+ ##
61
+ # Create a fully-qualified OrganizationLocation resource string.
62
+ #
63
+ # The resource will be in the following format:
64
+ #
65
+ # `organizations/{organization}/locations/{location}`
66
+ #
67
+ # @param organization [String]
68
+ # @param location [String]
69
+ #
70
+ # @return [::String]
71
+ def organization_location_path organization:, location:
72
+ raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
73
+
74
+ "organizations/#{organization}/locations/#{location}"
75
+ end
76
+
77
+ ##
78
+ # Create a fully-qualified PolicyBinding resource string.
79
+ #
80
+ # @overload policy_binding_path(organization:, location:, policy_binding:)
81
+ # The resource will be in the following format:
82
+ #
83
+ # `organizations/{organization}/locations/{location}/policyBindings/{policy_binding}`
84
+ #
85
+ # @param organization [String]
86
+ # @param location [String]
87
+ # @param policy_binding [String]
88
+ #
89
+ # @overload policy_binding_path(folder:, location:, policy_binding:)
90
+ # The resource will be in the following format:
91
+ #
92
+ # `folders/{folder}/locations/{location}/policyBindings/{policy_binding}`
93
+ #
94
+ # @param folder [String]
95
+ # @param location [String]
96
+ # @param policy_binding [String]
97
+ #
98
+ # @overload policy_binding_path(project:, location:, policy_binding:)
99
+ # The resource will be in the following format:
100
+ #
101
+ # `projects/{project}/locations/{location}/policyBindings/{policy_binding}`
102
+ #
103
+ # @param project [String]
104
+ # @param location [String]
105
+ # @param policy_binding [String]
106
+ #
107
+ # @return [::String]
108
+ def policy_binding_path **args
109
+ resources = {
110
+ "location:organization:policy_binding" => (proc do |organization:, location:, policy_binding:|
111
+ raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
112
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
113
+
114
+ "organizations/#{organization}/locations/#{location}/policyBindings/#{policy_binding}"
115
+ end),
116
+ "folder:location:policy_binding" => (proc do |folder:, location:, policy_binding:|
117
+ raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
118
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
119
+
120
+ "folders/#{folder}/locations/#{location}/policyBindings/#{policy_binding}"
121
+ end),
122
+ "location:policy_binding:project" => (proc do |project:, location:, policy_binding:|
123
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
124
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
125
+
126
+ "projects/#{project}/locations/#{location}/policyBindings/#{policy_binding}"
127
+ end)
128
+ }
129
+
130
+ resource = resources[args.keys.sort.join(":")]
131
+ raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
132
+ resource.call(**args)
133
+ end
134
+
135
+ extend self
136
+ end
137
+ end
138
+ end
139
+ end
140
+ end