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,140 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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 V3beta
23
+ module AccessPolicies
24
+ # Path helper methods for the AccessPolicies API.
25
+ module Paths
26
+ ##
27
+ # Create a fully-qualified AccessPolicy resource string.
28
+ #
29
+ # @overload access_policy_path(organization:, location:, access_policy:)
30
+ # The resource will be in the following format:
31
+ #
32
+ # `organizations/{organization}/locations/{location}/accessPolicies/{access_policy}`
33
+ #
34
+ # @param organization [String]
35
+ # @param location [String]
36
+ # @param access_policy [String]
37
+ #
38
+ # @overload access_policy_path(folder:, location:, access_policy:)
39
+ # The resource will be in the following format:
40
+ #
41
+ # `folders/{folder}/locations/{location}/accessPolicies/{access_policy}`
42
+ #
43
+ # @param folder [String]
44
+ # @param location [String]
45
+ # @param access_policy [String]
46
+ #
47
+ # @overload access_policy_path(project:, location:, access_policy:)
48
+ # The resource will be in the following format:
49
+ #
50
+ # `projects/{project}/locations/{location}/accessPolicies/{access_policy}`
51
+ #
52
+ # @param project [String]
53
+ # @param location [String]
54
+ # @param access_policy [String]
55
+ #
56
+ # @return [::String]
57
+ def access_policy_path **args
58
+ resources = {
59
+ "access_policy:location:organization" => (proc do |organization:, location:, access_policy:|
60
+ raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
61
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
62
+
63
+ "organizations/#{organization}/locations/#{location}/accessPolicies/#{access_policy}"
64
+ end),
65
+ "access_policy:folder:location" => (proc do |folder:, location:, access_policy:|
66
+ raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
67
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
68
+
69
+ "folders/#{folder}/locations/#{location}/accessPolicies/#{access_policy}"
70
+ end),
71
+ "access_policy:location:project" => (proc do |project:, location:, access_policy:|
72
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
73
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
74
+
75
+ "projects/#{project}/locations/#{location}/accessPolicies/#{access_policy}"
76
+ end)
77
+ }
78
+
79
+ resource = resources[args.keys.sort.join(":")]
80
+ raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
81
+ resource.call(**args)
82
+ end
83
+
84
+ ##
85
+ # Create a fully-qualified FolderLocation resource string.
86
+ #
87
+ # The resource will be in the following format:
88
+ #
89
+ # `folders/{folder}/locations/{location}`
90
+ #
91
+ # @param folder [String]
92
+ # @param location [String]
93
+ #
94
+ # @return [::String]
95
+ def folder_location_path folder:, location:
96
+ raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
97
+
98
+ "folders/#{folder}/locations/#{location}"
99
+ end
100
+
101
+ ##
102
+ # Create a fully-qualified Location resource string.
103
+ #
104
+ # The resource will be in the following format:
105
+ #
106
+ # `projects/{project}/locations/{location}`
107
+ #
108
+ # @param project [String]
109
+ # @param location [String]
110
+ #
111
+ # @return [::String]
112
+ def location_path project:, location:
113
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
114
+
115
+ "projects/#{project}/locations/#{location}"
116
+ end
117
+
118
+ ##
119
+ # Create a fully-qualified OrganizationLocation resource string.
120
+ #
121
+ # The resource will be in the following format:
122
+ #
123
+ # `organizations/{organization}/locations/{location}`
124
+ #
125
+ # @param organization [String]
126
+ # @param location [String]
127
+ #
128
+ # @return [::String]
129
+ def organization_location_path organization:, location:
130
+ raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
131
+
132
+ "organizations/#{organization}/locations/#{location}"
133
+ end
134
+
135
+ extend self
136
+ end
137
+ end
138
+ end
139
+ end
140
+ end