google-apis-iam_v2beta 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.
- checksums.yaml +7 -0
- data/.yardopts +13 -0
- data/CHANGELOG.md +7 -0
- data/LICENSE.md +202 -0
- data/OVERVIEW.md +96 -0
- data/lib/google/apis/iam_v2beta/classes.rb +576 -0
- data/lib/google/apis/iam_v2beta/gem_version.rb +28 -0
- data/lib/google/apis/iam_v2beta/representations.rb +232 -0
- data/lib/google/apis/iam_v2beta/service.rb +307 -0
- data/lib/google/apis/iam_v2beta.rb +38 -0
- data/lib/google-apis-iam_v2beta.rb +15 -0
- metadata +83 -0
@@ -0,0 +1,576 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require 'date'
|
16
|
+
require 'google/apis/core/base_service'
|
17
|
+
require 'google/apis/core/json_representation'
|
18
|
+
require 'google/apis/core/hashable'
|
19
|
+
require 'google/apis/errors'
|
20
|
+
|
21
|
+
module Google
|
22
|
+
module Apis
|
23
|
+
module IamV2beta
|
24
|
+
|
25
|
+
# Audit log information specific to Cloud IAM admin APIs. This message is
|
26
|
+
# serialized as an `Any` type in the `ServiceData` message of an `AuditLog`
|
27
|
+
# message.
|
28
|
+
class GoogleIamAdminV1AuditData
|
29
|
+
include Google::Apis::Core::Hashable
|
30
|
+
|
31
|
+
# A PermissionDelta message to record the added_permissions and
|
32
|
+
# removed_permissions inside a role.
|
33
|
+
# Corresponds to the JSON property `permissionDelta`
|
34
|
+
# @return [Google::Apis::IamV2beta::GoogleIamAdminV1AuditDataPermissionDelta]
|
35
|
+
attr_accessor :permission_delta
|
36
|
+
|
37
|
+
def initialize(**args)
|
38
|
+
update!(**args)
|
39
|
+
end
|
40
|
+
|
41
|
+
# Update properties of this object
|
42
|
+
def update!(**args)
|
43
|
+
@permission_delta = args[:permission_delta] if args.key?(:permission_delta)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# A PermissionDelta message to record the added_permissions and
|
48
|
+
# removed_permissions inside a role.
|
49
|
+
class GoogleIamAdminV1AuditDataPermissionDelta
|
50
|
+
include Google::Apis::Core::Hashable
|
51
|
+
|
52
|
+
# Added permissions.
|
53
|
+
# Corresponds to the JSON property `addedPermissions`
|
54
|
+
# @return [Array<String>]
|
55
|
+
attr_accessor :added_permissions
|
56
|
+
|
57
|
+
# Removed permissions.
|
58
|
+
# Corresponds to the JSON property `removedPermissions`
|
59
|
+
# @return [Array<String>]
|
60
|
+
attr_accessor :removed_permissions
|
61
|
+
|
62
|
+
def initialize(**args)
|
63
|
+
update!(**args)
|
64
|
+
end
|
65
|
+
|
66
|
+
# Update properties of this object
|
67
|
+
def update!(**args)
|
68
|
+
@added_permissions = args[:added_permissions] if args.key?(:added_permissions)
|
69
|
+
@removed_permissions = args[:removed_permissions] if args.key?(:removed_permissions)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
# One delta entry for Binding. Each individual change (only one member in each
|
74
|
+
# entry) to a binding will be a separate entry.
|
75
|
+
class GoogleIamV1BindingDelta
|
76
|
+
include Google::Apis::Core::Hashable
|
77
|
+
|
78
|
+
# The action that was performed on a Binding. Required
|
79
|
+
# Corresponds to the JSON property `action`
|
80
|
+
# @return [String]
|
81
|
+
attr_accessor :action
|
82
|
+
|
83
|
+
# Represents a textual expression in the Common Expression Language (CEL) syntax.
|
84
|
+
# CEL is a C-like expression language. The syntax and semantics of CEL are
|
85
|
+
# documented at https://github.com/google/cel-spec. Example (Comparison): title:
|
86
|
+
# "Summary size limit" description: "Determines if a summary is less than 100
|
87
|
+
# chars" expression: "document.summary.size() < 100" Example (Equality): title: "
|
88
|
+
# Requestor is owner" description: "Determines if requestor is the document
|
89
|
+
# owner" expression: "document.owner == request.auth.claims.email" Example (
|
90
|
+
# Logic): title: "Public documents" description: "Determine whether the document
|
91
|
+
# should be publicly visible" expression: "document.type != 'private' &&
|
92
|
+
# document.type != 'internal'" Example (Data Manipulation): title: "Notification
|
93
|
+
# string" description: "Create a notification string with a timestamp."
|
94
|
+
# expression: "'New message received at ' + string(document.create_time)" The
|
95
|
+
# exact variables and functions that may be referenced within an expression are
|
96
|
+
# determined by the service that evaluates it. See the service documentation for
|
97
|
+
# additional information.
|
98
|
+
# Corresponds to the JSON property `condition`
|
99
|
+
# @return [Google::Apis::IamV2beta::GoogleTypeExpr]
|
100
|
+
attr_accessor :condition
|
101
|
+
|
102
|
+
# A single identity requesting access for a Google Cloud resource. Follows the
|
103
|
+
# same format of Binding.members. Required
|
104
|
+
# Corresponds to the JSON property `member`
|
105
|
+
# @return [String]
|
106
|
+
attr_accessor :member
|
107
|
+
|
108
|
+
# Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
|
109
|
+
# , or `roles/owner`. Required
|
110
|
+
# Corresponds to the JSON property `role`
|
111
|
+
# @return [String]
|
112
|
+
attr_accessor :role
|
113
|
+
|
114
|
+
def initialize(**args)
|
115
|
+
update!(**args)
|
116
|
+
end
|
117
|
+
|
118
|
+
# Update properties of this object
|
119
|
+
def update!(**args)
|
120
|
+
@action = args[:action] if args.key?(:action)
|
121
|
+
@condition = args[:condition] if args.key?(:condition)
|
122
|
+
@member = args[:member] if args.key?(:member)
|
123
|
+
@role = args[:role] if args.key?(:role)
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
# Audit log information specific to Cloud IAM. This message is serialized as an `
|
128
|
+
# Any` type in the `ServiceData` message of an `AuditLog` message.
|
129
|
+
class GoogleIamV1LoggingAuditData
|
130
|
+
include Google::Apis::Core::Hashable
|
131
|
+
|
132
|
+
# The difference delta between two policies.
|
133
|
+
# Corresponds to the JSON property `policyDelta`
|
134
|
+
# @return [Google::Apis::IamV2beta::GoogleIamV1PolicyDelta]
|
135
|
+
attr_accessor :policy_delta
|
136
|
+
|
137
|
+
def initialize(**args)
|
138
|
+
update!(**args)
|
139
|
+
end
|
140
|
+
|
141
|
+
# Update properties of this object
|
142
|
+
def update!(**args)
|
143
|
+
@policy_delta = args[:policy_delta] if args.key?(:policy_delta)
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
# The difference delta between two policies.
|
148
|
+
class GoogleIamV1PolicyDelta
|
149
|
+
include Google::Apis::Core::Hashable
|
150
|
+
|
151
|
+
# The delta for Bindings between two policies.
|
152
|
+
# Corresponds to the JSON property `bindingDeltas`
|
153
|
+
# @return [Array<Google::Apis::IamV2beta::GoogleIamV1BindingDelta>]
|
154
|
+
attr_accessor :binding_deltas
|
155
|
+
|
156
|
+
def initialize(**args)
|
157
|
+
update!(**args)
|
158
|
+
end
|
159
|
+
|
160
|
+
# Update properties of this object
|
161
|
+
def update!(**args)
|
162
|
+
@binding_deltas = args[:binding_deltas] if args.key?(:binding_deltas)
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
166
|
+
# A deny rule in an IAM deny policy.
|
167
|
+
class GoogleIamV2betaDenyRule
|
168
|
+
include Google::Apis::Core::Hashable
|
169
|
+
|
170
|
+
# Represents a textual expression in the Common Expression Language (CEL) syntax.
|
171
|
+
# CEL is a C-like expression language. The syntax and semantics of CEL are
|
172
|
+
# documented at https://github.com/google/cel-spec. Example (Comparison): title:
|
173
|
+
# "Summary size limit" description: "Determines if a summary is less than 100
|
174
|
+
# chars" expression: "document.summary.size() < 100" Example (Equality): title: "
|
175
|
+
# Requestor is owner" description: "Determines if requestor is the document
|
176
|
+
# owner" expression: "document.owner == request.auth.claims.email" Example (
|
177
|
+
# Logic): title: "Public documents" description: "Determine whether the document
|
178
|
+
# should be publicly visible" expression: "document.type != 'private' &&
|
179
|
+
# document.type != 'internal'" Example (Data Manipulation): title: "Notification
|
180
|
+
# string" description: "Create a notification string with a timestamp."
|
181
|
+
# expression: "'New message received at ' + string(document.create_time)" The
|
182
|
+
# exact variables and functions that may be referenced within an expression are
|
183
|
+
# determined by the service that evaluates it. See the service documentation for
|
184
|
+
# additional information.
|
185
|
+
# Corresponds to the JSON property `denialCondition`
|
186
|
+
# @return [Google::Apis::IamV2beta::GoogleTypeExpr]
|
187
|
+
attr_accessor :denial_condition
|
188
|
+
|
189
|
+
# The permissions that are explicitly denied by this rule. Each permission uses
|
190
|
+
# the format ``service-fqdn`/`resource`.`verb``, where ``service-fqdn`` is the
|
191
|
+
# fully qualified domain name for the service. For example, `iam.googleapis.com/
|
192
|
+
# roles.list`.
|
193
|
+
# Corresponds to the JSON property `deniedPermissions`
|
194
|
+
# @return [Array<String>]
|
195
|
+
attr_accessor :denied_permissions
|
196
|
+
|
197
|
+
# The identities that are prevented from using one or more permissions on Google
|
198
|
+
# Cloud resources. This field can contain the following values: * `principalSet:/
|
199
|
+
# /goog/public:all`: A special identifier that represents any user who is on the
|
200
|
+
# internet, even if they do not have a Google Account or are not logged in. * `
|
201
|
+
# principal://goog/subject/`email-id``: A specific Google Account. Includes
|
202
|
+
# Gmail, Cloud Identity, and Google Workspace user accounts. For example, `
|
203
|
+
# principal://goog/subject/alice@example.com`. * `deleted:principal://goog/
|
204
|
+
# subject/`email-id`?uid=`uid``: A specific Google Account that was deleted
|
205
|
+
# recently. For example, `deleted:principal://goog/subject/alice@example.com?uid=
|
206
|
+
# 1234567890`. If the Google Account is recovered, this identifier reverts to
|
207
|
+
# the standard identifier for a Google Account. * `principalSet://goog/group/`
|
208
|
+
# group-id``: A Google group. For example, `principalSet://goog/group/admins@
|
209
|
+
# example.com`. * `deleted:principalSet://goog/group/`group-id`?uid=`uid``: A
|
210
|
+
# Google group that was deleted recently. For example, `deleted:principalSet://
|
211
|
+
# goog/group/admins@example.com?uid=1234567890`. If the Google group is restored,
|
212
|
+
# this identifier reverts to the standard identifier for a Google group. * `
|
213
|
+
# principal://iam.googleapis.com/projects/-/serviceAccounts/`service-account-id``
|
214
|
+
# : A Google Cloud service account. For example, `principal://iam.googleapis.com/
|
215
|
+
# projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`. * `
|
216
|
+
# deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/`service-
|
217
|
+
# account-id`?uid=`uid``: A Google Cloud service account that was deleted
|
218
|
+
# recently. For example, `deleted:principal://iam.googleapis.com/projects/-/
|
219
|
+
# serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`. If
|
220
|
+
# the service account is undeleted, this identifier reverts to the standard
|
221
|
+
# identifier for a service account. * `principalSet://goog/
|
222
|
+
# cloudIdentityCustomerId/`customer-id``: All of the principals associated with
|
223
|
+
# the specified Google Workspace or Cloud Identity customer ID. For example, `
|
224
|
+
# principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
|
225
|
+
# Corresponds to the JSON property `deniedPrincipals`
|
226
|
+
# @return [Array<String>]
|
227
|
+
attr_accessor :denied_principals
|
228
|
+
|
229
|
+
# Specifies the permissions that this rule excludes from the set of denied
|
230
|
+
# permissions given by `denied_permissions`. If a permission appears in `
|
231
|
+
# denied_permissions` _and_ in `exception_permissions` then it will _not_ be
|
232
|
+
# denied. The excluded permissions can be specified using the same syntax as `
|
233
|
+
# denied_permissions`.
|
234
|
+
# Corresponds to the JSON property `exceptionPermissions`
|
235
|
+
# @return [Array<String>]
|
236
|
+
attr_accessor :exception_permissions
|
237
|
+
|
238
|
+
# The identities that are excluded from the deny rule, even if they are listed
|
239
|
+
# in the `denied_principals`. For example, you could add a Google group to the `
|
240
|
+
# denied_principals`, then exclude specific users who belong to that group. This
|
241
|
+
# field can contain the same values as the `denied_principals` field, excluding `
|
242
|
+
# principalSet://goog/public:all`, which represents all users on the internet.
|
243
|
+
# Corresponds to the JSON property `exceptionPrincipals`
|
244
|
+
# @return [Array<String>]
|
245
|
+
attr_accessor :exception_principals
|
246
|
+
|
247
|
+
def initialize(**args)
|
248
|
+
update!(**args)
|
249
|
+
end
|
250
|
+
|
251
|
+
# Update properties of this object
|
252
|
+
def update!(**args)
|
253
|
+
@denial_condition = args[:denial_condition] if args.key?(:denial_condition)
|
254
|
+
@denied_permissions = args[:denied_permissions] if args.key?(:denied_permissions)
|
255
|
+
@denied_principals = args[:denied_principals] if args.key?(:denied_principals)
|
256
|
+
@exception_permissions = args[:exception_permissions] if args.key?(:exception_permissions)
|
257
|
+
@exception_principals = args[:exception_principals] if args.key?(:exception_principals)
|
258
|
+
end
|
259
|
+
end
|
260
|
+
|
261
|
+
# Response message for `ListPolicies`.
|
262
|
+
class GoogleIamV2betaListPoliciesResponse
|
263
|
+
include Google::Apis::Core::Hashable
|
264
|
+
|
265
|
+
# A page token that you can use in a ListPoliciesRequest to retrieve the next
|
266
|
+
# page. If this field is omitted, there are no additional pages.
|
267
|
+
# Corresponds to the JSON property `nextPageToken`
|
268
|
+
# @return [String]
|
269
|
+
attr_accessor :next_page_token
|
270
|
+
|
271
|
+
# Metadata for the policies that are attached to the resource.
|
272
|
+
# Corresponds to the JSON property `policies`
|
273
|
+
# @return [Array<Google::Apis::IamV2beta::GoogleIamV2betaPolicy>]
|
274
|
+
attr_accessor :policies
|
275
|
+
|
276
|
+
def initialize(**args)
|
277
|
+
update!(**args)
|
278
|
+
end
|
279
|
+
|
280
|
+
# Update properties of this object
|
281
|
+
def update!(**args)
|
282
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
283
|
+
@policies = args[:policies] if args.key?(:policies)
|
284
|
+
end
|
285
|
+
end
|
286
|
+
|
287
|
+
# Data for an IAM policy.
|
288
|
+
class GoogleIamV2betaPolicy
|
289
|
+
include Google::Apis::Core::Hashable
|
290
|
+
|
291
|
+
# A key-value map to store arbitrary metadata for the `Policy`. Keys can be up
|
292
|
+
# to 63 characters. Values can be up to 255 characters.
|
293
|
+
# Corresponds to the JSON property `annotations`
|
294
|
+
# @return [Hash<String,String>]
|
295
|
+
attr_accessor :annotations
|
296
|
+
|
297
|
+
# Output only. The time when the `Policy` was created.
|
298
|
+
# Corresponds to the JSON property `createTime`
|
299
|
+
# @return [String]
|
300
|
+
attr_accessor :create_time
|
301
|
+
|
302
|
+
# Output only. The time when the `Policy` was deleted. Empty if the policy is
|
303
|
+
# not deleted.
|
304
|
+
# Corresponds to the JSON property `deleteTime`
|
305
|
+
# @return [String]
|
306
|
+
attr_accessor :delete_time
|
307
|
+
|
308
|
+
# A user-specified description of the `Policy`. This value can be up to 63
|
309
|
+
# characters.
|
310
|
+
# Corresponds to the JSON property `displayName`
|
311
|
+
# @return [String]
|
312
|
+
attr_accessor :display_name
|
313
|
+
|
314
|
+
# An opaque tag that identifies the current version of the `Policy`. IAM uses
|
315
|
+
# this value to help manage concurrent updates, so they do not cause one update
|
316
|
+
# to be overwritten by another. If this field is present in a CreatePolicy
|
317
|
+
# request, the value is ignored.
|
318
|
+
# Corresponds to the JSON property `etag`
|
319
|
+
# @return [String]
|
320
|
+
attr_accessor :etag
|
321
|
+
|
322
|
+
# Output only. The kind of the `Policy`. Always contains the value `DenyPolicy`.
|
323
|
+
# Corresponds to the JSON property `kind`
|
324
|
+
# @return [String]
|
325
|
+
attr_accessor :kind
|
326
|
+
|
327
|
+
# Immutable. The resource name of the `Policy`, which must be unique. Format: `
|
328
|
+
# policies/`attachment-point`/denypolicies/`policy-id`` The attachment point is
|
329
|
+
# identified by its URL-encoded full resource name, which means that the forward-
|
330
|
+
# slash character, `/`, must be written as `%2F`. For example, `policies/
|
331
|
+
# cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-
|
332
|
+
# deny-policy`. For organizations and folders, use the numeric ID in the full
|
333
|
+
# resource name. For projects, requests can use the alphanumeric or the numeric
|
334
|
+
# ID. Responses always contain the numeric ID.
|
335
|
+
# Corresponds to the JSON property `name`
|
336
|
+
# @return [String]
|
337
|
+
attr_accessor :name
|
338
|
+
|
339
|
+
# A list of rules that specify the behavior of the `Policy`. All of the rules
|
340
|
+
# should be of the `kind` specified in the `Policy`.
|
341
|
+
# Corresponds to the JSON property `rules`
|
342
|
+
# @return [Array<Google::Apis::IamV2beta::GoogleIamV2betaPolicyRule>]
|
343
|
+
attr_accessor :rules
|
344
|
+
|
345
|
+
# Immutable. The globally unique ID of the `Policy`. Assigned automatically when
|
346
|
+
# the `Policy` is created.
|
347
|
+
# Corresponds to the JSON property `uid`
|
348
|
+
# @return [String]
|
349
|
+
attr_accessor :uid
|
350
|
+
|
351
|
+
# Output only. The time when the `Policy` was last updated.
|
352
|
+
# Corresponds to the JSON property `updateTime`
|
353
|
+
# @return [String]
|
354
|
+
attr_accessor :update_time
|
355
|
+
|
356
|
+
def initialize(**args)
|
357
|
+
update!(**args)
|
358
|
+
end
|
359
|
+
|
360
|
+
# Update properties of this object
|
361
|
+
def update!(**args)
|
362
|
+
@annotations = args[:annotations] if args.key?(:annotations)
|
363
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
364
|
+
@delete_time = args[:delete_time] if args.key?(:delete_time)
|
365
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
366
|
+
@etag = args[:etag] if args.key?(:etag)
|
367
|
+
@kind = args[:kind] if args.key?(:kind)
|
368
|
+
@name = args[:name] if args.key?(:name)
|
369
|
+
@rules = args[:rules] if args.key?(:rules)
|
370
|
+
@uid = args[:uid] if args.key?(:uid)
|
371
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
372
|
+
end
|
373
|
+
end
|
374
|
+
|
375
|
+
# Metadata for long-running `Policy` operations.
|
376
|
+
class GoogleIamV2betaPolicyOperationMetadata
|
377
|
+
include Google::Apis::Core::Hashable
|
378
|
+
|
379
|
+
# Timestamp when the `google.longrunning.Operation` was created.
|
380
|
+
# Corresponds to the JSON property `createTime`
|
381
|
+
# @return [String]
|
382
|
+
attr_accessor :create_time
|
383
|
+
|
384
|
+
def initialize(**args)
|
385
|
+
update!(**args)
|
386
|
+
end
|
387
|
+
|
388
|
+
# Update properties of this object
|
389
|
+
def update!(**args)
|
390
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
391
|
+
end
|
392
|
+
end
|
393
|
+
|
394
|
+
# A single rule in a `Policy`.
|
395
|
+
class GoogleIamV2betaPolicyRule
|
396
|
+
include Google::Apis::Core::Hashable
|
397
|
+
|
398
|
+
# A deny rule in an IAM deny policy.
|
399
|
+
# Corresponds to the JSON property `denyRule`
|
400
|
+
# @return [Google::Apis::IamV2beta::GoogleIamV2betaDenyRule]
|
401
|
+
attr_accessor :deny_rule
|
402
|
+
|
403
|
+
# A user-specified description of the rule. This value can be up to 256
|
404
|
+
# characters.
|
405
|
+
# Corresponds to the JSON property `description`
|
406
|
+
# @return [String]
|
407
|
+
attr_accessor :description
|
408
|
+
|
409
|
+
def initialize(**args)
|
410
|
+
update!(**args)
|
411
|
+
end
|
412
|
+
|
413
|
+
# Update properties of this object
|
414
|
+
def update!(**args)
|
415
|
+
@deny_rule = args[:deny_rule] if args.key?(:deny_rule)
|
416
|
+
@description = args[:description] if args.key?(:description)
|
417
|
+
end
|
418
|
+
end
|
419
|
+
|
420
|
+
# This resource represents a long-running operation that is the result of a
|
421
|
+
# network API call.
|
422
|
+
class GoogleLongrunningOperation
|
423
|
+
include Google::Apis::Core::Hashable
|
424
|
+
|
425
|
+
# If the value is `false`, it means the operation is still in progress. If `true`
|
426
|
+
# , the operation is completed, and either `error` or `response` is available.
|
427
|
+
# Corresponds to the JSON property `done`
|
428
|
+
# @return [Boolean]
|
429
|
+
attr_accessor :done
|
430
|
+
alias_method :done?, :done
|
431
|
+
|
432
|
+
# The `Status` type defines a logical error model that is suitable for different
|
433
|
+
# programming environments, including REST APIs and RPC APIs. It is used by [
|
434
|
+
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
435
|
+
# data: error code, error message, and error details. You can find out more
|
436
|
+
# about this error model and how to work with it in the [API Design Guide](https:
|
437
|
+
# //cloud.google.com/apis/design/errors).
|
438
|
+
# Corresponds to the JSON property `error`
|
439
|
+
# @return [Google::Apis::IamV2beta::GoogleRpcStatus]
|
440
|
+
attr_accessor :error
|
441
|
+
|
442
|
+
# Service-specific metadata associated with the operation. It typically contains
|
443
|
+
# progress information and common metadata such as create time. Some services
|
444
|
+
# might not provide such metadata. Any method that returns a long-running
|
445
|
+
# operation should document the metadata type, if any.
|
446
|
+
# Corresponds to the JSON property `metadata`
|
447
|
+
# @return [Hash<String,Object>]
|
448
|
+
attr_accessor :metadata
|
449
|
+
|
450
|
+
# The server-assigned name, which is only unique within the same service that
|
451
|
+
# originally returns it. If you use the default HTTP mapping, the `name` should
|
452
|
+
# be a resource name ending with `operations/`unique_id``.
|
453
|
+
# Corresponds to the JSON property `name`
|
454
|
+
# @return [String]
|
455
|
+
attr_accessor :name
|
456
|
+
|
457
|
+
# The normal response of the operation in case of success. If the original
|
458
|
+
# method returns no data on success, such as `Delete`, the response is `google.
|
459
|
+
# protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
|
460
|
+
# the response should be the resource. For other methods, the response should
|
461
|
+
# have the type `XxxResponse`, where `Xxx` is the original method name. For
|
462
|
+
# example, if the original method name is `TakeSnapshot()`, the inferred
|
463
|
+
# response type is `TakeSnapshotResponse`.
|
464
|
+
# Corresponds to the JSON property `response`
|
465
|
+
# @return [Hash<String,Object>]
|
466
|
+
attr_accessor :response
|
467
|
+
|
468
|
+
def initialize(**args)
|
469
|
+
update!(**args)
|
470
|
+
end
|
471
|
+
|
472
|
+
# Update properties of this object
|
473
|
+
def update!(**args)
|
474
|
+
@done = args[:done] if args.key?(:done)
|
475
|
+
@error = args[:error] if args.key?(:error)
|
476
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
477
|
+
@name = args[:name] if args.key?(:name)
|
478
|
+
@response = args[:response] if args.key?(:response)
|
479
|
+
end
|
480
|
+
end
|
481
|
+
|
482
|
+
# The `Status` type defines a logical error model that is suitable for different
|
483
|
+
# programming environments, including REST APIs and RPC APIs. It is used by [
|
484
|
+
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
485
|
+
# data: error code, error message, and error details. You can find out more
|
486
|
+
# about this error model and how to work with it in the [API Design Guide](https:
|
487
|
+
# //cloud.google.com/apis/design/errors).
|
488
|
+
class GoogleRpcStatus
|
489
|
+
include Google::Apis::Core::Hashable
|
490
|
+
|
491
|
+
# The status code, which should be an enum value of google.rpc.Code.
|
492
|
+
# Corresponds to the JSON property `code`
|
493
|
+
# @return [Fixnum]
|
494
|
+
attr_accessor :code
|
495
|
+
|
496
|
+
# A list of messages that carry the error details. There is a common set of
|
497
|
+
# message types for APIs to use.
|
498
|
+
# Corresponds to the JSON property `details`
|
499
|
+
# @return [Array<Hash<String,Object>>]
|
500
|
+
attr_accessor :details
|
501
|
+
|
502
|
+
# A developer-facing error message, which should be in English. Any user-facing
|
503
|
+
# error message should be localized and sent in the google.rpc.Status.details
|
504
|
+
# field, or localized by the client.
|
505
|
+
# Corresponds to the JSON property `message`
|
506
|
+
# @return [String]
|
507
|
+
attr_accessor :message
|
508
|
+
|
509
|
+
def initialize(**args)
|
510
|
+
update!(**args)
|
511
|
+
end
|
512
|
+
|
513
|
+
# Update properties of this object
|
514
|
+
def update!(**args)
|
515
|
+
@code = args[:code] if args.key?(:code)
|
516
|
+
@details = args[:details] if args.key?(:details)
|
517
|
+
@message = args[:message] if args.key?(:message)
|
518
|
+
end
|
519
|
+
end
|
520
|
+
|
521
|
+
# Represents a textual expression in the Common Expression Language (CEL) syntax.
|
522
|
+
# CEL is a C-like expression language. The syntax and semantics of CEL are
|
523
|
+
# documented at https://github.com/google/cel-spec. Example (Comparison): title:
|
524
|
+
# "Summary size limit" description: "Determines if a summary is less than 100
|
525
|
+
# chars" expression: "document.summary.size() < 100" Example (Equality): title: "
|
526
|
+
# Requestor is owner" description: "Determines if requestor is the document
|
527
|
+
# owner" expression: "document.owner == request.auth.claims.email" Example (
|
528
|
+
# Logic): title: "Public documents" description: "Determine whether the document
|
529
|
+
# should be publicly visible" expression: "document.type != 'private' &&
|
530
|
+
# document.type != 'internal'" Example (Data Manipulation): title: "Notification
|
531
|
+
# string" description: "Create a notification string with a timestamp."
|
532
|
+
# expression: "'New message received at ' + string(document.create_time)" The
|
533
|
+
# exact variables and functions that may be referenced within an expression are
|
534
|
+
# determined by the service that evaluates it. See the service documentation for
|
535
|
+
# additional information.
|
536
|
+
class GoogleTypeExpr
|
537
|
+
include Google::Apis::Core::Hashable
|
538
|
+
|
539
|
+
# Optional. Description of the expression. This is a longer text which describes
|
540
|
+
# the expression, e.g. when hovered over it in a UI.
|
541
|
+
# Corresponds to the JSON property `description`
|
542
|
+
# @return [String]
|
543
|
+
attr_accessor :description
|
544
|
+
|
545
|
+
# Textual representation of an expression in Common Expression Language syntax.
|
546
|
+
# Corresponds to the JSON property `expression`
|
547
|
+
# @return [String]
|
548
|
+
attr_accessor :expression
|
549
|
+
|
550
|
+
# Optional. String indicating the location of the expression for error reporting,
|
551
|
+
# e.g. a file name and a position in the file.
|
552
|
+
# Corresponds to the JSON property `location`
|
553
|
+
# @return [String]
|
554
|
+
attr_accessor :location
|
555
|
+
|
556
|
+
# Optional. Title for the expression, i.e. a short string describing its purpose.
|
557
|
+
# This can be used e.g. in UIs which allow to enter the expression.
|
558
|
+
# Corresponds to the JSON property `title`
|
559
|
+
# @return [String]
|
560
|
+
attr_accessor :title
|
561
|
+
|
562
|
+
def initialize(**args)
|
563
|
+
update!(**args)
|
564
|
+
end
|
565
|
+
|
566
|
+
# Update properties of this object
|
567
|
+
def update!(**args)
|
568
|
+
@description = args[:description] if args.key?(:description)
|
569
|
+
@expression = args[:expression] if args.key?(:expression)
|
570
|
+
@location = args[:location] if args.key?(:location)
|
571
|
+
@title = args[:title] if args.key?(:title)
|
572
|
+
end
|
573
|
+
end
|
574
|
+
end
|
575
|
+
end
|
576
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module Google
|
16
|
+
module Apis
|
17
|
+
module IamV2beta
|
18
|
+
# Version of the google-apis-iam_v2beta gem
|
19
|
+
GEM_VERSION = "0.1.0"
|
20
|
+
|
21
|
+
# Version of the code generator used to generate this client
|
22
|
+
GENERATOR_VERSION = "0.4.1"
|
23
|
+
|
24
|
+
# Revision of the discovery document this client was generated from
|
25
|
+
REVISION = "20220413"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|