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.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +4 -4
- data/README.md +5 -5
- data/lib/google/iam/v3beta/access_policies/client.rb +1113 -0
- data/lib/google/iam/v3beta/access_policies/credentials.rb +45 -0
- data/lib/google/iam/v3beta/access_policies/operations.rb +841 -0
- data/lib/google/iam/v3beta/access_policies/paths.rb +140 -0
- data/lib/google/iam/v3beta/access_policies/rest/client.rb +1028 -0
- data/lib/google/iam/v3beta/access_policies/rest/operations.rb +939 -0
- data/lib/google/iam/v3beta/access_policies/rest/service_stub.rb +535 -0
- data/lib/google/iam/v3beta/access_policies/rest.rb +51 -0
- data/lib/google/iam/v3beta/access_policies.rb +54 -0
- data/lib/google/iam/v3beta/access_policies_service_pb.rb +36 -0
- data/lib/google/iam/v3beta/access_policies_service_services_pb.rb +54 -0
- data/lib/google/iam/v3beta/access_policy_resources_pb.rb +29 -0
- data/lib/google/iam/v3beta/policy_binding_resources_pb.rb +1 -1
- data/lib/google/iam/v3beta/policy_bindings/client.rb +21 -11
- data/lib/google/iam/v3beta/policy_bindings/operations.rb +2 -0
- data/lib/google/iam/v3beta/policy_bindings/rest/client.rb +21 -11
- data/lib/google/iam/v3beta/policy_bindings/rest/operations.rb +2 -0
- data/lib/google/iam/v3beta/policy_bindings_service_pb.rb +1 -1
- data/lib/google/iam/v3beta/policy_bindings_service_services_pb.rb +3 -5
- data/lib/google/iam/v3beta/principal_access_boundary_policies/client.rb +2 -0
- data/lib/google/iam/v3beta/principal_access_boundary_policies/operations.rb +2 -0
- data/lib/google/iam/v3beta/principal_access_boundary_policies/rest/client.rb +2 -0
- data/lib/google/iam/v3beta/principal_access_boundary_policies/rest/operations.rb +2 -0
- data/lib/google/iam/v3beta/rest.rb +2 -1
- data/lib/google/iam/v3beta/version.rb +1 -1
- data/lib/google/iam/v3beta.rb +3 -2
- data/lib/google-iam-v3beta.rb +1 -1
- data/proto_docs/google/iam/v3beta/access_policies_service.rb +203 -0
- data/proto_docs/google/iam/v3beta/access_policy_resources.rb +223 -0
- data/proto_docs/google/iam/v3beta/policy_binding_resources.rb +50 -28
- data/proto_docs/google/iam/v3beta/policy_bindings_service.rb +16 -5
- 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.
|
|
57
|
-
#
|
|
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
|
|
104
|
-
#
|
|
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
|
-
#
|
|
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.
|
|
125
|
-
# bindings. The principal set must be directly parented
|
|
126
|
-
# binding's parent or same as the parent if the target is a
|
|
127
|
-
# project
|
|
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
|
-
#
|
|
131
|
-
#
|
|
132
|
-
#
|
|
133
|
-
#
|
|
134
|
-
#
|
|
135
|
-
#
|
|
136
|
-
#
|
|
137
|
-
#
|
|
138
|
-
#
|
|
139
|
-
#
|
|
140
|
-
#
|
|
141
|
-
#
|
|
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
|
-
#
|
|
145
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
+
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.
|
|
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.
|
|
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
|