google-apis-dataplex_v1 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,3783 @@
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 DataplexV1
24
+
25
+ # A generic empty message that you can re-use to avoid defining duplicated empty
26
+ # messages in your APIs. A typical example is to use it as the request or the
27
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
28
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
29
+ # Empty is empty JSON object ``.
30
+ class Empty
31
+ include Google::Apis::Core::Hashable
32
+
33
+ def initialize(**args)
34
+ update!(**args)
35
+ end
36
+
37
+ # Update properties of this object
38
+ def update!(**args)
39
+ end
40
+ end
41
+
42
+ # Action represents an issue requiring administrator action for resolution.
43
+ class GoogleCloudDataplexV1Action
44
+ include Google::Apis::Core::Hashable
45
+
46
+ # Output only. The relative resource name of the asset, of the form: projects/`
47
+ # project_number`/locations/`location_id`/lakes/`lake_id`/zones/`zone_id`/assets/
48
+ # `asset_id`.
49
+ # Corresponds to the JSON property `asset`
50
+ # @return [String]
51
+ attr_accessor :asset
52
+
53
+ # The category of issue associated with the action.
54
+ # Corresponds to the JSON property `category`
55
+ # @return [String]
56
+ attr_accessor :category
57
+
58
+ # The list of data locations associated with this action. Cloud Storage
59
+ # locations are represented as URI paths(E.g. gs://bucket/table1/year=2020/month=
60
+ # Jan/). BigQuery locations refer to resource names(E.g. bigquery.googleapis.com/
61
+ # projects/project-id/datasets/dataset-id).
62
+ # Corresponds to the JSON property `dataLocations`
63
+ # @return [Array<String>]
64
+ attr_accessor :data_locations
65
+
66
+ # The time that the issue was detected.
67
+ # Corresponds to the JSON property `detectTime`
68
+ # @return [String]
69
+ attr_accessor :detect_time
70
+
71
+ # Failed to apply security policy to the managed resource(s) under a lake, zone
72
+ # or an asset. For a lake or zone resource, one or more underlying assets has a
73
+ # failure applying security policy to the associated managed resource.
74
+ # Corresponds to the JSON property `failedSecurityPolicyApply`
75
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ActionFailedSecurityPolicyApply]
76
+ attr_accessor :failed_security_policy_apply
77
+
78
+ # Action details for incompatible schemas detected by discovery.
79
+ # Corresponds to the JSON property `incompatibleDataSchema`
80
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ActionIncompatibleDataSchema]
81
+ attr_accessor :incompatible_data_schema
82
+
83
+ # Action details for invalid or unsupported data files detected by discovery.
84
+ # Corresponds to the JSON property `invalidDataFormat`
85
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ActionInvalidDataFormat]
86
+ attr_accessor :invalid_data_format
87
+
88
+ # Action details for invalid data arrangement.
89
+ # Corresponds to the JSON property `invalidDataOrganization`
90
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ActionInvalidDataOrganization]
91
+ attr_accessor :invalid_data_organization
92
+
93
+ # Action details for invalid or unsupported partitions detected by discovery.
94
+ # Corresponds to the JSON property `invalidDataPartition`
95
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ActionInvalidDataPartition]
96
+ attr_accessor :invalid_data_partition
97
+
98
+ # Detailed description of the issue requiring action.
99
+ # Corresponds to the JSON property `issue`
100
+ # @return [String]
101
+ attr_accessor :issue
102
+
103
+ # Output only. The relative resource name of the lake, of the form: projects/`
104
+ # project_number`/locations/`location_id`/lakes/`lake_id`.
105
+ # Corresponds to the JSON property `lake`
106
+ # @return [String]
107
+ attr_accessor :lake
108
+
109
+ # Action details for absence of data detected by discovery.
110
+ # Corresponds to the JSON property `missingData`
111
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ActionMissingData]
112
+ attr_accessor :missing_data
113
+
114
+ # Action details for resource references in assets that cannot be located.
115
+ # Corresponds to the JSON property `missingResource`
116
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ActionMissingResource]
117
+ attr_accessor :missing_resource
118
+
119
+ # Output only. The relative resource name of the action, of the form: projects/`
120
+ # project`/locations/`location`/lakes/`lake`/actions/`action` projects/`project`/
121
+ # locations/`location`/lakes/`lake`/zones/`zone`/actions/`action` projects/`
122
+ # project`/locations/`location`/lakes/`lake`/zones/`zone`/assets/`asset`/actions/
123
+ # `action`.
124
+ # Corresponds to the JSON property `name`
125
+ # @return [String]
126
+ attr_accessor :name
127
+
128
+ # Action details for unauthorized resource issues raised to indicate that the
129
+ # service account associated with the lake instance is not authorized to access
130
+ # or manage the resource associated with an asset.
131
+ # Corresponds to the JSON property `unauthorizedResource`
132
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ActionUnauthorizedResource]
133
+ attr_accessor :unauthorized_resource
134
+
135
+ # Output only. The relative resource name of the zone, of the form: projects/`
136
+ # project_number`/locations/`location_id`/lakes/`lake_id`/zones/`zone_id`.
137
+ # Corresponds to the JSON property `zone`
138
+ # @return [String]
139
+ attr_accessor :zone
140
+
141
+ def initialize(**args)
142
+ update!(**args)
143
+ end
144
+
145
+ # Update properties of this object
146
+ def update!(**args)
147
+ @asset = args[:asset] if args.key?(:asset)
148
+ @category = args[:category] if args.key?(:category)
149
+ @data_locations = args[:data_locations] if args.key?(:data_locations)
150
+ @detect_time = args[:detect_time] if args.key?(:detect_time)
151
+ @failed_security_policy_apply = args[:failed_security_policy_apply] if args.key?(:failed_security_policy_apply)
152
+ @incompatible_data_schema = args[:incompatible_data_schema] if args.key?(:incompatible_data_schema)
153
+ @invalid_data_format = args[:invalid_data_format] if args.key?(:invalid_data_format)
154
+ @invalid_data_organization = args[:invalid_data_organization] if args.key?(:invalid_data_organization)
155
+ @invalid_data_partition = args[:invalid_data_partition] if args.key?(:invalid_data_partition)
156
+ @issue = args[:issue] if args.key?(:issue)
157
+ @lake = args[:lake] if args.key?(:lake)
158
+ @missing_data = args[:missing_data] if args.key?(:missing_data)
159
+ @missing_resource = args[:missing_resource] if args.key?(:missing_resource)
160
+ @name = args[:name] if args.key?(:name)
161
+ @unauthorized_resource = args[:unauthorized_resource] if args.key?(:unauthorized_resource)
162
+ @zone = args[:zone] if args.key?(:zone)
163
+ end
164
+ end
165
+
166
+ # Failed to apply security policy to the managed resource(s) under a lake, zone
167
+ # or an asset. For a lake or zone resource, one or more underlying assets has a
168
+ # failure applying security policy to the associated managed resource.
169
+ class GoogleCloudDataplexV1ActionFailedSecurityPolicyApply
170
+ include Google::Apis::Core::Hashable
171
+
172
+ # Resource name of one of the assets with failing security policy application.
173
+ # Populated for a lake or zone resource only.
174
+ # Corresponds to the JSON property `asset`
175
+ # @return [String]
176
+ attr_accessor :asset
177
+
178
+ def initialize(**args)
179
+ update!(**args)
180
+ end
181
+
182
+ # Update properties of this object
183
+ def update!(**args)
184
+ @asset = args[:asset] if args.key?(:asset)
185
+ end
186
+ end
187
+
188
+ # Action details for incompatible schemas detected by discovery.
189
+ class GoogleCloudDataplexV1ActionIncompatibleDataSchema
190
+ include Google::Apis::Core::Hashable
191
+
192
+ # The existing and expected schema of the table. The schema is provided as a
193
+ # JSON formatted structure listing columns and data types.
194
+ # Corresponds to the JSON property `existingSchema`
195
+ # @return [String]
196
+ attr_accessor :existing_schema
197
+
198
+ # The new and incompatible schema within the table. The schema is provided as a
199
+ # JSON formatted structured listing columns and data types.
200
+ # Corresponds to the JSON property `newSchema`
201
+ # @return [String]
202
+ attr_accessor :new_schema
203
+
204
+ # The list of data locations sampled and used for format/schema inference.
205
+ # Corresponds to the JSON property `sampledDataLocations`
206
+ # @return [Array<String>]
207
+ attr_accessor :sampled_data_locations
208
+
209
+ # Whether the action relates to a schema that is incompatible or modified.
210
+ # Corresponds to the JSON property `schemaChange`
211
+ # @return [String]
212
+ attr_accessor :schema_change
213
+
214
+ # The name of the table containing invalid data.
215
+ # Corresponds to the JSON property `table`
216
+ # @return [String]
217
+ attr_accessor :table
218
+
219
+ def initialize(**args)
220
+ update!(**args)
221
+ end
222
+
223
+ # Update properties of this object
224
+ def update!(**args)
225
+ @existing_schema = args[:existing_schema] if args.key?(:existing_schema)
226
+ @new_schema = args[:new_schema] if args.key?(:new_schema)
227
+ @sampled_data_locations = args[:sampled_data_locations] if args.key?(:sampled_data_locations)
228
+ @schema_change = args[:schema_change] if args.key?(:schema_change)
229
+ @table = args[:table] if args.key?(:table)
230
+ end
231
+ end
232
+
233
+ # Action details for invalid or unsupported data files detected by discovery.
234
+ class GoogleCloudDataplexV1ActionInvalidDataFormat
235
+ include Google::Apis::Core::Hashable
236
+
237
+ # The expected data format of the entity.
238
+ # Corresponds to the JSON property `expectedFormat`
239
+ # @return [String]
240
+ attr_accessor :expected_format
241
+
242
+ # The new unexpected data format within the entity.
243
+ # Corresponds to the JSON property `newFormat`
244
+ # @return [String]
245
+ attr_accessor :new_format
246
+
247
+ # The list of data locations sampled and used for format/schema inference.
248
+ # Corresponds to the JSON property `sampledDataLocations`
249
+ # @return [Array<String>]
250
+ attr_accessor :sampled_data_locations
251
+
252
+ def initialize(**args)
253
+ update!(**args)
254
+ end
255
+
256
+ # Update properties of this object
257
+ def update!(**args)
258
+ @expected_format = args[:expected_format] if args.key?(:expected_format)
259
+ @new_format = args[:new_format] if args.key?(:new_format)
260
+ @sampled_data_locations = args[:sampled_data_locations] if args.key?(:sampled_data_locations)
261
+ end
262
+ end
263
+
264
+ # Action details for invalid data arrangement.
265
+ class GoogleCloudDataplexV1ActionInvalidDataOrganization
266
+ include Google::Apis::Core::Hashable
267
+
268
+ def initialize(**args)
269
+ update!(**args)
270
+ end
271
+
272
+ # Update properties of this object
273
+ def update!(**args)
274
+ end
275
+ end
276
+
277
+ # Action details for invalid or unsupported partitions detected by discovery.
278
+ class GoogleCloudDataplexV1ActionInvalidDataPartition
279
+ include Google::Apis::Core::Hashable
280
+
281
+ # The issue type of InvalidDataPartition.
282
+ # Corresponds to the JSON property `expectedStructure`
283
+ # @return [String]
284
+ attr_accessor :expected_structure
285
+
286
+ def initialize(**args)
287
+ update!(**args)
288
+ end
289
+
290
+ # Update properties of this object
291
+ def update!(**args)
292
+ @expected_structure = args[:expected_structure] if args.key?(:expected_structure)
293
+ end
294
+ end
295
+
296
+ # Action details for absence of data detected by discovery.
297
+ class GoogleCloudDataplexV1ActionMissingData
298
+ include Google::Apis::Core::Hashable
299
+
300
+ def initialize(**args)
301
+ update!(**args)
302
+ end
303
+
304
+ # Update properties of this object
305
+ def update!(**args)
306
+ end
307
+ end
308
+
309
+ # Action details for resource references in assets that cannot be located.
310
+ class GoogleCloudDataplexV1ActionMissingResource
311
+ include Google::Apis::Core::Hashable
312
+
313
+ def initialize(**args)
314
+ update!(**args)
315
+ end
316
+
317
+ # Update properties of this object
318
+ def update!(**args)
319
+ end
320
+ end
321
+
322
+ # Action details for unauthorized resource issues raised to indicate that the
323
+ # service account associated with the lake instance is not authorized to access
324
+ # or manage the resource associated with an asset.
325
+ class GoogleCloudDataplexV1ActionUnauthorizedResource
326
+ include Google::Apis::Core::Hashable
327
+
328
+ def initialize(**args)
329
+ update!(**args)
330
+ end
331
+
332
+ # Update properties of this object
333
+ def update!(**args)
334
+ end
335
+ end
336
+
337
+ # An asset represents a cloud resource that is being managed within a lake as a
338
+ # member of a zone.
339
+ class GoogleCloudDataplexV1Asset
340
+ include Google::Apis::Core::Hashable
341
+
342
+ # Output only. The time when the asset was created.
343
+ # Corresponds to the JSON property `createTime`
344
+ # @return [String]
345
+ attr_accessor :create_time
346
+
347
+ # Optional. Description of the asset.
348
+ # Corresponds to the JSON property `description`
349
+ # @return [String]
350
+ attr_accessor :description
351
+
352
+ # Settings to manage the metadata discovery and publishing for an asset.
353
+ # Corresponds to the JSON property `discoverySpec`
354
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetDiscoverySpec]
355
+ attr_accessor :discovery_spec
356
+
357
+ # Status of discovery for an asset.
358
+ # Corresponds to the JSON property `discoveryStatus`
359
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetDiscoveryStatus]
360
+ attr_accessor :discovery_status
361
+
362
+ # Optional. User friendly display name.
363
+ # Corresponds to the JSON property `displayName`
364
+ # @return [String]
365
+ attr_accessor :display_name
366
+
367
+ # Optional. User defined labels for the asset.
368
+ # Corresponds to the JSON property `labels`
369
+ # @return [Hash<String,String>]
370
+ attr_accessor :labels
371
+
372
+ # Output only. The relative resource name of the asset, of the form: projects/`
373
+ # project_number`/locations/`location_id`/lakes/`lake_id`/zones/`zone_id`/assets/
374
+ # `asset_id`.
375
+ # Corresponds to the JSON property `name`
376
+ # @return [String]
377
+ attr_accessor :name
378
+
379
+ # Identifies the cloud resource that is referenced by this asset.
380
+ # Corresponds to the JSON property `resourceSpec`
381
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetResourceSpec]
382
+ attr_accessor :resource_spec
383
+
384
+ # Status of the resource referenced by an asset.
385
+ # Corresponds to the JSON property `resourceStatus`
386
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetResourceStatus]
387
+ attr_accessor :resource_status
388
+
389
+ # Security policy status of the asset. Data security policy, i.e., readers,
390
+ # writers & owners, should be specified in the lake/zone/asset IAM policy.
391
+ # Corresponds to the JSON property `securityStatus`
392
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetSecurityStatus]
393
+ attr_accessor :security_status
394
+
395
+ # Output only. Current state of the asset.
396
+ # Corresponds to the JSON property `state`
397
+ # @return [String]
398
+ attr_accessor :state
399
+
400
+ # Output only. System generated globally unique ID for the asset. This ID will
401
+ # be different if the asset is deleted and re-created with the same name.
402
+ # Corresponds to the JSON property `uid`
403
+ # @return [String]
404
+ attr_accessor :uid
405
+
406
+ # Output only. The time when the asset was last updated.
407
+ # Corresponds to the JSON property `updateTime`
408
+ # @return [String]
409
+ attr_accessor :update_time
410
+
411
+ def initialize(**args)
412
+ update!(**args)
413
+ end
414
+
415
+ # Update properties of this object
416
+ def update!(**args)
417
+ @create_time = args[:create_time] if args.key?(:create_time)
418
+ @description = args[:description] if args.key?(:description)
419
+ @discovery_spec = args[:discovery_spec] if args.key?(:discovery_spec)
420
+ @discovery_status = args[:discovery_status] if args.key?(:discovery_status)
421
+ @display_name = args[:display_name] if args.key?(:display_name)
422
+ @labels = args[:labels] if args.key?(:labels)
423
+ @name = args[:name] if args.key?(:name)
424
+ @resource_spec = args[:resource_spec] if args.key?(:resource_spec)
425
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
426
+ @security_status = args[:security_status] if args.key?(:security_status)
427
+ @state = args[:state] if args.key?(:state)
428
+ @uid = args[:uid] if args.key?(:uid)
429
+ @update_time = args[:update_time] if args.key?(:update_time)
430
+ end
431
+ end
432
+
433
+ # Settings to manage the metadata discovery and publishing for an asset.
434
+ class GoogleCloudDataplexV1AssetDiscoverySpec
435
+ include Google::Apis::Core::Hashable
436
+
437
+ # Describe CSV and similar semi-structured data formats.
438
+ # Corresponds to the JSON property `csvOptions`
439
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetDiscoverySpecCsvOptions]
440
+ attr_accessor :csv_options
441
+
442
+ # Optional. Whether discovery is enabled.
443
+ # Corresponds to the JSON property `enabled`
444
+ # @return [Boolean]
445
+ attr_accessor :enabled
446
+ alias_method :enabled?, :enabled
447
+
448
+ # Optional. The list of patterns to apply for selecting data to exclude during
449
+ # discovery. For Cloud Storage bucket assets, these are interpreted as glob
450
+ # patterns used to match object names. For BigQuery dataset assets, these are
451
+ # interpreted as patterns to match table names.
452
+ # Corresponds to the JSON property `excludePatterns`
453
+ # @return [Array<String>]
454
+ attr_accessor :exclude_patterns
455
+
456
+ # Optional. The list of patterns to apply for selecting data to include during
457
+ # discovery if only a subset of the data should considered. For Cloud Storage
458
+ # bucket assets, these are interpreted as glob patterns used to match object
459
+ # names. For BigQuery dataset assets, these are interpreted as patterns to match
460
+ # table names.
461
+ # Corresponds to the JSON property `includePatterns`
462
+ # @return [Array<String>]
463
+ attr_accessor :include_patterns
464
+
465
+ # Describe JSON data format.
466
+ # Corresponds to the JSON property `jsonOptions`
467
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetDiscoverySpecJsonOptions]
468
+ attr_accessor :json_options
469
+
470
+ # Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running
471
+ # discovery periodically. Successive discovery runs must be scheduled at least
472
+ # 60 minutes apart. The default value is to run discovery every 60 minutes. To
473
+ # explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "
474
+ # CRON_TZ=$`IANA_TIME_ZONE`" or TZ=$`IANA_TIME_ZONE`". The $`IANA_TIME_ZONE` may
475
+ # only be a valid string from IANA time zone database. For example, "CRON_TZ=
476
+ # America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *".
477
+ # Corresponds to the JSON property `schedule`
478
+ # @return [String]
479
+ attr_accessor :schedule
480
+
481
+ def initialize(**args)
482
+ update!(**args)
483
+ end
484
+
485
+ # Update properties of this object
486
+ def update!(**args)
487
+ @csv_options = args[:csv_options] if args.key?(:csv_options)
488
+ @enabled = args[:enabled] if args.key?(:enabled)
489
+ @exclude_patterns = args[:exclude_patterns] if args.key?(:exclude_patterns)
490
+ @include_patterns = args[:include_patterns] if args.key?(:include_patterns)
491
+ @json_options = args[:json_options] if args.key?(:json_options)
492
+ @schedule = args[:schedule] if args.key?(:schedule)
493
+ end
494
+ end
495
+
496
+ # Describe CSV and similar semi-structured data formats.
497
+ class GoogleCloudDataplexV1AssetDiscoverySpecCsvOptions
498
+ include Google::Apis::Core::Hashable
499
+
500
+ # Optional. The delimiter being used to separate values. This defaults to ','.
501
+ # Corresponds to the JSON property `delimiter`
502
+ # @return [String]
503
+ attr_accessor :delimiter
504
+
505
+ # Optional. Whether to disable the inference of data type for CSV data. If true,
506
+ # all columns will be registered as strings.
507
+ # Corresponds to the JSON property `disableTypeInference`
508
+ # @return [Boolean]
509
+ attr_accessor :disable_type_inference
510
+ alias_method :disable_type_inference?, :disable_type_inference
511
+
512
+ # Optional. The character encoding of the data. The default is UTF-8.
513
+ # Corresponds to the JSON property `encoding`
514
+ # @return [String]
515
+ attr_accessor :encoding
516
+
517
+ # Optional. The number of rows to interpret as header rows that should be
518
+ # skipped when reading data rows.
519
+ # Corresponds to the JSON property `headerRows`
520
+ # @return [Fixnum]
521
+ attr_accessor :header_rows
522
+
523
+ def initialize(**args)
524
+ update!(**args)
525
+ end
526
+
527
+ # Update properties of this object
528
+ def update!(**args)
529
+ @delimiter = args[:delimiter] if args.key?(:delimiter)
530
+ @disable_type_inference = args[:disable_type_inference] if args.key?(:disable_type_inference)
531
+ @encoding = args[:encoding] if args.key?(:encoding)
532
+ @header_rows = args[:header_rows] if args.key?(:header_rows)
533
+ end
534
+ end
535
+
536
+ # Describe JSON data format.
537
+ class GoogleCloudDataplexV1AssetDiscoverySpecJsonOptions
538
+ include Google::Apis::Core::Hashable
539
+
540
+ # Optional. Whether to disable the inference of data type for Json data. If true,
541
+ # all columns will be registered as their primitive types (strings, number or
542
+ # boolean).
543
+ # Corresponds to the JSON property `disableTypeInference`
544
+ # @return [Boolean]
545
+ attr_accessor :disable_type_inference
546
+ alias_method :disable_type_inference?, :disable_type_inference
547
+
548
+ # Optional. The character encoding of the data. The default is UTF-8.
549
+ # Corresponds to the JSON property `encoding`
550
+ # @return [String]
551
+ attr_accessor :encoding
552
+
553
+ def initialize(**args)
554
+ update!(**args)
555
+ end
556
+
557
+ # Update properties of this object
558
+ def update!(**args)
559
+ @disable_type_inference = args[:disable_type_inference] if args.key?(:disable_type_inference)
560
+ @encoding = args[:encoding] if args.key?(:encoding)
561
+ end
562
+ end
563
+
564
+ # Status of discovery for an asset.
565
+ class GoogleCloudDataplexV1AssetDiscoveryStatus
566
+ include Google::Apis::Core::Hashable
567
+
568
+ # The duration of the last discovery run.
569
+ # Corresponds to the JSON property `lastRunDuration`
570
+ # @return [String]
571
+ attr_accessor :last_run_duration
572
+
573
+ # The start time of the last discovery run.
574
+ # Corresponds to the JSON property `lastRunTime`
575
+ # @return [String]
576
+ attr_accessor :last_run_time
577
+
578
+ # Additional information about the current state.
579
+ # Corresponds to the JSON property `message`
580
+ # @return [String]
581
+ attr_accessor :message
582
+
583
+ # The current status of the discovery feature.
584
+ # Corresponds to the JSON property `state`
585
+ # @return [String]
586
+ attr_accessor :state
587
+
588
+ # The aggregated data statistics for the asset reported by discovery.
589
+ # Corresponds to the JSON property `stats`
590
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetDiscoveryStatusStats]
591
+ attr_accessor :stats
592
+
593
+ # Last update time of the status.
594
+ # Corresponds to the JSON property `updateTime`
595
+ # @return [String]
596
+ attr_accessor :update_time
597
+
598
+ def initialize(**args)
599
+ update!(**args)
600
+ end
601
+
602
+ # Update properties of this object
603
+ def update!(**args)
604
+ @last_run_duration = args[:last_run_duration] if args.key?(:last_run_duration)
605
+ @last_run_time = args[:last_run_time] if args.key?(:last_run_time)
606
+ @message = args[:message] if args.key?(:message)
607
+ @state = args[:state] if args.key?(:state)
608
+ @stats = args[:stats] if args.key?(:stats)
609
+ @update_time = args[:update_time] if args.key?(:update_time)
610
+ end
611
+ end
612
+
613
+ # The aggregated data statistics for the asset reported by discovery.
614
+ class GoogleCloudDataplexV1AssetDiscoveryStatusStats
615
+ include Google::Apis::Core::Hashable
616
+
617
+ # The count of data items within the referenced resource.
618
+ # Corresponds to the JSON property `dataItems`
619
+ # @return [Fixnum]
620
+ attr_accessor :data_items
621
+
622
+ # The number of stored data bytes within the referenced resource.
623
+ # Corresponds to the JSON property `dataSize`
624
+ # @return [Fixnum]
625
+ attr_accessor :data_size
626
+
627
+ # The count of fileset entities within the referenced resource.
628
+ # Corresponds to the JSON property `filesets`
629
+ # @return [Fixnum]
630
+ attr_accessor :filesets
631
+
632
+ # The count of table entities within the referenced resource.
633
+ # Corresponds to the JSON property `tables`
634
+ # @return [Fixnum]
635
+ attr_accessor :tables
636
+
637
+ def initialize(**args)
638
+ update!(**args)
639
+ end
640
+
641
+ # Update properties of this object
642
+ def update!(**args)
643
+ @data_items = args[:data_items] if args.key?(:data_items)
644
+ @data_size = args[:data_size] if args.key?(:data_size)
645
+ @filesets = args[:filesets] if args.key?(:filesets)
646
+ @tables = args[:tables] if args.key?(:tables)
647
+ end
648
+ end
649
+
650
+ # Identifies the cloud resource that is referenced by this asset.
651
+ class GoogleCloudDataplexV1AssetResourceSpec
652
+ include Google::Apis::Core::Hashable
653
+
654
+ # Immutable. Relative name of the cloud resource that contains the data that is
655
+ # being managed within a lake. For example: projects/`project_number`/buckets/`
656
+ # bucket_id` projects/`project_number`/datasets/`dataset_id`
657
+ # Corresponds to the JSON property `name`
658
+ # @return [String]
659
+ attr_accessor :name
660
+
661
+ # Required. Immutable. Type of resource.
662
+ # Corresponds to the JSON property `type`
663
+ # @return [String]
664
+ attr_accessor :type
665
+
666
+ def initialize(**args)
667
+ update!(**args)
668
+ end
669
+
670
+ # Update properties of this object
671
+ def update!(**args)
672
+ @name = args[:name] if args.key?(:name)
673
+ @type = args[:type] if args.key?(:type)
674
+ end
675
+ end
676
+
677
+ # Status of the resource referenced by an asset.
678
+ class GoogleCloudDataplexV1AssetResourceStatus
679
+ include Google::Apis::Core::Hashable
680
+
681
+ # Additional information about the current state.
682
+ # Corresponds to the JSON property `message`
683
+ # @return [String]
684
+ attr_accessor :message
685
+
686
+ # The current state of the managed resource.
687
+ # Corresponds to the JSON property `state`
688
+ # @return [String]
689
+ attr_accessor :state
690
+
691
+ # Last update time of the status.
692
+ # Corresponds to the JSON property `updateTime`
693
+ # @return [String]
694
+ attr_accessor :update_time
695
+
696
+ def initialize(**args)
697
+ update!(**args)
698
+ end
699
+
700
+ # Update properties of this object
701
+ def update!(**args)
702
+ @message = args[:message] if args.key?(:message)
703
+ @state = args[:state] if args.key?(:state)
704
+ @update_time = args[:update_time] if args.key?(:update_time)
705
+ end
706
+ end
707
+
708
+ # Security policy status of the asset. Data security policy, i.e., readers,
709
+ # writers & owners, should be specified in the lake/zone/asset IAM policy.
710
+ class GoogleCloudDataplexV1AssetSecurityStatus
711
+ include Google::Apis::Core::Hashable
712
+
713
+ # Additional information about the current state.
714
+ # Corresponds to the JSON property `message`
715
+ # @return [String]
716
+ attr_accessor :message
717
+
718
+ # The current state of the security policy applied to the attached resource.
719
+ # Corresponds to the JSON property `state`
720
+ # @return [String]
721
+ attr_accessor :state
722
+
723
+ # Last update time of the status.
724
+ # Corresponds to the JSON property `updateTime`
725
+ # @return [String]
726
+ attr_accessor :update_time
727
+
728
+ def initialize(**args)
729
+ update!(**args)
730
+ end
731
+
732
+ # Update properties of this object
733
+ def update!(**args)
734
+ @message = args[:message] if args.key?(:message)
735
+ @state = args[:state] if args.key?(:state)
736
+ @update_time = args[:update_time] if args.key?(:update_time)
737
+ end
738
+ end
739
+
740
+ # Aggregated status of the underlying assets of a lake or zone.
741
+ class GoogleCloudDataplexV1AssetStatus
742
+ include Google::Apis::Core::Hashable
743
+
744
+ # Number of active assets.
745
+ # Corresponds to the JSON property `activeAssets`
746
+ # @return [Fixnum]
747
+ attr_accessor :active_assets
748
+
749
+ # Number of assets that are in process of updating the security policy on
750
+ # attached resources.
751
+ # Corresponds to the JSON property `securityPolicyApplyingAssets`
752
+ # @return [Fixnum]
753
+ attr_accessor :security_policy_applying_assets
754
+
755
+ # Last update time of the status.
756
+ # Corresponds to the JSON property `updateTime`
757
+ # @return [String]
758
+ attr_accessor :update_time
759
+
760
+ def initialize(**args)
761
+ update!(**args)
762
+ end
763
+
764
+ # Update properties of this object
765
+ def update!(**args)
766
+ @active_assets = args[:active_assets] if args.key?(:active_assets)
767
+ @security_policy_applying_assets = args[:security_policy_applying_assets] if args.key?(:security_policy_applying_assets)
768
+ @update_time = args[:update_time] if args.key?(:update_time)
769
+ end
770
+ end
771
+
772
+ # Cancel task jobs.
773
+ class GoogleCloudDataplexV1CancelJobRequest
774
+ include Google::Apis::Core::Hashable
775
+
776
+ def initialize(**args)
777
+ update!(**args)
778
+ end
779
+
780
+ # Update properties of this object
781
+ def update!(**args)
782
+ end
783
+ end
784
+
785
+ # Content represents a user-visible notebook or a sql script
786
+ class GoogleCloudDataplexV1Content
787
+ include Google::Apis::Core::Hashable
788
+
789
+ # Output only. Content creation time.
790
+ # Corresponds to the JSON property `createTime`
791
+ # @return [String]
792
+ attr_accessor :create_time
793
+
794
+ # Required. Content data in string format.
795
+ # Corresponds to the JSON property `dataText`
796
+ # @return [String]
797
+ attr_accessor :data_text
798
+
799
+ # Optional. Description of the content.
800
+ # Corresponds to the JSON property `description`
801
+ # @return [String]
802
+ attr_accessor :description
803
+
804
+ # Optional. User defined labels for the content.
805
+ # Corresponds to the JSON property `labels`
806
+ # @return [Hash<String,String>]
807
+ attr_accessor :labels
808
+
809
+ # Output only. The relative resource name of the content, of the form: projects/`
810
+ # project_id`/locations/`location_id`/lakes/`lake_id`/content/`content_id`
811
+ # Corresponds to the JSON property `name`
812
+ # @return [String]
813
+ attr_accessor :name
814
+
815
+ # Configuration for Notebook content.
816
+ # Corresponds to the JSON property `notebook`
817
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ContentNotebook]
818
+ attr_accessor :notebook
819
+
820
+ # Required. The path for the Content file, represented as directory structure.
821
+ # Unique within a lake. Limited to alphanumerics, hyphens, underscores, dots and
822
+ # slashes.
823
+ # Corresponds to the JSON property `path`
824
+ # @return [String]
825
+ attr_accessor :path
826
+
827
+ # Configuration for the Sql Script content.
828
+ # Corresponds to the JSON property `sqlScript`
829
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ContentSqlScript]
830
+ attr_accessor :sql_script
831
+
832
+ # Output only. System generated globally unique ID for the content. This ID will
833
+ # be different if the content is deleted and re-created with the same name.
834
+ # Corresponds to the JSON property `uid`
835
+ # @return [String]
836
+ attr_accessor :uid
837
+
838
+ # Output only. The time when the content was last updated.
839
+ # Corresponds to the JSON property `updateTime`
840
+ # @return [String]
841
+ attr_accessor :update_time
842
+
843
+ def initialize(**args)
844
+ update!(**args)
845
+ end
846
+
847
+ # Update properties of this object
848
+ def update!(**args)
849
+ @create_time = args[:create_time] if args.key?(:create_time)
850
+ @data_text = args[:data_text] if args.key?(:data_text)
851
+ @description = args[:description] if args.key?(:description)
852
+ @labels = args[:labels] if args.key?(:labels)
853
+ @name = args[:name] if args.key?(:name)
854
+ @notebook = args[:notebook] if args.key?(:notebook)
855
+ @path = args[:path] if args.key?(:path)
856
+ @sql_script = args[:sql_script] if args.key?(:sql_script)
857
+ @uid = args[:uid] if args.key?(:uid)
858
+ @update_time = args[:update_time] if args.key?(:update_time)
859
+ end
860
+ end
861
+
862
+ # Configuration for Notebook content.
863
+ class GoogleCloudDataplexV1ContentNotebook
864
+ include Google::Apis::Core::Hashable
865
+
866
+ # Required. Kernel Type of the notebook.
867
+ # Corresponds to the JSON property `kernelType`
868
+ # @return [String]
869
+ attr_accessor :kernel_type
870
+
871
+ def initialize(**args)
872
+ update!(**args)
873
+ end
874
+
875
+ # Update properties of this object
876
+ def update!(**args)
877
+ @kernel_type = args[:kernel_type] if args.key?(:kernel_type)
878
+ end
879
+ end
880
+
881
+ # Configuration for the Sql Script content.
882
+ class GoogleCloudDataplexV1ContentSqlScript
883
+ include Google::Apis::Core::Hashable
884
+
885
+ # Required. Query Engine to be used for the Sql Query.
886
+ # Corresponds to the JSON property `engine`
887
+ # @return [String]
888
+ attr_accessor :engine
889
+
890
+ def initialize(**args)
891
+ update!(**args)
892
+ end
893
+
894
+ # Update properties of this object
895
+ def update!(**args)
896
+ @engine = args[:engine] if args.key?(:engine)
897
+ end
898
+ end
899
+
900
+ # The payload associated with Discovery data processing.
901
+ class GoogleCloudDataplexV1DiscoveryEvent
902
+ include Google::Apis::Core::Hashable
903
+
904
+ # Details about the action.
905
+ # Corresponds to the JSON property `action`
906
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DiscoveryEventActionDetails]
907
+ attr_accessor :action
908
+
909
+ # The id of the associated asset.
910
+ # Corresponds to the JSON property `assetId`
911
+ # @return [String]
912
+ attr_accessor :asset_id
913
+
914
+ # Details about configuration events.
915
+ # Corresponds to the JSON property `config`
916
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DiscoveryEventConfigDetails]
917
+ attr_accessor :config
918
+
919
+ # The data location associated with the event.
920
+ # Corresponds to the JSON property `dataLocation`
921
+ # @return [String]
922
+ attr_accessor :data_location
923
+
924
+ # Details about the entity.
925
+ # Corresponds to the JSON property `entity`
926
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DiscoveryEventEntityDetails]
927
+ attr_accessor :entity
928
+
929
+ # The id of the associated lake.
930
+ # Corresponds to the JSON property `lakeId`
931
+ # @return [String]
932
+ attr_accessor :lake_id
933
+
934
+ # The log message.
935
+ # Corresponds to the JSON property `message`
936
+ # @return [String]
937
+ attr_accessor :message
938
+
939
+ # Details about the partition.
940
+ # Corresponds to the JSON property `partition`
941
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DiscoveryEventPartitionDetails]
942
+ attr_accessor :partition
943
+
944
+ # The type of the event being logged.
945
+ # Corresponds to the JSON property `type`
946
+ # @return [String]
947
+ attr_accessor :type
948
+
949
+ # The id of the associated zone.
950
+ # Corresponds to the JSON property `zoneId`
951
+ # @return [String]
952
+ attr_accessor :zone_id
953
+
954
+ def initialize(**args)
955
+ update!(**args)
956
+ end
957
+
958
+ # Update properties of this object
959
+ def update!(**args)
960
+ @action = args[:action] if args.key?(:action)
961
+ @asset_id = args[:asset_id] if args.key?(:asset_id)
962
+ @config = args[:config] if args.key?(:config)
963
+ @data_location = args[:data_location] if args.key?(:data_location)
964
+ @entity = args[:entity] if args.key?(:entity)
965
+ @lake_id = args[:lake_id] if args.key?(:lake_id)
966
+ @message = args[:message] if args.key?(:message)
967
+ @partition = args[:partition] if args.key?(:partition)
968
+ @type = args[:type] if args.key?(:type)
969
+ @zone_id = args[:zone_id] if args.key?(:zone_id)
970
+ end
971
+ end
972
+
973
+ # Details about the action.
974
+ class GoogleCloudDataplexV1DiscoveryEventActionDetails
975
+ include Google::Apis::Core::Hashable
976
+
977
+ # The type of action. Eg. IncompatibleDataSchema, InvalidDataFormat
978
+ # Corresponds to the JSON property `type`
979
+ # @return [String]
980
+ attr_accessor :type
981
+
982
+ def initialize(**args)
983
+ update!(**args)
984
+ end
985
+
986
+ # Update properties of this object
987
+ def update!(**args)
988
+ @type = args[:type] if args.key?(:type)
989
+ end
990
+ end
991
+
992
+ # Details about configuration events.
993
+ class GoogleCloudDataplexV1DiscoveryEventConfigDetails
994
+ include Google::Apis::Core::Hashable
995
+
996
+ # A list of discovery configuration parameters in effect. The keys are the field
997
+ # paths within DiscoverySpec. Eg. includePatterns, excludePatterns, csvOptions.
998
+ # disableTypeInference, etc.
999
+ # Corresponds to the JSON property `parameters`
1000
+ # @return [Hash<String,String>]
1001
+ attr_accessor :parameters
1002
+
1003
+ def initialize(**args)
1004
+ update!(**args)
1005
+ end
1006
+
1007
+ # Update properties of this object
1008
+ def update!(**args)
1009
+ @parameters = args[:parameters] if args.key?(:parameters)
1010
+ end
1011
+ end
1012
+
1013
+ # Details about the entity.
1014
+ class GoogleCloudDataplexV1DiscoveryEventEntityDetails
1015
+ include Google::Apis::Core::Hashable
1016
+
1017
+ # The name of the entity resource. The name is the fully-qualified resource name.
1018
+ # Corresponds to the JSON property `entity`
1019
+ # @return [String]
1020
+ attr_accessor :entity
1021
+
1022
+ # The type of the entity resource.
1023
+ # Corresponds to the JSON property `type`
1024
+ # @return [String]
1025
+ attr_accessor :type
1026
+
1027
+ def initialize(**args)
1028
+ update!(**args)
1029
+ end
1030
+
1031
+ # Update properties of this object
1032
+ def update!(**args)
1033
+ @entity = args[:entity] if args.key?(:entity)
1034
+ @type = args[:type] if args.key?(:type)
1035
+ end
1036
+ end
1037
+
1038
+ # Details about the partition.
1039
+ class GoogleCloudDataplexV1DiscoveryEventPartitionDetails
1040
+ include Google::Apis::Core::Hashable
1041
+
1042
+ # The name to the containing entity resource. The name is the fully-qualified
1043
+ # resource name.
1044
+ # Corresponds to the JSON property `entity`
1045
+ # @return [String]
1046
+ attr_accessor :entity
1047
+
1048
+ # The name to the partition resource. The name is the fully-qualified resource
1049
+ # name.
1050
+ # Corresponds to the JSON property `partition`
1051
+ # @return [String]
1052
+ attr_accessor :partition
1053
+
1054
+ # The type of the containing entity resource.
1055
+ # Corresponds to the JSON property `type`
1056
+ # @return [String]
1057
+ attr_accessor :type
1058
+
1059
+ def initialize(**args)
1060
+ update!(**args)
1061
+ end
1062
+
1063
+ # Update properties of this object
1064
+ def update!(**args)
1065
+ @entity = args[:entity] if args.key?(:entity)
1066
+ @partition = args[:partition] if args.key?(:partition)
1067
+ @type = args[:type] if args.key?(:type)
1068
+ end
1069
+ end
1070
+
1071
+ # Represents tables and fileset metadata contained within a zone.
1072
+ class GoogleCloudDataplexV1Entity
1073
+ include Google::Apis::Core::Hashable
1074
+
1075
+ # Required. Immutable. The ID of the asset associated with the storage location
1076
+ # containing the entity data. The entity must be with in the same zone with the
1077
+ # asset.
1078
+ # Corresponds to the JSON property `asset`
1079
+ # @return [String]
1080
+ attr_accessor :asset
1081
+
1082
+ # Output only. The name of the associated Data Catalog entry.
1083
+ # Corresponds to the JSON property `catalogEntry`
1084
+ # @return [String]
1085
+ attr_accessor :catalog_entry
1086
+
1087
+ # Provides compatibility information for various metadata stores.
1088
+ # Corresponds to the JSON property `compatibility`
1089
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EntityCompatibilityStatus]
1090
+ attr_accessor :compatibility
1091
+
1092
+ # Output only. The time when the entity was created.
1093
+ # Corresponds to the JSON property `createTime`
1094
+ # @return [String]
1095
+ attr_accessor :create_time
1096
+
1097
+ # Required. Immutable. The storage path of the entity data. For Cloud Storage
1098
+ # data, this is the fully-qualified path to the entity, such as gs://bucket/path/
1099
+ # to/data. For BigQuery data, this is the name of the table resource, such as
1100
+ # projects/project_id/datasets/dataset_id/tables/table_id.
1101
+ # Corresponds to the JSON property `dataPath`
1102
+ # @return [String]
1103
+ attr_accessor :data_path
1104
+
1105
+ # Optional. The set of items within the data path constituting the data in the
1106
+ # entity, represented as a glob path. Example: gs://bucket/path/to/data/**/*.csv.
1107
+ # Corresponds to the JSON property `dataPathPattern`
1108
+ # @return [String]
1109
+ attr_accessor :data_path_pattern
1110
+
1111
+ # Optional. User friendly longer description text. Must be shorter than or equal
1112
+ # to 1024 characters.
1113
+ # Corresponds to the JSON property `description`
1114
+ # @return [String]
1115
+ attr_accessor :description
1116
+
1117
+ # Optional. Display name must be shorter than or equal to 63 characters.
1118
+ # Corresponds to the JSON property `displayName`
1119
+ # @return [String]
1120
+ attr_accessor :display_name
1121
+
1122
+ # Optional. The etag for this entity. Required for update and delete requests.
1123
+ # Must match the server's etag.
1124
+ # Corresponds to the JSON property `etag`
1125
+ # @return [String]
1126
+ attr_accessor :etag
1127
+
1128
+ # Describes the format of the data within its storage location.
1129
+ # Corresponds to the JSON property `format`
1130
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1StorageFormat]
1131
+ attr_accessor :format
1132
+
1133
+ # Required. A user-provided entity ID. It is mutable, and will be used as the
1134
+ # published table name. Specifying a new ID in an update entity request will
1135
+ # override the existing value. The ID must contain only letters (a-z, A-Z),
1136
+ # numbers (0-9), and underscores. Must begin with a letter.
1137
+ # Corresponds to the JSON property `id`
1138
+ # @return [String]
1139
+ attr_accessor :id
1140
+
1141
+ # Output only. The resource name of the entity, of the form: projects/`
1142
+ # project_number`/locations/`location_id`/lakes/`lake_id`/zones/`zone_id`/
1143
+ # entities/`id`.
1144
+ # Corresponds to the JSON property `name`
1145
+ # @return [String]
1146
+ attr_accessor :name
1147
+
1148
+ # Schema information describing the structure and layout of the data.
1149
+ # Corresponds to the JSON property `schema`
1150
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1Schema]
1151
+ attr_accessor :schema
1152
+
1153
+ # Required. Immutable. Identifies the storage system of the entity data.
1154
+ # Corresponds to the JSON property `system`
1155
+ # @return [String]
1156
+ attr_accessor :system
1157
+
1158
+ # Required. Immutable. The type of entity.
1159
+ # Corresponds to the JSON property `type`
1160
+ # @return [String]
1161
+ attr_accessor :type
1162
+
1163
+ # Output only. The time when the entity was last updated.
1164
+ # Corresponds to the JSON property `updateTime`
1165
+ # @return [String]
1166
+ attr_accessor :update_time
1167
+
1168
+ def initialize(**args)
1169
+ update!(**args)
1170
+ end
1171
+
1172
+ # Update properties of this object
1173
+ def update!(**args)
1174
+ @asset = args[:asset] if args.key?(:asset)
1175
+ @catalog_entry = args[:catalog_entry] if args.key?(:catalog_entry)
1176
+ @compatibility = args[:compatibility] if args.key?(:compatibility)
1177
+ @create_time = args[:create_time] if args.key?(:create_time)
1178
+ @data_path = args[:data_path] if args.key?(:data_path)
1179
+ @data_path_pattern = args[:data_path_pattern] if args.key?(:data_path_pattern)
1180
+ @description = args[:description] if args.key?(:description)
1181
+ @display_name = args[:display_name] if args.key?(:display_name)
1182
+ @etag = args[:etag] if args.key?(:etag)
1183
+ @format = args[:format] if args.key?(:format)
1184
+ @id = args[:id] if args.key?(:id)
1185
+ @name = args[:name] if args.key?(:name)
1186
+ @schema = args[:schema] if args.key?(:schema)
1187
+ @system = args[:system] if args.key?(:system)
1188
+ @type = args[:type] if args.key?(:type)
1189
+ @update_time = args[:update_time] if args.key?(:update_time)
1190
+ end
1191
+ end
1192
+
1193
+ # Provides compatibility information for various metadata stores.
1194
+ class GoogleCloudDataplexV1EntityCompatibilityStatus
1195
+ include Google::Apis::Core::Hashable
1196
+
1197
+ # Provides compatibility information for a specific metadata store.
1198
+ # Corresponds to the JSON property `bigquery`
1199
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility]
1200
+ attr_accessor :bigquery
1201
+
1202
+ # Provides compatibility information for a specific metadata store.
1203
+ # Corresponds to the JSON property `hiveMetastore`
1204
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility]
1205
+ attr_accessor :hive_metastore
1206
+
1207
+ def initialize(**args)
1208
+ update!(**args)
1209
+ end
1210
+
1211
+ # Update properties of this object
1212
+ def update!(**args)
1213
+ @bigquery = args[:bigquery] if args.key?(:bigquery)
1214
+ @hive_metastore = args[:hive_metastore] if args.key?(:hive_metastore)
1215
+ end
1216
+ end
1217
+
1218
+ # Provides compatibility information for a specific metadata store.
1219
+ class GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility
1220
+ include Google::Apis::Core::Hashable
1221
+
1222
+ # Output only. Whether the entity is compatible and can be represented in the
1223
+ # metadata store.
1224
+ # Corresponds to the JSON property `compatible`
1225
+ # @return [Boolean]
1226
+ attr_accessor :compatible
1227
+ alias_method :compatible?, :compatible
1228
+
1229
+ # Output only. Provides additional detail if the entity is incompatible with the
1230
+ # metadata store.
1231
+ # Corresponds to the JSON property `reason`
1232
+ # @return [String]
1233
+ attr_accessor :reason
1234
+
1235
+ def initialize(**args)
1236
+ update!(**args)
1237
+ end
1238
+
1239
+ # Update properties of this object
1240
+ def update!(**args)
1241
+ @compatible = args[:compatible] if args.key?(:compatible)
1242
+ @reason = args[:reason] if args.key?(:reason)
1243
+ end
1244
+ end
1245
+
1246
+ # Environment represents a user-visible compute infrastructure for analytics
1247
+ # within a lake.
1248
+ class GoogleCloudDataplexV1Environment
1249
+ include Google::Apis::Core::Hashable
1250
+
1251
+ # Output only. Environment creation time.
1252
+ # Corresponds to the JSON property `createTime`
1253
+ # @return [String]
1254
+ attr_accessor :create_time
1255
+
1256
+ # Optional. Description of the environment.
1257
+ # Corresponds to the JSON property `description`
1258
+ # @return [String]
1259
+ attr_accessor :description
1260
+
1261
+ # Optional. User friendly display name.
1262
+ # Corresponds to the JSON property `displayName`
1263
+ # @return [String]
1264
+ attr_accessor :display_name
1265
+
1266
+ # Output only. URI Endpoints to access sessions associated with the Environment.
1267
+ # Corresponds to the JSON property `endpoints`
1268
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EnvironmentEndpoints]
1269
+ attr_accessor :endpoints
1270
+
1271
+ # Configuration for the underlying infrastructure used to run workloads.
1272
+ # Corresponds to the JSON property `infrastructureSpec`
1273
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EnvironmentInfrastructureSpec]
1274
+ attr_accessor :infrastructure_spec
1275
+
1276
+ # Optional. User defined labels for the environment.
1277
+ # Corresponds to the JSON property `labels`
1278
+ # @return [Hash<String,String>]
1279
+ attr_accessor :labels
1280
+
1281
+ # Output only. The relative resource name of the environment, of the form:
1282
+ # projects/`project_id`/locations/`location_id`/lakes/`lake_id`/environment/`
1283
+ # environment_id`
1284
+ # Corresponds to the JSON property `name`
1285
+ # @return [String]
1286
+ attr_accessor :name
1287
+
1288
+ # Optional. Configuration for sessions created for this environment.
1289
+ # Corresponds to the JSON property `sessionSpec`
1290
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EnvironmentSessionSpec]
1291
+ attr_accessor :session_spec
1292
+
1293
+ # Output only. Status of sessions created for this environment.
1294
+ # Corresponds to the JSON property `sessionStatus`
1295
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EnvironmentSessionStatus]
1296
+ attr_accessor :session_status
1297
+
1298
+ # Output only. Current state of the environment.
1299
+ # Corresponds to the JSON property `state`
1300
+ # @return [String]
1301
+ attr_accessor :state
1302
+
1303
+ # Output only. System generated globally unique ID for the environment. This ID
1304
+ # will be different if the environment is deleted and re-created with the same
1305
+ # name.
1306
+ # Corresponds to the JSON property `uid`
1307
+ # @return [String]
1308
+ attr_accessor :uid
1309
+
1310
+ # Output only. The time when the environment was last updated.
1311
+ # Corresponds to the JSON property `updateTime`
1312
+ # @return [String]
1313
+ attr_accessor :update_time
1314
+
1315
+ def initialize(**args)
1316
+ update!(**args)
1317
+ end
1318
+
1319
+ # Update properties of this object
1320
+ def update!(**args)
1321
+ @create_time = args[:create_time] if args.key?(:create_time)
1322
+ @description = args[:description] if args.key?(:description)
1323
+ @display_name = args[:display_name] if args.key?(:display_name)
1324
+ @endpoints = args[:endpoints] if args.key?(:endpoints)
1325
+ @infrastructure_spec = args[:infrastructure_spec] if args.key?(:infrastructure_spec)
1326
+ @labels = args[:labels] if args.key?(:labels)
1327
+ @name = args[:name] if args.key?(:name)
1328
+ @session_spec = args[:session_spec] if args.key?(:session_spec)
1329
+ @session_status = args[:session_status] if args.key?(:session_status)
1330
+ @state = args[:state] if args.key?(:state)
1331
+ @uid = args[:uid] if args.key?(:uid)
1332
+ @update_time = args[:update_time] if args.key?(:update_time)
1333
+ end
1334
+ end
1335
+
1336
+ #
1337
+ class GoogleCloudDataplexV1EnvironmentEndpoints
1338
+ include Google::Apis::Core::Hashable
1339
+
1340
+ # Output only. URI to serve notebook APIs
1341
+ # Corresponds to the JSON property `notebooks`
1342
+ # @return [String]
1343
+ attr_accessor :notebooks
1344
+
1345
+ # Output only. URI to serve SQL APIs
1346
+ # Corresponds to the JSON property `sql`
1347
+ # @return [String]
1348
+ attr_accessor :sql
1349
+
1350
+ def initialize(**args)
1351
+ update!(**args)
1352
+ end
1353
+
1354
+ # Update properties of this object
1355
+ def update!(**args)
1356
+ @notebooks = args[:notebooks] if args.key?(:notebooks)
1357
+ @sql = args[:sql] if args.key?(:sql)
1358
+ end
1359
+ end
1360
+
1361
+ # Configuration for the underlying infrastructure used to run workloads.
1362
+ class GoogleCloudDataplexV1EnvironmentInfrastructureSpec
1363
+ include Google::Apis::Core::Hashable
1364
+
1365
+ # Compute resources associated with the analyze interactive workloads.
1366
+ # Corresponds to the JSON property `compute`
1367
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EnvironmentInfrastructureSpecComputeResources]
1368
+ attr_accessor :compute
1369
+
1370
+ # Software Runtime Configuration to run Analyze.
1371
+ # Corresponds to the JSON property `osImage`
1372
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EnvironmentInfrastructureSpecOsImageRuntime]
1373
+ attr_accessor :os_image
1374
+
1375
+ def initialize(**args)
1376
+ update!(**args)
1377
+ end
1378
+
1379
+ # Update properties of this object
1380
+ def update!(**args)
1381
+ @compute = args[:compute] if args.key?(:compute)
1382
+ @os_image = args[:os_image] if args.key?(:os_image)
1383
+ end
1384
+ end
1385
+
1386
+ # Compute resources associated with the analyze interactive workloads.
1387
+ class GoogleCloudDataplexV1EnvironmentInfrastructureSpecComputeResources
1388
+ include Google::Apis::Core::Hashable
1389
+
1390
+ # Optional. Size in GB of the disk. Default is 100 GB.
1391
+ # Corresponds to the JSON property `diskSizeGb`
1392
+ # @return [Fixnum]
1393
+ attr_accessor :disk_size_gb
1394
+
1395
+ # Optional. Max configurable nodes. If max_node_count > node_count, then auto-
1396
+ # scaling is enabled.
1397
+ # Corresponds to the JSON property `maxNodeCount`
1398
+ # @return [Fixnum]
1399
+ attr_accessor :max_node_count
1400
+
1401
+ # Optional. Total number of nodes in the sessions created for this environment.
1402
+ # Corresponds to the JSON property `nodeCount`
1403
+ # @return [Fixnum]
1404
+ attr_accessor :node_count
1405
+
1406
+ def initialize(**args)
1407
+ update!(**args)
1408
+ end
1409
+
1410
+ # Update properties of this object
1411
+ def update!(**args)
1412
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1413
+ @max_node_count = args[:max_node_count] if args.key?(:max_node_count)
1414
+ @node_count = args[:node_count] if args.key?(:node_count)
1415
+ end
1416
+ end
1417
+
1418
+ # Software Runtime Configuration to run Analyze.
1419
+ class GoogleCloudDataplexV1EnvironmentInfrastructureSpecOsImageRuntime
1420
+ include Google::Apis::Core::Hashable
1421
+
1422
+ # Required. Dataplex Image version.
1423
+ # Corresponds to the JSON property `imageVersion`
1424
+ # @return [String]
1425
+ attr_accessor :image_version
1426
+
1427
+ # Optional. List of Java jars to be included in the runtime environment. Valid
1428
+ # input includes Cloud Storage URIs to Jar binaries. For example, gs://bucket-
1429
+ # name/my/path/to/file.jar
1430
+ # Corresponds to the JSON property `javaLibraries`
1431
+ # @return [Array<String>]
1432
+ attr_accessor :java_libraries
1433
+
1434
+ # Optional. Spark properties to provide configuration for use in sessions
1435
+ # created for this environment. The properties to set on daemon config files.
1436
+ # Property keys are specified in prefix:property format. The prefix must be "
1437
+ # spark".
1438
+ # Corresponds to the JSON property `properties`
1439
+ # @return [Hash<String,String>]
1440
+ attr_accessor :properties
1441
+
1442
+ # Optional. A list of python packages to be installed. Valid formats include
1443
+ # Cloud Storage URI to a PIP installable library. For example, gs://bucket-name/
1444
+ # my/path/to/lib.tar.gz
1445
+ # Corresponds to the JSON property `pythonPackages`
1446
+ # @return [Array<String>]
1447
+ attr_accessor :python_packages
1448
+
1449
+ def initialize(**args)
1450
+ update!(**args)
1451
+ end
1452
+
1453
+ # Update properties of this object
1454
+ def update!(**args)
1455
+ @image_version = args[:image_version] if args.key?(:image_version)
1456
+ @java_libraries = args[:java_libraries] if args.key?(:java_libraries)
1457
+ @properties = args[:properties] if args.key?(:properties)
1458
+ @python_packages = args[:python_packages] if args.key?(:python_packages)
1459
+ end
1460
+ end
1461
+
1462
+ #
1463
+ class GoogleCloudDataplexV1EnvironmentSessionSpec
1464
+ include Google::Apis::Core::Hashable
1465
+
1466
+ # Optional. If True, this causes sessions to be pre-created and available for
1467
+ # faster startup to enable interactive exploration use-cases. This defaults to
1468
+ # False to avoid additional billed charges. These can only be set to True for
1469
+ # the environment with name set to "default", and with default configuration.
1470
+ # Corresponds to the JSON property `enableFastStartup`
1471
+ # @return [Boolean]
1472
+ attr_accessor :enable_fast_startup
1473
+ alias_method :enable_fast_startup?, :enable_fast_startup
1474
+
1475
+ # Optional. The idle time configuration of the session. The session will be auto-
1476
+ # terminated at the end of this period.
1477
+ # Corresponds to the JSON property `maxIdleDuration`
1478
+ # @return [String]
1479
+ attr_accessor :max_idle_duration
1480
+
1481
+ def initialize(**args)
1482
+ update!(**args)
1483
+ end
1484
+
1485
+ # Update properties of this object
1486
+ def update!(**args)
1487
+ @enable_fast_startup = args[:enable_fast_startup] if args.key?(:enable_fast_startup)
1488
+ @max_idle_duration = args[:max_idle_duration] if args.key?(:max_idle_duration)
1489
+ end
1490
+ end
1491
+
1492
+ #
1493
+ class GoogleCloudDataplexV1EnvironmentSessionStatus
1494
+ include Google::Apis::Core::Hashable
1495
+
1496
+ # Output only. Queries over sessions to mark whether the environment is
1497
+ # currently active or not
1498
+ # Corresponds to the JSON property `active`
1499
+ # @return [Boolean]
1500
+ attr_accessor :active
1501
+ alias_method :active?, :active
1502
+
1503
+ def initialize(**args)
1504
+ update!(**args)
1505
+ end
1506
+
1507
+ # Update properties of this object
1508
+ def update!(**args)
1509
+ @active = args[:active] if args.key?(:active)
1510
+ end
1511
+ end
1512
+
1513
+ # A job represents an instance of a task.
1514
+ class GoogleCloudDataplexV1Job
1515
+ include Google::Apis::Core::Hashable
1516
+
1517
+ # Output only. The time when the job ended.
1518
+ # Corresponds to the JSON property `endTime`
1519
+ # @return [String]
1520
+ attr_accessor :end_time
1521
+
1522
+ # Output only. Additional information about the current state.
1523
+ # Corresponds to the JSON property `message`
1524
+ # @return [String]
1525
+ attr_accessor :message
1526
+
1527
+ # Output only. The relative resource name of the job, of the form: projects/`
1528
+ # project_number`/locations/`location_id`/lakes/`lake_id`/ tasks/`task_id`/jobs/`
1529
+ # job_id`.
1530
+ # Corresponds to the JSON property `name`
1531
+ # @return [String]
1532
+ attr_accessor :name
1533
+
1534
+ # Output only. . The number of times the job has been retried (excluding the
1535
+ # initial attempt).
1536
+ # Corresponds to the JSON property `retryCount`
1537
+ # @return [Fixnum]
1538
+ attr_accessor :retry_count
1539
+
1540
+ # Output only. The underlying service running a job.
1541
+ # Corresponds to the JSON property `service`
1542
+ # @return [String]
1543
+ attr_accessor :service
1544
+
1545
+ # Output only. The full resource name for the job run under a particular service.
1546
+ # Corresponds to the JSON property `serviceJob`
1547
+ # @return [String]
1548
+ attr_accessor :service_job
1549
+
1550
+ # Output only. The time when the job was started.
1551
+ # Corresponds to the JSON property `startTime`
1552
+ # @return [String]
1553
+ attr_accessor :start_time
1554
+
1555
+ # Output only. Execution state for the job.
1556
+ # Corresponds to the JSON property `state`
1557
+ # @return [String]
1558
+ attr_accessor :state
1559
+
1560
+ # Output only. System generated globally unique ID for the job.
1561
+ # Corresponds to the JSON property `uid`
1562
+ # @return [String]
1563
+ attr_accessor :uid
1564
+
1565
+ def initialize(**args)
1566
+ update!(**args)
1567
+ end
1568
+
1569
+ # Update properties of this object
1570
+ def update!(**args)
1571
+ @end_time = args[:end_time] if args.key?(:end_time)
1572
+ @message = args[:message] if args.key?(:message)
1573
+ @name = args[:name] if args.key?(:name)
1574
+ @retry_count = args[:retry_count] if args.key?(:retry_count)
1575
+ @service = args[:service] if args.key?(:service)
1576
+ @service_job = args[:service_job] if args.key?(:service_job)
1577
+ @start_time = args[:start_time] if args.key?(:start_time)
1578
+ @state = args[:state] if args.key?(:state)
1579
+ @uid = args[:uid] if args.key?(:uid)
1580
+ end
1581
+ end
1582
+
1583
+ # The payload associated with Job logs that contains events describing jobs that
1584
+ # have run within a Lake.
1585
+ class GoogleCloudDataplexV1JobEvent
1586
+ include Google::Apis::Core::Hashable
1587
+
1588
+ # The time when the job ended running.
1589
+ # Corresponds to the JSON property `endTime`
1590
+ # @return [String]
1591
+ attr_accessor :end_time
1592
+
1593
+ # The unique id identifying the job.
1594
+ # Corresponds to the JSON property `jobId`
1595
+ # @return [String]
1596
+ attr_accessor :job_id
1597
+
1598
+ # The log message.
1599
+ # Corresponds to the JSON property `message`
1600
+ # @return [String]
1601
+ attr_accessor :message
1602
+
1603
+ # The number of retries.
1604
+ # Corresponds to the JSON property `retries`
1605
+ # @return [Fixnum]
1606
+ attr_accessor :retries
1607
+
1608
+ # The service used to execute the job.
1609
+ # Corresponds to the JSON property `service`
1610
+ # @return [String]
1611
+ attr_accessor :service
1612
+
1613
+ # The reference to the job within the service.
1614
+ # Corresponds to the JSON property `serviceJob`
1615
+ # @return [String]
1616
+ attr_accessor :service_job
1617
+
1618
+ # The time when the job started running.
1619
+ # Corresponds to the JSON property `startTime`
1620
+ # @return [String]
1621
+ attr_accessor :start_time
1622
+
1623
+ # The job state on completion.
1624
+ # Corresponds to the JSON property `state`
1625
+ # @return [String]
1626
+ attr_accessor :state
1627
+
1628
+ # The type of the job.
1629
+ # Corresponds to the JSON property `type`
1630
+ # @return [String]
1631
+ attr_accessor :type
1632
+
1633
+ def initialize(**args)
1634
+ update!(**args)
1635
+ end
1636
+
1637
+ # Update properties of this object
1638
+ def update!(**args)
1639
+ @end_time = args[:end_time] if args.key?(:end_time)
1640
+ @job_id = args[:job_id] if args.key?(:job_id)
1641
+ @message = args[:message] if args.key?(:message)
1642
+ @retries = args[:retries] if args.key?(:retries)
1643
+ @service = args[:service] if args.key?(:service)
1644
+ @service_job = args[:service_job] if args.key?(:service_job)
1645
+ @start_time = args[:start_time] if args.key?(:start_time)
1646
+ @state = args[:state] if args.key?(:state)
1647
+ @type = args[:type] if args.key?(:type)
1648
+ end
1649
+ end
1650
+
1651
+ # A lake is a centralized repository for managing enterprise data across the
1652
+ # organization distributed across many cloud projects, and stored in a variety
1653
+ # of storage services such as Google Cloud Storage and BigQuery. The resources
1654
+ # attached to a lake are referred to as managed resources. Data within these
1655
+ # managed resources can be structured or unstructured. A lake provides data
1656
+ # admins with tools to organize, secure and manage their data at scale, and
1657
+ # provides data scientists and data engineers an integrated experience to easily
1658
+ # search, discover, analyze and transform data and associated metadata.
1659
+ class GoogleCloudDataplexV1Lake
1660
+ include Google::Apis::Core::Hashable
1661
+
1662
+ # Aggregated status of the underlying assets of a lake or zone.
1663
+ # Corresponds to the JSON property `assetStatus`
1664
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetStatus]
1665
+ attr_accessor :asset_status
1666
+
1667
+ # Output only. The time when the lake was created.
1668
+ # Corresponds to the JSON property `createTime`
1669
+ # @return [String]
1670
+ attr_accessor :create_time
1671
+
1672
+ # Optional. Description of the lake.
1673
+ # Corresponds to the JSON property `description`
1674
+ # @return [String]
1675
+ attr_accessor :description
1676
+
1677
+ # Optional. User friendly display name.
1678
+ # Corresponds to the JSON property `displayName`
1679
+ # @return [String]
1680
+ attr_accessor :display_name
1681
+
1682
+ # Optional. User-defined labels for the lake.
1683
+ # Corresponds to the JSON property `labels`
1684
+ # @return [Hash<String,String>]
1685
+ attr_accessor :labels
1686
+
1687
+ # Settings to manage association of Dataproc Metastore with a lake.
1688
+ # Corresponds to the JSON property `metastore`
1689
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1LakeMetastore]
1690
+ attr_accessor :metastore
1691
+
1692
+ # Status of Lake and Dataproc Metastore service instance association.
1693
+ # Corresponds to the JSON property `metastoreStatus`
1694
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1LakeMetastoreStatus]
1695
+ attr_accessor :metastore_status
1696
+
1697
+ # Output only. The relative resource name of the lake, of the form: projects/`
1698
+ # project_number`/locations/`location_id`/lakes/`lake_id`.
1699
+ # Corresponds to the JSON property `name`
1700
+ # @return [String]
1701
+ attr_accessor :name
1702
+
1703
+ # Output only. Service account associated with this lake. This service account
1704
+ # must be authorized to access or operate on resources managed by the lake.
1705
+ # Corresponds to the JSON property `serviceAccount`
1706
+ # @return [String]
1707
+ attr_accessor :service_account
1708
+
1709
+ # Output only. Current state of the lake.
1710
+ # Corresponds to the JSON property `state`
1711
+ # @return [String]
1712
+ attr_accessor :state
1713
+
1714
+ # Output only. System generated globally unique ID for the lake. This ID will be
1715
+ # different if the lake is deleted and re-created with the same name.
1716
+ # Corresponds to the JSON property `uid`
1717
+ # @return [String]
1718
+ attr_accessor :uid
1719
+
1720
+ # Output only. The time when the lake was last updated.
1721
+ # Corresponds to the JSON property `updateTime`
1722
+ # @return [String]
1723
+ attr_accessor :update_time
1724
+
1725
+ def initialize(**args)
1726
+ update!(**args)
1727
+ end
1728
+
1729
+ # Update properties of this object
1730
+ def update!(**args)
1731
+ @asset_status = args[:asset_status] if args.key?(:asset_status)
1732
+ @create_time = args[:create_time] if args.key?(:create_time)
1733
+ @description = args[:description] if args.key?(:description)
1734
+ @display_name = args[:display_name] if args.key?(:display_name)
1735
+ @labels = args[:labels] if args.key?(:labels)
1736
+ @metastore = args[:metastore] if args.key?(:metastore)
1737
+ @metastore_status = args[:metastore_status] if args.key?(:metastore_status)
1738
+ @name = args[:name] if args.key?(:name)
1739
+ @service_account = args[:service_account] if args.key?(:service_account)
1740
+ @state = args[:state] if args.key?(:state)
1741
+ @uid = args[:uid] if args.key?(:uid)
1742
+ @update_time = args[:update_time] if args.key?(:update_time)
1743
+ end
1744
+ end
1745
+
1746
+ # Settings to manage association of Dataproc Metastore with a lake.
1747
+ class GoogleCloudDataplexV1LakeMetastore
1748
+ include Google::Apis::Core::Hashable
1749
+
1750
+ # Optional. A relative reference to the Dataproc Metastore (https://cloud.google.
1751
+ # com/dataproc-metastore/docs) service associated with the lake: projects/`
1752
+ # project_id`/locations/`location_id`/services/`service_id`
1753
+ # Corresponds to the JSON property `service`
1754
+ # @return [String]
1755
+ attr_accessor :service
1756
+
1757
+ def initialize(**args)
1758
+ update!(**args)
1759
+ end
1760
+
1761
+ # Update properties of this object
1762
+ def update!(**args)
1763
+ @service = args[:service] if args.key?(:service)
1764
+ end
1765
+ end
1766
+
1767
+ # Status of Lake and Dataproc Metastore service instance association.
1768
+ class GoogleCloudDataplexV1LakeMetastoreStatus
1769
+ include Google::Apis::Core::Hashable
1770
+
1771
+ # The URI of the endpoint used to access the Metastore service.
1772
+ # Corresponds to the JSON property `endpoint`
1773
+ # @return [String]
1774
+ attr_accessor :endpoint
1775
+
1776
+ # Additional information about the current status.
1777
+ # Corresponds to the JSON property `message`
1778
+ # @return [String]
1779
+ attr_accessor :message
1780
+
1781
+ # Current state of association.
1782
+ # Corresponds to the JSON property `state`
1783
+ # @return [String]
1784
+ attr_accessor :state
1785
+
1786
+ # Last update time of the metastore status of the lake.
1787
+ # Corresponds to the JSON property `updateTime`
1788
+ # @return [String]
1789
+ attr_accessor :update_time
1790
+
1791
+ def initialize(**args)
1792
+ update!(**args)
1793
+ end
1794
+
1795
+ # Update properties of this object
1796
+ def update!(**args)
1797
+ @endpoint = args[:endpoint] if args.key?(:endpoint)
1798
+ @message = args[:message] if args.key?(:message)
1799
+ @state = args[:state] if args.key?(:state)
1800
+ @update_time = args[:update_time] if args.key?(:update_time)
1801
+ end
1802
+ end
1803
+
1804
+ # List actions response.
1805
+ class GoogleCloudDataplexV1ListActionsResponse
1806
+ include Google::Apis::Core::Hashable
1807
+
1808
+ # Actions under the given parent lake/zone/asset.
1809
+ # Corresponds to the JSON property `actions`
1810
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1Action>]
1811
+ attr_accessor :actions
1812
+
1813
+ # Token to retrieve the next page of results, or empty if there are no more
1814
+ # results in the list.
1815
+ # Corresponds to the JSON property `nextPageToken`
1816
+ # @return [String]
1817
+ attr_accessor :next_page_token
1818
+
1819
+ def initialize(**args)
1820
+ update!(**args)
1821
+ end
1822
+
1823
+ # Update properties of this object
1824
+ def update!(**args)
1825
+ @actions = args[:actions] if args.key?(:actions)
1826
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1827
+ end
1828
+ end
1829
+
1830
+ # List assets response.
1831
+ class GoogleCloudDataplexV1ListAssetsResponse
1832
+ include Google::Apis::Core::Hashable
1833
+
1834
+ # Asset under the given parent zone.
1835
+ # Corresponds to the JSON property `assets`
1836
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1Asset>]
1837
+ attr_accessor :assets
1838
+
1839
+ # Token to retrieve the next page of results, or empty if there are no more
1840
+ # results in the list.
1841
+ # Corresponds to the JSON property `nextPageToken`
1842
+ # @return [String]
1843
+ attr_accessor :next_page_token
1844
+
1845
+ def initialize(**args)
1846
+ update!(**args)
1847
+ end
1848
+
1849
+ # Update properties of this object
1850
+ def update!(**args)
1851
+ @assets = args[:assets] if args.key?(:assets)
1852
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1853
+ end
1854
+ end
1855
+
1856
+ # List content response.
1857
+ class GoogleCloudDataplexV1ListContentResponse
1858
+ include Google::Apis::Core::Hashable
1859
+
1860
+ # Content under the given parent lake.
1861
+ # Corresponds to the JSON property `content`
1862
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1Content>]
1863
+ attr_accessor :content
1864
+
1865
+ # Token to retrieve the next page of results, or empty if there are no more
1866
+ # results in the list.
1867
+ # Corresponds to the JSON property `nextPageToken`
1868
+ # @return [String]
1869
+ attr_accessor :next_page_token
1870
+
1871
+ def initialize(**args)
1872
+ update!(**args)
1873
+ end
1874
+
1875
+ # Update properties of this object
1876
+ def update!(**args)
1877
+ @content = args[:content] if args.key?(:content)
1878
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1879
+ end
1880
+ end
1881
+
1882
+ # List metadata entities response.
1883
+ class GoogleCloudDataplexV1ListEntitiesResponse
1884
+ include Google::Apis::Core::Hashable
1885
+
1886
+ # Entities in the specified parent zone.
1887
+ # Corresponds to the JSON property `entities`
1888
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1Entity>]
1889
+ attr_accessor :entities
1890
+
1891
+ # Token to retrieve the next page of results, or empty if there are no remaining
1892
+ # results in the list.
1893
+ # Corresponds to the JSON property `nextPageToken`
1894
+ # @return [String]
1895
+ attr_accessor :next_page_token
1896
+
1897
+ def initialize(**args)
1898
+ update!(**args)
1899
+ end
1900
+
1901
+ # Update properties of this object
1902
+ def update!(**args)
1903
+ @entities = args[:entities] if args.key?(:entities)
1904
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1905
+ end
1906
+ end
1907
+
1908
+ # List environments response.
1909
+ class GoogleCloudDataplexV1ListEnvironmentsResponse
1910
+ include Google::Apis::Core::Hashable
1911
+
1912
+ # Environments under the given parent lake.
1913
+ # Corresponds to the JSON property `environments`
1914
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1Environment>]
1915
+ attr_accessor :environments
1916
+
1917
+ # Token to retrieve the next page of results, or empty if there are no more
1918
+ # results in the list.
1919
+ # Corresponds to the JSON property `nextPageToken`
1920
+ # @return [String]
1921
+ attr_accessor :next_page_token
1922
+
1923
+ def initialize(**args)
1924
+ update!(**args)
1925
+ end
1926
+
1927
+ # Update properties of this object
1928
+ def update!(**args)
1929
+ @environments = args[:environments] if args.key?(:environments)
1930
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1931
+ end
1932
+ end
1933
+
1934
+ # List jobs response.
1935
+ class GoogleCloudDataplexV1ListJobsResponse
1936
+ include Google::Apis::Core::Hashable
1937
+
1938
+ # Jobs under a given task.
1939
+ # Corresponds to the JSON property `jobs`
1940
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1Job>]
1941
+ attr_accessor :jobs
1942
+
1943
+ # Token to retrieve the next page of results, or empty if there are no more
1944
+ # results in the list.
1945
+ # Corresponds to the JSON property `nextPageToken`
1946
+ # @return [String]
1947
+ attr_accessor :next_page_token
1948
+
1949
+ def initialize(**args)
1950
+ update!(**args)
1951
+ end
1952
+
1953
+ # Update properties of this object
1954
+ def update!(**args)
1955
+ @jobs = args[:jobs] if args.key?(:jobs)
1956
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1957
+ end
1958
+ end
1959
+
1960
+ # List lakes response.
1961
+ class GoogleCloudDataplexV1ListLakesResponse
1962
+ include Google::Apis::Core::Hashable
1963
+
1964
+ # Lakes under the given parent location.
1965
+ # Corresponds to the JSON property `lakes`
1966
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1Lake>]
1967
+ attr_accessor :lakes
1968
+
1969
+ # Token to retrieve the next page of results, or empty if there are no more
1970
+ # results in the list.
1971
+ # Corresponds to the JSON property `nextPageToken`
1972
+ # @return [String]
1973
+ attr_accessor :next_page_token
1974
+
1975
+ # Locations that could not be reached.
1976
+ # Corresponds to the JSON property `unreachableLocations`
1977
+ # @return [Array<String>]
1978
+ attr_accessor :unreachable_locations
1979
+
1980
+ def initialize(**args)
1981
+ update!(**args)
1982
+ end
1983
+
1984
+ # Update properties of this object
1985
+ def update!(**args)
1986
+ @lakes = args[:lakes] if args.key?(:lakes)
1987
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1988
+ @unreachable_locations = args[:unreachable_locations] if args.key?(:unreachable_locations)
1989
+ end
1990
+ end
1991
+
1992
+ # List metadata partitions response.
1993
+ class GoogleCloudDataplexV1ListPartitionsResponse
1994
+ include Google::Apis::Core::Hashable
1995
+
1996
+ # Token to retrieve the next page of results, or empty if there are no remaining
1997
+ # results in the list.
1998
+ # Corresponds to the JSON property `nextPageToken`
1999
+ # @return [String]
2000
+ attr_accessor :next_page_token
2001
+
2002
+ # Partitions under the specified parent entity.
2003
+ # Corresponds to the JSON property `partitions`
2004
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1Partition>]
2005
+ attr_accessor :partitions
2006
+
2007
+ def initialize(**args)
2008
+ update!(**args)
2009
+ end
2010
+
2011
+ # Update properties of this object
2012
+ def update!(**args)
2013
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2014
+ @partitions = args[:partitions] if args.key?(:partitions)
2015
+ end
2016
+ end
2017
+
2018
+ # List sessions response.
2019
+ class GoogleCloudDataplexV1ListSessionsResponse
2020
+ include Google::Apis::Core::Hashable
2021
+
2022
+ # Token to retrieve the next page of results, or empty if there are no more
2023
+ # results in the list.
2024
+ # Corresponds to the JSON property `nextPageToken`
2025
+ # @return [String]
2026
+ attr_accessor :next_page_token
2027
+
2028
+ # Sessions under a given environment.
2029
+ # Corresponds to the JSON property `sessions`
2030
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1Session>]
2031
+ attr_accessor :sessions
2032
+
2033
+ def initialize(**args)
2034
+ update!(**args)
2035
+ end
2036
+
2037
+ # Update properties of this object
2038
+ def update!(**args)
2039
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2040
+ @sessions = args[:sessions] if args.key?(:sessions)
2041
+ end
2042
+ end
2043
+
2044
+ # List tasks response.
2045
+ class GoogleCloudDataplexV1ListTasksResponse
2046
+ include Google::Apis::Core::Hashable
2047
+
2048
+ # Token to retrieve the next page of results, or empty if there are no more
2049
+ # results in the list.
2050
+ # Corresponds to the JSON property `nextPageToken`
2051
+ # @return [String]
2052
+ attr_accessor :next_page_token
2053
+
2054
+ # Tasks under the given parent lake.
2055
+ # Corresponds to the JSON property `tasks`
2056
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1Task>]
2057
+ attr_accessor :tasks
2058
+
2059
+ # Locations that could not be reached.
2060
+ # Corresponds to the JSON property `unreachableLocations`
2061
+ # @return [Array<String>]
2062
+ attr_accessor :unreachable_locations
2063
+
2064
+ def initialize(**args)
2065
+ update!(**args)
2066
+ end
2067
+
2068
+ # Update properties of this object
2069
+ def update!(**args)
2070
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2071
+ @tasks = args[:tasks] if args.key?(:tasks)
2072
+ @unreachable_locations = args[:unreachable_locations] if args.key?(:unreachable_locations)
2073
+ end
2074
+ end
2075
+
2076
+ # List zones response.
2077
+ class GoogleCloudDataplexV1ListZonesResponse
2078
+ include Google::Apis::Core::Hashable
2079
+
2080
+ # Token to retrieve the next page of results, or empty if there are no more
2081
+ # results in the list.
2082
+ # Corresponds to the JSON property `nextPageToken`
2083
+ # @return [String]
2084
+ attr_accessor :next_page_token
2085
+
2086
+ # Zones under the given parent lake.
2087
+ # Corresponds to the JSON property `zones`
2088
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1Zone>]
2089
+ attr_accessor :zones
2090
+
2091
+ def initialize(**args)
2092
+ update!(**args)
2093
+ end
2094
+
2095
+ # Update properties of this object
2096
+ def update!(**args)
2097
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2098
+ @zones = args[:zones] if args.key?(:zones)
2099
+ end
2100
+ end
2101
+
2102
+ # Represents the metadata of a long-running operation.
2103
+ class GoogleCloudDataplexV1OperationMetadata
2104
+ include Google::Apis::Core::Hashable
2105
+
2106
+ # Output only. API version used to start the operation.
2107
+ # Corresponds to the JSON property `apiVersion`
2108
+ # @return [String]
2109
+ attr_accessor :api_version
2110
+
2111
+ # Output only. The time the operation was created.
2112
+ # Corresponds to the JSON property `createTime`
2113
+ # @return [String]
2114
+ attr_accessor :create_time
2115
+
2116
+ # Output only. The time the operation finished running.
2117
+ # Corresponds to the JSON property `endTime`
2118
+ # @return [String]
2119
+ attr_accessor :end_time
2120
+
2121
+ # Output only. Identifies whether the user has requested cancellation of the
2122
+ # operation. Operations that have successfully been cancelled have Operation.
2123
+ # error value with a google.rpc.Status.code of 1, corresponding to Code.
2124
+ # CANCELLED.
2125
+ # Corresponds to the JSON property `requestedCancellation`
2126
+ # @return [Boolean]
2127
+ attr_accessor :requested_cancellation
2128
+ alias_method :requested_cancellation?, :requested_cancellation
2129
+
2130
+ # Output only. Human-readable status of the operation, if any.
2131
+ # Corresponds to the JSON property `statusMessage`
2132
+ # @return [String]
2133
+ attr_accessor :status_message
2134
+
2135
+ # Output only. Server-defined resource path for the target of the operation.
2136
+ # Corresponds to the JSON property `target`
2137
+ # @return [String]
2138
+ attr_accessor :target
2139
+
2140
+ # Output only. Name of the verb executed by the operation.
2141
+ # Corresponds to the JSON property `verb`
2142
+ # @return [String]
2143
+ attr_accessor :verb
2144
+
2145
+ def initialize(**args)
2146
+ update!(**args)
2147
+ end
2148
+
2149
+ # Update properties of this object
2150
+ def update!(**args)
2151
+ @api_version = args[:api_version] if args.key?(:api_version)
2152
+ @create_time = args[:create_time] if args.key?(:create_time)
2153
+ @end_time = args[:end_time] if args.key?(:end_time)
2154
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
2155
+ @status_message = args[:status_message] if args.key?(:status_message)
2156
+ @target = args[:target] if args.key?(:target)
2157
+ @verb = args[:verb] if args.key?(:verb)
2158
+ end
2159
+ end
2160
+
2161
+ # Represents partition metadata contained within entity instances.
2162
+ class GoogleCloudDataplexV1Partition
2163
+ include Google::Apis::Core::Hashable
2164
+
2165
+ # Optional. The etag for this partition.
2166
+ # Corresponds to the JSON property `etag`
2167
+ # @return [String]
2168
+ attr_accessor :etag
2169
+
2170
+ # Required. Immutable. The location of the entity data within the partition, for
2171
+ # example, gs://bucket/path/to/entity/key1=value1/key2=value2. Or projects//
2172
+ # datasets//tables/
2173
+ # Corresponds to the JSON property `location`
2174
+ # @return [String]
2175
+ attr_accessor :location
2176
+
2177
+ # Output only. The values must be HTML URL encoded two times before constructing
2178
+ # the path. For example, if you have a value of "US:CA", encoded it two times
2179
+ # and you get "US%253ACA". Then if you have the 2nd value is "CA#Sunnyvale",
2180
+ # encoded two times and you get "CA%2523Sunnyvale". The partition values path is
2181
+ # "US%253ACA/CA%2523Sunnyvale". The final URL will be "https://.../partitions/US%
2182
+ # 253ACA/CA%2523Sunnyvale". The name field in the responses will always have the
2183
+ # encoded format.
2184
+ # Corresponds to the JSON property `name`
2185
+ # @return [String]
2186
+ attr_accessor :name
2187
+
2188
+ # Required. Immutable. The set of values representing the partition, which
2189
+ # correspond to the partition schema defined in the parent entity.
2190
+ # Corresponds to the JSON property `values`
2191
+ # @return [Array<String>]
2192
+ attr_accessor :values
2193
+
2194
+ def initialize(**args)
2195
+ update!(**args)
2196
+ end
2197
+
2198
+ # Update properties of this object
2199
+ def update!(**args)
2200
+ @etag = args[:etag] if args.key?(:etag)
2201
+ @location = args[:location] if args.key?(:location)
2202
+ @name = args[:name] if args.key?(:name)
2203
+ @values = args[:values] if args.key?(:values)
2204
+ end
2205
+ end
2206
+
2207
+ # Schema information describing the structure and layout of the data.
2208
+ class GoogleCloudDataplexV1Schema
2209
+ include Google::Apis::Core::Hashable
2210
+
2211
+ # Optional. The sequence of fields describing data in table entities.
2212
+ # Corresponds to the JSON property `fields`
2213
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1SchemaSchemaField>]
2214
+ attr_accessor :fields
2215
+
2216
+ # Optional. The sequence of fields describing the partition structure in
2217
+ # entities. If this field is empty, there are no partitions within the data.
2218
+ # Corresponds to the JSON property `partitionFields`
2219
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1SchemaPartitionField>]
2220
+ attr_accessor :partition_fields
2221
+
2222
+ # Optional. The structure of paths containing partition data within the entity.
2223
+ # Corresponds to the JSON property `partitionStyle`
2224
+ # @return [String]
2225
+ attr_accessor :partition_style
2226
+
2227
+ # Required. Whether the schema is user-managed or managed by the service. - Set
2228
+ # user_manage to false if you would like Dataplex to help you manage the schema.
2229
+ # You will get the full service provided by Dataplex discovery, including new
2230
+ # data discovery, schema inference and schema evolution. You can still provide
2231
+ # input the schema of the entities, for example renaming a schema field,
2232
+ # changing CSV or Json options if you think the discovered values are not as
2233
+ # accurate. Dataplex will consider your input as the initial schema (as if they
2234
+ # were produced by the previous discovery run), and will evolve schema or flag
2235
+ # actions based on that. - Set user_manage to true if you would like to fully
2236
+ # manage the entity schema by yourself. This is useful when you would like to
2237
+ # manually specify the schema for a table. In this case, the schema defined by
2238
+ # the user is guaranteed to be kept unchanged and would not be overwritten. But
2239
+ # this also means Dataplex will not provide schema evolution management for you.
2240
+ # Dataplex will still be able to manage partition registration (i.e., keeping
2241
+ # the list of partitions up to date) when Dataplex discovery is turned on and
2242
+ # user_managed is set to true.
2243
+ # Corresponds to the JSON property `userManaged`
2244
+ # @return [Boolean]
2245
+ attr_accessor :user_managed
2246
+ alias_method :user_managed?, :user_managed
2247
+
2248
+ def initialize(**args)
2249
+ update!(**args)
2250
+ end
2251
+
2252
+ # Update properties of this object
2253
+ def update!(**args)
2254
+ @fields = args[:fields] if args.key?(:fields)
2255
+ @partition_fields = args[:partition_fields] if args.key?(:partition_fields)
2256
+ @partition_style = args[:partition_style] if args.key?(:partition_style)
2257
+ @user_managed = args[:user_managed] if args.key?(:user_managed)
2258
+ end
2259
+ end
2260
+
2261
+ # Represents a key field within the entity's partition structure. You could have
2262
+ # up to 20 partition fields, but only the first 10 partitions have the filtering
2263
+ # ability due to performance consideration.
2264
+ class GoogleCloudDataplexV1SchemaPartitionField
2265
+ include Google::Apis::Core::Hashable
2266
+
2267
+ # Required. Partition name is editable if only the partition style is not HIVE
2268
+ # compatible. The maximum length allowed is 767 characters.
2269
+ # Corresponds to the JSON property `name`
2270
+ # @return [String]
2271
+ attr_accessor :name
2272
+
2273
+ # Required. Immutable. The type of field.
2274
+ # Corresponds to the JSON property `type`
2275
+ # @return [String]
2276
+ attr_accessor :type
2277
+
2278
+ def initialize(**args)
2279
+ update!(**args)
2280
+ end
2281
+
2282
+ # Update properties of this object
2283
+ def update!(**args)
2284
+ @name = args[:name] if args.key?(:name)
2285
+ @type = args[:type] if args.key?(:type)
2286
+ end
2287
+ end
2288
+
2289
+ # Represents a column field within a table schema.
2290
+ class GoogleCloudDataplexV1SchemaSchemaField
2291
+ include Google::Apis::Core::Hashable
2292
+
2293
+ # Optional. User friendly field description. Must be less than or equal to 1024
2294
+ # characters.
2295
+ # Corresponds to the JSON property `description`
2296
+ # @return [String]
2297
+ attr_accessor :description
2298
+
2299
+ # Optional. Any nested field for complex types.
2300
+ # Corresponds to the JSON property `fields`
2301
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1SchemaSchemaField>]
2302
+ attr_accessor :fields
2303
+
2304
+ # Required. Additional field semantics.
2305
+ # Corresponds to the JSON property `mode`
2306
+ # @return [String]
2307
+ attr_accessor :mode
2308
+
2309
+ # Required. The name of the field. The maximum length is 767 characters. The
2310
+ # name must begins with a letter and not contains : and ..
2311
+ # Corresponds to the JSON property `name`
2312
+ # @return [String]
2313
+ attr_accessor :name
2314
+
2315
+ # Required. The type of field.
2316
+ # Corresponds to the JSON property `type`
2317
+ # @return [String]
2318
+ attr_accessor :type
2319
+
2320
+ def initialize(**args)
2321
+ update!(**args)
2322
+ end
2323
+
2324
+ # Update properties of this object
2325
+ def update!(**args)
2326
+ @description = args[:description] if args.key?(:description)
2327
+ @fields = args[:fields] if args.key?(:fields)
2328
+ @mode = args[:mode] if args.key?(:mode)
2329
+ @name = args[:name] if args.key?(:name)
2330
+ @type = args[:type] if args.key?(:type)
2331
+ end
2332
+ end
2333
+
2334
+ # Represents an active analyze session running for a user.
2335
+ class GoogleCloudDataplexV1Session
2336
+ include Google::Apis::Core::Hashable
2337
+
2338
+ # Output only. Session start time.
2339
+ # Corresponds to the JSON property `createTime`
2340
+ # @return [String]
2341
+ attr_accessor :create_time
2342
+
2343
+ # Output only. The relative resource name of the content, of the form: projects/`
2344
+ # project_id`/locations/`location_id`/lakes/`lake_id`/environment/`
2345
+ # environment_id`/sessions/`session_id`
2346
+ # Corresponds to the JSON property `name`
2347
+ # @return [String]
2348
+ attr_accessor :name
2349
+
2350
+ #
2351
+ # Corresponds to the JSON property `state`
2352
+ # @return [String]
2353
+ attr_accessor :state
2354
+
2355
+ # Output only. Email of user running the session.
2356
+ # Corresponds to the JSON property `userId`
2357
+ # @return [String]
2358
+ attr_accessor :user_id
2359
+
2360
+ def initialize(**args)
2361
+ update!(**args)
2362
+ end
2363
+
2364
+ # Update properties of this object
2365
+ def update!(**args)
2366
+ @create_time = args[:create_time] if args.key?(:create_time)
2367
+ @name = args[:name] if args.key?(:name)
2368
+ @state = args[:state] if args.key?(:state)
2369
+ @user_id = args[:user_id] if args.key?(:user_id)
2370
+ end
2371
+ end
2372
+
2373
+ # These messages contain information about sessions within an environment. The
2374
+ # monitored resource is 'Environment'.
2375
+ class GoogleCloudDataplexV1SessionEvent
2376
+ include Google::Apis::Core::Hashable
2377
+
2378
+ # The log message.
2379
+ # Corresponds to the JSON property `message`
2380
+ # @return [String]
2381
+ attr_accessor :message
2382
+
2383
+ # Execution details of the query.
2384
+ # Corresponds to the JSON property `query`
2385
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1SessionEventQueryDetail]
2386
+ attr_accessor :query
2387
+
2388
+ # Unique identifier for the session.
2389
+ # Corresponds to the JSON property `sessionId`
2390
+ # @return [String]
2391
+ attr_accessor :session_id
2392
+
2393
+ # The type of the event.
2394
+ # Corresponds to the JSON property `type`
2395
+ # @return [String]
2396
+ attr_accessor :type
2397
+
2398
+ # The information about the user that created the session.
2399
+ # Corresponds to the JSON property `userId`
2400
+ # @return [String]
2401
+ attr_accessor :user_id
2402
+
2403
+ def initialize(**args)
2404
+ update!(**args)
2405
+ end
2406
+
2407
+ # Update properties of this object
2408
+ def update!(**args)
2409
+ @message = args[:message] if args.key?(:message)
2410
+ @query = args[:query] if args.key?(:query)
2411
+ @session_id = args[:session_id] if args.key?(:session_id)
2412
+ @type = args[:type] if args.key?(:type)
2413
+ @user_id = args[:user_id] if args.key?(:user_id)
2414
+ end
2415
+ end
2416
+
2417
+ # Execution details of the query.
2418
+ class GoogleCloudDataplexV1SessionEventQueryDetail
2419
+ include Google::Apis::Core::Hashable
2420
+
2421
+ # The data processed by the query.
2422
+ # Corresponds to the JSON property `dataProcessedBytes`
2423
+ # @return [Fixnum]
2424
+ attr_accessor :data_processed_bytes
2425
+
2426
+ # Time taken for execution of the query.
2427
+ # Corresponds to the JSON property `duration`
2428
+ # @return [String]
2429
+ attr_accessor :duration
2430
+
2431
+ # Query Execution engine.
2432
+ # Corresponds to the JSON property `engine`
2433
+ # @return [String]
2434
+ attr_accessor :engine
2435
+
2436
+ # The unique Query id identifying the query.
2437
+ # Corresponds to the JSON property `queryId`
2438
+ # @return [String]
2439
+ attr_accessor :query_id
2440
+
2441
+ # The query text executed.
2442
+ # Corresponds to the JSON property `queryText`
2443
+ # @return [String]
2444
+ attr_accessor :query_text
2445
+
2446
+ # The size of results the query produced.
2447
+ # Corresponds to the JSON property `resultSizeBytes`
2448
+ # @return [Fixnum]
2449
+ attr_accessor :result_size_bytes
2450
+
2451
+ def initialize(**args)
2452
+ update!(**args)
2453
+ end
2454
+
2455
+ # Update properties of this object
2456
+ def update!(**args)
2457
+ @data_processed_bytes = args[:data_processed_bytes] if args.key?(:data_processed_bytes)
2458
+ @duration = args[:duration] if args.key?(:duration)
2459
+ @engine = args[:engine] if args.key?(:engine)
2460
+ @query_id = args[:query_id] if args.key?(:query_id)
2461
+ @query_text = args[:query_text] if args.key?(:query_text)
2462
+ @result_size_bytes = args[:result_size_bytes] if args.key?(:result_size_bytes)
2463
+ end
2464
+ end
2465
+
2466
+ # Describes the format of the data within its storage location.
2467
+ class GoogleCloudDataplexV1StorageFormat
2468
+ include Google::Apis::Core::Hashable
2469
+
2470
+ # Optional. The compression type associated with the stored data. If unspecified,
2471
+ # the data is uncompressed.
2472
+ # Corresponds to the JSON property `compressionFormat`
2473
+ # @return [String]
2474
+ attr_accessor :compression_format
2475
+
2476
+ # Describes CSV and similar semi-structured data formats.
2477
+ # Corresponds to the JSON property `csv`
2478
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1StorageFormatCsvOptions]
2479
+ attr_accessor :csv
2480
+
2481
+ # Output only. The data format associated with the stored data, which represents
2482
+ # content type values. The value is inferred from mime type.
2483
+ # Corresponds to the JSON property `format`
2484
+ # @return [String]
2485
+ attr_accessor :format
2486
+
2487
+ # Describes JSON data format.
2488
+ # Corresponds to the JSON property `json`
2489
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1StorageFormatJsonOptions]
2490
+ attr_accessor :json
2491
+
2492
+ # Required. The mime type descriptor for the data. Must match the pattern `type`/
2493
+ # `subtype`. Supported values: - application/x-parquet - application/x-avro -
2494
+ # application/x-orc - application/x-tfrecord - application/json - application/`
2495
+ # subtypes` - text/csv - text/ - image/`image subtype` - video/`video subtype` -
2496
+ # audio/`audio subtype`
2497
+ # Corresponds to the JSON property `mimeType`
2498
+ # @return [String]
2499
+ attr_accessor :mime_type
2500
+
2501
+ def initialize(**args)
2502
+ update!(**args)
2503
+ end
2504
+
2505
+ # Update properties of this object
2506
+ def update!(**args)
2507
+ @compression_format = args[:compression_format] if args.key?(:compression_format)
2508
+ @csv = args[:csv] if args.key?(:csv)
2509
+ @format = args[:format] if args.key?(:format)
2510
+ @json = args[:json] if args.key?(:json)
2511
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
2512
+ end
2513
+ end
2514
+
2515
+ # Describes CSV and similar semi-structured data formats.
2516
+ class GoogleCloudDataplexV1StorageFormatCsvOptions
2517
+ include Google::Apis::Core::Hashable
2518
+
2519
+ # Optional. The delimiter used to separate values. Defaults to ','.
2520
+ # Corresponds to the JSON property `delimiter`
2521
+ # @return [String]
2522
+ attr_accessor :delimiter
2523
+
2524
+ # Optional. The character encoding of the data. Accepts "US-ASCII", "UTF-8", and
2525
+ # "ISO-8859-1". Defaults to UTF-8 if unspecified.
2526
+ # Corresponds to the JSON property `encoding`
2527
+ # @return [String]
2528
+ attr_accessor :encoding
2529
+
2530
+ # Optional. The number of rows to interpret as header rows that should be
2531
+ # skipped when reading data rows. Defaults to 0.
2532
+ # Corresponds to the JSON property `headerRows`
2533
+ # @return [Fixnum]
2534
+ attr_accessor :header_rows
2535
+
2536
+ # Optional. The character used to quote column values. Accepts '"' and '''.
2537
+ # Defaults to '"' if unspecified.
2538
+ # Corresponds to the JSON property `quote`
2539
+ # @return [String]
2540
+ attr_accessor :quote
2541
+
2542
+ def initialize(**args)
2543
+ update!(**args)
2544
+ end
2545
+
2546
+ # Update properties of this object
2547
+ def update!(**args)
2548
+ @delimiter = args[:delimiter] if args.key?(:delimiter)
2549
+ @encoding = args[:encoding] if args.key?(:encoding)
2550
+ @header_rows = args[:header_rows] if args.key?(:header_rows)
2551
+ @quote = args[:quote] if args.key?(:quote)
2552
+ end
2553
+ end
2554
+
2555
+ # Describes JSON data format.
2556
+ class GoogleCloudDataplexV1StorageFormatJsonOptions
2557
+ include Google::Apis::Core::Hashable
2558
+
2559
+ # Optional. The character encoding of the data. Accepts "US-ASCII", "UTF-8" and "
2560
+ # ISO-8859-1". Defaults to UTF-8 if not specified.
2561
+ # Corresponds to the JSON property `encoding`
2562
+ # @return [String]
2563
+ attr_accessor :encoding
2564
+
2565
+ def initialize(**args)
2566
+ update!(**args)
2567
+ end
2568
+
2569
+ # Update properties of this object
2570
+ def update!(**args)
2571
+ @encoding = args[:encoding] if args.key?(:encoding)
2572
+ end
2573
+ end
2574
+
2575
+ # A task represents a user-visible job.
2576
+ class GoogleCloudDataplexV1Task
2577
+ include Google::Apis::Core::Hashable
2578
+
2579
+ # Output only. The time when the task was created.
2580
+ # Corresponds to the JSON property `createTime`
2581
+ # @return [String]
2582
+ attr_accessor :create_time
2583
+
2584
+ # Optional. Description of the task.
2585
+ # Corresponds to the JSON property `description`
2586
+ # @return [String]
2587
+ attr_accessor :description
2588
+
2589
+ # Optional. User friendly display name.
2590
+ # Corresponds to the JSON property `displayName`
2591
+ # @return [String]
2592
+ attr_accessor :display_name
2593
+
2594
+ # Execution related settings, like retry and service_account.
2595
+ # Corresponds to the JSON property `executionSpec`
2596
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1TaskExecutionSpec]
2597
+ attr_accessor :execution_spec
2598
+
2599
+ # Optional. User-defined labels for the task.
2600
+ # Corresponds to the JSON property `labels`
2601
+ # @return [Hash<String,String>]
2602
+ attr_accessor :labels
2603
+
2604
+ # Output only. The relative resource name of the task, of the form: projects/`
2605
+ # project_number`/locations/`location_id`/lakes/`lake_id`/ tasks/`task_id`.
2606
+ # Corresponds to the JSON property `name`
2607
+ # @return [String]
2608
+ attr_accessor :name
2609
+
2610
+ # User-specified config for running a Spark task.
2611
+ # Corresponds to the JSON property `spark`
2612
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1TaskSparkTaskConfig]
2613
+ attr_accessor :spark
2614
+
2615
+ # Output only. Current state of the task.
2616
+ # Corresponds to the JSON property `state`
2617
+ # @return [String]
2618
+ attr_accessor :state
2619
+
2620
+ # Task scheduling and trigger settings.
2621
+ # Corresponds to the JSON property `triggerSpec`
2622
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1TaskTriggerSpec]
2623
+ attr_accessor :trigger_spec
2624
+
2625
+ # Output only. System generated globally unique ID for the task. This ID will be
2626
+ # different if the task is deleted and re-created with the same name.
2627
+ # Corresponds to the JSON property `uid`
2628
+ # @return [String]
2629
+ attr_accessor :uid
2630
+
2631
+ # Output only. The time when the task was last updated.
2632
+ # Corresponds to the JSON property `updateTime`
2633
+ # @return [String]
2634
+ attr_accessor :update_time
2635
+
2636
+ def initialize(**args)
2637
+ update!(**args)
2638
+ end
2639
+
2640
+ # Update properties of this object
2641
+ def update!(**args)
2642
+ @create_time = args[:create_time] if args.key?(:create_time)
2643
+ @description = args[:description] if args.key?(:description)
2644
+ @display_name = args[:display_name] if args.key?(:display_name)
2645
+ @execution_spec = args[:execution_spec] if args.key?(:execution_spec)
2646
+ @labels = args[:labels] if args.key?(:labels)
2647
+ @name = args[:name] if args.key?(:name)
2648
+ @spark = args[:spark] if args.key?(:spark)
2649
+ @state = args[:state] if args.key?(:state)
2650
+ @trigger_spec = args[:trigger_spec] if args.key?(:trigger_spec)
2651
+ @uid = args[:uid] if args.key?(:uid)
2652
+ @update_time = args[:update_time] if args.key?(:update_time)
2653
+ end
2654
+ end
2655
+
2656
+ # Execution related settings, like retry and service_account.
2657
+ class GoogleCloudDataplexV1TaskExecutionSpec
2658
+ include Google::Apis::Core::Hashable
2659
+
2660
+ # Optional. The arguments to pass to the task. The args can use placeholders of
2661
+ # the format $`placeholder` as part of key/value string. These will be
2662
+ # interpolated before passing the args to the driver. Currently supported
2663
+ # placeholders: - $`task_id` - $`job_time` To pass positional args, set the key
2664
+ # as TASK_ARGS. The value should be a comma-separated string of all the
2665
+ # positional arguments. To use a delimiter other than comma, refer to https://
2666
+ # cloud.google.com/sdk/gcloud/reference/topic/escaping. In case of other keys
2667
+ # being present in the args, then TASK_ARGS will be passed as the last argument.
2668
+ # Corresponds to the JSON property `args`
2669
+ # @return [Hash<String,String>]
2670
+ attr_accessor :args
2671
+
2672
+ # Optional. The maximum duration after which the job execution is expired.
2673
+ # Corresponds to the JSON property `maxJobExecutionLifetime`
2674
+ # @return [String]
2675
+ attr_accessor :max_job_execution_lifetime
2676
+
2677
+ # Required. Service account to use to execute a task. If not provided, the
2678
+ # default Compute service account for the project is used.
2679
+ # Corresponds to the JSON property `serviceAccount`
2680
+ # @return [String]
2681
+ attr_accessor :service_account
2682
+
2683
+ def initialize(**args)
2684
+ update!(**args)
2685
+ end
2686
+
2687
+ # Update properties of this object
2688
+ def update!(**args)
2689
+ @args = args[:args] if args.key?(:args)
2690
+ @max_job_execution_lifetime = args[:max_job_execution_lifetime] if args.key?(:max_job_execution_lifetime)
2691
+ @service_account = args[:service_account] if args.key?(:service_account)
2692
+ end
2693
+ end
2694
+
2695
+ # Configuration for the underlying infrastructure used to run workloads.
2696
+ class GoogleCloudDataplexV1TaskInfrastructureSpec
2697
+ include Google::Apis::Core::Hashable
2698
+
2699
+ # Batch compute resources associated with the task.
2700
+ # Corresponds to the JSON property `batch`
2701
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1TaskInfrastructureSpecBatchComputeResources]
2702
+ attr_accessor :batch
2703
+
2704
+ # Container Image Runtime Configuration used with Batch execution.
2705
+ # Corresponds to the JSON property `containerImage`
2706
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1TaskInfrastructureSpecContainerImageRuntime]
2707
+ attr_accessor :container_image
2708
+
2709
+ # Cloud VPC Network used to run the infrastructure.
2710
+ # Corresponds to the JSON property `vpcNetwork`
2711
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1TaskInfrastructureSpecVpcNetwork]
2712
+ attr_accessor :vpc_network
2713
+
2714
+ def initialize(**args)
2715
+ update!(**args)
2716
+ end
2717
+
2718
+ # Update properties of this object
2719
+ def update!(**args)
2720
+ @batch = args[:batch] if args.key?(:batch)
2721
+ @container_image = args[:container_image] if args.key?(:container_image)
2722
+ @vpc_network = args[:vpc_network] if args.key?(:vpc_network)
2723
+ end
2724
+ end
2725
+
2726
+ # Batch compute resources associated with the task.
2727
+ class GoogleCloudDataplexV1TaskInfrastructureSpecBatchComputeResources
2728
+ include Google::Apis::Core::Hashable
2729
+
2730
+ # Optional. Total number of job executors.
2731
+ # Corresponds to the JSON property `executorsCount`
2732
+ # @return [Fixnum]
2733
+ attr_accessor :executors_count
2734
+
2735
+ # Optional. Max configurable executors. If max_executors_count > executors_count,
2736
+ # then auto-scaling is enabled.
2737
+ # Corresponds to the JSON property `maxExecutorsCount`
2738
+ # @return [Fixnum]
2739
+ attr_accessor :max_executors_count
2740
+
2741
+ def initialize(**args)
2742
+ update!(**args)
2743
+ end
2744
+
2745
+ # Update properties of this object
2746
+ def update!(**args)
2747
+ @executors_count = args[:executors_count] if args.key?(:executors_count)
2748
+ @max_executors_count = args[:max_executors_count] if args.key?(:max_executors_count)
2749
+ end
2750
+ end
2751
+
2752
+ # Container Image Runtime Configuration used with Batch execution.
2753
+ class GoogleCloudDataplexV1TaskInfrastructureSpecContainerImageRuntime
2754
+ include Google::Apis::Core::Hashable
2755
+
2756
+ # Optional. A list of Java JARS to add to the classpath. Valid input includes
2757
+ # Cloud Storage URIs to Jar binaries. For example, gs://bucket-name/my/path/to/
2758
+ # file.jar
2759
+ # Corresponds to the JSON property `javaJars`
2760
+ # @return [Array<String>]
2761
+ attr_accessor :java_jars
2762
+
2763
+ # Optional. Override to common configuration of open source components installed
2764
+ # on the Dataproc cluster. The properties to set on daemon config files.
2765
+ # Property keys are specified in prefix:property format, for example core:hadoop.
2766
+ # tmp.dir. For more information, see Cluster properties (https://cloud.google.
2767
+ # com/dataproc/docs/concepts/cluster-properties).
2768
+ # Corresponds to the JSON property `properties`
2769
+ # @return [Hash<String,String>]
2770
+ attr_accessor :properties
2771
+
2772
+ # Optional. A list of python packages to be installed. Valid formats include
2773
+ # Cloud Storage URI to a PIP installable library. For example, gs://bucket-name/
2774
+ # my/path/to/lib.tar.gz
2775
+ # Corresponds to the JSON property `pythonPackages`
2776
+ # @return [Array<String>]
2777
+ attr_accessor :python_packages
2778
+
2779
+ def initialize(**args)
2780
+ update!(**args)
2781
+ end
2782
+
2783
+ # Update properties of this object
2784
+ def update!(**args)
2785
+ @java_jars = args[:java_jars] if args.key?(:java_jars)
2786
+ @properties = args[:properties] if args.key?(:properties)
2787
+ @python_packages = args[:python_packages] if args.key?(:python_packages)
2788
+ end
2789
+ end
2790
+
2791
+ # Cloud VPC Network used to run the infrastructure.
2792
+ class GoogleCloudDataplexV1TaskInfrastructureSpecVpcNetwork
2793
+ include Google::Apis::Core::Hashable
2794
+
2795
+ # Optional. The Cloud VPC network in which the job is run. By default, the Cloud
2796
+ # VPC network named Default within the project is used.
2797
+ # Corresponds to the JSON property `network`
2798
+ # @return [String]
2799
+ attr_accessor :network
2800
+
2801
+ # Optional. List of network tags to apply to the job.
2802
+ # Corresponds to the JSON property `networkTags`
2803
+ # @return [Array<String>]
2804
+ attr_accessor :network_tags
2805
+
2806
+ # Optional. The Cloud VPC sub-network in which the job is run.
2807
+ # Corresponds to the JSON property `subNetwork`
2808
+ # @return [String]
2809
+ attr_accessor :sub_network
2810
+
2811
+ def initialize(**args)
2812
+ update!(**args)
2813
+ end
2814
+
2815
+ # Update properties of this object
2816
+ def update!(**args)
2817
+ @network = args[:network] if args.key?(:network)
2818
+ @network_tags = args[:network_tags] if args.key?(:network_tags)
2819
+ @sub_network = args[:sub_network] if args.key?(:sub_network)
2820
+ end
2821
+ end
2822
+
2823
+ # User-specified config for running a Spark task.
2824
+ class GoogleCloudDataplexV1TaskSparkTaskConfig
2825
+ include Google::Apis::Core::Hashable
2826
+
2827
+ # Optional. Cloud Storage URIs of archives to be extracted into the working
2828
+ # directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz,
2829
+ # and .zip.
2830
+ # Corresponds to the JSON property `archiveUris`
2831
+ # @return [Array<String>]
2832
+ attr_accessor :archive_uris
2833
+
2834
+ # Optional. Cloud Storage URIs of files to be placed in the working directory of
2835
+ # each executor.
2836
+ # Corresponds to the JSON property `fileUris`
2837
+ # @return [Array<String>]
2838
+ attr_accessor :file_uris
2839
+
2840
+ # Configuration for the underlying infrastructure used to run workloads.
2841
+ # Corresponds to the JSON property `infrastructureSpec`
2842
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1TaskInfrastructureSpec]
2843
+ attr_accessor :infrastructure_spec
2844
+
2845
+ # The name of the driver's main class. The jar file that contains the class must
2846
+ # be in the default CLASSPATH or specified in jar_file_uris. The execution args
2847
+ # are passed in as a sequence of named process arguments (--key=value).
2848
+ # Corresponds to the JSON property `mainClass`
2849
+ # @return [String]
2850
+ attr_accessor :main_class
2851
+
2852
+ # The Cloud Storage URI of the jar file that contains the main class. The
2853
+ # execution args are passed in as a sequence of named process arguments (--key=
2854
+ # value).
2855
+ # Corresponds to the JSON property `mainJarFileUri`
2856
+ # @return [String]
2857
+ attr_accessor :main_jar_file_uri
2858
+
2859
+ # The Gcloud Storage URI of the main Python file to use as the driver. Must be a
2860
+ # .py file. The execution args are passed in as a sequence of named process
2861
+ # arguments (--key=value).
2862
+ # Corresponds to the JSON property `pythonScriptFile`
2863
+ # @return [String]
2864
+ attr_accessor :python_script_file
2865
+
2866
+ # The query text. The execution args are used to declare a set of script
2867
+ # variables (set key="value";).
2868
+ # Corresponds to the JSON property `sqlScript`
2869
+ # @return [String]
2870
+ attr_accessor :sql_script
2871
+
2872
+ # A reference to a query file. This can be the Cloud Storage URI of the query
2873
+ # file or it can the path to a SqlScript Content. The execution args are used to
2874
+ # declare a set of script variables (set key="value";).
2875
+ # Corresponds to the JSON property `sqlScriptFile`
2876
+ # @return [String]
2877
+ attr_accessor :sql_script_file
2878
+
2879
+ def initialize(**args)
2880
+ update!(**args)
2881
+ end
2882
+
2883
+ # Update properties of this object
2884
+ def update!(**args)
2885
+ @archive_uris = args[:archive_uris] if args.key?(:archive_uris)
2886
+ @file_uris = args[:file_uris] if args.key?(:file_uris)
2887
+ @infrastructure_spec = args[:infrastructure_spec] if args.key?(:infrastructure_spec)
2888
+ @main_class = args[:main_class] if args.key?(:main_class)
2889
+ @main_jar_file_uri = args[:main_jar_file_uri] if args.key?(:main_jar_file_uri)
2890
+ @python_script_file = args[:python_script_file] if args.key?(:python_script_file)
2891
+ @sql_script = args[:sql_script] if args.key?(:sql_script)
2892
+ @sql_script_file = args[:sql_script_file] if args.key?(:sql_script_file)
2893
+ end
2894
+ end
2895
+
2896
+ # Task scheduling and trigger settings.
2897
+ class GoogleCloudDataplexV1TaskTriggerSpec
2898
+ include Google::Apis::Core::Hashable
2899
+
2900
+ # Optional. Prevent the task from executing. This does not cancel already
2901
+ # running tasks. It is intended to temporarily disable RECURRING tasks.
2902
+ # Corresponds to the JSON property `disabled`
2903
+ # @return [Boolean]
2904
+ attr_accessor :disabled
2905
+ alias_method :disabled?, :disabled
2906
+
2907
+ # Optional. Number of retry attempts before aborting. Set to zero to never
2908
+ # attempt to retry a failed task.
2909
+ # Corresponds to the JSON property `maxRetries`
2910
+ # @return [Fixnum]
2911
+ attr_accessor :max_retries
2912
+
2913
+ # Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running tasks
2914
+ # periodically. To explicitly set a timezone to the cron tab, apply a prefix in
2915
+ # the cron tab: "CRON_TZ=$`IANA_TIME_ZONE`" or "TZ=$`IANA_TIME_ZONE`". The $`
2916
+ # IANA_TIME_ZONE` may only be a valid string from IANA time zone database. For
2917
+ # example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * *
2918
+ # *". This field is required for RECURRING tasks.
2919
+ # Corresponds to the JSON property `schedule`
2920
+ # @return [String]
2921
+ attr_accessor :schedule
2922
+
2923
+ # Optional. The first run of the task will be after this time. If not specified,
2924
+ # the task will run shortly after being submitted if ON_DEMAND and based on the
2925
+ # schedule if RECURRING.
2926
+ # Corresponds to the JSON property `startTime`
2927
+ # @return [String]
2928
+ attr_accessor :start_time
2929
+
2930
+ # Required. Immutable. Trigger type of the user-specified Task.
2931
+ # Corresponds to the JSON property `type`
2932
+ # @return [String]
2933
+ attr_accessor :type
2934
+
2935
+ def initialize(**args)
2936
+ update!(**args)
2937
+ end
2938
+
2939
+ # Update properties of this object
2940
+ def update!(**args)
2941
+ @disabled = args[:disabled] if args.key?(:disabled)
2942
+ @max_retries = args[:max_retries] if args.key?(:max_retries)
2943
+ @schedule = args[:schedule] if args.key?(:schedule)
2944
+ @start_time = args[:start_time] if args.key?(:start_time)
2945
+ @type = args[:type] if args.key?(:type)
2946
+ end
2947
+ end
2948
+
2949
+ # A zone represents a logical group of related assets within a lake. A zone can
2950
+ # be used to map to organizational structure or represent stages of data
2951
+ # readiness from raw to curated. It provides managing behavior that is shared or
2952
+ # inherited by all contained assets.
2953
+ class GoogleCloudDataplexV1Zone
2954
+ include Google::Apis::Core::Hashable
2955
+
2956
+ # Aggregated status of the underlying assets of a lake or zone.
2957
+ # Corresponds to the JSON property `assetStatus`
2958
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetStatus]
2959
+ attr_accessor :asset_status
2960
+
2961
+ # Output only. The time when the zone was created.
2962
+ # Corresponds to the JSON property `createTime`
2963
+ # @return [String]
2964
+ attr_accessor :create_time
2965
+
2966
+ # Optional. Description of the zone.
2967
+ # Corresponds to the JSON property `description`
2968
+ # @return [String]
2969
+ attr_accessor :description
2970
+
2971
+ # Settings to manage the metadata discovery and publishing in a zone.
2972
+ # Corresponds to the JSON property `discoverySpec`
2973
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ZoneDiscoverySpec]
2974
+ attr_accessor :discovery_spec
2975
+
2976
+ # Optional. User friendly display name.
2977
+ # Corresponds to the JSON property `displayName`
2978
+ # @return [String]
2979
+ attr_accessor :display_name
2980
+
2981
+ # Optional. User defined labels for the zone.
2982
+ # Corresponds to the JSON property `labels`
2983
+ # @return [Hash<String,String>]
2984
+ attr_accessor :labels
2985
+
2986
+ # Output only. The relative resource name of the zone, of the form: projects/`
2987
+ # project_number`/locations/`location_id`/lakes/`lake_id`/zones/`zone_id`.
2988
+ # Corresponds to the JSON property `name`
2989
+ # @return [String]
2990
+ attr_accessor :name
2991
+
2992
+ # Settings for resources attached as assets within a zone.
2993
+ # Corresponds to the JSON property `resourceSpec`
2994
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ZoneResourceSpec]
2995
+ attr_accessor :resource_spec
2996
+
2997
+ # Output only. Current state of the zone.
2998
+ # Corresponds to the JSON property `state`
2999
+ # @return [String]
3000
+ attr_accessor :state
3001
+
3002
+ # Required. Immutable. The type of the zone.
3003
+ # Corresponds to the JSON property `type`
3004
+ # @return [String]
3005
+ attr_accessor :type
3006
+
3007
+ # Output only. System generated globally unique ID for the zone. This ID will be
3008
+ # different if the zone is deleted and re-created with the same name.
3009
+ # Corresponds to the JSON property `uid`
3010
+ # @return [String]
3011
+ attr_accessor :uid
3012
+
3013
+ # Output only. The time when the zone was last updated.
3014
+ # Corresponds to the JSON property `updateTime`
3015
+ # @return [String]
3016
+ attr_accessor :update_time
3017
+
3018
+ def initialize(**args)
3019
+ update!(**args)
3020
+ end
3021
+
3022
+ # Update properties of this object
3023
+ def update!(**args)
3024
+ @asset_status = args[:asset_status] if args.key?(:asset_status)
3025
+ @create_time = args[:create_time] if args.key?(:create_time)
3026
+ @description = args[:description] if args.key?(:description)
3027
+ @discovery_spec = args[:discovery_spec] if args.key?(:discovery_spec)
3028
+ @display_name = args[:display_name] if args.key?(:display_name)
3029
+ @labels = args[:labels] if args.key?(:labels)
3030
+ @name = args[:name] if args.key?(:name)
3031
+ @resource_spec = args[:resource_spec] if args.key?(:resource_spec)
3032
+ @state = args[:state] if args.key?(:state)
3033
+ @type = args[:type] if args.key?(:type)
3034
+ @uid = args[:uid] if args.key?(:uid)
3035
+ @update_time = args[:update_time] if args.key?(:update_time)
3036
+ end
3037
+ end
3038
+
3039
+ # Settings to manage the metadata discovery and publishing in a zone.
3040
+ class GoogleCloudDataplexV1ZoneDiscoverySpec
3041
+ include Google::Apis::Core::Hashable
3042
+
3043
+ # Describe CSV and similar semi-structured data formats.
3044
+ # Corresponds to the JSON property `csvOptions`
3045
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ZoneDiscoverySpecCsvOptions]
3046
+ attr_accessor :csv_options
3047
+
3048
+ # Required. Whether discovery is enabled.
3049
+ # Corresponds to the JSON property `enabled`
3050
+ # @return [Boolean]
3051
+ attr_accessor :enabled
3052
+ alias_method :enabled?, :enabled
3053
+
3054
+ # Optional. The list of patterns to apply for selecting data to exclude during
3055
+ # discovery. For Cloud Storage bucket assets, these are interpreted as glob
3056
+ # patterns used to match object names. For BigQuery dataset assets, these are
3057
+ # interpreted as patterns to match table names.
3058
+ # Corresponds to the JSON property `excludePatterns`
3059
+ # @return [Array<String>]
3060
+ attr_accessor :exclude_patterns
3061
+
3062
+ # Optional. The list of patterns to apply for selecting data to include during
3063
+ # discovery if only a subset of the data should considered. For Cloud Storage
3064
+ # bucket assets, these are interpreted as glob patterns used to match object
3065
+ # names. For BigQuery dataset assets, these are interpreted as patterns to match
3066
+ # table names.
3067
+ # Corresponds to the JSON property `includePatterns`
3068
+ # @return [Array<String>]
3069
+ attr_accessor :include_patterns
3070
+
3071
+ # Describe JSON data format.
3072
+ # Corresponds to the JSON property `jsonOptions`
3073
+ # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ZoneDiscoverySpecJsonOptions]
3074
+ attr_accessor :json_options
3075
+
3076
+ # Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running
3077
+ # discovery periodically. Successive discovery runs must be scheduled at least
3078
+ # 60 minutes apart. The default value is to run discovery every 60 minutes. To
3079
+ # explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "
3080
+ # CRON_TZ=$`IANA_TIME_ZONE`" or TZ=$`IANA_TIME_ZONE`". The $`IANA_TIME_ZONE` may
3081
+ # only be a valid string from IANA time zone database. For example, "CRON_TZ=
3082
+ # America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *".
3083
+ # Corresponds to the JSON property `schedule`
3084
+ # @return [String]
3085
+ attr_accessor :schedule
3086
+
3087
+ def initialize(**args)
3088
+ update!(**args)
3089
+ end
3090
+
3091
+ # Update properties of this object
3092
+ def update!(**args)
3093
+ @csv_options = args[:csv_options] if args.key?(:csv_options)
3094
+ @enabled = args[:enabled] if args.key?(:enabled)
3095
+ @exclude_patterns = args[:exclude_patterns] if args.key?(:exclude_patterns)
3096
+ @include_patterns = args[:include_patterns] if args.key?(:include_patterns)
3097
+ @json_options = args[:json_options] if args.key?(:json_options)
3098
+ @schedule = args[:schedule] if args.key?(:schedule)
3099
+ end
3100
+ end
3101
+
3102
+ # Describe CSV and similar semi-structured data formats.
3103
+ class GoogleCloudDataplexV1ZoneDiscoverySpecCsvOptions
3104
+ include Google::Apis::Core::Hashable
3105
+
3106
+ # Optional. The delimiter being used to separate values. This defaults to ','.
3107
+ # Corresponds to the JSON property `delimiter`
3108
+ # @return [String]
3109
+ attr_accessor :delimiter
3110
+
3111
+ # Optional. Whether to disable the inference of data type for CSV data. If true,
3112
+ # all columns will be registered as strings.
3113
+ # Corresponds to the JSON property `disableTypeInference`
3114
+ # @return [Boolean]
3115
+ attr_accessor :disable_type_inference
3116
+ alias_method :disable_type_inference?, :disable_type_inference
3117
+
3118
+ # Optional. The character encoding of the data. The default is UTF-8.
3119
+ # Corresponds to the JSON property `encoding`
3120
+ # @return [String]
3121
+ attr_accessor :encoding
3122
+
3123
+ # Optional. The number of rows to interpret as header rows that should be
3124
+ # skipped when reading data rows.
3125
+ # Corresponds to the JSON property `headerRows`
3126
+ # @return [Fixnum]
3127
+ attr_accessor :header_rows
3128
+
3129
+ def initialize(**args)
3130
+ update!(**args)
3131
+ end
3132
+
3133
+ # Update properties of this object
3134
+ def update!(**args)
3135
+ @delimiter = args[:delimiter] if args.key?(:delimiter)
3136
+ @disable_type_inference = args[:disable_type_inference] if args.key?(:disable_type_inference)
3137
+ @encoding = args[:encoding] if args.key?(:encoding)
3138
+ @header_rows = args[:header_rows] if args.key?(:header_rows)
3139
+ end
3140
+ end
3141
+
3142
+ # Describe JSON data format.
3143
+ class GoogleCloudDataplexV1ZoneDiscoverySpecJsonOptions
3144
+ include Google::Apis::Core::Hashable
3145
+
3146
+ # Optional. Whether to disable the inference of data type for Json data. If true,
3147
+ # all columns will be registered as their primitive types (strings, number or
3148
+ # boolean).
3149
+ # Corresponds to the JSON property `disableTypeInference`
3150
+ # @return [Boolean]
3151
+ attr_accessor :disable_type_inference
3152
+ alias_method :disable_type_inference?, :disable_type_inference
3153
+
3154
+ # Optional. The character encoding of the data. The default is UTF-8.
3155
+ # Corresponds to the JSON property `encoding`
3156
+ # @return [String]
3157
+ attr_accessor :encoding
3158
+
3159
+ def initialize(**args)
3160
+ update!(**args)
3161
+ end
3162
+
3163
+ # Update properties of this object
3164
+ def update!(**args)
3165
+ @disable_type_inference = args[:disable_type_inference] if args.key?(:disable_type_inference)
3166
+ @encoding = args[:encoding] if args.key?(:encoding)
3167
+ end
3168
+ end
3169
+
3170
+ # Settings for resources attached as assets within a zone.
3171
+ class GoogleCloudDataplexV1ZoneResourceSpec
3172
+ include Google::Apis::Core::Hashable
3173
+
3174
+ # Required. Immutable. The location type of the resources that are allowed to be
3175
+ # attached to the assets within this zone.
3176
+ # Corresponds to the JSON property `locationType`
3177
+ # @return [String]
3178
+ attr_accessor :location_type
3179
+
3180
+ def initialize(**args)
3181
+ update!(**args)
3182
+ end
3183
+
3184
+ # Update properties of this object
3185
+ def update!(**args)
3186
+ @location_type = args[:location_type] if args.key?(:location_type)
3187
+ end
3188
+ end
3189
+
3190
+ # The response message for Locations.ListLocations.
3191
+ class GoogleCloudLocationListLocationsResponse
3192
+ include Google::Apis::Core::Hashable
3193
+
3194
+ # A list of locations that matches the specified filter in the request.
3195
+ # Corresponds to the JSON property `locations`
3196
+ # @return [Array<Google::Apis::DataplexV1::GoogleCloudLocationLocation>]
3197
+ attr_accessor :locations
3198
+
3199
+ # The standard List next-page token.
3200
+ # Corresponds to the JSON property `nextPageToken`
3201
+ # @return [String]
3202
+ attr_accessor :next_page_token
3203
+
3204
+ def initialize(**args)
3205
+ update!(**args)
3206
+ end
3207
+
3208
+ # Update properties of this object
3209
+ def update!(**args)
3210
+ @locations = args[:locations] if args.key?(:locations)
3211
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3212
+ end
3213
+ end
3214
+
3215
+ # A resource that represents Google Cloud Platform location.
3216
+ class GoogleCloudLocationLocation
3217
+ include Google::Apis::Core::Hashable
3218
+
3219
+ # The friendly name for this location, typically a nearby city name. For example,
3220
+ # "Tokyo".
3221
+ # Corresponds to the JSON property `displayName`
3222
+ # @return [String]
3223
+ attr_accessor :display_name
3224
+
3225
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
3226
+ # region": "us-east1"`
3227
+ # Corresponds to the JSON property `labels`
3228
+ # @return [Hash<String,String>]
3229
+ attr_accessor :labels
3230
+
3231
+ # The canonical id for this location. For example: "us-east1".
3232
+ # Corresponds to the JSON property `locationId`
3233
+ # @return [String]
3234
+ attr_accessor :location_id
3235
+
3236
+ # Service-specific metadata. For example the available capacity at the given
3237
+ # location.
3238
+ # Corresponds to the JSON property `metadata`
3239
+ # @return [Hash<String,Object>]
3240
+ attr_accessor :metadata
3241
+
3242
+ # Resource name for the location, which may vary between implementations. For
3243
+ # example: "projects/example-project/locations/us-east1"
3244
+ # Corresponds to the JSON property `name`
3245
+ # @return [String]
3246
+ attr_accessor :name
3247
+
3248
+ def initialize(**args)
3249
+ update!(**args)
3250
+ end
3251
+
3252
+ # Update properties of this object
3253
+ def update!(**args)
3254
+ @display_name = args[:display_name] if args.key?(:display_name)
3255
+ @labels = args[:labels] if args.key?(:labels)
3256
+ @location_id = args[:location_id] if args.key?(:location_id)
3257
+ @metadata = args[:metadata] if args.key?(:metadata)
3258
+ @name = args[:name] if args.key?(:name)
3259
+ end
3260
+ end
3261
+
3262
+ # Specifies the audit configuration for a service. The configuration determines
3263
+ # which permission types are logged, and what identities, if any, are exempted
3264
+ # from logging. An AuditConfig must have one or more AuditLogConfigs.If there
3265
+ # are AuditConfigs for both allServices and a specific service, the union of the
3266
+ # two AuditConfigs is used for that service: the log_types specified in each
3267
+ # AuditConfig are enabled, and the exempted_members in each AuditLogConfig are
3268
+ # exempted.Example Policy with multiple AuditConfigs: ` "audit_configs": [ ` "
3269
+ # service": "allServices", "audit_log_configs": [ ` "log_type": "DATA_READ", "
3270
+ # exempted_members": [ "user:jose@example.com" ] `, ` "log_type": "DATA_WRITE" `,
3271
+ # ` "log_type": "ADMIN_READ" ` ] `, ` "service": "sampleservice.googleapis.com",
3272
+ # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
3273
+ # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
3274
+ # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
3275
+ # exempts jose@example.com from DATA_READ logging, and aliya@example.com from
3276
+ # DATA_WRITE logging.
3277
+ class GoogleIamV1AuditConfig
3278
+ include Google::Apis::Core::Hashable
3279
+
3280
+ # The configuration for logging of each type of permission.
3281
+ # Corresponds to the JSON property `auditLogConfigs`
3282
+ # @return [Array<Google::Apis::DataplexV1::GoogleIamV1AuditLogConfig>]
3283
+ attr_accessor :audit_log_configs
3284
+
3285
+ # Specifies a service that will be enabled for audit logging. For example,
3286
+ # storage.googleapis.com, cloudsql.googleapis.com. allServices is a special
3287
+ # value that covers all services.
3288
+ # Corresponds to the JSON property `service`
3289
+ # @return [String]
3290
+ attr_accessor :service
3291
+
3292
+ def initialize(**args)
3293
+ update!(**args)
3294
+ end
3295
+
3296
+ # Update properties of this object
3297
+ def update!(**args)
3298
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
3299
+ @service = args[:service] if args.key?(:service)
3300
+ end
3301
+ end
3302
+
3303
+ # Provides the configuration for logging a type of permissions. Example: ` "
3304
+ # audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "user:
3305
+ # jose@example.com" ] `, ` "log_type": "DATA_WRITE" ` ] ` This enables '
3306
+ # DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from
3307
+ # DATA_READ logging.
3308
+ class GoogleIamV1AuditLogConfig
3309
+ include Google::Apis::Core::Hashable
3310
+
3311
+ # Specifies the identities that do not cause logging for this type of permission.
3312
+ # Follows the same format of Binding.members.
3313
+ # Corresponds to the JSON property `exemptedMembers`
3314
+ # @return [Array<String>]
3315
+ attr_accessor :exempted_members
3316
+
3317
+ # The log type that this config enables.
3318
+ # Corresponds to the JSON property `logType`
3319
+ # @return [String]
3320
+ attr_accessor :log_type
3321
+
3322
+ def initialize(**args)
3323
+ update!(**args)
3324
+ end
3325
+
3326
+ # Update properties of this object
3327
+ def update!(**args)
3328
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
3329
+ @log_type = args[:log_type] if args.key?(:log_type)
3330
+ end
3331
+ end
3332
+
3333
+ # Associates members, or principals, with a role.
3334
+ class GoogleIamV1Binding
3335
+ include Google::Apis::Core::Hashable
3336
+
3337
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
3338
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
3339
+ # documented at https://github.com/google/cel-spec.Example (Comparison): title: "
3340
+ # Summary size limit" description: "Determines if a summary is less than 100
3341
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
3342
+ # Requestor is owner" description: "Determines if requestor is the document
3343
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
3344
+ # Logic): title: "Public documents" description: "Determine whether the document
3345
+ # should be publicly visible" expression: "document.type != 'private' &&
3346
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
3347
+ # string" description: "Create a notification string with a timestamp."
3348
+ # expression: "'New message received at ' + string(document.create_time)" The
3349
+ # exact variables and functions that may be referenced within an expression are
3350
+ # determined by the service that evaluates it. See the service documentation for
3351
+ # additional information.
3352
+ # Corresponds to the JSON property `condition`
3353
+ # @return [Google::Apis::DataplexV1::GoogleTypeExpr]
3354
+ attr_accessor :condition
3355
+
3356
+ # Specifies the principals requesting access for a Cloud Platform resource.
3357
+ # members can have the following values: allUsers: A special identifier that
3358
+ # represents anyone who is on the internet; with or without a Google account.
3359
+ # allAuthenticatedUsers: A special identifier that represents anyone who is
3360
+ # authenticated with a Google account or a service account. user:`emailid`: An
3361
+ # email address that represents a specific Google account. For example, alice@
3362
+ # example.com . serviceAccount:`emailid`: An email address that represents a
3363
+ # service account. For example, my-other-app@appspot.gserviceaccount.com. group:`
3364
+ # emailid`: An email address that represents a Google group. For example, admins@
3365
+ # example.com. deleted:user:`emailid`?uid=`uniqueid`: An email address (plus
3366
+ # unique identifier) representing a user that has been recently deleted. For
3367
+ # example, alice@example.com?uid=123456789012345678901. If the user is recovered,
3368
+ # this value reverts to user:`emailid` and the recovered user retains the role
3369
+ # in the binding. deleted:serviceAccount:`emailid`?uid=`uniqueid`: An email
3370
+ # address (plus unique identifier) representing a service account that has been
3371
+ # recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=
3372
+ # 123456789012345678901. If the service account is undeleted, this value reverts
3373
+ # to serviceAccount:`emailid` and the undeleted service account retains the role
3374
+ # in the binding. deleted:group:`emailid`?uid=`uniqueid`: An email address (plus
3375
+ # unique identifier) representing a Google group that has been recently deleted.
3376
+ # For example, admins@example.com?uid=123456789012345678901. If the group is
3377
+ # recovered, this value reverts to group:`emailid` and the recovered group
3378
+ # retains the role in the binding. domain:`domain`: The G Suite domain (primary)
3379
+ # that represents all the users of that domain. For example, google.com or
3380
+ # example.com.
3381
+ # Corresponds to the JSON property `members`
3382
+ # @return [Array<String>]
3383
+ attr_accessor :members
3384
+
3385
+ # Role that is assigned to the list of members, or principals. For example,
3386
+ # roles/viewer, roles/editor, or roles/owner.
3387
+ # Corresponds to the JSON property `role`
3388
+ # @return [String]
3389
+ attr_accessor :role
3390
+
3391
+ def initialize(**args)
3392
+ update!(**args)
3393
+ end
3394
+
3395
+ # Update properties of this object
3396
+ def update!(**args)
3397
+ @condition = args[:condition] if args.key?(:condition)
3398
+ @members = args[:members] if args.key?(:members)
3399
+ @role = args[:role] if args.key?(:role)
3400
+ end
3401
+ end
3402
+
3403
+ # An Identity and Access Management (IAM) policy, which specifies access
3404
+ # controls for Google Cloud resources.A Policy is a collection of bindings. A
3405
+ # binding binds one or more members, or principals, to a single role. Principals
3406
+ # can be user accounts, service accounts, Google groups, and domains (such as G
3407
+ # Suite). A role is a named list of permissions; each role can be an IAM
3408
+ # predefined role or a user-created custom role.For some types of Google Cloud
3409
+ # resources, a binding can also specify a condition, which is a logical
3410
+ # expression that allows access to a resource only if the expression evaluates
3411
+ # to true. A condition can add constraints based on attributes of the request,
3412
+ # the resource, or both. To learn which resources support conditions in their
3413
+ # IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/
3414
+ # conditions/resource-policies).JSON example: ` "bindings": [ ` "role": "roles/
3415
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
3416
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
3417
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
3418
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
3419
+ # title": "expirable access", "description": "Does not grant access after Sep
3420
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
3421
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` YAML example: bindings: - members:
3422
+ # - user:mike@example.com - group:admins@example.com - domain:google.com -
3423
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
3424
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
3425
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
3426
+ # description: Does not grant access after Sep 2020 expression: request.time <
3427
+ # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
3428
+ # description of IAM and its features, see the IAM documentation (https://cloud.
3429
+ # google.com/iam/docs/).
3430
+ class GoogleIamV1Policy
3431
+ include Google::Apis::Core::Hashable
3432
+
3433
+ # Specifies cloud audit logging configuration for this policy.
3434
+ # Corresponds to the JSON property `auditConfigs`
3435
+ # @return [Array<Google::Apis::DataplexV1::GoogleIamV1AuditConfig>]
3436
+ attr_accessor :audit_configs
3437
+
3438
+ # Associates a list of members, or principals, with a role. Optionally, may
3439
+ # specify a condition that determines how and when the bindings are applied.
3440
+ # Each of the bindings must contain at least one principal.The bindings in a
3441
+ # Policy can refer to up to 1,500 principals; up to 250 of these principals can
3442
+ # be Google groups. Each occurrence of a principal counts towards these limits.
3443
+ # For example, if the bindings grant 50 different roles to user:alice@example.
3444
+ # com, and not to any other principal, then you can add another 1,450 principals
3445
+ # to the bindings in the Policy.
3446
+ # Corresponds to the JSON property `bindings`
3447
+ # @return [Array<Google::Apis::DataplexV1::GoogleIamV1Binding>]
3448
+ attr_accessor :bindings
3449
+
3450
+ # etag is used for optimistic concurrency control as a way to help prevent
3451
+ # simultaneous updates of a policy from overwriting each other. It is strongly
3452
+ # suggested that systems make use of the etag in the read-modify-write cycle to
3453
+ # perform policy updates in order to avoid race conditions: An etag is returned
3454
+ # in the response to getIamPolicy, and systems are expected to put that etag in
3455
+ # the request to setIamPolicy to ensure that their change will be applied to the
3456
+ # same version of the policy.Important: If you use IAM Conditions, you must
3457
+ # include the etag field whenever you call setIamPolicy. If you omit this field,
3458
+ # then IAM allows you to overwrite a version 3 policy with a version 1 policy,
3459
+ # and all of the conditions in the version 3 policy are lost.
3460
+ # Corresponds to the JSON property `etag`
3461
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
3462
+ # @return [String]
3463
+ attr_accessor :etag
3464
+
3465
+ # Specifies the format of the policy.Valid values are 0, 1, and 3. Requests that
3466
+ # specify an invalid value are rejected.Any operation that affects conditional
3467
+ # role bindings must specify version 3. This requirement applies to the
3468
+ # following operations: Getting a policy that includes a conditional role
3469
+ # binding Adding a conditional role binding to a policy Changing a conditional
3470
+ # role binding in a policy Removing any role binding, with or without a
3471
+ # condition, from a policy that includes conditionsImportant: If you use IAM
3472
+ # Conditions, you must include the etag field whenever you call setIamPolicy. If
3473
+ # you omit this field, then IAM allows you to overwrite a version 3 policy with
3474
+ # a version 1 policy, and all of the conditions in the version 3 policy are lost.
3475
+ # If a policy does not include any conditions, operations on that policy may
3476
+ # specify any valid version or leave the field unset.To learn which resources
3477
+ # support conditions in their IAM policies, see the IAM documentation (https://
3478
+ # cloud.google.com/iam/help/conditions/resource-policies).
3479
+ # Corresponds to the JSON property `version`
3480
+ # @return [Fixnum]
3481
+ attr_accessor :version
3482
+
3483
+ def initialize(**args)
3484
+ update!(**args)
3485
+ end
3486
+
3487
+ # Update properties of this object
3488
+ def update!(**args)
3489
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
3490
+ @bindings = args[:bindings] if args.key?(:bindings)
3491
+ @etag = args[:etag] if args.key?(:etag)
3492
+ @version = args[:version] if args.key?(:version)
3493
+ end
3494
+ end
3495
+
3496
+ # Request message for SetIamPolicy method.
3497
+ class GoogleIamV1SetIamPolicyRequest
3498
+ include Google::Apis::Core::Hashable
3499
+
3500
+ # An Identity and Access Management (IAM) policy, which specifies access
3501
+ # controls for Google Cloud resources.A Policy is a collection of bindings. A
3502
+ # binding binds one or more members, or principals, to a single role. Principals
3503
+ # can be user accounts, service accounts, Google groups, and domains (such as G
3504
+ # Suite). A role is a named list of permissions; each role can be an IAM
3505
+ # predefined role or a user-created custom role.For some types of Google Cloud
3506
+ # resources, a binding can also specify a condition, which is a logical
3507
+ # expression that allows access to a resource only if the expression evaluates
3508
+ # to true. A condition can add constraints based on attributes of the request,
3509
+ # the resource, or both. To learn which resources support conditions in their
3510
+ # IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/
3511
+ # conditions/resource-policies).JSON example: ` "bindings": [ ` "role": "roles/
3512
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
3513
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
3514
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
3515
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
3516
+ # title": "expirable access", "description": "Does not grant access after Sep
3517
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
3518
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` YAML example: bindings: - members:
3519
+ # - user:mike@example.com - group:admins@example.com - domain:google.com -
3520
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
3521
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
3522
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
3523
+ # description: Does not grant access after Sep 2020 expression: request.time <
3524
+ # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
3525
+ # description of IAM and its features, see the IAM documentation (https://cloud.
3526
+ # google.com/iam/docs/).
3527
+ # Corresponds to the JSON property `policy`
3528
+ # @return [Google::Apis::DataplexV1::GoogleIamV1Policy]
3529
+ attr_accessor :policy
3530
+
3531
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
3532
+ # the fields in the mask will be modified. If no mask is provided, the following
3533
+ # default mask is used:paths: "bindings, etag"
3534
+ # Corresponds to the JSON property `updateMask`
3535
+ # @return [String]
3536
+ attr_accessor :update_mask
3537
+
3538
+ def initialize(**args)
3539
+ update!(**args)
3540
+ end
3541
+
3542
+ # Update properties of this object
3543
+ def update!(**args)
3544
+ @policy = args[:policy] if args.key?(:policy)
3545
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
3546
+ end
3547
+ end
3548
+
3549
+ # Request message for TestIamPermissions method.
3550
+ class GoogleIamV1TestIamPermissionsRequest
3551
+ include Google::Apis::Core::Hashable
3552
+
3553
+ # The set of permissions to check for the resource. Permissions with wildcards (
3554
+ # such as '*' or 'storage.*') are not allowed. For more information see IAM
3555
+ # Overview (https://cloud.google.com/iam/docs/overview#permissions).
3556
+ # Corresponds to the JSON property `permissions`
3557
+ # @return [Array<String>]
3558
+ attr_accessor :permissions
3559
+
3560
+ def initialize(**args)
3561
+ update!(**args)
3562
+ end
3563
+
3564
+ # Update properties of this object
3565
+ def update!(**args)
3566
+ @permissions = args[:permissions] if args.key?(:permissions)
3567
+ end
3568
+ end
3569
+
3570
+ # Response message for TestIamPermissions method.
3571
+ class GoogleIamV1TestIamPermissionsResponse
3572
+ include Google::Apis::Core::Hashable
3573
+
3574
+ # A subset of TestPermissionsRequest.permissions that the caller is allowed.
3575
+ # Corresponds to the JSON property `permissions`
3576
+ # @return [Array<String>]
3577
+ attr_accessor :permissions
3578
+
3579
+ def initialize(**args)
3580
+ update!(**args)
3581
+ end
3582
+
3583
+ # Update properties of this object
3584
+ def update!(**args)
3585
+ @permissions = args[:permissions] if args.key?(:permissions)
3586
+ end
3587
+ end
3588
+
3589
+ # The request message for Operations.CancelOperation.
3590
+ class GoogleLongrunningCancelOperationRequest
3591
+ include Google::Apis::Core::Hashable
3592
+
3593
+ def initialize(**args)
3594
+ update!(**args)
3595
+ end
3596
+
3597
+ # Update properties of this object
3598
+ def update!(**args)
3599
+ end
3600
+ end
3601
+
3602
+ # The response message for Operations.ListOperations.
3603
+ class GoogleLongrunningListOperationsResponse
3604
+ include Google::Apis::Core::Hashable
3605
+
3606
+ # The standard List next-page token.
3607
+ # Corresponds to the JSON property `nextPageToken`
3608
+ # @return [String]
3609
+ attr_accessor :next_page_token
3610
+
3611
+ # A list of operations that matches the specified filter in the request.
3612
+ # Corresponds to the JSON property `operations`
3613
+ # @return [Array<Google::Apis::DataplexV1::GoogleLongrunningOperation>]
3614
+ attr_accessor :operations
3615
+
3616
+ def initialize(**args)
3617
+ update!(**args)
3618
+ end
3619
+
3620
+ # Update properties of this object
3621
+ def update!(**args)
3622
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3623
+ @operations = args[:operations] if args.key?(:operations)
3624
+ end
3625
+ end
3626
+
3627
+ # This resource represents a long-running operation that is the result of a
3628
+ # network API call.
3629
+ class GoogleLongrunningOperation
3630
+ include Google::Apis::Core::Hashable
3631
+
3632
+ # If the value is false, it means the operation is still in progress. If true,
3633
+ # the operation is completed, and either error or response is available.
3634
+ # Corresponds to the JSON property `done`
3635
+ # @return [Boolean]
3636
+ attr_accessor :done
3637
+ alias_method :done?, :done
3638
+
3639
+ # The Status type defines a logical error model that is suitable for different
3640
+ # programming environments, including REST APIs and RPC APIs. It is used by gRPC
3641
+ # (https://github.com/grpc). Each Status message contains three pieces of data:
3642
+ # error code, error message, and error details.You can find out more about this
3643
+ # error model and how to work with it in the API Design Guide (https://cloud.
3644
+ # google.com/apis/design/errors).
3645
+ # Corresponds to the JSON property `error`
3646
+ # @return [Google::Apis::DataplexV1::GoogleRpcStatus]
3647
+ attr_accessor :error
3648
+
3649
+ # Service-specific metadata associated with the operation. It typically contains
3650
+ # progress information and common metadata such as create time. Some services
3651
+ # might not provide such metadata. Any method that returns a long-running
3652
+ # operation should document the metadata type, if any.
3653
+ # Corresponds to the JSON property `metadata`
3654
+ # @return [Hash<String,Object>]
3655
+ attr_accessor :metadata
3656
+
3657
+ # The server-assigned name, which is only unique within the same service that
3658
+ # originally returns it. If you use the default HTTP mapping, the name should be
3659
+ # a resource name ending with operations/`unique_id`.
3660
+ # Corresponds to the JSON property `name`
3661
+ # @return [String]
3662
+ attr_accessor :name
3663
+
3664
+ # The normal response of the operation in case of success. If the original
3665
+ # method returns no data on success, such as Delete, the response is google.
3666
+ # protobuf.Empty. If the original method is standard Get/Create/Update, the
3667
+ # response should be the resource. For other methods, the response should have
3668
+ # the type XxxResponse, where Xxx is the original method name. For example, if
3669
+ # the original method name is TakeSnapshot(), the inferred response type is
3670
+ # TakeSnapshotResponse.
3671
+ # Corresponds to the JSON property `response`
3672
+ # @return [Hash<String,Object>]
3673
+ attr_accessor :response
3674
+
3675
+ def initialize(**args)
3676
+ update!(**args)
3677
+ end
3678
+
3679
+ # Update properties of this object
3680
+ def update!(**args)
3681
+ @done = args[:done] if args.key?(:done)
3682
+ @error = args[:error] if args.key?(:error)
3683
+ @metadata = args[:metadata] if args.key?(:metadata)
3684
+ @name = args[:name] if args.key?(:name)
3685
+ @response = args[:response] if args.key?(:response)
3686
+ end
3687
+ end
3688
+
3689
+ # The Status type defines a logical error model that is suitable for different
3690
+ # programming environments, including REST APIs and RPC APIs. It is used by gRPC
3691
+ # (https://github.com/grpc). Each Status message contains three pieces of data:
3692
+ # error code, error message, and error details.You can find out more about this
3693
+ # error model and how to work with it in the API Design Guide (https://cloud.
3694
+ # google.com/apis/design/errors).
3695
+ class GoogleRpcStatus
3696
+ include Google::Apis::Core::Hashable
3697
+
3698
+ # The status code, which should be an enum value of google.rpc.Code.
3699
+ # Corresponds to the JSON property `code`
3700
+ # @return [Fixnum]
3701
+ attr_accessor :code
3702
+
3703
+ # A list of messages that carry the error details. There is a common set of
3704
+ # message types for APIs to use.
3705
+ # Corresponds to the JSON property `details`
3706
+ # @return [Array<Hash<String,Object>>]
3707
+ attr_accessor :details
3708
+
3709
+ # A developer-facing error message, which should be in English. Any user-facing
3710
+ # error message should be localized and sent in the google.rpc.Status.details
3711
+ # field, or localized by the client.
3712
+ # Corresponds to the JSON property `message`
3713
+ # @return [String]
3714
+ attr_accessor :message
3715
+
3716
+ def initialize(**args)
3717
+ update!(**args)
3718
+ end
3719
+
3720
+ # Update properties of this object
3721
+ def update!(**args)
3722
+ @code = args[:code] if args.key?(:code)
3723
+ @details = args[:details] if args.key?(:details)
3724
+ @message = args[:message] if args.key?(:message)
3725
+ end
3726
+ end
3727
+
3728
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
3729
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
3730
+ # documented at https://github.com/google/cel-spec.Example (Comparison): title: "
3731
+ # Summary size limit" description: "Determines if a summary is less than 100
3732
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
3733
+ # Requestor is owner" description: "Determines if requestor is the document
3734
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
3735
+ # Logic): title: "Public documents" description: "Determine whether the document
3736
+ # should be publicly visible" expression: "document.type != 'private' &&
3737
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
3738
+ # string" description: "Create a notification string with a timestamp."
3739
+ # expression: "'New message received at ' + string(document.create_time)" The
3740
+ # exact variables and functions that may be referenced within an expression are
3741
+ # determined by the service that evaluates it. See the service documentation for
3742
+ # additional information.
3743
+ class GoogleTypeExpr
3744
+ include Google::Apis::Core::Hashable
3745
+
3746
+ # Optional. Description of the expression. This is a longer text which describes
3747
+ # the expression, e.g. when hovered over it in a UI.
3748
+ # Corresponds to the JSON property `description`
3749
+ # @return [String]
3750
+ attr_accessor :description
3751
+
3752
+ # Textual representation of an expression in Common Expression Language syntax.
3753
+ # Corresponds to the JSON property `expression`
3754
+ # @return [String]
3755
+ attr_accessor :expression
3756
+
3757
+ # Optional. String indicating the location of the expression for error reporting,
3758
+ # e.g. a file name and a position in the file.
3759
+ # Corresponds to the JSON property `location`
3760
+ # @return [String]
3761
+ attr_accessor :location
3762
+
3763
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
3764
+ # This can be used e.g. in UIs which allow to enter the expression.
3765
+ # Corresponds to the JSON property `title`
3766
+ # @return [String]
3767
+ attr_accessor :title
3768
+
3769
+ def initialize(**args)
3770
+ update!(**args)
3771
+ end
3772
+
3773
+ # Update properties of this object
3774
+ def update!(**args)
3775
+ @description = args[:description] if args.key?(:description)
3776
+ @expression = args[:expression] if args.key?(:expression)
3777
+ @location = args[:location] if args.key?(:location)
3778
+ @title = args[:title] if args.key?(:title)
3779
+ end
3780
+ end
3781
+ end
3782
+ end
3783
+ end