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,203 @@
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
+ # Request message for CreateAccessPolicy method.
24
+ # @!attribute [rw] parent
25
+ # @return [::String]
26
+ # Required. The parent resource where this access policy will be created.
27
+ #
28
+ # Format:
29
+ # `projects/{project_id}/locations/{location}`
30
+ # `projects/{project_number}/locations/{location}`
31
+ # `folders/{folder_id}/locations/{location}`
32
+ # `organizations/{organization_id}/locations/{location}`
33
+ # @!attribute [rw] access_policy_id
34
+ # @return [::String]
35
+ # Required. The ID to use for the access policy, which
36
+ # will become the final component of the access policy's
37
+ # resource name.
38
+ #
39
+ # This value must start with a lowercase letter followed by up to 62
40
+ # lowercase letters, numbers, hyphens, or dots. Pattern,
41
+ # /[a-z][a-z0-9-\.]\\{2,62}/.
42
+ #
43
+ # This value must be unique among all access policies with the same parent.
44
+ # @!attribute [rw] access_policy
45
+ # @return [::Google::Iam::V3beta::AccessPolicy]
46
+ # Required. The access policy to create.
47
+ # @!attribute [rw] validate_only
48
+ # @return [::Boolean]
49
+ # Optional. If set, validate the request and preview the creation, but do not
50
+ # actually post it.
51
+ class CreateAccessPolicyRequest
52
+ include ::Google::Protobuf::MessageExts
53
+ extend ::Google::Protobuf::MessageExts::ClassMethods
54
+ end
55
+
56
+ # Request message for GetAccessPolicy method.
57
+ # @!attribute [rw] name
58
+ # @return [::String]
59
+ # Required. The name of the access policy to retrieve.
60
+ #
61
+ # Format:
62
+ # `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
63
+ # `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
64
+ # `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
65
+ # `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
66
+ class GetAccessPolicyRequest
67
+ include ::Google::Protobuf::MessageExts
68
+ extend ::Google::Protobuf::MessageExts::ClassMethods
69
+ end
70
+
71
+ # Request message for UpdateAccessPolicy method.
72
+ # @!attribute [rw] access_policy
73
+ # @return [::Google::Iam::V3beta::AccessPolicy]
74
+ # Required. The access policy to update.
75
+ #
76
+ # The access policy's `name` field is used to identify the
77
+ # policy to update.
78
+ # @!attribute [rw] validate_only
79
+ # @return [::Boolean]
80
+ # Optional. If set, validate the request and preview the update, but do not
81
+ # actually post it.
82
+ class UpdateAccessPolicyRequest
83
+ include ::Google::Protobuf::MessageExts
84
+ extend ::Google::Protobuf::MessageExts::ClassMethods
85
+ end
86
+
87
+ # Request message for DeleteAccessPolicy method.
88
+ # @!attribute [rw] name
89
+ # @return [::String]
90
+ # Required. The name of the access policy to delete.
91
+ #
92
+ # Format:
93
+ # `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
94
+ # `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
95
+ # `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
96
+ # `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
97
+ # @!attribute [rw] etag
98
+ # @return [::String]
99
+ # Optional. The etag of the access policy. If this is provided, it must match
100
+ # the server's etag.
101
+ # @!attribute [rw] validate_only
102
+ # @return [::Boolean]
103
+ # Optional. If set, validate the request and preview the deletion, but do not
104
+ # actually post it.
105
+ # @!attribute [rw] force
106
+ # @return [::Boolean]
107
+ # Optional. If set to true, the request will force the deletion of the Policy
108
+ # even if the Policy references PolicyBindings.
109
+ class DeleteAccessPolicyRequest
110
+ include ::Google::Protobuf::MessageExts
111
+ extend ::Google::Protobuf::MessageExts::ClassMethods
112
+ end
113
+
114
+ # Request message for ListAccessPolicies method.
115
+ # @!attribute [rw] parent
116
+ # @return [::String]
117
+ # Required. The parent resource, which owns the collection of access policy
118
+ # resources.
119
+ #
120
+ # Format:
121
+ # `projects/{project_id}/locations/{location}`
122
+ # `projects/{project_number}/locations/{location}`
123
+ # `folders/{folder_id}/locations/{location}`
124
+ # `organizations/{organization_id}/locations/{location}`
125
+ # @!attribute [rw] page_size
126
+ # @return [::Integer]
127
+ # Optional. The maximum number of access policies to return. The
128
+ # service may return fewer than this value.
129
+ #
130
+ # If unspecified, at most 50 access policies will be returned. Valid value
131
+ # ranges from 1 to 1000; values above 1000 will be coerced to 1000.
132
+ # @!attribute [rw] page_token
133
+ # @return [::String]
134
+ # Optional. A page token, received from a previous
135
+ # `ListAccessPolicies` call. Provide this to retrieve the
136
+ # subsequent page.
137
+ #
138
+ # When paginating, all other parameters provided to
139
+ # `ListAccessPolicies` must match the call that provided the
140
+ # page token.
141
+ class ListAccessPoliciesRequest
142
+ include ::Google::Protobuf::MessageExts
143
+ extend ::Google::Protobuf::MessageExts::ClassMethods
144
+ end
145
+
146
+ # Response message for ListAccessPolicies method.
147
+ # @!attribute [rw] access_policies
148
+ # @return [::Array<::Google::Iam::V3beta::AccessPolicy>]
149
+ # The access policies from the specified parent.
150
+ # @!attribute [rw] next_page_token
151
+ # @return [::String]
152
+ # Optional. A token, which can be sent as `page_token` to retrieve the next
153
+ # page. If this field is omitted, there are no subsequent pages.
154
+ class ListAccessPoliciesResponse
155
+ include ::Google::Protobuf::MessageExts
156
+ extend ::Google::Protobuf::MessageExts::ClassMethods
157
+ end
158
+
159
+ # Request message for SearchAccessPolicyBindings rpc.
160
+ # @!attribute [rw] name
161
+ # @return [::String]
162
+ # Required. The name of the access policy.
163
+ # Format:
164
+ # `organizations/{organization_id}/locations/{location}/accessPolicies/{access_policy_id}`
165
+ # `folders/{folder_id}/locations/{location}/accessPolicies/{access_policy_id}`
166
+ # `projects/{project_id}/locations/{location}/accessPolicies/{access_policy_id}`
167
+ # `projects/{project_number}/locations/{location}/accessPolicies/{access_policy_id}`
168
+ # @!attribute [rw] page_size
169
+ # @return [::Integer]
170
+ # Optional. The maximum number of policy bindings to return. The service may
171
+ # return fewer than this value.
172
+ #
173
+ # If unspecified, at most 50 policy bindings will be returned.
174
+ # The maximum value is 1000; values above 1000 will be coerced to 1000.
175
+ # @!attribute [rw] page_token
176
+ # @return [::String]
177
+ # Optional. A page token, received from a previous
178
+ # `SearchAccessPolicyBindingsRequest` call. Provide this to
179
+ # retrieve the subsequent page.
180
+ #
181
+ # When paginating, all other parameters provided to
182
+ # `SearchAccessPolicyBindingsRequest` must match the call
183
+ # that provided the page token.
184
+ class SearchAccessPolicyBindingsRequest
185
+ include ::Google::Protobuf::MessageExts
186
+ extend ::Google::Protobuf::MessageExts::ClassMethods
187
+ end
188
+
189
+ # Response message for SearchAccessPolicyBindings rpc.
190
+ # @!attribute [rw] policy_bindings
191
+ # @return [::Array<::Google::Iam::V3beta::PolicyBinding>]
192
+ # The policy bindings that reference the specified policy.
193
+ # @!attribute [rw] next_page_token
194
+ # @return [::String]
195
+ # Optional. A token, which can be sent as `page_token` to retrieve the next
196
+ # page. If this field is omitted, there are no subsequent pages.
197
+ class SearchAccessPolicyBindingsResponse
198
+ include ::Google::Protobuf::MessageExts
199
+ extend ::Google::Protobuf::MessageExts::ClassMethods
200
+ end
201
+ end
202
+ end
203
+ end
@@ -0,0 +1,223 @@
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
+ # An IAM access policy resource.
24
+ # @!attribute [rw] name
25
+ # @return [::String]
26
+ # Identifier. The resource name of the access policy.
27
+ #
28
+ # The following formats are supported:
29
+ #
30
+ # * `projects/{project_id}/locations/{location}/accessPolicies/{policy_id}`
31
+ # * `projects/{project_number}/locations/{location}/accessPolicies/{policy_id}`
32
+ # * `folders/{folder_id}/locations/{location}/accessPolicies/{policy_id}`
33
+ # * `organizations/{organization_id}/locations/{location}/accessPolicies/{policy_id}`
34
+ # @!attribute [r] uid
35
+ # @return [::String]
36
+ # Output only. The globally unique ID of the access policy.
37
+ # @!attribute [rw] etag
38
+ # @return [::String]
39
+ # Optional. The etag for the access policy.
40
+ # If this is provided on update, it must match the server's etag.
41
+ # @!attribute [rw] display_name
42
+ # @return [::String]
43
+ # Optional. The description of the access policy. Must be less than
44
+ # or equal to 63 characters.
45
+ # @!attribute [rw] annotations
46
+ # @return [::Google::Protobuf::Map{::String => ::String}]
47
+ # Optional. User defined annotations. See
48
+ # https://google.aip.dev/148#annotations for more details such as format and
49
+ # size limitations
50
+ # @!attribute [r] create_time
51
+ # @return [::Google::Protobuf::Timestamp]
52
+ # Output only. The time when the access policy was created.
53
+ # @!attribute [r] update_time
54
+ # @return [::Google::Protobuf::Timestamp]
55
+ # Output only. The time when the access policy was most recently
56
+ # updated.
57
+ # @!attribute [rw] details
58
+ # @return [::Google::Iam::V3beta::AccessPolicyDetails]
59
+ # Optional. The details for the access policy.
60
+ class AccessPolicy
61
+ include ::Google::Protobuf::MessageExts
62
+ extend ::Google::Protobuf::MessageExts::ClassMethods
63
+
64
+ # @!attribute [rw] key
65
+ # @return [::String]
66
+ # @!attribute [rw] value
67
+ # @return [::String]
68
+ class AnnotationsEntry
69
+ include ::Google::Protobuf::MessageExts
70
+ extend ::Google::Protobuf::MessageExts::ClassMethods
71
+ end
72
+ end
73
+
74
+ # Access policy details.
75
+ # @!attribute [rw] rules
76
+ # @return [::Array<::Google::Iam::V3beta::AccessPolicyRule>]
77
+ # Required. A list of access policy rules.
78
+ class AccessPolicyDetails
79
+ include ::Google::Protobuf::MessageExts
80
+ extend ::Google::Protobuf::MessageExts::ClassMethods
81
+ end
82
+
83
+ # Access Policy Rule that determines the behavior of the policy.
84
+ # @!attribute [rw] description
85
+ # @return [::String]
86
+ # Optional. Customer specified description of the rule. Must be less than or
87
+ # equal to 256 characters.
88
+ # @!attribute [rw] effect
89
+ # @return [::Google::Iam::V3beta::AccessPolicyRule::Effect]
90
+ # Required. The effect of the rule.
91
+ # @!attribute [rw] principals
92
+ # @return [::Array<::String>]
93
+ # Required. The identities for which this rule's effect governs using one or
94
+ # more permissions on Google Cloud resources. This field can contain the
95
+ # following values:
96
+ #
97
+ # * `principal://goog/subject/{email_id}`: A specific Google Account.
98
+ # Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
99
+ # example, `principal://goog/subject/alice@example.com`.
100
+ #
101
+ # * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
102
+ # A Google Cloud service account. For example,
103
+ # `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
104
+ #
105
+ # * `principalSet://goog/group/{group_id}`: A Google group. For example,
106
+ # `principalSet://goog/group/admins@example.com`.
107
+ #
108
+ # * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
109
+ # principals associated with the specified Google Workspace or Cloud
110
+ # Identity customer ID. For example,
111
+ # `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
112
+ #
113
+ #
114
+ # If an identifier that was previously set on a policy is soft deleted, then
115
+ # calls to read that policy will return the identifier with a deleted
116
+ # prefix. Users cannot set identifiers with this syntax.
117
+ #
118
+ # * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
119
+ # Google Account that was deleted recently. For example,
120
+ # `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
121
+ # the Google Account is recovered, this identifier reverts to the standard
122
+ # identifier for a Google Account.
123
+ #
124
+ # * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
125
+ # that was deleted recently. For example,
126
+ # `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`.
127
+ # If the Google group is restored, this identifier reverts to the standard
128
+ # identifier for a Google group.
129
+ #
130
+ # * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
131
+ # A Google Cloud service account that was deleted recently. For example,
132
+ # `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
133
+ # If the service account is undeleted, this identifier reverts to the
134
+ # standard identifier for a service account.
135
+ # @!attribute [rw] excluded_principals
136
+ # @return [::Array<::String>]
137
+ # Optional. The identities that are excluded from the access policy rule,
138
+ # even if they are listed in the `principals`. For example, you could add a
139
+ # Google group to the `principals`, then exclude specific users who belong to
140
+ # that group.
141
+ # @!attribute [rw] operation
142
+ # @return [::Google::Iam::V3beta::AccessPolicyRule::Operation]
143
+ # Required. Attributes that are used to determine whether this rule applies
144
+ # to a request.
145
+ # @!attribute [rw] conditions
146
+ # @return [::Google::Protobuf::Map{::String => ::Google::Type::Expr}]
147
+ # Optional. The conditions that determine whether this rule applies to a
148
+ # request. Conditions are identified by their key, which is the FQDN of the
149
+ # service that they are relevant to. For example:
150
+ #
151
+ # ```
152
+ # "conditions": {
153
+ # "iam.googleapis.com": {
154
+ # "expression": <cel expression>
155
+ # }
156
+ # }
157
+ # ```
158
+ #
159
+ # Each rule is evaluated independently. If this rule does not apply
160
+ # to a request, other rules might still apply.
161
+ # Currently supported keys are as follows:
162
+ #
163
+ #
164
+ # * `eventarc.googleapis.com`: Can use `CEL` functions that evaluate
165
+ # resource fields.
166
+ #
167
+ # * `iam.googleapis.com`: Can use `CEL` functions that evaluate
168
+ # [resource
169
+ # tags](https://cloud.google.com/iam/help/conditions/resource-tags) and
170
+ # combine them using boolean and logical operators. Other functions and
171
+ # operators are not supported.
172
+ class AccessPolicyRule
173
+ include ::Google::Protobuf::MessageExts
174
+ extend ::Google::Protobuf::MessageExts::ClassMethods
175
+
176
+ # Attributes that are used to determine whether this rule applies to a
177
+ # request.
178
+ # @!attribute [rw] permissions
179
+ # @return [::Array<::String>]
180
+ # Optional. The permissions that are explicitly affected by this rule. Each
181
+ # permission uses the format `{service_fqdn}/{resource}.{verb}`, where
182
+ # `{service_fqdn}` is the fully qualified domain name for the service.
183
+ # Currently supported permissions are as follows:
184
+ #
185
+ # * `eventarc.googleapis.com/messageBuses.publish`.
186
+ # @!attribute [rw] excluded_permissions
187
+ # @return [::Array<::String>]
188
+ # Optional. Specifies the permissions that this rule excludes from the set
189
+ # of affected permissions given by `permissions`. If a permission appears
190
+ # in `permissions` _and_ in `excluded_permissions` then it will _not_ be
191
+ # subject to the policy effect.
192
+ #
193
+ # The excluded permissions can be specified using the same syntax as
194
+ # `permissions`.
195
+ class Operation
196
+ include ::Google::Protobuf::MessageExts
197
+ extend ::Google::Protobuf::MessageExts::ClassMethods
198
+ end
199
+
200
+ # @!attribute [rw] key
201
+ # @return [::String]
202
+ # @!attribute [rw] value
203
+ # @return [::Google::Type::Expr]
204
+ class ConditionsEntry
205
+ include ::Google::Protobuf::MessageExts
206
+ extend ::Google::Protobuf::MessageExts::ClassMethods
207
+ end
208
+
209
+ # An effect to describe the access relationship.
210
+ module Effect
211
+ # The effect is unspecified.
212
+ EFFECT_UNSPECIFIED = 0
213
+
214
+ # The policy will deny access if it evaluates to true.
215
+ DENY = 1
216
+
217
+ # The policy will grant access if it evaluates to true.
218
+ ALLOW = 2
219
+ end
220
+ end
221
+ end
222
+ end
223
+ end
@@ -53,8 +53,8 @@ module Google
53
53
  # size limitations
54
54
  # @!attribute [rw] target
55
55
  # @return [::Google::Iam::V3beta::PolicyBinding::Target]
56
- # Required. Immutable. Target is the full resource name of the resource to
57
- # which the policy will be bound. Immutable once set.
56
+ # Required. Immutable. The full resource name of the resource to which the
57
+ # policy will be bound. Immutable once set.
58
58
  # @!attribute [rw] policy_kind
59
59
  # @return [::Google::Iam::V3beta::PolicyBinding::PolicyKind]
60
60
  # Immutable. The kind of the policy to attach in this binding. This field
@@ -100,13 +100,14 @@ module Google
100
100
  # - `principal.type != <principal type string>`
101
101
  # - `principal.type in [<list of principal types>]`
102
102
  #
103
- # Supported principal types are Workspace, Workforce Pool, Workload Pool and
104
- # Service Account. Allowed string must be one of:
103
+ # Supported principal types are workspace, workforce pool, workload pool,
104
+ # service account, and Agent Identity. Allowed string must be one of:
105
105
  #
106
- # - iam.googleapis.com/WorkspaceIdentity
107
- # - iam.googleapis.com/WorkforcePoolIdentity
108
- # - iam.googleapis.com/WorkloadPoolIdentity
109
- # - iam.googleapis.com/ServiceAccount
106
+ # - `iam.googleapis.com/WorkspaceIdentity`
107
+ # - `iam.googleapis.com/WorkforcePoolIdentity`
108
+ # - `iam.googleapis.com/WorkloadPoolIdentity`
109
+ # - `iam.googleapis.com/ServiceAccount`
110
+ # - `iam.googleapis.com/AgentPoolIdentity` (available in Preview)
110
111
  # @!attribute [r] create_time
111
112
  # @return [::Google::Protobuf::Timestamp]
112
113
  # Output only. The time when the policy binding was created.
@@ -117,32 +118,50 @@ module Google
117
118
  include ::Google::Protobuf::MessageExts
118
119
  extend ::Google::Protobuf::MessageExts::ClassMethods
119
120
 
120
- # Target is the full resource name of the resource to which the policy will
121
+ # The full resource name of the resource to which the policy will
121
122
  # be bound. Immutable once set.
122
123
  # @!attribute [rw] principal_set
123
124
  # @return [::String]
124
- # Immutable. Full Resource Name used for principal access boundary policy
125
- # bindings. The principal set must be directly parented by the policy
126
- # binding's parent or same as the parent if the target is a
127
- # project/folder/organization.
125
+ # Immutable. The full resource name that's used for principal access
126
+ # boundary policy bindings. The principal set must be directly parented
127
+ # by the policy binding's parent or same as the parent if the target is a
128
+ # project, folder, or organization.
128
129
  #
129
130
  # Examples:
130
- # * For binding's parented by an organization:
131
- # * Organization:
132
- # `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
133
- # * Workforce Identity:
134
- # `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
135
- # * Workspace Identity:
136
- # `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
137
- # * For binding's parented by a folder:
138
- # * Folder:
139
- # `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
140
- # * For binding's parented by a project:
141
- # * Project:
131
+ #
132
+ # * For bindings parented by an organization:
133
+ # * Organization:
134
+ # `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
135
+ # * Workforce Identity:
136
+ # `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
137
+ # * Workspace Identity:
138
+ # `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
139
+ # * For bindings parented by a folder:
140
+ # * Folder:
141
+ # `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
142
+ # * For bindings parented by a project:
143
+ # * Project:
144
+ # * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
145
+ # * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
146
+ # * Workload Identity Pool:
147
+ # `//iam.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/workloadIdentityPools/WORKLOAD_POOL_ID`
148
+ #
149
+ # Note: The following fields are mutually exclusive: `principal_set`, `resource`. If a field in that set is populated, all other fields in the set will automatically be cleared.
150
+ # @!attribute [rw] resource
151
+ # @return [::String]
152
+ # Immutable. The full resource name that's used for access policy
153
+ # bindings.
154
+ #
155
+ # Examples:
156
+ #
157
+ # * Organization:
158
+ # `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
159
+ # * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
160
+ # * Project:
142
161
  # * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
143
162
  # * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
144
- # * Workload Identity Pool:
145
- # `//iam.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/workloadIdentityPools/WORKLOAD_POOL_ID`
163
+ #
164
+ # Note: The following fields are mutually exclusive: `resource`, `principal_set`. If a field in that set is populated, all other fields in the set will automatically be cleared.
146
165
  class Target
147
166
  include ::Google::Protobuf::MessageExts
148
167
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -157,13 +176,16 @@ module Google
157
176
  extend ::Google::Protobuf::MessageExts::ClassMethods
158
177
  end
159
178
 
160
- # Different policy kinds supported in this binding.
179
+ # The different policy kinds supported in this binding.
161
180
  module PolicyKind
162
181
  # Unspecified policy kind; Not a valid state
163
182
  POLICY_KIND_UNSPECIFIED = 0
164
183
 
165
184
  # Principal access boundary policy kind
166
185
  PRINCIPAL_ACCESS_BOUNDARY = 1
186
+
187
+ # Access policy kind.
188
+ ACCESS = 2
167
189
  end
168
190
  end
169
191
  end
@@ -129,8 +129,7 @@ module Google
129
129
  # Optional. The maximum number of policy bindings to return. The service may
130
130
  # return fewer than this value.
131
131
  #
132
- # If unspecified, at most 50 policy bindings will be returned.
133
- # The maximum value is 1000; values above 1000 will be coerced to 1000.
132
+ # The default value is 50. The maximum value is 1000.
134
133
  # @!attribute [rw] page_token
135
134
  # @return [::String]
136
135
  # Optional. A page token, received from a previous `ListPolicyBindings` call.
@@ -141,7 +140,8 @@ module Google
141
140
  # @!attribute [rw] filter
142
141
  # @return [::String]
143
142
  # Optional. An expression for filtering the results of the request. Filter
144
- # rules are case insensitive. Some eligible fields for filtering are:
143
+ # rules are case insensitive. Some eligible fields for filtering are the
144
+ # following:
145
145
  #
146
146
  # + `target`
147
147
  # + `policy`
@@ -187,8 +187,7 @@ module Google
187
187
  # Optional. The maximum number of policy bindings to return. The service may
188
188
  # return fewer than this value.
189
189
  #
190
- # If unspecified, at most 50 policy bindings will be returned.
191
- # The maximum value is 1000; values above 1000 will be coerced to 1000.
190
+ # The default value is 50. The maximum value is 1000.
192
191
  # @!attribute [rw] page_token
193
192
  # @return [::String]
194
193
  # Optional. A page token, received from a previous
@@ -210,6 +209,18 @@ module Google
210
209
  # * `projects/{project_number}/locations/{location}`
211
210
  # * `folders/{folder_id}/locations/{location}`
212
211
  # * `organizations/{organization_id}/locations/{location}`
212
+ # @!attribute [rw] filter
213
+ # @return [::String]
214
+ # Optional. Filtering currently only supports the kind of policies to return,
215
+ # and must be in the format "policy_kind=\\{policy_kind}".
216
+ #
217
+ # If String is empty, bindings bound to all kinds of policies would be
218
+ # returned.
219
+ #
220
+ # The only supported values are the following:
221
+ #
222
+ # * "policy_kind=PRINCIPAL_ACCESS_BOUNDARY",
223
+ # * "policy_kind=ACCESS"
213
224
  class SearchTargetPolicyBindingsRequest
214
225
  include ::Google::Protobuf::MessageExts
215
226
  extend ::Google::Protobuf::MessageExts::ClassMethods
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-iam-v3beta
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '1.2'
18
+ version: '1.3'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '1.2'
25
+ version: '1.3'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: google-cloud-errors
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -69,6 +69,18 @@ files:
69
69
  - README.md
70
70
  - lib/google-iam-v3beta.rb
71
71
  - lib/google/iam/v3beta.rb
72
+ - lib/google/iam/v3beta/access_policies.rb
73
+ - lib/google/iam/v3beta/access_policies/client.rb
74
+ - lib/google/iam/v3beta/access_policies/credentials.rb
75
+ - lib/google/iam/v3beta/access_policies/operations.rb
76
+ - lib/google/iam/v3beta/access_policies/paths.rb
77
+ - lib/google/iam/v3beta/access_policies/rest.rb
78
+ - lib/google/iam/v3beta/access_policies/rest/client.rb
79
+ - lib/google/iam/v3beta/access_policies/rest/operations.rb
80
+ - lib/google/iam/v3beta/access_policies/rest/service_stub.rb
81
+ - lib/google/iam/v3beta/access_policies_service_pb.rb
82
+ - lib/google/iam/v3beta/access_policies_service_services_pb.rb
83
+ - lib/google/iam/v3beta/access_policy_resources_pb.rb
72
84
  - lib/google/iam/v3beta/operation_metadata_pb.rb
73
85
  - lib/google/iam/v3beta/policy_binding_resources_pb.rb
74
86
  - lib/google/iam/v3beta/policy_bindings.rb
@@ -102,6 +114,8 @@ files:
102
114
  - proto_docs/google/api/field_info.rb
103
115
  - proto_docs/google/api/launch_stage.rb
104
116
  - proto_docs/google/api/resource.rb
117
+ - proto_docs/google/iam/v3beta/access_policies_service.rb
118
+ - proto_docs/google/iam/v3beta/access_policy_resources.rb
105
119
  - proto_docs/google/iam/v3beta/operation_metadata.rb
106
120
  - proto_docs/google/iam/v3beta/policy_binding_resources.rb
107
121
  - proto_docs/google/iam/v3beta/policy_bindings_service.rb