google-cloud-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.
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