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.
@@ -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