google-apis-iam_v2beta 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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