google-cloud-dataplex-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +149 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +139 -0
  6. data/lib/google/cloud/dataplex/v1/dataplex_service/client.rb +3133 -0
  7. data/lib/google/cloud/dataplex/v1/dataplex_service/credentials.rb +47 -0
  8. data/lib/google/cloud/dataplex/v1/dataplex_service/operations.rb +767 -0
  9. data/lib/google/cloud/dataplex/v1/dataplex_service/paths.rb +157 -0
  10. data/lib/google/cloud/dataplex/v1/dataplex_service.rb +54 -0
  11. data/lib/google/cloud/dataplex/v1/logs_pb.rb +135 -0
  12. data/lib/google/cloud/dataplex/v1/metadata_pb.rb +214 -0
  13. data/lib/google/cloud/dataplex/v1/metadata_service/client.rb +729 -0
  14. data/lib/google/cloud/dataplex/v1/metadata_service/credentials.rb +47 -0
  15. data/lib/google/cloud/dataplex/v1/metadata_service/paths.rb +102 -0
  16. data/lib/google/cloud/dataplex/v1/metadata_service.rb +50 -0
  17. data/lib/google/cloud/dataplex/v1/metadata_services_pb.rb +52 -0
  18. data/lib/google/cloud/dataplex/v1/resources_pb.rb +298 -0
  19. data/lib/google/cloud/dataplex/v1/service_pb.rb +218 -0
  20. data/lib/google/cloud/dataplex/v1/service_services_pb.rb +102 -0
  21. data/lib/google/cloud/dataplex/v1/tasks_pb.rb +133 -0
  22. data/lib/google/cloud/dataplex/v1/version.rb +28 -0
  23. data/lib/google/cloud/dataplex/v1.rb +39 -0
  24. data/lib/google-cloud-dataplex-v1.rb +21 -0
  25. data/proto_docs/README.md +4 -0
  26. data/proto_docs/google/api/field_behavior.rb +71 -0
  27. data/proto_docs/google/api/resource.rb +222 -0
  28. data/proto_docs/google/cloud/dataplex/v1/logs.rb +308 -0
  29. data/proto_docs/google/cloud/dataplex/v1/metadata.rb +533 -0
  30. data/proto_docs/google/cloud/dataplex/v1/resources.rb +821 -0
  31. data/proto_docs/google/cloud/dataplex/v1/service.rb +601 -0
  32. data/proto_docs/google/cloud/dataplex/v1/tasks.rb +349 -0
  33. data/proto_docs/google/longrunning/operations.rb +164 -0
  34. data/proto_docs/google/protobuf/any.rb +141 -0
  35. data/proto_docs/google/protobuf/duration.rb +98 -0
  36. data/proto_docs/google/protobuf/empty.rb +36 -0
  37. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  38. data/proto_docs/google/protobuf/timestamp.rb +129 -0
  39. data/proto_docs/google/rpc/status.rb +46 -0
  40. metadata +231 -0
@@ -0,0 +1,821 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Dataplex
23
+ module V1
24
+ # A lake is a centralized repository for managing enterprise data across the
25
+ # organization distributed across many cloud projects, and stored in a variety
26
+ # of storage services such as Google Cloud Storage and BigQuery. The resources
27
+ # attached to a lake are referred to as managed resources. Data within these
28
+ # managed resources can be structured or unstructured. A lake provides data
29
+ # admins with tools to organize, secure and manage their data at scale, and
30
+ # provides data scientists and data engineers an integrated experience to
31
+ # easily search, discover, analyze and transform data and associated metadata.
32
+ # @!attribute [r] name
33
+ # @return [::String]
34
+ # Output only. The relative resource name of the lake, of the form:
35
+ # `projects/{project_number}/locations/{location_id}/lakes/{lake_id}`.
36
+ # @!attribute [rw] display_name
37
+ # @return [::String]
38
+ # Optional. User friendly display name.
39
+ # @!attribute [r] uid
40
+ # @return [::String]
41
+ # Output only. System generated globally unique ID for the lake. This ID will be
42
+ # different if the lake is deleted and re-created with the same name.
43
+ # @!attribute [r] create_time
44
+ # @return [::Google::Protobuf::Timestamp]
45
+ # Output only. The time when the lake was created.
46
+ # @!attribute [r] update_time
47
+ # @return [::Google::Protobuf::Timestamp]
48
+ # Output only. The time when the lake was last updated.
49
+ # @!attribute [rw] labels
50
+ # @return [::Google::Protobuf::Map{::String => ::String}]
51
+ # Optional. User-defined labels for the lake.
52
+ # @!attribute [rw] description
53
+ # @return [::String]
54
+ # Optional. Description of the lake.
55
+ # @!attribute [r] state
56
+ # @return [::Google::Cloud::Dataplex::V1::State]
57
+ # Output only. Current state of the lake.
58
+ # @!attribute [r] service_account
59
+ # @return [::String]
60
+ # Output only. Service account associated with this lake. This service account must be
61
+ # authorized to access or operate on resources managed by the lake.
62
+ # @!attribute [rw] metastore
63
+ # @return [::Google::Cloud::Dataplex::V1::Lake::Metastore]
64
+ # Optional. Settings to manage lake and Dataproc Metastore service instance
65
+ # association.
66
+ # @!attribute [r] asset_status
67
+ # @return [::Google::Cloud::Dataplex::V1::AssetStatus]
68
+ # Output only. Aggregated status of the underlying assets of the lake.
69
+ # @!attribute [r] metastore_status
70
+ # @return [::Google::Cloud::Dataplex::V1::Lake::MetastoreStatus]
71
+ # Output only. Metastore status of the lake.
72
+ class Lake
73
+ include ::Google::Protobuf::MessageExts
74
+ extend ::Google::Protobuf::MessageExts::ClassMethods
75
+
76
+ # Settings to manage association of Dataproc Metastore with a lake.
77
+ # @!attribute [rw] service
78
+ # @return [::String]
79
+ # Optional. A relative reference to the Dataproc Metastore
80
+ # (https://cloud.google.com/dataproc-metastore/docs) service associated
81
+ # with the lake:
82
+ # `projects/{project_id}/locations/{location_id}/services/{service_id}`
83
+ class Metastore
84
+ include ::Google::Protobuf::MessageExts
85
+ extend ::Google::Protobuf::MessageExts::ClassMethods
86
+ end
87
+
88
+ # Status of Lake and Dataproc Metastore service instance association.
89
+ # @!attribute [rw] state
90
+ # @return [::Google::Cloud::Dataplex::V1::Lake::MetastoreStatus::State]
91
+ # Current state of association.
92
+ # @!attribute [rw] message
93
+ # @return [::String]
94
+ # Additional information about the current status.
95
+ # @!attribute [rw] update_time
96
+ # @return [::Google::Protobuf::Timestamp]
97
+ # Last update time of the metastore status of the lake.
98
+ # @!attribute [rw] endpoint
99
+ # @return [::String]
100
+ # The URI of the endpoint used to access the Metastore service.
101
+ class MetastoreStatus
102
+ include ::Google::Protobuf::MessageExts
103
+ extend ::Google::Protobuf::MessageExts::ClassMethods
104
+
105
+ # Current state of association.
106
+ module State
107
+ # Unspecified.
108
+ STATE_UNSPECIFIED = 0
109
+
110
+ # A Metastore service instance is not associated with the lake.
111
+ NONE = 1
112
+
113
+ # A Metastore service instance is attached to the lake.
114
+ READY = 2
115
+
116
+ # Attach/detach is in progress.
117
+ UPDATING = 3
118
+
119
+ # Attach/detach could not be done due to errors.
120
+ ERROR = 4
121
+ end
122
+ end
123
+
124
+ # @!attribute [rw] key
125
+ # @return [::String]
126
+ # @!attribute [rw] value
127
+ # @return [::String]
128
+ class LabelsEntry
129
+ include ::Google::Protobuf::MessageExts
130
+ extend ::Google::Protobuf::MessageExts::ClassMethods
131
+ end
132
+ end
133
+
134
+ # Aggregated status of the underlying assets of a lake or zone.
135
+ # @!attribute [rw] update_time
136
+ # @return [::Google::Protobuf::Timestamp]
137
+ # Last update time of the status.
138
+ # @!attribute [rw] active_assets
139
+ # @return [::Integer]
140
+ # Number of active assets.
141
+ # @!attribute [rw] security_policy_applying_assets
142
+ # @return [::Integer]
143
+ # Number of assets that are in process of updating the security policy on
144
+ # attached resources.
145
+ class AssetStatus
146
+ include ::Google::Protobuf::MessageExts
147
+ extend ::Google::Protobuf::MessageExts::ClassMethods
148
+ end
149
+
150
+ # A zone represents a logical group of related assets within a lake. A zone can
151
+ # be used to map to organizational structure or represent stages of data
152
+ # readiness from raw to curated. It provides managing behavior that is shared
153
+ # or inherited by all contained assets.
154
+ # @!attribute [r] name
155
+ # @return [::String]
156
+ # Output only. The relative resource name of the zone, of the form:
157
+ # `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}`
158
+ # @!attribute [rw] display_name
159
+ # @return [::String]
160
+ # Optional. User friendly display name.
161
+ # @!attribute [r] uid
162
+ # @return [::String]
163
+ # Output only. System generated globally unique ID for the zone. This ID will be
164
+ # different if the zone is deleted and re-created with the same name.
165
+ # @!attribute [r] create_time
166
+ # @return [::Google::Protobuf::Timestamp]
167
+ # Output only. The time when the zone was created.
168
+ # @!attribute [r] update_time
169
+ # @return [::Google::Protobuf::Timestamp]
170
+ # Output only. The time when the zone was last updated.
171
+ # @!attribute [rw] labels
172
+ # @return [::Google::Protobuf::Map{::String => ::String}]
173
+ # Optional. User defined labels for the zone.
174
+ # @!attribute [rw] description
175
+ # @return [::String]
176
+ # Optional. Description of the zone.
177
+ # @!attribute [r] state
178
+ # @return [::Google::Cloud::Dataplex::V1::State]
179
+ # Output only. Current state of the zone.
180
+ # @!attribute [rw] type
181
+ # @return [::Google::Cloud::Dataplex::V1::Zone::Type]
182
+ # Required. Immutable. The type of the zone.
183
+ # @!attribute [rw] discovery_spec
184
+ # @return [::Google::Cloud::Dataplex::V1::Zone::DiscoverySpec]
185
+ # Optional. Specification of the discovery feature applied to data in this zone.
186
+ # @!attribute [rw] resource_spec
187
+ # @return [::Google::Cloud::Dataplex::V1::Zone::ResourceSpec]
188
+ # Required. Specification of the resources that are referenced by the assets within
189
+ # this zone.
190
+ # @!attribute [r] asset_status
191
+ # @return [::Google::Cloud::Dataplex::V1::AssetStatus]
192
+ # Output only. Aggregated status of the underlying assets of the zone.
193
+ class Zone
194
+ include ::Google::Protobuf::MessageExts
195
+ extend ::Google::Protobuf::MessageExts::ClassMethods
196
+
197
+ # Settings for resources attached as assets within a zone.
198
+ # @!attribute [rw] location_type
199
+ # @return [::Google::Cloud::Dataplex::V1::Zone::ResourceSpec::LocationType]
200
+ # Required. Immutable. The location type of the resources that are allowed to be attached to the
201
+ # assets within this zone.
202
+ class ResourceSpec
203
+ include ::Google::Protobuf::MessageExts
204
+ extend ::Google::Protobuf::MessageExts::ClassMethods
205
+
206
+ # Location type of the resources attached to a zone.
207
+ module LocationType
208
+ # Unspecified location type.
209
+ LOCATION_TYPE_UNSPECIFIED = 0
210
+
211
+ # Resources that are associated with a single region.
212
+ SINGLE_REGION = 1
213
+
214
+ # Resources that are associated with a multi-region location.
215
+ MULTI_REGION = 2
216
+ end
217
+ end
218
+
219
+ # Settings to manage the metadata discovery and publishing in a zone.
220
+ # @!attribute [rw] enabled
221
+ # @return [::Boolean]
222
+ # Required. Whether discovery is enabled.
223
+ # @!attribute [rw] include_patterns
224
+ # @return [::Array<::String>]
225
+ # Optional. The list of patterns to apply for selecting data to include during
226
+ # discovery if only a subset of the data should considered. For Cloud
227
+ # Storage bucket assets, these are interpreted as glob patterns used to
228
+ # match object names. For BigQuery dataset assets, these are
229
+ # interpreted as patterns to match table names.
230
+ # @!attribute [rw] exclude_patterns
231
+ # @return [::Array<::String>]
232
+ # Optional. The list of patterns to apply for selecting data to exclude during
233
+ # discovery. For Cloud Storage bucket assets, these are interpreted as
234
+ # glob patterns used to match object names. For BigQuery dataset assets,
235
+ # these are interpreted as patterns to match table names.
236
+ # @!attribute [rw] csv_options
237
+ # @return [::Google::Cloud::Dataplex::V1::Zone::DiscoverySpec::CsvOptions]
238
+ # Optional. Configuration for CSV data.
239
+ # @!attribute [rw] json_options
240
+ # @return [::Google::Cloud::Dataplex::V1::Zone::DiscoverySpec::JsonOptions]
241
+ # Optional. Configuration for Json data.
242
+ # @!attribute [rw] schedule
243
+ # @return [::String]
244
+ # Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running
245
+ # discovery periodically. Successive discovery runs must be scheduled at
246
+ # least 60 minutes apart.
247
+ # The default value is to run discovery every 60 minutes.
248
+ # To explicitly set a timezone to the cron tab, apply a prefix in the
249
+ # cron tab: "CRON_TZ=$\\{IANA_TIME_ZONE}" or TZ=$\\{IANA_TIME_ZONE}".
250
+ # The $\\{IANA_TIME_ZONE} may only be a valid string from IANA time zone
251
+ # database. For example, "CRON_TZ=America/New_York 1 * * * *", or
252
+ # "TZ=America/New_York 1 * * * *".
253
+ class DiscoverySpec
254
+ include ::Google::Protobuf::MessageExts
255
+ extend ::Google::Protobuf::MessageExts::ClassMethods
256
+
257
+ # Describe CSV and similar semi-structured data formats.
258
+ # @!attribute [rw] header_rows
259
+ # @return [::Integer]
260
+ # Optional. The number of rows to interpret as header rows that should be skipped
261
+ # when reading data rows.
262
+ # @!attribute [rw] delimiter
263
+ # @return [::String]
264
+ # Optional. The delimiter being used to separate values. This defaults to ','.
265
+ # @!attribute [rw] encoding
266
+ # @return [::String]
267
+ # Optional. The character encoding of the data. The default is UTF-8.
268
+ # @!attribute [rw] disable_type_inference
269
+ # @return [::Boolean]
270
+ # Optional. Whether to disable the inference of data type for CSV data.
271
+ # If true, all columns will be registered as strings.
272
+ class CsvOptions
273
+ include ::Google::Protobuf::MessageExts
274
+ extend ::Google::Protobuf::MessageExts::ClassMethods
275
+ end
276
+
277
+ # Describe JSON data format.
278
+ # @!attribute [rw] encoding
279
+ # @return [::String]
280
+ # Optional. The character encoding of the data. The default is UTF-8.
281
+ # @!attribute [rw] disable_type_inference
282
+ # @return [::Boolean]
283
+ # Optional. Whether to disable the inference of data type for Json data.
284
+ # If true, all columns will be registered as their primitive types
285
+ # (strings, number or boolean).
286
+ class JsonOptions
287
+ include ::Google::Protobuf::MessageExts
288
+ extend ::Google::Protobuf::MessageExts::ClassMethods
289
+ end
290
+ end
291
+
292
+ # @!attribute [rw] key
293
+ # @return [::String]
294
+ # @!attribute [rw] value
295
+ # @return [::String]
296
+ class LabelsEntry
297
+ include ::Google::Protobuf::MessageExts
298
+ extend ::Google::Protobuf::MessageExts::ClassMethods
299
+ end
300
+
301
+ # Type of zone.
302
+ module Type
303
+ # Zone type not specified.
304
+ TYPE_UNSPECIFIED = 0
305
+
306
+ # A zone that contains data that needs further processing before it is
307
+ # considered generally ready for consumption and analytics workloads.
308
+ RAW = 1
309
+
310
+ # A zone that contains data that is considered to be ready for broader
311
+ # consumption and analytics workloads. Curated structured data stored in
312
+ # Cloud Storage must conform to certain file formats (parquet, avro and
313
+ # orc) and organized in a hive-compatible directory layout.
314
+ CURATED = 2
315
+ end
316
+ end
317
+
318
+ # Action represents an issue requiring administrator action for resolution.
319
+ # @!attribute [rw] category
320
+ # @return [::Google::Cloud::Dataplex::V1::Action::Category]
321
+ # The category of issue associated with the action.
322
+ # @!attribute [rw] issue
323
+ # @return [::String]
324
+ # Detailed description of the issue requiring action.
325
+ # @!attribute [rw] detect_time
326
+ # @return [::Google::Protobuf::Timestamp]
327
+ # The time that the issue was detected.
328
+ # @!attribute [r] name
329
+ # @return [::String]
330
+ # Output only. The relative resource name of the action, of the form:
331
+ # `projects/{project}/locations/{location}/lakes/{lake}/actions/{action}`
332
+ # `projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/actions/{action}`
333
+ # `projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/assets/{asset}/actions/{action}`.
334
+ # @!attribute [r] lake
335
+ # @return [::String]
336
+ # Output only. The relative resource name of the lake, of the form:
337
+ # `projects/{project_number}/locations/{location_id}/lakes/{lake_id}`.
338
+ # @!attribute [r] zone
339
+ # @return [::String]
340
+ # Output only. The relative resource name of the zone, of the form:
341
+ # `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}`.
342
+ # @!attribute [r] asset
343
+ # @return [::String]
344
+ # Output only. The relative resource name of the asset, of the form:
345
+ # `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}`.
346
+ # @!attribute [rw] data_locations
347
+ # @return [::Array<::String>]
348
+ # The list of data locations associated with this action. Cloud Storage
349
+ # locations are represented as URI paths(E.g.
350
+ # `gs://bucket/table1/year=2020/month=Jan/`). BigQuery locations refer to
351
+ # resource names(E.g.
352
+ # `bigquery.googleapis.com/projects/project-id/datasets/dataset-id`).
353
+ # @!attribute [rw] invalid_data_format
354
+ # @return [::Google::Cloud::Dataplex::V1::Action::InvalidDataFormat]
355
+ # Details for issues related to invalid or unsupported data formats.
356
+ # @!attribute [rw] incompatible_data_schema
357
+ # @return [::Google::Cloud::Dataplex::V1::Action::IncompatibleDataSchema]
358
+ # Details for issues related to incompatible schemas detected within data.
359
+ # @!attribute [rw] invalid_data_partition
360
+ # @return [::Google::Cloud::Dataplex::V1::Action::InvalidDataPartition]
361
+ # Details for issues related to invalid or unsupported data partition
362
+ # structure.
363
+ # @!attribute [rw] missing_data
364
+ # @return [::Google::Cloud::Dataplex::V1::Action::MissingData]
365
+ # Details for issues related to absence of data within managed resources.
366
+ # @!attribute [rw] missing_resource
367
+ # @return [::Google::Cloud::Dataplex::V1::Action::MissingResource]
368
+ # Details for issues related to absence of a managed resource.
369
+ # @!attribute [rw] unauthorized_resource
370
+ # @return [::Google::Cloud::Dataplex::V1::Action::UnauthorizedResource]
371
+ # Details for issues related to lack of permissions to access data
372
+ # resources.
373
+ # @!attribute [rw] failed_security_policy_apply
374
+ # @return [::Google::Cloud::Dataplex::V1::Action::FailedSecurityPolicyApply]
375
+ # Details for issues related to applying security policy.
376
+ # @!attribute [rw] invalid_data_organization
377
+ # @return [::Google::Cloud::Dataplex::V1::Action::InvalidDataOrganization]
378
+ # Details for issues related to invalid data arrangement.
379
+ class Action
380
+ include ::Google::Protobuf::MessageExts
381
+ extend ::Google::Protobuf::MessageExts::ClassMethods
382
+
383
+ # Action details for resource references in assets that cannot be located.
384
+ class MissingResource
385
+ include ::Google::Protobuf::MessageExts
386
+ extend ::Google::Protobuf::MessageExts::ClassMethods
387
+ end
388
+
389
+ # Action details for unauthorized resource issues raised to indicate that the
390
+ # service account associated with the lake instance is not authorized to
391
+ # access or manage the resource associated with an asset.
392
+ class UnauthorizedResource
393
+ include ::Google::Protobuf::MessageExts
394
+ extend ::Google::Protobuf::MessageExts::ClassMethods
395
+ end
396
+
397
+ # Failed to apply security policy to the managed resource(s) under a
398
+ # lake, zone or an asset. For a lake or zone resource, one or more underlying
399
+ # assets has a failure applying security policy to the associated managed
400
+ # resource.
401
+ # @!attribute [rw] asset
402
+ # @return [::String]
403
+ # Resource name of one of the assets with failing security policy
404
+ # application. Populated for a lake or zone resource only.
405
+ class FailedSecurityPolicyApply
406
+ include ::Google::Protobuf::MessageExts
407
+ extend ::Google::Protobuf::MessageExts::ClassMethods
408
+ end
409
+
410
+ # Action details for invalid or unsupported data files detected by discovery.
411
+ # @!attribute [rw] sampled_data_locations
412
+ # @return [::Array<::String>]
413
+ # The list of data locations sampled and used for format/schema
414
+ # inference.
415
+ # @!attribute [rw] expected_format
416
+ # @return [::String]
417
+ # The expected data format of the entity.
418
+ # @!attribute [rw] new_format
419
+ # @return [::String]
420
+ # The new unexpected data format within the entity.
421
+ class InvalidDataFormat
422
+ include ::Google::Protobuf::MessageExts
423
+ extend ::Google::Protobuf::MessageExts::ClassMethods
424
+ end
425
+
426
+ # Action details for incompatible schemas detected by discovery.
427
+ # @!attribute [rw] table
428
+ # @return [::String]
429
+ # The name of the table containing invalid data.
430
+ # @!attribute [rw] existing_schema
431
+ # @return [::String]
432
+ # The existing and expected schema of the table. The schema is provided as
433
+ # a JSON formatted structure listing columns and data types.
434
+ # @!attribute [rw] new_schema
435
+ # @return [::String]
436
+ # The new and incompatible schema within the table. The schema is provided
437
+ # as a JSON formatted structured listing columns and data types.
438
+ # @!attribute [rw] sampled_data_locations
439
+ # @return [::Array<::String>]
440
+ # The list of data locations sampled and used for format/schema
441
+ # inference.
442
+ # @!attribute [rw] schema_change
443
+ # @return [::Google::Cloud::Dataplex::V1::Action::IncompatibleDataSchema::SchemaChange]
444
+ # Whether the action relates to a schema that is incompatible or modified.
445
+ class IncompatibleDataSchema
446
+ include ::Google::Protobuf::MessageExts
447
+ extend ::Google::Protobuf::MessageExts::ClassMethods
448
+
449
+ # Whether the action relates to a schema that is incompatible or modified.
450
+ module SchemaChange
451
+ # Schema change unspecified.
452
+ SCHEMA_CHANGE_UNSPECIFIED = 0
453
+
454
+ # Newly discovered schema is incompatible with existing schema.
455
+ INCOMPATIBLE = 1
456
+
457
+ # Newly discovered schema has changed from existing schema for data in a
458
+ # curated zone.
459
+ MODIFIED = 2
460
+ end
461
+ end
462
+
463
+ # Action details for invalid or unsupported partitions detected by discovery.
464
+ # @!attribute [rw] expected_structure
465
+ # @return [::Google::Cloud::Dataplex::V1::Action::InvalidDataPartition::PartitionStructure]
466
+ # The issue type of InvalidDataPartition.
467
+ class InvalidDataPartition
468
+ include ::Google::Protobuf::MessageExts
469
+ extend ::Google::Protobuf::MessageExts::ClassMethods
470
+
471
+ # The expected partition structure.
472
+ module PartitionStructure
473
+ # PartitionStructure unspecified.
474
+ PARTITION_STRUCTURE_UNSPECIFIED = 0
475
+
476
+ # Consistent hive-style partition definition (both raw and curated zone).
477
+ CONSISTENT_KEYS = 1
478
+
479
+ # Hive style partition definition (curated zone only).
480
+ HIVE_STYLE_KEYS = 2
481
+ end
482
+ end
483
+
484
+ # Action details for absence of data detected by discovery.
485
+ class MissingData
486
+ include ::Google::Protobuf::MessageExts
487
+ extend ::Google::Protobuf::MessageExts::ClassMethods
488
+ end
489
+
490
+ # Action details for invalid data arrangement.
491
+ class InvalidDataOrganization
492
+ include ::Google::Protobuf::MessageExts
493
+ extend ::Google::Protobuf::MessageExts::ClassMethods
494
+ end
495
+
496
+ # The category of issues.
497
+ module Category
498
+ # Unspecified category.
499
+ CATEGORY_UNSPECIFIED = 0
500
+
501
+ # Resource management related issues.
502
+ RESOURCE_MANAGEMENT = 1
503
+
504
+ # Security policy related issues.
505
+ SECURITY_POLICY = 2
506
+
507
+ # Data and discovery related issues.
508
+ DATA_DISCOVERY = 3
509
+ end
510
+ end
511
+
512
+ # An asset represents a cloud resource that is being managed within a lake as a
513
+ # member of a zone.
514
+ # @!attribute [r] name
515
+ # @return [::String]
516
+ # Output only. The relative resource name of the asset, of the form:
517
+ # `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}`.
518
+ # @!attribute [rw] display_name
519
+ # @return [::String]
520
+ # Optional. User friendly display name.
521
+ # @!attribute [r] uid
522
+ # @return [::String]
523
+ # Output only. System generated globally unique ID for the asset. This ID will be
524
+ # different if the asset is deleted and re-created with the same name.
525
+ # @!attribute [r] create_time
526
+ # @return [::Google::Protobuf::Timestamp]
527
+ # Output only. The time when the asset was created.
528
+ # @!attribute [r] update_time
529
+ # @return [::Google::Protobuf::Timestamp]
530
+ # Output only. The time when the asset was last updated.
531
+ # @!attribute [rw] labels
532
+ # @return [::Google::Protobuf::Map{::String => ::String}]
533
+ # Optional. User defined labels for the asset.
534
+ # @!attribute [rw] description
535
+ # @return [::String]
536
+ # Optional. Description of the asset.
537
+ # @!attribute [r] state
538
+ # @return [::Google::Cloud::Dataplex::V1::State]
539
+ # Output only. Current state of the asset.
540
+ # @!attribute [rw] resource_spec
541
+ # @return [::Google::Cloud::Dataplex::V1::Asset::ResourceSpec]
542
+ # Required. Specification of the resource that is referenced by this asset.
543
+ # @!attribute [r] resource_status
544
+ # @return [::Google::Cloud::Dataplex::V1::Asset::ResourceStatus]
545
+ # Output only. Status of the resource referenced by this asset.
546
+ # @!attribute [r] security_status
547
+ # @return [::Google::Cloud::Dataplex::V1::Asset::SecurityStatus]
548
+ # Output only. Status of the security policy applied to resource referenced by this asset.
549
+ # @!attribute [rw] discovery_spec
550
+ # @return [::Google::Cloud::Dataplex::V1::Asset::DiscoverySpec]
551
+ # Optional. Specification of the discovery feature applied to data referenced by this
552
+ # asset.
553
+ # When this spec is left unset, the asset will use the spec set on the parent
554
+ # zone.
555
+ # @!attribute [r] discovery_status
556
+ # @return [::Google::Cloud::Dataplex::V1::Asset::DiscoveryStatus]
557
+ # Output only. Status of the discovery feature applied to data referenced by this asset.
558
+ class Asset
559
+ include ::Google::Protobuf::MessageExts
560
+ extend ::Google::Protobuf::MessageExts::ClassMethods
561
+
562
+ # Security policy status of the asset. Data security policy, i.e., readers,
563
+ # writers & owners, should be specified in the lake/zone/asset IAM policy.
564
+ # @!attribute [rw] state
565
+ # @return [::Google::Cloud::Dataplex::V1::Asset::SecurityStatus::State]
566
+ # The current state of the security policy applied to the attached
567
+ # resource.
568
+ # @!attribute [rw] message
569
+ # @return [::String]
570
+ # Additional information about the current state.
571
+ # @!attribute [rw] update_time
572
+ # @return [::Google::Protobuf::Timestamp]
573
+ # Last update time of the status.
574
+ class SecurityStatus
575
+ include ::Google::Protobuf::MessageExts
576
+ extend ::Google::Protobuf::MessageExts::ClassMethods
577
+
578
+ # The state of the security policy.
579
+ module State
580
+ # State unspecified.
581
+ STATE_UNSPECIFIED = 0
582
+
583
+ # Security policy has been successfully applied to the attached resource.
584
+ READY = 1
585
+
586
+ # Security policy is in the process of being applied to the attached
587
+ # resource.
588
+ APPLYING = 2
589
+
590
+ # Security policy could not be applied to the attached resource due to
591
+ # errors.
592
+ ERROR = 3
593
+ end
594
+ end
595
+
596
+ # Settings to manage the metadata discovery and publishing for an asset.
597
+ # @!attribute [rw] enabled
598
+ # @return [::Boolean]
599
+ # Optional. Whether discovery is enabled.
600
+ # @!attribute [rw] include_patterns
601
+ # @return [::Array<::String>]
602
+ # Optional. The list of patterns to apply for selecting data to include during
603
+ # discovery if only a subset of the data should considered. For Cloud
604
+ # Storage bucket assets, these are interpreted as glob patterns used to
605
+ # match object names. For BigQuery dataset assets, these are interpreted as
606
+ # patterns to match table names.
607
+ # @!attribute [rw] exclude_patterns
608
+ # @return [::Array<::String>]
609
+ # Optional. The list of patterns to apply for selecting data to exclude during
610
+ # discovery. For Cloud Storage bucket assets, these are interpreted as
611
+ # glob patterns used to match object names. For BigQuery dataset assets,
612
+ # these are interpreted as patterns to match table names.
613
+ # @!attribute [rw] csv_options
614
+ # @return [::Google::Cloud::Dataplex::V1::Asset::DiscoverySpec::CsvOptions]
615
+ # Optional. Configuration for CSV data.
616
+ # @!attribute [rw] json_options
617
+ # @return [::Google::Cloud::Dataplex::V1::Asset::DiscoverySpec::JsonOptions]
618
+ # Optional. Configuration for Json data.
619
+ # @!attribute [rw] schedule
620
+ # @return [::String]
621
+ # Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running
622
+ # discovery periodically. Successive discovery runs must be scheduled at
623
+ # least 60 minutes apart.
624
+ # The default value is to run discovery every 60 minutes.
625
+ # To explicitly set a timezone to the cron tab, apply a prefix in the
626
+ # cron tab: "CRON_TZ=$\\{IANA_TIME_ZONE}" or TZ=$\\{IANA_TIME_ZONE}".
627
+ # The $\\{IANA_TIME_ZONE} may only be a valid string from IANA time zone
628
+ # database. For example, "CRON_TZ=America/New_York 1 * * * *", or
629
+ # "TZ=America/New_York 1 * * * *".
630
+ class DiscoverySpec
631
+ include ::Google::Protobuf::MessageExts
632
+ extend ::Google::Protobuf::MessageExts::ClassMethods
633
+
634
+ # Describe CSV and similar semi-structured data formats.
635
+ # @!attribute [rw] header_rows
636
+ # @return [::Integer]
637
+ # Optional. The number of rows to interpret as header rows that should be skipped
638
+ # when reading data rows.
639
+ # @!attribute [rw] delimiter
640
+ # @return [::String]
641
+ # Optional. The delimiter being used to separate values. This defaults to ','.
642
+ # @!attribute [rw] encoding
643
+ # @return [::String]
644
+ # Optional. The character encoding of the data. The default is UTF-8.
645
+ # @!attribute [rw] disable_type_inference
646
+ # @return [::Boolean]
647
+ # Optional. Whether to disable the inference of data type for CSV data.
648
+ # If true, all columns will be registered as strings.
649
+ class CsvOptions
650
+ include ::Google::Protobuf::MessageExts
651
+ extend ::Google::Protobuf::MessageExts::ClassMethods
652
+ end
653
+
654
+ # Describe JSON data format.
655
+ # @!attribute [rw] encoding
656
+ # @return [::String]
657
+ # Optional. The character encoding of the data. The default is UTF-8.
658
+ # @!attribute [rw] disable_type_inference
659
+ # @return [::Boolean]
660
+ # Optional. Whether to disable the inference of data type for Json data.
661
+ # If true, all columns will be registered as their primitive types
662
+ # (strings, number or boolean).
663
+ class JsonOptions
664
+ include ::Google::Protobuf::MessageExts
665
+ extend ::Google::Protobuf::MessageExts::ClassMethods
666
+ end
667
+ end
668
+
669
+ # Identifies the cloud resource that is referenced by this asset.
670
+ # @!attribute [rw] name
671
+ # @return [::String]
672
+ # Immutable. Relative name of the cloud resource that contains the data that is
673
+ # being managed within a lake. For example:
674
+ # `projects/{project_number}/buckets/{bucket_id}`
675
+ # `projects/{project_number}/datasets/{dataset_id}`
676
+ # If the creation policy indicates ATTACH behavior, then an existing
677
+ # resource must be provided.
678
+ # If the policy indicates CREATE behavior, new resource will be created
679
+ # with the given name.However if it is empty, then the resource will be
680
+ # created using \\{asset_id}-\\{UUID} template for name.
681
+ # The location of the referenced resource must always match that of the
682
+ # asset.
683
+ # @!attribute [rw] type
684
+ # @return [::Google::Cloud::Dataplex::V1::Asset::ResourceSpec::Type]
685
+ # Required. Immutable. Type of resource.
686
+ class ResourceSpec
687
+ include ::Google::Protobuf::MessageExts
688
+ extend ::Google::Protobuf::MessageExts::ClassMethods
689
+
690
+ # Type of resource.
691
+ module Type
692
+ # Type not specified.
693
+ TYPE_UNSPECIFIED = 0
694
+
695
+ # Cloud Storage bucket.
696
+ STORAGE_BUCKET = 1
697
+
698
+ # BigQuery dataset.
699
+ BIGQUERY_DATASET = 2
700
+ end
701
+ end
702
+
703
+ # Status of the resource referenced by an asset.
704
+ # @!attribute [rw] state
705
+ # @return [::Google::Cloud::Dataplex::V1::Asset::ResourceStatus::State]
706
+ # The current state of the managed resource.
707
+ # @!attribute [rw] message
708
+ # @return [::String]
709
+ # Additional information about the current state.
710
+ # @!attribute [rw] update_time
711
+ # @return [::Google::Protobuf::Timestamp]
712
+ # Last update time of the status.
713
+ class ResourceStatus
714
+ include ::Google::Protobuf::MessageExts
715
+ extend ::Google::Protobuf::MessageExts::ClassMethods
716
+
717
+ # The state of a resource.
718
+ module State
719
+ # State unspecified.
720
+ STATE_UNSPECIFIED = 0
721
+
722
+ # Resource does not have any errors.
723
+ READY = 1
724
+
725
+ # Resource has errors.
726
+ ERROR = 2
727
+ end
728
+ end
729
+
730
+ # Status of discovery for an asset.
731
+ # @!attribute [rw] state
732
+ # @return [::Google::Cloud::Dataplex::V1::Asset::DiscoveryStatus::State]
733
+ # The current status of the discovery feature.
734
+ # @!attribute [rw] message
735
+ # @return [::String]
736
+ # Additional information about the current state.
737
+ # @!attribute [rw] update_time
738
+ # @return [::Google::Protobuf::Timestamp]
739
+ # Last update time of the status.
740
+ # @!attribute [rw] last_run_time
741
+ # @return [::Google::Protobuf::Timestamp]
742
+ # The start time of the last discovery run.
743
+ # @!attribute [rw] stats
744
+ # @return [::Google::Cloud::Dataplex::V1::Asset::DiscoveryStatus::Stats]
745
+ # Data Stats of the asset reported by discovery.
746
+ # @!attribute [rw] last_run_duration
747
+ # @return [::Google::Protobuf::Duration]
748
+ # The duration of the last discovery run.
749
+ class DiscoveryStatus
750
+ include ::Google::Protobuf::MessageExts
751
+ extend ::Google::Protobuf::MessageExts::ClassMethods
752
+
753
+ # The aggregated data statistics for the asset reported by discovery.
754
+ # @!attribute [rw] data_items
755
+ # @return [::Integer]
756
+ # The count of data items within the referenced resource.
757
+ # @!attribute [rw] data_size
758
+ # @return [::Integer]
759
+ # The number of stored data bytes within the referenced resource.
760
+ # @!attribute [rw] tables
761
+ # @return [::Integer]
762
+ # The count of table entities within the referenced resource.
763
+ # @!attribute [rw] filesets
764
+ # @return [::Integer]
765
+ # The count of fileset entities within the referenced resource.
766
+ class Stats
767
+ include ::Google::Protobuf::MessageExts
768
+ extend ::Google::Protobuf::MessageExts::ClassMethods
769
+ end
770
+
771
+ # Current state of discovery.
772
+ module State
773
+ # State is unspecified.
774
+ STATE_UNSPECIFIED = 0
775
+
776
+ # Discovery for the asset is scheduled.
777
+ SCHEDULED = 1
778
+
779
+ # Discovery for the asset is running.
780
+ IN_PROGRESS = 2
781
+
782
+ # Discovery for the asset is currently paused (e.g. due to a lack
783
+ # of available resources). It will be automatically resumed.
784
+ PAUSED = 3
785
+
786
+ # Discovery for the asset is disabled.
787
+ DISABLED = 5
788
+ end
789
+ end
790
+
791
+ # @!attribute [rw] key
792
+ # @return [::String]
793
+ # @!attribute [rw] value
794
+ # @return [::String]
795
+ class LabelsEntry
796
+ include ::Google::Protobuf::MessageExts
797
+ extend ::Google::Protobuf::MessageExts::ClassMethods
798
+ end
799
+ end
800
+
801
+ # State of a resource.
802
+ module State
803
+ # State is not specified.
804
+ STATE_UNSPECIFIED = 0
805
+
806
+ # Resource is active, i.e., ready to use.
807
+ ACTIVE = 1
808
+
809
+ # Resource is under creation.
810
+ CREATING = 2
811
+
812
+ # Resource is under deletion.
813
+ DELETING = 3
814
+
815
+ # Resource is active but has unresolved actions.
816
+ ACTION_REQUIRED = 4
817
+ end
818
+ end
819
+ end
820
+ end
821
+ end