google-apis-datacatalog_v1beta1 0.28.0 → 0.30.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -215,21 +215,26 @@ module Google
215
215
  end
216
216
  end
217
217
 
218
- # Metadata message for long-running operation returned by the ImportEntries.
219
- class GoogleCloudDatacatalogV1ImportEntriesMetadata
218
+ # Specification for the BigQuery connection.
219
+ class GoogleCloudDatacatalogV1BigQueryConnectionSpec
220
220
  include Google::Apis::Core::Hashable
221
221
 
222
- # Partial errors that are encountered during the ImportEntries operation. There
223
- # is no guarantee that all the encountered errors are reported. However, if no
224
- # errors are reported, it means that no errors were encountered.
225
- # Corresponds to the JSON property `errors`
226
- # @return [Array<Google::Apis::DatacatalogV1beta1::Status>]
227
- attr_accessor :errors
222
+ # Specification for the BigQuery connection to a Cloud SQL instance.
223
+ # Corresponds to the JSON property `cloudSql`
224
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1CloudSqlBigQueryConnectionSpec]
225
+ attr_accessor :cloud_sql
228
226
 
229
- # State of the import operation.
230
- # Corresponds to the JSON property `state`
227
+ # The type of the BigQuery connection.
228
+ # Corresponds to the JSON property `connectionType`
231
229
  # @return [String]
232
- attr_accessor :state
230
+ attr_accessor :connection_type
231
+
232
+ # True if there are credentials attached to the BigQuery connection; false
233
+ # otherwise.
234
+ # Corresponds to the JSON property `hasCredential`
235
+ # @return [Boolean]
236
+ attr_accessor :has_credential
237
+ alias_method :has_credential?, :has_credential
233
238
 
234
239
  def initialize(**args)
235
240
  update!(**args)
@@ -237,25 +242,42 @@ module Google
237
242
 
238
243
  # Update properties of this object
239
244
  def update!(**args)
240
- @errors = args[:errors] if args.key?(:errors)
241
- @state = args[:state] if args.key?(:state)
245
+ @cloud_sql = args[:cloud_sql] if args.key?(:cloud_sql)
246
+ @connection_type = args[:connection_type] if args.key?(:connection_type)
247
+ @has_credential = args[:has_credential] if args.key?(:has_credential)
242
248
  end
243
249
  end
244
250
 
245
- # Response message for long-running operation returned by the ImportEntries.
246
- class GoogleCloudDatacatalogV1ImportEntriesResponse
251
+ # Specification for a group of BigQuery tables with the `[prefix]YYYYMMDD` name
252
+ # pattern. For more information, see [Introduction to partitioned tables] (https:
253
+ # //cloud.google.com/bigquery/docs/partitioned-tables#
254
+ # partitioning_versus_sharding).
255
+ class GoogleCloudDatacatalogV1BigQueryDateShardedSpec
247
256
  include Google::Apis::Core::Hashable
248
257
 
249
- # Number of entries deleted as a result of import operation.
250
- # Corresponds to the JSON property `deletedEntriesCount`
251
- # @return [Fixnum]
252
- attr_accessor :deleted_entries_count
258
+ # Output only. The Data Catalog resource name of the dataset entry the current
259
+ # table belongs to. For example: `projects/`PROJECT_ID`/locations/`LOCATION`/
260
+ # entrygroups/`ENTRY_GROUP_ID`/entries/`ENTRY_ID``.
261
+ # Corresponds to the JSON property `dataset`
262
+ # @return [String]
263
+ attr_accessor :dataset
253
264
 
254
- # Cumulative number of entries created and entries updated as a result of import
255
- # operation.
256
- # Corresponds to the JSON property `upsertedEntriesCount`
265
+ # Output only. BigQuery resource name of the latest shard.
266
+ # Corresponds to the JSON property `latestShardResource`
267
+ # @return [String]
268
+ attr_accessor :latest_shard_resource
269
+
270
+ # Output only. Total number of shards.
271
+ # Corresponds to the JSON property `shardCount`
257
272
  # @return [Fixnum]
258
- attr_accessor :upserted_entries_count
273
+ attr_accessor :shard_count
274
+
275
+ # Output only. The table name prefix of the shards. The name of any given shard
276
+ # is `[table_prefix]YYYYMMDD`. For example, for the `MyTable20180101` shard, the
277
+ # `table_prefix` is `MyTable`.
278
+ # Corresponds to the JSON property `tablePrefix`
279
+ # @return [String]
280
+ attr_accessor :table_prefix
259
281
 
260
282
  def initialize(**args)
261
283
  update!(**args)
@@ -263,25 +285,50 @@ module Google
263
285
 
264
286
  # Update properties of this object
265
287
  def update!(**args)
266
- @deleted_entries_count = args[:deleted_entries_count] if args.key?(:deleted_entries_count)
267
- @upserted_entries_count = args[:upserted_entries_count] if args.key?(:upserted_entries_count)
288
+ @dataset = args[:dataset] if args.key?(:dataset)
289
+ @latest_shard_resource = args[:latest_shard_resource] if args.key?(:latest_shard_resource)
290
+ @shard_count = args[:shard_count] if args.key?(:shard_count)
291
+ @table_prefix = args[:table_prefix] if args.key?(:table_prefix)
268
292
  end
269
293
  end
270
294
 
271
- # Long-running operation metadata message returned by the ReconcileTags.
272
- class GoogleCloudDatacatalogV1ReconcileTagsMetadata
295
+ # Fields specific for BigQuery routines.
296
+ class GoogleCloudDatacatalogV1BigQueryRoutineSpec
273
297
  include Google::Apis::Core::Hashable
274
298
 
275
- # Maps the name of each tagged column (or empty string for a sole entry) to
276
- # tagging operation status.
277
- # Corresponds to the JSON property `errors`
278
- # @return [Hash<String,Google::Apis::DatacatalogV1beta1::Status>]
279
- attr_accessor :errors
299
+ # Paths of the imported libraries.
300
+ # Corresponds to the JSON property `importedLibraries`
301
+ # @return [Array<String>]
302
+ attr_accessor :imported_libraries
280
303
 
281
- # State of the reconciliation operation.
282
- # Corresponds to the JSON property `state`
304
+ def initialize(**args)
305
+ update!(**args)
306
+ end
307
+
308
+ # Update properties of this object
309
+ def update!(**args)
310
+ @imported_libraries = args[:imported_libraries] if args.key?(:imported_libraries)
311
+ end
312
+ end
313
+
314
+ # Describes a BigQuery table.
315
+ class GoogleCloudDatacatalogV1BigQueryTableSpec
316
+ include Google::Apis::Core::Hashable
317
+
318
+ # Output only. The table source type.
319
+ # Corresponds to the JSON property `tableSourceType`
283
320
  # @return [String]
284
- attr_accessor :state
321
+ attr_accessor :table_source_type
322
+
323
+ # Normal BigQuery table specification.
324
+ # Corresponds to the JSON property `tableSpec`
325
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1TableSpec]
326
+ attr_accessor :table_spec
327
+
328
+ # Table view specification.
329
+ # Corresponds to the JSON property `viewSpec`
330
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1ViewSpec]
331
+ attr_accessor :view_spec
285
332
 
286
333
  def initialize(**args)
287
334
  update!(**args)
@@ -289,29 +336,174 @@ module Google
289
336
 
290
337
  # Update properties of this object
291
338
  def update!(**args)
292
- @errors = args[:errors] if args.key?(:errors)
293
- @state = args[:state] if args.key?(:state)
339
+ @table_source_type = args[:table_source_type] if args.key?(:table_source_type)
340
+ @table_spec = args[:table_spec] if args.key?(:table_spec)
341
+ @view_spec = args[:view_spec] if args.key?(:view_spec)
294
342
  end
295
343
  end
296
344
 
297
- # Long-running operation response message returned by ReconcileTags.
298
- class GoogleCloudDatacatalogV1ReconcileTagsResponse
345
+ # Business Context of the entry.
346
+ class GoogleCloudDatacatalogV1BusinessContext
299
347
  include Google::Apis::Core::Hashable
300
348
 
301
- # Number of tags created in the request.
302
- # Corresponds to the JSON property `createdTagsCount`
303
- # @return [Fixnum]
304
- attr_accessor :created_tags_count
349
+ # Contact people for the entry.
350
+ # Corresponds to the JSON property `contacts`
351
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1Contacts]
352
+ attr_accessor :contacts
305
353
 
306
- # Number of tags deleted in the request.
307
- # Corresponds to the JSON property `deletedTagsCount`
354
+ # Entry overview fields for rich text descriptions of entries.
355
+ # Corresponds to the JSON property `entryOverview`
356
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1EntryOverview]
357
+ attr_accessor :entry_overview
358
+
359
+ def initialize(**args)
360
+ update!(**args)
361
+ end
362
+
363
+ # Update properties of this object
364
+ def update!(**args)
365
+ @contacts = args[:contacts] if args.key?(:contacts)
366
+ @entry_overview = args[:entry_overview] if args.key?(:entry_overview)
367
+ end
368
+ end
369
+
370
+ # Specification for the BigQuery connection to a Cloud SQL instance.
371
+ class GoogleCloudDatacatalogV1CloudSqlBigQueryConnectionSpec
372
+ include Google::Apis::Core::Hashable
373
+
374
+ # Database name.
375
+ # Corresponds to the JSON property `database`
376
+ # @return [String]
377
+ attr_accessor :database
378
+
379
+ # Cloud SQL instance ID in the format of `project:location:instance`.
380
+ # Corresponds to the JSON property `instanceId`
381
+ # @return [String]
382
+ attr_accessor :instance_id
383
+
384
+ # Type of the Cloud SQL database.
385
+ # Corresponds to the JSON property `type`
386
+ # @return [String]
387
+ attr_accessor :type
388
+
389
+ def initialize(**args)
390
+ update!(**args)
391
+ end
392
+
393
+ # Update properties of this object
394
+ def update!(**args)
395
+ @database = args[:database] if args.key?(:database)
396
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
397
+ @type = args[:type] if args.key?(:type)
398
+ end
399
+ end
400
+
401
+ # A column within a schema. Columns can be nested inside other columns.
402
+ class GoogleCloudDatacatalogV1ColumnSchema
403
+ include Google::Apis::Core::Hashable
404
+
405
+ # Required. Name of the column. Must be a UTF-8 string without dots (.). The
406
+ # maximum size is 64 bytes.
407
+ # Corresponds to the JSON property `column`
408
+ # @return [String]
409
+ attr_accessor :column
410
+
411
+ # Optional. Default value for the column.
412
+ # Corresponds to the JSON property `defaultValue`
413
+ # @return [String]
414
+ attr_accessor :default_value
415
+
416
+ # Optional. Description of the column. Default value is an empty string. The
417
+ # description must be a UTF-8 string with the maximum size of 2000 bytes.
418
+ # Corresponds to the JSON property `description`
419
+ # @return [String]
420
+ attr_accessor :description
421
+
422
+ # Optional. Garbage collection policy for the column or column family. Applies
423
+ # to systems like Cloud Bigtable.
424
+ # Corresponds to the JSON property `gcRule`
425
+ # @return [String]
426
+ attr_accessor :gc_rule
427
+
428
+ # Optional. Most important inclusion of this column.
429
+ # Corresponds to the JSON property `highestIndexingType`
430
+ # @return [String]
431
+ attr_accessor :highest_indexing_type
432
+
433
+ # Column info specific to Looker System.
434
+ # Corresponds to the JSON property `lookerColumnSpec`
435
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpec]
436
+ attr_accessor :looker_column_spec
437
+
438
+ # Optional. A column's mode indicates whether values in this column are required,
439
+ # nullable, or repeated. Only `NULLABLE`, `REQUIRED`, and `REPEATED` values are
440
+ # supported. Default mode is `NULLABLE`.
441
+ # Corresponds to the JSON property `mode`
442
+ # @return [String]
443
+ attr_accessor :mode
444
+
445
+ # Optional. Ordinal position
446
+ # Corresponds to the JSON property `ordinalPosition`
308
447
  # @return [Fixnum]
309
- attr_accessor :deleted_tags_count
448
+ attr_accessor :ordinal_position
310
449
 
311
- # Number of tags updated in the request.
312
- # Corresponds to the JSON property `updatedTagsCount`
450
+ # Optional. Schema of sub-columns. A column can have zero or more sub-columns.
451
+ # Corresponds to the JSON property `subcolumns`
452
+ # @return [Array<Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1ColumnSchema>]
453
+ attr_accessor :subcolumns
454
+
455
+ # Required. Type of the column. Must be a UTF-8 string with the maximum size of
456
+ # 128 bytes.
457
+ # Corresponds to the JSON property `type`
458
+ # @return [String]
459
+ attr_accessor :type
460
+
461
+ def initialize(**args)
462
+ update!(**args)
463
+ end
464
+
465
+ # Update properties of this object
466
+ def update!(**args)
467
+ @column = args[:column] if args.key?(:column)
468
+ @default_value = args[:default_value] if args.key?(:default_value)
469
+ @description = args[:description] if args.key?(:description)
470
+ @gc_rule = args[:gc_rule] if args.key?(:gc_rule)
471
+ @highest_indexing_type = args[:highest_indexing_type] if args.key?(:highest_indexing_type)
472
+ @looker_column_spec = args[:looker_column_spec] if args.key?(:looker_column_spec)
473
+ @mode = args[:mode] if args.key?(:mode)
474
+ @ordinal_position = args[:ordinal_position] if args.key?(:ordinal_position)
475
+ @subcolumns = args[:subcolumns] if args.key?(:subcolumns)
476
+ @type = args[:type] if args.key?(:type)
477
+ end
478
+ end
479
+
480
+ # Column info specific to Looker System.
481
+ class GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpec
482
+ include Google::Apis::Core::Hashable
483
+
484
+ # Looker specific column type of this column.
485
+ # Corresponds to the JSON property `type`
486
+ # @return [String]
487
+ attr_accessor :type
488
+
489
+ def initialize(**args)
490
+ update!(**args)
491
+ end
492
+
493
+ # Update properties of this object
494
+ def update!(**args)
495
+ @type = args[:type] if args.key?(:type)
496
+ end
497
+ end
498
+
499
+ # Common statistics on the entry's usage. They can be set on any system.
500
+ class GoogleCloudDatacatalogV1CommonUsageStats
501
+ include Google::Apis::Core::Hashable
502
+
503
+ # View count in source system.
504
+ # Corresponds to the JSON property `viewCount`
313
505
  # @return [Fixnum]
314
- attr_accessor :updated_tags_count
506
+ attr_accessor :view_count
315
507
 
316
508
  def initialize(**args)
317
509
  update!(**args)
@@ -319,9 +511,1513 @@ module Google
319
511
 
320
512
  # Update properties of this object
321
513
  def update!(**args)
322
- @created_tags_count = args[:created_tags_count] if args.key?(:created_tags_count)
323
- @deleted_tags_count = args[:deleted_tags_count] if args.key?(:deleted_tags_count)
324
- @updated_tags_count = args[:updated_tags_count] if args.key?(:updated_tags_count)
514
+ @view_count = args[:view_count] if args.key?(:view_count)
515
+ end
516
+ end
517
+
518
+ # Contact people for the entry.
519
+ class GoogleCloudDatacatalogV1Contacts
520
+ include Google::Apis::Core::Hashable
521
+
522
+ # The list of contact people for the entry.
523
+ # Corresponds to the JSON property `people`
524
+ # @return [Array<Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1ContactsPerson>]
525
+ attr_accessor :people
526
+
527
+ def initialize(**args)
528
+ update!(**args)
529
+ end
530
+
531
+ # Update properties of this object
532
+ def update!(**args)
533
+ @people = args[:people] if args.key?(:people)
534
+ end
535
+ end
536
+
537
+ # A contact person for the entry.
538
+ class GoogleCloudDatacatalogV1ContactsPerson
539
+ include Google::Apis::Core::Hashable
540
+
541
+ # Designation of the person, for example, Data Steward.
542
+ # Corresponds to the JSON property `designation`
543
+ # @return [String]
544
+ attr_accessor :designation
545
+
546
+ # Email of the person in the format of `john.doe@xyz`, ``, or `John Doe`.
547
+ # Corresponds to the JSON property `email`
548
+ # @return [String]
549
+ attr_accessor :email
550
+
551
+ def initialize(**args)
552
+ update!(**args)
553
+ end
554
+
555
+ # Update properties of this object
556
+ def update!(**args)
557
+ @designation = args[:designation] if args.key?(:designation)
558
+ @email = args[:email] if args.key?(:email)
559
+ end
560
+ end
561
+
562
+ # Physical location of an entry.
563
+ class GoogleCloudDatacatalogV1DataSource
564
+ include Google::Apis::Core::Hashable
565
+
566
+ # Full name of a resource as defined by the service. For example: `//bigquery.
567
+ # googleapis.com/projects/`PROJECT_ID`/locations/`LOCATION`/datasets/`DATASET_ID`
568
+ # /tables/`TABLE_ID``
569
+ # Corresponds to the JSON property `resource`
570
+ # @return [String]
571
+ attr_accessor :resource
572
+
573
+ # Service that physically stores the data.
574
+ # Corresponds to the JSON property `service`
575
+ # @return [String]
576
+ attr_accessor :service
577
+
578
+ # Output only. Data Catalog entry name, if applicable.
579
+ # Corresponds to the JSON property `sourceEntry`
580
+ # @return [String]
581
+ attr_accessor :source_entry
582
+
583
+ # Details the properties of the underlying storage.
584
+ # Corresponds to the JSON property `storageProperties`
585
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1StorageProperties]
586
+ attr_accessor :storage_properties
587
+
588
+ def initialize(**args)
589
+ update!(**args)
590
+ end
591
+
592
+ # Update properties of this object
593
+ def update!(**args)
594
+ @resource = args[:resource] if args.key?(:resource)
595
+ @service = args[:service] if args.key?(:service)
596
+ @source_entry = args[:source_entry] if args.key?(:source_entry)
597
+ @storage_properties = args[:storage_properties] if args.key?(:storage_properties)
598
+ end
599
+ end
600
+
601
+ # Specification that applies to a data source connection. Valid only for entries
602
+ # with the `DATA_SOURCE_CONNECTION` type. Only one of internal specs can be set
603
+ # at the time, and cannot be changed later.
604
+ class GoogleCloudDatacatalogV1DataSourceConnectionSpec
605
+ include Google::Apis::Core::Hashable
606
+
607
+ # Specification for the BigQuery connection.
608
+ # Corresponds to the JSON property `bigqueryConnectionSpec`
609
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1BigQueryConnectionSpec]
610
+ attr_accessor :bigquery_connection_spec
611
+
612
+ def initialize(**args)
613
+ update!(**args)
614
+ end
615
+
616
+ # Update properties of this object
617
+ def update!(**args)
618
+ @bigquery_connection_spec = args[:bigquery_connection_spec] if args.key?(:bigquery_connection_spec)
619
+ end
620
+ end
621
+
622
+ # Specification that applies to a table resource. Valid only for entries with
623
+ # the `TABLE` type.
624
+ class GoogleCloudDatacatalogV1DatabaseTableSpec
625
+ include Google::Apis::Core::Hashable
626
+
627
+ # Specification that applies to database view.
628
+ # Corresponds to the JSON property `databaseViewSpec`
629
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1DatabaseTableSpecDatabaseViewSpec]
630
+ attr_accessor :database_view_spec
631
+
632
+ # Entry specification for a Dataplex table.
633
+ # Corresponds to the JSON property `dataplexTable`
634
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1DataplexTableSpec]
635
+ attr_accessor :dataplex_table
636
+
637
+ # Type of this table.
638
+ # Corresponds to the JSON property `type`
639
+ # @return [String]
640
+ attr_accessor :type
641
+
642
+ def initialize(**args)
643
+ update!(**args)
644
+ end
645
+
646
+ # Update properties of this object
647
+ def update!(**args)
648
+ @database_view_spec = args[:database_view_spec] if args.key?(:database_view_spec)
649
+ @dataplex_table = args[:dataplex_table] if args.key?(:dataplex_table)
650
+ @type = args[:type] if args.key?(:type)
651
+ end
652
+ end
653
+
654
+ # Specification that applies to database view.
655
+ class GoogleCloudDatacatalogV1DatabaseTableSpecDatabaseViewSpec
656
+ include Google::Apis::Core::Hashable
657
+
658
+ # Name of a singular table this view reflects one to one.
659
+ # Corresponds to the JSON property `baseTable`
660
+ # @return [String]
661
+ attr_accessor :base_table
662
+
663
+ # SQL query used to generate this view.
664
+ # Corresponds to the JSON property `sqlQuery`
665
+ # @return [String]
666
+ attr_accessor :sql_query
667
+
668
+ # Type of this view.
669
+ # Corresponds to the JSON property `viewType`
670
+ # @return [String]
671
+ attr_accessor :view_type
672
+
673
+ def initialize(**args)
674
+ update!(**args)
675
+ end
676
+
677
+ # Update properties of this object
678
+ def update!(**args)
679
+ @base_table = args[:base_table] if args.key?(:base_table)
680
+ @sql_query = args[:sql_query] if args.key?(:sql_query)
681
+ @view_type = args[:view_type] if args.key?(:view_type)
682
+ end
683
+ end
684
+
685
+ # External table registered by Dataplex. Dataplex publishes data discovered from
686
+ # an asset into multiple other systems (BigQuery, DPMS) in form of tables. We
687
+ # call them "external tables". External tables are also synced into the Data
688
+ # Catalog. This message contains pointers to those external tables (fully
689
+ # qualified name, resource name et cetera) within the Data Catalog.
690
+ class GoogleCloudDatacatalogV1DataplexExternalTable
691
+ include Google::Apis::Core::Hashable
692
+
693
+ # Name of the Data Catalog entry representing the external table.
694
+ # Corresponds to the JSON property `dataCatalogEntry`
695
+ # @return [String]
696
+ attr_accessor :data_catalog_entry
697
+
698
+ # Fully qualified name (FQN) of the external table.
699
+ # Corresponds to the JSON property `fullyQualifiedName`
700
+ # @return [String]
701
+ attr_accessor :fully_qualified_name
702
+
703
+ # Google Cloud resource name of the external table.
704
+ # Corresponds to the JSON property `googleCloudResource`
705
+ # @return [String]
706
+ attr_accessor :google_cloud_resource
707
+
708
+ # Service in which the external table is registered.
709
+ # Corresponds to the JSON property `system`
710
+ # @return [String]
711
+ attr_accessor :system
712
+
713
+ def initialize(**args)
714
+ update!(**args)
715
+ end
716
+
717
+ # Update properties of this object
718
+ def update!(**args)
719
+ @data_catalog_entry = args[:data_catalog_entry] if args.key?(:data_catalog_entry)
720
+ @fully_qualified_name = args[:fully_qualified_name] if args.key?(:fully_qualified_name)
721
+ @google_cloud_resource = args[:google_cloud_resource] if args.key?(:google_cloud_resource)
722
+ @system = args[:system] if args.key?(:system)
723
+ end
724
+ end
725
+
726
+ # Entry specyfication for a Dataplex fileset.
727
+ class GoogleCloudDatacatalogV1DataplexFilesetSpec
728
+ include Google::Apis::Core::Hashable
729
+
730
+ # Common Dataplex fields.
731
+ # Corresponds to the JSON property `dataplexSpec`
732
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1DataplexSpec]
733
+ attr_accessor :dataplex_spec
734
+
735
+ def initialize(**args)
736
+ update!(**args)
737
+ end
738
+
739
+ # Update properties of this object
740
+ def update!(**args)
741
+ @dataplex_spec = args[:dataplex_spec] if args.key?(:dataplex_spec)
742
+ end
743
+ end
744
+
745
+ # Common Dataplex fields.
746
+ class GoogleCloudDatacatalogV1DataplexSpec
747
+ include Google::Apis::Core::Hashable
748
+
749
+ # Fully qualified resource name of an asset in Dataplex, to which the underlying
750
+ # data source (Cloud Storage bucket or BigQuery dataset) of the entity is
751
+ # attached.
752
+ # Corresponds to the JSON property `asset`
753
+ # @return [String]
754
+ attr_accessor :asset
755
+
756
+ # Compression format of the data, e.g., zip, gzip etc.
757
+ # Corresponds to the JSON property `compressionFormat`
758
+ # @return [String]
759
+ attr_accessor :compression_format
760
+
761
+ # Native schema used by a resource represented as an entry. Used by query
762
+ # engines for deserializing and parsing source data.
763
+ # Corresponds to the JSON property `dataFormat`
764
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1PhysicalSchema]
765
+ attr_accessor :data_format
766
+
767
+ # Project ID of the underlying Cloud Storage or BigQuery data. Note that this
768
+ # may not be the same project as the correspondingly Dataplex lake / zone /
769
+ # asset.
770
+ # Corresponds to the JSON property `projectId`
771
+ # @return [String]
772
+ attr_accessor :project_id
773
+
774
+ def initialize(**args)
775
+ update!(**args)
776
+ end
777
+
778
+ # Update properties of this object
779
+ def update!(**args)
780
+ @asset = args[:asset] if args.key?(:asset)
781
+ @compression_format = args[:compression_format] if args.key?(:compression_format)
782
+ @data_format = args[:data_format] if args.key?(:data_format)
783
+ @project_id = args[:project_id] if args.key?(:project_id)
784
+ end
785
+ end
786
+
787
+ # Entry specification for a Dataplex table.
788
+ class GoogleCloudDatacatalogV1DataplexTableSpec
789
+ include Google::Apis::Core::Hashable
790
+
791
+ # Common Dataplex fields.
792
+ # Corresponds to the JSON property `dataplexSpec`
793
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1DataplexSpec]
794
+ attr_accessor :dataplex_spec
795
+
796
+ # List of external tables registered by Dataplex in other systems based on the
797
+ # same underlying data. External tables allow to query this data in those
798
+ # systems.
799
+ # Corresponds to the JSON property `externalTables`
800
+ # @return [Array<Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1DataplexExternalTable>]
801
+ attr_accessor :external_tables
802
+
803
+ # Indicates if the table schema is managed by the user or not.
804
+ # Corresponds to the JSON property `userManaged`
805
+ # @return [Boolean]
806
+ attr_accessor :user_managed
807
+ alias_method :user_managed?, :user_managed
808
+
809
+ def initialize(**args)
810
+ update!(**args)
811
+ end
812
+
813
+ # Update properties of this object
814
+ def update!(**args)
815
+ @dataplex_spec = args[:dataplex_spec] if args.key?(:dataplex_spec)
816
+ @external_tables = args[:external_tables] if args.key?(:external_tables)
817
+ @user_managed = args[:user_managed] if args.key?(:user_managed)
818
+ end
819
+ end
820
+
821
+ # Wrapper for any item that can be contained in the dump.
822
+ class GoogleCloudDatacatalogV1DumpItem
823
+ include Google::Apis::Core::Hashable
824
+
825
+ # Wrapper containing Entry and information about Tags that should and should not
826
+ # be attached to it.
827
+ # Corresponds to the JSON property `taggedEntry`
828
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1TaggedEntry]
829
+ attr_accessor :tagged_entry
830
+
831
+ def initialize(**args)
832
+ update!(**args)
833
+ end
834
+
835
+ # Update properties of this object
836
+ def update!(**args)
837
+ @tagged_entry = args[:tagged_entry] if args.key?(:tagged_entry)
838
+ end
839
+ end
840
+
841
+ # Entry metadata. A Data Catalog entry represents another resource in Google
842
+ # Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic) or outside of
843
+ # it. You can use the `linked_resource` field in the entry resource to refer to
844
+ # the original resource ID of the source system. An entry resource contains
845
+ # resource details, for example, its schema. Additionally, you can attach
846
+ # flexible metadata to an entry in the form of a Tag.
847
+ class GoogleCloudDatacatalogV1Entry
848
+ include Google::Apis::Core::Hashable
849
+
850
+ # Specification for a group of BigQuery tables with the `[prefix]YYYYMMDD` name
851
+ # pattern. For more information, see [Introduction to partitioned tables] (https:
852
+ # //cloud.google.com/bigquery/docs/partitioned-tables#
853
+ # partitioning_versus_sharding).
854
+ # Corresponds to the JSON property `bigqueryDateShardedSpec`
855
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1BigQueryDateShardedSpec]
856
+ attr_accessor :bigquery_date_sharded_spec
857
+
858
+ # Describes a BigQuery table.
859
+ # Corresponds to the JSON property `bigqueryTableSpec`
860
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1BigQueryTableSpec]
861
+ attr_accessor :bigquery_table_spec
862
+
863
+ # Business Context of the entry.
864
+ # Corresponds to the JSON property `businessContext`
865
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1BusinessContext]
866
+ attr_accessor :business_context
867
+
868
+ # Physical location of an entry.
869
+ # Corresponds to the JSON property `dataSource`
870
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1DataSource]
871
+ attr_accessor :data_source
872
+
873
+ # Specification that applies to a data source connection. Valid only for entries
874
+ # with the `DATA_SOURCE_CONNECTION` type. Only one of internal specs can be set
875
+ # at the time, and cannot be changed later.
876
+ # Corresponds to the JSON property `dataSourceConnectionSpec`
877
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1DataSourceConnectionSpec]
878
+ attr_accessor :data_source_connection_spec
879
+
880
+ # Specification that applies to a table resource. Valid only for entries with
881
+ # the `TABLE` type.
882
+ # Corresponds to the JSON property `databaseTableSpec`
883
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1DatabaseTableSpec]
884
+ attr_accessor :database_table_spec
885
+
886
+ # Entry description that can consist of several sentences or paragraphs that
887
+ # describe entry contents. The description must not contain Unicode non-
888
+ # characters as well as C0 and C1 control codes except tabs (HT), new lines (LF),
889
+ # carriage returns (CR), and page breaks (FF). The maximum size is 2000 bytes
890
+ # when encoded in UTF-8. Default value is an empty string.
891
+ # Corresponds to the JSON property `description`
892
+ # @return [String]
893
+ attr_accessor :description
894
+
895
+ # Display name of an entry. The maximum size is 500 bytes when encoded in UTF-8.
896
+ # Default value is an empty string.
897
+ # Corresponds to the JSON property `displayName`
898
+ # @return [String]
899
+ attr_accessor :display_name
900
+
901
+ # Specification that applies to a fileset. Valid only for entries with the '
902
+ # FILESET' type.
903
+ # Corresponds to the JSON property `filesetSpec`
904
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1FilesetSpec]
905
+ attr_accessor :fileset_spec
906
+
907
+ # Fully qualified name (FQN) of the resource. Set automatically for entries
908
+ # representing resources from synced systems. Settable only during creation and
909
+ # read-only afterwards. Can be used for search and lookup of the entries. FQNs
910
+ # take two forms: * For non-regionalized resources: ``SYSTEM`:`PROJECT`.`
911
+ # PATH_TO_RESOURCE_SEPARATED_WITH_DOTS`` * For regionalized resources: ``SYSTEM`:
912
+ # `PROJECT`.`LOCATION_ID`.`PATH_TO_RESOURCE_SEPARATED_WITH_DOTS`` Example for a
913
+ # DPMS table: `dataproc_metastore:`PROJECT_ID`.`LOCATION_ID`.`INSTANCE_ID`.`
914
+ # DATABASE_ID`.`TABLE_ID``
915
+ # Corresponds to the JSON property `fullyQualifiedName`
916
+ # @return [String]
917
+ attr_accessor :fully_qualified_name
918
+
919
+ # Describes a Cloud Storage fileset entry.
920
+ # Corresponds to the JSON property `gcsFilesetSpec`
921
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1GcsFilesetSpec]
922
+ attr_accessor :gcs_fileset_spec
923
+
924
+ # Output only. Indicates the entry's source system that Data Catalog integrates
925
+ # with, such as BigQuery, Pub/Sub, or Dataproc Metastore.
926
+ # Corresponds to the JSON property `integratedSystem`
927
+ # @return [String]
928
+ attr_accessor :integrated_system
929
+
930
+ # Cloud labels attached to the entry. In Data Catalog, you can create and modify
931
+ # labels attached only to custom entries. Synced entries have unmodifiable
932
+ # labels that come from the source system.
933
+ # Corresponds to the JSON property `labels`
934
+ # @return [Hash<String,String>]
935
+ attr_accessor :labels
936
+
937
+ # The resource this metadata entry refers to. For Google Cloud Platform
938
+ # resources, `linked_resource` is the [Full Resource Name] (https://cloud.google.
939
+ # com/apis/design/resource_names#full_resource_name). For example, the `
940
+ # linked_resource` for a table resource from BigQuery is: `//bigquery.googleapis.
941
+ # com/projects/`PROJECT_ID`/datasets/`DATASET_ID`/tables/`TABLE_ID`` Output only
942
+ # when the entry is one of the types in the `EntryType` enum. For entries with a
943
+ # `user_specified_type`, this field is optional and defaults to an empty string.
944
+ # The resource string must contain only letters (a-z, A-Z), numbers (0-9),
945
+ # underscores (_), periods (.), colons (:), slashes (/), dashes (-), and hashes (
946
+ # #). The maximum size is 200 bytes when encoded in UTF-8.
947
+ # Corresponds to the JSON property `linkedResource`
948
+ # @return [String]
949
+ attr_accessor :linked_resource
950
+
951
+ # Specification that applies to entries that are part `LOOKER` system (
952
+ # user_specified_type)
953
+ # Corresponds to the JSON property `lookerSystemSpec`
954
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1LookerSystemSpec]
955
+ attr_accessor :looker_system_spec
956
+
957
+ # Output only. The resource name of an entry in URL format. Note: The entry
958
+ # itself and its child resources might not be stored in the location specified
959
+ # in its name.
960
+ # Corresponds to the JSON property `name`
961
+ # @return [String]
962
+ attr_accessor :name
963
+
964
+ # Entry metadata relevant only to the user and private to them.
965
+ # Corresponds to the JSON property `personalDetails`
966
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1PersonalDetails]
967
+ attr_accessor :personal_details
968
+
969
+ # Specification that applies to a routine. Valid only for entries with the `
970
+ # ROUTINE` type.
971
+ # Corresponds to the JSON property `routineSpec`
972
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1RoutineSpec]
973
+ attr_accessor :routine_spec
974
+
975
+ # Represents a schema, for example, a BigQuery, GoogleSQL, or Avro schema.
976
+ # Corresponds to the JSON property `schema`
977
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1Schema]
978
+ attr_accessor :schema
979
+
980
+ # Timestamps associated with this resource in a particular system.
981
+ # Corresponds to the JSON property `sourceSystemTimestamps`
982
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1SystemTimestamps]
983
+ attr_accessor :source_system_timestamps
984
+
985
+ # Specification that applies to entries that are part `SQL_DATABASE` system (
986
+ # user_specified_type)
987
+ # Corresponds to the JSON property `sqlDatabaseSystemSpec`
988
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1SqlDatabaseSystemSpec]
989
+ attr_accessor :sql_database_system_spec
990
+
991
+ # The type of the entry. Only used for entries with types listed in the `
992
+ # EntryType` enum. Currently, only `FILESET` enum value is allowed. All other
993
+ # entries created in Data Catalog must use the `user_specified_type`.
994
+ # Corresponds to the JSON property `type`
995
+ # @return [String]
996
+ attr_accessor :type
997
+
998
+ # The set of all usage signals that Data Catalog stores. Note: Usually, these
999
+ # signals are updated daily. In rare cases, an update may fail but will be
1000
+ # performed again on the next day.
1001
+ # Corresponds to the JSON property `usageSignal`
1002
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1UsageSignal]
1003
+ attr_accessor :usage_signal
1004
+
1005
+ # Indicates the entry's source system that Data Catalog doesn't automatically
1006
+ # integrate with. The `user_specified_system` string has the following
1007
+ # limitations: * Is case insensitive. * Must begin with a letter or underscore. *
1008
+ # Can only contain letters, numbers, and underscores. * Must be at least 1
1009
+ # character and at most 64 characters long.
1010
+ # Corresponds to the JSON property `userSpecifiedSystem`
1011
+ # @return [String]
1012
+ attr_accessor :user_specified_system
1013
+
1014
+ # Custom entry type that doesn't match any of the values allowed for input and
1015
+ # listed in the `EntryType` enum. When creating an entry, first check the type
1016
+ # values in the enum. If there are no appropriate types for the new entry,
1017
+ # provide a custom value, for example, `my_special_type`. The `
1018
+ # user_specified_type` string has the following limitations: * Is case
1019
+ # insensitive. * Must begin with a letter or underscore. * Can only contain
1020
+ # letters, numbers, and underscores. * Must be at least 1 character and at most
1021
+ # 64 characters long.
1022
+ # Corresponds to the JSON property `userSpecifiedType`
1023
+ # @return [String]
1024
+ attr_accessor :user_specified_type
1025
+
1026
+ def initialize(**args)
1027
+ update!(**args)
1028
+ end
1029
+
1030
+ # Update properties of this object
1031
+ def update!(**args)
1032
+ @bigquery_date_sharded_spec = args[:bigquery_date_sharded_spec] if args.key?(:bigquery_date_sharded_spec)
1033
+ @bigquery_table_spec = args[:bigquery_table_spec] if args.key?(:bigquery_table_spec)
1034
+ @business_context = args[:business_context] if args.key?(:business_context)
1035
+ @data_source = args[:data_source] if args.key?(:data_source)
1036
+ @data_source_connection_spec = args[:data_source_connection_spec] if args.key?(:data_source_connection_spec)
1037
+ @database_table_spec = args[:database_table_spec] if args.key?(:database_table_spec)
1038
+ @description = args[:description] if args.key?(:description)
1039
+ @display_name = args[:display_name] if args.key?(:display_name)
1040
+ @fileset_spec = args[:fileset_spec] if args.key?(:fileset_spec)
1041
+ @fully_qualified_name = args[:fully_qualified_name] if args.key?(:fully_qualified_name)
1042
+ @gcs_fileset_spec = args[:gcs_fileset_spec] if args.key?(:gcs_fileset_spec)
1043
+ @integrated_system = args[:integrated_system] if args.key?(:integrated_system)
1044
+ @labels = args[:labels] if args.key?(:labels)
1045
+ @linked_resource = args[:linked_resource] if args.key?(:linked_resource)
1046
+ @looker_system_spec = args[:looker_system_spec] if args.key?(:looker_system_spec)
1047
+ @name = args[:name] if args.key?(:name)
1048
+ @personal_details = args[:personal_details] if args.key?(:personal_details)
1049
+ @routine_spec = args[:routine_spec] if args.key?(:routine_spec)
1050
+ @schema = args[:schema] if args.key?(:schema)
1051
+ @source_system_timestamps = args[:source_system_timestamps] if args.key?(:source_system_timestamps)
1052
+ @sql_database_system_spec = args[:sql_database_system_spec] if args.key?(:sql_database_system_spec)
1053
+ @type = args[:type] if args.key?(:type)
1054
+ @usage_signal = args[:usage_signal] if args.key?(:usage_signal)
1055
+ @user_specified_system = args[:user_specified_system] if args.key?(:user_specified_system)
1056
+ @user_specified_type = args[:user_specified_type] if args.key?(:user_specified_type)
1057
+ end
1058
+ end
1059
+
1060
+ # Entry overview fields for rich text descriptions of entries.
1061
+ class GoogleCloudDatacatalogV1EntryOverview
1062
+ include Google::Apis::Core::Hashable
1063
+
1064
+ # Entry overview with support for rich text. The overview must only contain
1065
+ # Unicode characters, and should be formatted using HTML. The maximum length is
1066
+ # 10 MiB as this value holds HTML descriptions including encoded images. The
1067
+ # maximum length of the text without images is 100 KiB.
1068
+ # Corresponds to the JSON property `overview`
1069
+ # @return [String]
1070
+ attr_accessor :overview
1071
+
1072
+ def initialize(**args)
1073
+ update!(**args)
1074
+ end
1075
+
1076
+ # Update properties of this object
1077
+ def update!(**args)
1078
+ @overview = args[:overview] if args.key?(:overview)
1079
+ end
1080
+ end
1081
+
1082
+ # Specification that applies to a fileset. Valid only for entries with the '
1083
+ # FILESET' type.
1084
+ class GoogleCloudDatacatalogV1FilesetSpec
1085
+ include Google::Apis::Core::Hashable
1086
+
1087
+ # Entry specyfication for a Dataplex fileset.
1088
+ # Corresponds to the JSON property `dataplexFileset`
1089
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1DataplexFilesetSpec]
1090
+ attr_accessor :dataplex_fileset
1091
+
1092
+ def initialize(**args)
1093
+ update!(**args)
1094
+ end
1095
+
1096
+ # Update properties of this object
1097
+ def update!(**args)
1098
+ @dataplex_fileset = args[:dataplex_fileset] if args.key?(:dataplex_fileset)
1099
+ end
1100
+ end
1101
+
1102
+ # Specification of a single file in Cloud Storage.
1103
+ class GoogleCloudDatacatalogV1GcsFileSpec
1104
+ include Google::Apis::Core::Hashable
1105
+
1106
+ # Required. Full file path. Example: `gs://bucket_name/a/b.txt`.
1107
+ # Corresponds to the JSON property `filePath`
1108
+ # @return [String]
1109
+ attr_accessor :file_path
1110
+
1111
+ # Timestamps associated with this resource in a particular system.
1112
+ # Corresponds to the JSON property `gcsTimestamps`
1113
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1SystemTimestamps]
1114
+ attr_accessor :gcs_timestamps
1115
+
1116
+ # Output only. File size in bytes.
1117
+ # Corresponds to the JSON property `sizeBytes`
1118
+ # @return [Fixnum]
1119
+ attr_accessor :size_bytes
1120
+
1121
+ def initialize(**args)
1122
+ update!(**args)
1123
+ end
1124
+
1125
+ # Update properties of this object
1126
+ def update!(**args)
1127
+ @file_path = args[:file_path] if args.key?(:file_path)
1128
+ @gcs_timestamps = args[:gcs_timestamps] if args.key?(:gcs_timestamps)
1129
+ @size_bytes = args[:size_bytes] if args.key?(:size_bytes)
1130
+ end
1131
+ end
1132
+
1133
+ # Describes a Cloud Storage fileset entry.
1134
+ class GoogleCloudDatacatalogV1GcsFilesetSpec
1135
+ include Google::Apis::Core::Hashable
1136
+
1137
+ # Required. Patterns to identify a set of files in Google Cloud Storage. For
1138
+ # more information, see [Wildcard Names] (https://cloud.google.com/storage/docs/
1139
+ # gsutil/addlhelp/WildcardNames). Note: Currently, bucket wildcards are not
1140
+ # supported. Examples of valid `file_patterns`: * `gs://bucket_name/dir/*`:
1141
+ # matches all files in `bucket_name/dir` directory * `gs://bucket_name/dir/**`:
1142
+ # matches all files in `bucket_name/dir` and all subdirectories * `gs://
1143
+ # bucket_name/file*`: matches files prefixed by `file` in `bucket_name` * `gs://
1144
+ # bucket_name/??.txt`: matches files with two characters followed by `.txt` in `
1145
+ # bucket_name` * `gs://bucket_name/[aeiou].txt`: matches files that contain a
1146
+ # single vowel character followed by `.txt` in `bucket_name` * `gs://bucket_name/
1147
+ # [a-m].txt`: matches files that contain `a`, `b`, ... or `m` followed by `.txt`
1148
+ # in `bucket_name` * `gs://bucket_name/a/*/b`: matches all files in `bucket_name`
1149
+ # that match the `a/*/b` pattern, such as `a/c/b`, `a/d/b` * `gs://
1150
+ # another_bucket/a.txt`: matches `gs://another_bucket/a.txt` You can combine
1151
+ # wildcards to match complex sets of files, for example: `gs://bucket_name/[a-m]?
1152
+ # ?.j*g`
1153
+ # Corresponds to the JSON property `filePatterns`
1154
+ # @return [Array<String>]
1155
+ attr_accessor :file_patterns
1156
+
1157
+ # Output only. Sample files contained in this fileset, not all files contained
1158
+ # in this fileset are represented here.
1159
+ # Corresponds to the JSON property `sampleGcsFileSpecs`
1160
+ # @return [Array<Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1GcsFileSpec>]
1161
+ attr_accessor :sample_gcs_file_specs
1162
+
1163
+ def initialize(**args)
1164
+ update!(**args)
1165
+ end
1166
+
1167
+ # Update properties of this object
1168
+ def update!(**args)
1169
+ @file_patterns = args[:file_patterns] if args.key?(:file_patterns)
1170
+ @sample_gcs_file_specs = args[:sample_gcs_file_specs] if args.key?(:sample_gcs_file_specs)
1171
+ end
1172
+ end
1173
+
1174
+ # Metadata message for long-running operation returned by the ImportEntries.
1175
+ class GoogleCloudDatacatalogV1ImportEntriesMetadata
1176
+ include Google::Apis::Core::Hashable
1177
+
1178
+ # Partial errors that are encountered during the ImportEntries operation. There
1179
+ # is no guarantee that all the encountered errors are reported. However, if no
1180
+ # errors are reported, it means that no errors were encountered.
1181
+ # Corresponds to the JSON property `errors`
1182
+ # @return [Array<Google::Apis::DatacatalogV1beta1::Status>]
1183
+ attr_accessor :errors
1184
+
1185
+ # State of the import operation.
1186
+ # Corresponds to the JSON property `state`
1187
+ # @return [String]
1188
+ attr_accessor :state
1189
+
1190
+ def initialize(**args)
1191
+ update!(**args)
1192
+ end
1193
+
1194
+ # Update properties of this object
1195
+ def update!(**args)
1196
+ @errors = args[:errors] if args.key?(:errors)
1197
+ @state = args[:state] if args.key?(:state)
1198
+ end
1199
+ end
1200
+
1201
+ # Response message for long-running operation returned by the ImportEntries.
1202
+ class GoogleCloudDatacatalogV1ImportEntriesResponse
1203
+ include Google::Apis::Core::Hashable
1204
+
1205
+ # Number of entries deleted as a result of import operation.
1206
+ # Corresponds to the JSON property `deletedEntriesCount`
1207
+ # @return [Fixnum]
1208
+ attr_accessor :deleted_entries_count
1209
+
1210
+ # Cumulative number of entries created and entries updated as a result of import
1211
+ # operation.
1212
+ # Corresponds to the JSON property `upsertedEntriesCount`
1213
+ # @return [Fixnum]
1214
+ attr_accessor :upserted_entries_count
1215
+
1216
+ def initialize(**args)
1217
+ update!(**args)
1218
+ end
1219
+
1220
+ # Update properties of this object
1221
+ def update!(**args)
1222
+ @deleted_entries_count = args[:deleted_entries_count] if args.key?(:deleted_entries_count)
1223
+ @upserted_entries_count = args[:upserted_entries_count] if args.key?(:upserted_entries_count)
1224
+ end
1225
+ end
1226
+
1227
+ # Specification that applies to entries that are part `LOOKER` system (
1228
+ # user_specified_type)
1229
+ class GoogleCloudDatacatalogV1LookerSystemSpec
1230
+ include Google::Apis::Core::Hashable
1231
+
1232
+ # Name of the parent Looker Instance. Empty if it does not exist.
1233
+ # Corresponds to the JSON property `parentInstanceDisplayName`
1234
+ # @return [String]
1235
+ attr_accessor :parent_instance_display_name
1236
+
1237
+ # ID of the parent Looker Instance. Empty if it does not exist. Example value: `
1238
+ # someinstance.looker.com`
1239
+ # Corresponds to the JSON property `parentInstanceId`
1240
+ # @return [String]
1241
+ attr_accessor :parent_instance_id
1242
+
1243
+ # Name of the parent Model. Empty if it does not exist.
1244
+ # Corresponds to the JSON property `parentModelDisplayName`
1245
+ # @return [String]
1246
+ attr_accessor :parent_model_display_name
1247
+
1248
+ # ID of the parent Model. Empty if it does not exist.
1249
+ # Corresponds to the JSON property `parentModelId`
1250
+ # @return [String]
1251
+ attr_accessor :parent_model_id
1252
+
1253
+ # Name of the parent View. Empty if it does not exist.
1254
+ # Corresponds to the JSON property `parentViewDisplayName`
1255
+ # @return [String]
1256
+ attr_accessor :parent_view_display_name
1257
+
1258
+ # ID of the parent View. Empty if it does not exist.
1259
+ # Corresponds to the JSON property `parentViewId`
1260
+ # @return [String]
1261
+ attr_accessor :parent_view_id
1262
+
1263
+ def initialize(**args)
1264
+ update!(**args)
1265
+ end
1266
+
1267
+ # Update properties of this object
1268
+ def update!(**args)
1269
+ @parent_instance_display_name = args[:parent_instance_display_name] if args.key?(:parent_instance_display_name)
1270
+ @parent_instance_id = args[:parent_instance_id] if args.key?(:parent_instance_id)
1271
+ @parent_model_display_name = args[:parent_model_display_name] if args.key?(:parent_model_display_name)
1272
+ @parent_model_id = args[:parent_model_id] if args.key?(:parent_model_id)
1273
+ @parent_view_display_name = args[:parent_view_display_name] if args.key?(:parent_view_display_name)
1274
+ @parent_view_id = args[:parent_view_id] if args.key?(:parent_view_id)
1275
+ end
1276
+ end
1277
+
1278
+ # Entry metadata relevant only to the user and private to them.
1279
+ class GoogleCloudDatacatalogV1PersonalDetails
1280
+ include Google::Apis::Core::Hashable
1281
+
1282
+ # Set if the entry is starred; unset otherwise.
1283
+ # Corresponds to the JSON property `starTime`
1284
+ # @return [String]
1285
+ attr_accessor :star_time
1286
+
1287
+ # True if the entry is starred by the user; false otherwise.
1288
+ # Corresponds to the JSON property `starred`
1289
+ # @return [Boolean]
1290
+ attr_accessor :starred
1291
+ alias_method :starred?, :starred
1292
+
1293
+ def initialize(**args)
1294
+ update!(**args)
1295
+ end
1296
+
1297
+ # Update properties of this object
1298
+ def update!(**args)
1299
+ @star_time = args[:star_time] if args.key?(:star_time)
1300
+ @starred = args[:starred] if args.key?(:starred)
1301
+ end
1302
+ end
1303
+
1304
+ # Native schema used by a resource represented as an entry. Used by query
1305
+ # engines for deserializing and parsing source data.
1306
+ class GoogleCloudDatacatalogV1PhysicalSchema
1307
+ include Google::Apis::Core::Hashable
1308
+
1309
+ # Schema in Avro JSON format.
1310
+ # Corresponds to the JSON property `avro`
1311
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1PhysicalSchemaAvroSchema]
1312
+ attr_accessor :avro
1313
+
1314
+ # Marks a CSV-encoded data source.
1315
+ # Corresponds to the JSON property `csv`
1316
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1PhysicalSchemaCsvSchema]
1317
+ attr_accessor :csv
1318
+
1319
+ # Marks an ORC-encoded data source.
1320
+ # Corresponds to the JSON property `orc`
1321
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1PhysicalSchemaOrcSchema]
1322
+ attr_accessor :orc
1323
+
1324
+ # Marks a Parquet-encoded data source.
1325
+ # Corresponds to the JSON property `parquet`
1326
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1PhysicalSchemaParquetSchema]
1327
+ attr_accessor :parquet
1328
+
1329
+ # Schema in protocol buffer format.
1330
+ # Corresponds to the JSON property `protobuf`
1331
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1PhysicalSchemaProtobufSchema]
1332
+ attr_accessor :protobuf
1333
+
1334
+ # Schema in Thrift format.
1335
+ # Corresponds to the JSON property `thrift`
1336
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1PhysicalSchemaThriftSchema]
1337
+ attr_accessor :thrift
1338
+
1339
+ def initialize(**args)
1340
+ update!(**args)
1341
+ end
1342
+
1343
+ # Update properties of this object
1344
+ def update!(**args)
1345
+ @avro = args[:avro] if args.key?(:avro)
1346
+ @csv = args[:csv] if args.key?(:csv)
1347
+ @orc = args[:orc] if args.key?(:orc)
1348
+ @parquet = args[:parquet] if args.key?(:parquet)
1349
+ @protobuf = args[:protobuf] if args.key?(:protobuf)
1350
+ @thrift = args[:thrift] if args.key?(:thrift)
1351
+ end
1352
+ end
1353
+
1354
+ # Schema in Avro JSON format.
1355
+ class GoogleCloudDatacatalogV1PhysicalSchemaAvroSchema
1356
+ include Google::Apis::Core::Hashable
1357
+
1358
+ # JSON source of the Avro schema.
1359
+ # Corresponds to the JSON property `text`
1360
+ # @return [String]
1361
+ attr_accessor :text
1362
+
1363
+ def initialize(**args)
1364
+ update!(**args)
1365
+ end
1366
+
1367
+ # Update properties of this object
1368
+ def update!(**args)
1369
+ @text = args[:text] if args.key?(:text)
1370
+ end
1371
+ end
1372
+
1373
+ # Marks a CSV-encoded data source.
1374
+ class GoogleCloudDatacatalogV1PhysicalSchemaCsvSchema
1375
+ include Google::Apis::Core::Hashable
1376
+
1377
+ def initialize(**args)
1378
+ update!(**args)
1379
+ end
1380
+
1381
+ # Update properties of this object
1382
+ def update!(**args)
1383
+ end
1384
+ end
1385
+
1386
+ # Marks an ORC-encoded data source.
1387
+ class GoogleCloudDatacatalogV1PhysicalSchemaOrcSchema
1388
+ include Google::Apis::Core::Hashable
1389
+
1390
+ def initialize(**args)
1391
+ update!(**args)
1392
+ end
1393
+
1394
+ # Update properties of this object
1395
+ def update!(**args)
1396
+ end
1397
+ end
1398
+
1399
+ # Marks a Parquet-encoded data source.
1400
+ class GoogleCloudDatacatalogV1PhysicalSchemaParquetSchema
1401
+ include Google::Apis::Core::Hashable
1402
+
1403
+ def initialize(**args)
1404
+ update!(**args)
1405
+ end
1406
+
1407
+ # Update properties of this object
1408
+ def update!(**args)
1409
+ end
1410
+ end
1411
+
1412
+ # Schema in protocol buffer format.
1413
+ class GoogleCloudDatacatalogV1PhysicalSchemaProtobufSchema
1414
+ include Google::Apis::Core::Hashable
1415
+
1416
+ # Protocol buffer source of the schema.
1417
+ # Corresponds to the JSON property `text`
1418
+ # @return [String]
1419
+ attr_accessor :text
1420
+
1421
+ def initialize(**args)
1422
+ update!(**args)
1423
+ end
1424
+
1425
+ # Update properties of this object
1426
+ def update!(**args)
1427
+ @text = args[:text] if args.key?(:text)
1428
+ end
1429
+ end
1430
+
1431
+ # Schema in Thrift format.
1432
+ class GoogleCloudDatacatalogV1PhysicalSchemaThriftSchema
1433
+ include Google::Apis::Core::Hashable
1434
+
1435
+ # Thrift IDL source of the schema.
1436
+ # Corresponds to the JSON property `text`
1437
+ # @return [String]
1438
+ attr_accessor :text
1439
+
1440
+ def initialize(**args)
1441
+ update!(**args)
1442
+ end
1443
+
1444
+ # Update properties of this object
1445
+ def update!(**args)
1446
+ @text = args[:text] if args.key?(:text)
1447
+ end
1448
+ end
1449
+
1450
+ # Long-running operation metadata message returned by the ReconcileTags.
1451
+ class GoogleCloudDatacatalogV1ReconcileTagsMetadata
1452
+ include Google::Apis::Core::Hashable
1453
+
1454
+ # Maps the name of each tagged column (or empty string for a sole entry) to
1455
+ # tagging operation status.
1456
+ # Corresponds to the JSON property `errors`
1457
+ # @return [Hash<String,Google::Apis::DatacatalogV1beta1::Status>]
1458
+ attr_accessor :errors
1459
+
1460
+ # State of the reconciliation operation.
1461
+ # Corresponds to the JSON property `state`
1462
+ # @return [String]
1463
+ attr_accessor :state
1464
+
1465
+ def initialize(**args)
1466
+ update!(**args)
1467
+ end
1468
+
1469
+ # Update properties of this object
1470
+ def update!(**args)
1471
+ @errors = args[:errors] if args.key?(:errors)
1472
+ @state = args[:state] if args.key?(:state)
1473
+ end
1474
+ end
1475
+
1476
+ # Long-running operation response message returned by ReconcileTags.
1477
+ class GoogleCloudDatacatalogV1ReconcileTagsResponse
1478
+ include Google::Apis::Core::Hashable
1479
+
1480
+ # Number of tags created in the request.
1481
+ # Corresponds to the JSON property `createdTagsCount`
1482
+ # @return [Fixnum]
1483
+ attr_accessor :created_tags_count
1484
+
1485
+ # Number of tags deleted in the request.
1486
+ # Corresponds to the JSON property `deletedTagsCount`
1487
+ # @return [Fixnum]
1488
+ attr_accessor :deleted_tags_count
1489
+
1490
+ # Number of tags updated in the request.
1491
+ # Corresponds to the JSON property `updatedTagsCount`
1492
+ # @return [Fixnum]
1493
+ attr_accessor :updated_tags_count
1494
+
1495
+ def initialize(**args)
1496
+ update!(**args)
1497
+ end
1498
+
1499
+ # Update properties of this object
1500
+ def update!(**args)
1501
+ @created_tags_count = args[:created_tags_count] if args.key?(:created_tags_count)
1502
+ @deleted_tags_count = args[:deleted_tags_count] if args.key?(:deleted_tags_count)
1503
+ @updated_tags_count = args[:updated_tags_count] if args.key?(:updated_tags_count)
1504
+ end
1505
+ end
1506
+
1507
+ # Specification that applies to a routine. Valid only for entries with the `
1508
+ # ROUTINE` type.
1509
+ class GoogleCloudDatacatalogV1RoutineSpec
1510
+ include Google::Apis::Core::Hashable
1511
+
1512
+ # Fields specific for BigQuery routines.
1513
+ # Corresponds to the JSON property `bigqueryRoutineSpec`
1514
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1BigQueryRoutineSpec]
1515
+ attr_accessor :bigquery_routine_spec
1516
+
1517
+ # The body of the routine.
1518
+ # Corresponds to the JSON property `definitionBody`
1519
+ # @return [String]
1520
+ attr_accessor :definition_body
1521
+
1522
+ # The language the routine is written in. The exact value depends on the source
1523
+ # system. For BigQuery routines, possible values are: * `SQL` * `JAVASCRIPT`
1524
+ # Corresponds to the JSON property `language`
1525
+ # @return [String]
1526
+ attr_accessor :language
1527
+
1528
+ # Return type of the argument. The exact value depends on the source system and
1529
+ # the language.
1530
+ # Corresponds to the JSON property `returnType`
1531
+ # @return [String]
1532
+ attr_accessor :return_type
1533
+
1534
+ # Arguments of the routine.
1535
+ # Corresponds to the JSON property `routineArguments`
1536
+ # @return [Array<Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1RoutineSpecArgument>]
1537
+ attr_accessor :routine_arguments
1538
+
1539
+ # The type of the routine.
1540
+ # Corresponds to the JSON property `routineType`
1541
+ # @return [String]
1542
+ attr_accessor :routine_type
1543
+
1544
+ def initialize(**args)
1545
+ update!(**args)
1546
+ end
1547
+
1548
+ # Update properties of this object
1549
+ def update!(**args)
1550
+ @bigquery_routine_spec = args[:bigquery_routine_spec] if args.key?(:bigquery_routine_spec)
1551
+ @definition_body = args[:definition_body] if args.key?(:definition_body)
1552
+ @language = args[:language] if args.key?(:language)
1553
+ @return_type = args[:return_type] if args.key?(:return_type)
1554
+ @routine_arguments = args[:routine_arguments] if args.key?(:routine_arguments)
1555
+ @routine_type = args[:routine_type] if args.key?(:routine_type)
1556
+ end
1557
+ end
1558
+
1559
+ # Input or output argument of a function or stored procedure.
1560
+ class GoogleCloudDatacatalogV1RoutineSpecArgument
1561
+ include Google::Apis::Core::Hashable
1562
+
1563
+ # Specifies whether the argument is input or output.
1564
+ # Corresponds to the JSON property `mode`
1565
+ # @return [String]
1566
+ attr_accessor :mode
1567
+
1568
+ # The name of the argument. A return argument of a function might not have a
1569
+ # name.
1570
+ # Corresponds to the JSON property `name`
1571
+ # @return [String]
1572
+ attr_accessor :name
1573
+
1574
+ # Type of the argument. The exact value depends on the source system and the
1575
+ # language.
1576
+ # Corresponds to the JSON property `type`
1577
+ # @return [String]
1578
+ attr_accessor :type
1579
+
1580
+ def initialize(**args)
1581
+ update!(**args)
1582
+ end
1583
+
1584
+ # Update properties of this object
1585
+ def update!(**args)
1586
+ @mode = args[:mode] if args.key?(:mode)
1587
+ @name = args[:name] if args.key?(:name)
1588
+ @type = args[:type] if args.key?(:type)
1589
+ end
1590
+ end
1591
+
1592
+ # Represents a schema, for example, a BigQuery, GoogleSQL, or Avro schema.
1593
+ class GoogleCloudDatacatalogV1Schema
1594
+ include Google::Apis::Core::Hashable
1595
+
1596
+ # The unified GoogleSQL-like schema of columns. The overall maximum number of
1597
+ # columns and nested columns is 10,000. The maximum nested depth is 15 levels.
1598
+ # Corresponds to the JSON property `columns`
1599
+ # @return [Array<Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1ColumnSchema>]
1600
+ attr_accessor :columns
1601
+
1602
+ def initialize(**args)
1603
+ update!(**args)
1604
+ end
1605
+
1606
+ # Update properties of this object
1607
+ def update!(**args)
1608
+ @columns = args[:columns] if args.key?(:columns)
1609
+ end
1610
+ end
1611
+
1612
+ # Specification that applies to entries that are part `SQL_DATABASE` system (
1613
+ # user_specified_type)
1614
+ class GoogleCloudDatacatalogV1SqlDatabaseSystemSpec
1615
+ include Google::Apis::Core::Hashable
1616
+
1617
+ # Version of the database engine.
1618
+ # Corresponds to the JSON property `databaseVersion`
1619
+ # @return [String]
1620
+ attr_accessor :database_version
1621
+
1622
+ # Host of the SQL database enum InstanceHost ` UNDEFINED = 0; SELF_HOSTED = 1;
1623
+ # CLOUD_SQL = 2; AMAZON_RDS = 3; AZURE_SQL = 4; ` Host of the enclousing
1624
+ # database instance.
1625
+ # Corresponds to the JSON property `instanceHost`
1626
+ # @return [String]
1627
+ attr_accessor :instance_host
1628
+
1629
+ # SQL Database Engine. enum SqlEngine ` UNDEFINED = 0; MY_SQL = 1; POSTGRE_SQL =
1630
+ # 2; SQL_SERVER = 3; ` Engine of the enclosing database instance.
1631
+ # Corresponds to the JSON property `sqlEngine`
1632
+ # @return [String]
1633
+ attr_accessor :sql_engine
1634
+
1635
+ def initialize(**args)
1636
+ update!(**args)
1637
+ end
1638
+
1639
+ # Update properties of this object
1640
+ def update!(**args)
1641
+ @database_version = args[:database_version] if args.key?(:database_version)
1642
+ @instance_host = args[:instance_host] if args.key?(:instance_host)
1643
+ @sql_engine = args[:sql_engine] if args.key?(:sql_engine)
1644
+ end
1645
+ end
1646
+
1647
+ # Details the properties of the underlying storage.
1648
+ class GoogleCloudDatacatalogV1StorageProperties
1649
+ include Google::Apis::Core::Hashable
1650
+
1651
+ # Patterns to identify a set of files for this fileset. Examples of a valid `
1652
+ # file_pattern`: * `gs://bucket_name/dir/*`: matches all files in the `
1653
+ # bucket_name/dir` directory * `gs://bucket_name/dir/**`: matches all files in
1654
+ # the `bucket_name/dir` and all subdirectories recursively * `gs://bucket_name/
1655
+ # file*`: matches files prefixed by `file` in `bucket_name` * `gs://bucket_name/?
1656
+ # ?.txt`: matches files with two characters followed by `.txt` in `bucket_name` *
1657
+ # `gs://bucket_name/[aeiou].txt`: matches files that contain a single vowel
1658
+ # character followed by `.txt` in `bucket_name` * `gs://bucket_name/[a-m].txt`:
1659
+ # matches files that contain `a`, `b`, ... or `m` followed by `.txt` in `
1660
+ # bucket_name` * `gs://bucket_name/a/*/b`: matches all files in `bucket_name`
1661
+ # that match the `a/*/b` pattern, such as `a/c/b`, `a/d/b` * `gs://
1662
+ # another_bucket/a.txt`: matches `gs://another_bucket/a.txt`
1663
+ # Corresponds to the JSON property `filePattern`
1664
+ # @return [Array<String>]
1665
+ attr_accessor :file_pattern
1666
+
1667
+ # File type in MIME format, for example, `text/plain`.
1668
+ # Corresponds to the JSON property `fileType`
1669
+ # @return [String]
1670
+ attr_accessor :file_type
1671
+
1672
+ def initialize(**args)
1673
+ update!(**args)
1674
+ end
1675
+
1676
+ # Update properties of this object
1677
+ def update!(**args)
1678
+ @file_pattern = args[:file_pattern] if args.key?(:file_pattern)
1679
+ @file_type = args[:file_type] if args.key?(:file_type)
1680
+ end
1681
+ end
1682
+
1683
+ # Timestamps associated with this resource in a particular system.
1684
+ class GoogleCloudDatacatalogV1SystemTimestamps
1685
+ include Google::Apis::Core::Hashable
1686
+
1687
+ # Creation timestamp of the resource within the given system.
1688
+ # Corresponds to the JSON property `createTime`
1689
+ # @return [String]
1690
+ attr_accessor :create_time
1691
+
1692
+ # Output only. Expiration timestamp of the resource within the given system.
1693
+ # Currently only applicable to BigQuery resources.
1694
+ # Corresponds to the JSON property `expireTime`
1695
+ # @return [String]
1696
+ attr_accessor :expire_time
1697
+
1698
+ # Timestamp of the last modification of the resource or its metadata within a
1699
+ # given system. Note: Depending on the source system, not every modification
1700
+ # updates this timestamp. For example, BigQuery timestamps every metadata
1701
+ # modification but not data or permission changes.
1702
+ # Corresponds to the JSON property `updateTime`
1703
+ # @return [String]
1704
+ attr_accessor :update_time
1705
+
1706
+ def initialize(**args)
1707
+ update!(**args)
1708
+ end
1709
+
1710
+ # Update properties of this object
1711
+ def update!(**args)
1712
+ @create_time = args[:create_time] if args.key?(:create_time)
1713
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
1714
+ @update_time = args[:update_time] if args.key?(:update_time)
1715
+ end
1716
+ end
1717
+
1718
+ # Normal BigQuery table specification.
1719
+ class GoogleCloudDatacatalogV1TableSpec
1720
+ include Google::Apis::Core::Hashable
1721
+
1722
+ # Output only. If the table is date-sharded, that is, it matches the `[prefix]
1723
+ # YYYYMMDD` name pattern, this field is the Data Catalog resource name of the
1724
+ # date-sharded grouped entry. For example: `projects/`PROJECT_ID`/locations/`
1725
+ # LOCATION`/entrygroups/`ENTRY_GROUP_ID`/entries/`ENTRY_ID``. Otherwise, `
1726
+ # grouped_entry` is empty.
1727
+ # Corresponds to the JSON property `groupedEntry`
1728
+ # @return [String]
1729
+ attr_accessor :grouped_entry
1730
+
1731
+ def initialize(**args)
1732
+ update!(**args)
1733
+ end
1734
+
1735
+ # Update properties of this object
1736
+ def update!(**args)
1737
+ @grouped_entry = args[:grouped_entry] if args.key?(:grouped_entry)
1738
+ end
1739
+ end
1740
+
1741
+ # Tags contain custom metadata and are attached to Data Catalog resources. Tags
1742
+ # conform with the specification of their tag template. See [Data Catalog IAM](
1743
+ # https://cloud.google.com/data-catalog/docs/concepts/iam) for information on
1744
+ # the permissions needed to create or view tags.
1745
+ class GoogleCloudDatacatalogV1Tag
1746
+ include Google::Apis::Core::Hashable
1747
+
1748
+ # Resources like entry can have schemas associated with them. This scope allows
1749
+ # you to attach tags to an individual column based on that schema. To attach a
1750
+ # tag to a nested column, separate column names with a dot (`.`). Example: `
1751
+ # column.nested_column`.
1752
+ # Corresponds to the JSON property `column`
1753
+ # @return [String]
1754
+ attr_accessor :column
1755
+
1756
+ # Required. Maps the ID of a tag field to its value and additional information
1757
+ # about that field. Tag template defines valid field IDs. A tag must have at
1758
+ # least 1 field and at most 500 fields.
1759
+ # Corresponds to the JSON property `fields`
1760
+ # @return [Hash<String,Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1TagField>]
1761
+ attr_accessor :fields
1762
+
1763
+ # The resource name of the tag in URL format where tag ID is a system-generated
1764
+ # identifier. Note: The tag itself might not be stored in the location specified
1765
+ # in its name.
1766
+ # Corresponds to the JSON property `name`
1767
+ # @return [String]
1768
+ attr_accessor :name
1769
+
1770
+ # Required. The resource name of the tag template this tag uses. Example: `
1771
+ # projects/`PROJECT_ID`/locations/`LOCATION`/tagTemplates/`TAG_TEMPLATE_ID``
1772
+ # This field cannot be modified after creation.
1773
+ # Corresponds to the JSON property `template`
1774
+ # @return [String]
1775
+ attr_accessor :template
1776
+
1777
+ # Output only. The display name of the tag template.
1778
+ # Corresponds to the JSON property `templateDisplayName`
1779
+ # @return [String]
1780
+ attr_accessor :template_display_name
1781
+
1782
+ def initialize(**args)
1783
+ update!(**args)
1784
+ end
1785
+
1786
+ # Update properties of this object
1787
+ def update!(**args)
1788
+ @column = args[:column] if args.key?(:column)
1789
+ @fields = args[:fields] if args.key?(:fields)
1790
+ @name = args[:name] if args.key?(:name)
1791
+ @template = args[:template] if args.key?(:template)
1792
+ @template_display_name = args[:template_display_name] if args.key?(:template_display_name)
1793
+ end
1794
+ end
1795
+
1796
+ # Contains the value and additional information on a field within a Tag.
1797
+ class GoogleCloudDatacatalogV1TagField
1798
+ include Google::Apis::Core::Hashable
1799
+
1800
+ # The value of a tag field with a boolean type.
1801
+ # Corresponds to the JSON property `boolValue`
1802
+ # @return [Boolean]
1803
+ attr_accessor :bool_value
1804
+ alias_method :bool_value?, :bool_value
1805
+
1806
+ # Output only. The display name of this field.
1807
+ # Corresponds to the JSON property `displayName`
1808
+ # @return [String]
1809
+ attr_accessor :display_name
1810
+
1811
+ # The value of a tag field with a double type.
1812
+ # Corresponds to the JSON property `doubleValue`
1813
+ # @return [Float]
1814
+ attr_accessor :double_value
1815
+
1816
+ # An enum value.
1817
+ # Corresponds to the JSON property `enumValue`
1818
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1TagFieldEnumValue]
1819
+ attr_accessor :enum_value
1820
+
1821
+ # Output only. The order of this field with respect to other fields in this tag.
1822
+ # Can be set by Tag. For example, a higher value can indicate a more important
1823
+ # field. The value can be negative. Multiple fields can have the same order, and
1824
+ # field orders within a tag don't have to be sequential.
1825
+ # Corresponds to the JSON property `order`
1826
+ # @return [Fixnum]
1827
+ attr_accessor :order
1828
+
1829
+ # The value of a tag field with a rich text type. The maximum length is 10 MiB
1830
+ # as this value holds HTML descriptions including encoded images. The maximum
1831
+ # length of the text without images is 100 KiB.
1832
+ # Corresponds to the JSON property `richtextValue`
1833
+ # @return [String]
1834
+ attr_accessor :richtext_value
1835
+
1836
+ # The value of a tag field with a string type. The maximum length is 2000 UTF-8
1837
+ # characters.
1838
+ # Corresponds to the JSON property `stringValue`
1839
+ # @return [String]
1840
+ attr_accessor :string_value
1841
+
1842
+ # The value of a tag field with a timestamp type.
1843
+ # Corresponds to the JSON property `timestampValue`
1844
+ # @return [String]
1845
+ attr_accessor :timestamp_value
1846
+
1847
+ def initialize(**args)
1848
+ update!(**args)
1849
+ end
1850
+
1851
+ # Update properties of this object
1852
+ def update!(**args)
1853
+ @bool_value = args[:bool_value] if args.key?(:bool_value)
1854
+ @display_name = args[:display_name] if args.key?(:display_name)
1855
+ @double_value = args[:double_value] if args.key?(:double_value)
1856
+ @enum_value = args[:enum_value] if args.key?(:enum_value)
1857
+ @order = args[:order] if args.key?(:order)
1858
+ @richtext_value = args[:richtext_value] if args.key?(:richtext_value)
1859
+ @string_value = args[:string_value] if args.key?(:string_value)
1860
+ @timestamp_value = args[:timestamp_value] if args.key?(:timestamp_value)
1861
+ end
1862
+ end
1863
+
1864
+ # An enum value.
1865
+ class GoogleCloudDatacatalogV1TagFieldEnumValue
1866
+ include Google::Apis::Core::Hashable
1867
+
1868
+ # The display name of the enum value.
1869
+ # Corresponds to the JSON property `displayName`
1870
+ # @return [String]
1871
+ attr_accessor :display_name
1872
+
1873
+ def initialize(**args)
1874
+ update!(**args)
1875
+ end
1876
+
1877
+ # Update properties of this object
1878
+ def update!(**args)
1879
+ @display_name = args[:display_name] if args.key?(:display_name)
1880
+ end
1881
+ end
1882
+
1883
+ # Wrapper containing Entry and information about Tags that should and should not
1884
+ # be attached to it.
1885
+ class GoogleCloudDatacatalogV1TaggedEntry
1886
+ include Google::Apis::Core::Hashable
1887
+
1888
+ # Tags that should be deleted from the Data Catalog. Caller should populate
1889
+ # template name and column only.
1890
+ # Corresponds to the JSON property `absentTags`
1891
+ # @return [Array<Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1Tag>]
1892
+ attr_accessor :absent_tags
1893
+
1894
+ # Tags that should be ingested into the Data Catalog. Caller should populate
1895
+ # template name, column and fields.
1896
+ # Corresponds to the JSON property `presentTags`
1897
+ # @return [Array<Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1Tag>]
1898
+ attr_accessor :present_tags
1899
+
1900
+ # Entry metadata. A Data Catalog entry represents another resource in Google
1901
+ # Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic) or outside of
1902
+ # it. You can use the `linked_resource` field in the entry resource to refer to
1903
+ # the original resource ID of the source system. An entry resource contains
1904
+ # resource details, for example, its schema. Additionally, you can attach
1905
+ # flexible metadata to an entry in the form of a Tag.
1906
+ # Corresponds to the JSON property `v1Entry`
1907
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1Entry]
1908
+ attr_accessor :v1_entry
1909
+
1910
+ def initialize(**args)
1911
+ update!(**args)
1912
+ end
1913
+
1914
+ # Update properties of this object
1915
+ def update!(**args)
1916
+ @absent_tags = args[:absent_tags] if args.key?(:absent_tags)
1917
+ @present_tags = args[:present_tags] if args.key?(:present_tags)
1918
+ @v1_entry = args[:v1_entry] if args.key?(:v1_entry)
1919
+ end
1920
+ end
1921
+
1922
+ # The set of all usage signals that Data Catalog stores. Note: Usually, these
1923
+ # signals are updated daily. In rare cases, an update may fail but will be
1924
+ # performed again on the next day.
1925
+ class GoogleCloudDatacatalogV1UsageSignal
1926
+ include Google::Apis::Core::Hashable
1927
+
1928
+ # Common usage statistics over each of the predefined time ranges. Supported
1929
+ # time ranges are ``"24H", "7D", "30D", "Lifetime"``.
1930
+ # Corresponds to the JSON property `commonUsageWithinTimeRange`
1931
+ # @return [Hash<String,Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1CommonUsageStats>]
1932
+ attr_accessor :common_usage_within_time_range
1933
+
1934
+ # Favorite count in the source system.
1935
+ # Corresponds to the JSON property `favoriteCount`
1936
+ # @return [Fixnum]
1937
+ attr_accessor :favorite_count
1938
+
1939
+ # The end timestamp of the duration of usage statistics.
1940
+ # Corresponds to the JSON property `updateTime`
1941
+ # @return [String]
1942
+ attr_accessor :update_time
1943
+
1944
+ # Output only. BigQuery usage statistics over each of the predefined time ranges.
1945
+ # Supported time ranges are ``"24H", "7D", "30D"``.
1946
+ # Corresponds to the JSON property `usageWithinTimeRange`
1947
+ # @return [Hash<String,Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1UsageStats>]
1948
+ attr_accessor :usage_within_time_range
1949
+
1950
+ def initialize(**args)
1951
+ update!(**args)
1952
+ end
1953
+
1954
+ # Update properties of this object
1955
+ def update!(**args)
1956
+ @common_usage_within_time_range = args[:common_usage_within_time_range] if args.key?(:common_usage_within_time_range)
1957
+ @favorite_count = args[:favorite_count] if args.key?(:favorite_count)
1958
+ @update_time = args[:update_time] if args.key?(:update_time)
1959
+ @usage_within_time_range = args[:usage_within_time_range] if args.key?(:usage_within_time_range)
1960
+ end
1961
+ end
1962
+
1963
+ # Detailed statistics on the entry's usage. Usage statistics have the following
1964
+ # limitations: - Only BigQuery tables have them. - They only include BigQuery
1965
+ # query jobs. - They might be underestimated because wildcard table references
1966
+ # are not yet counted. For more information, see [Querying multiple tables using
1967
+ # a wildcard table] (https://cloud.google.com/bigquery/docs/querying-wildcard-
1968
+ # tables)
1969
+ class GoogleCloudDatacatalogV1UsageStats
1970
+ include Google::Apis::Core::Hashable
1971
+
1972
+ # The number of cancelled attempts to use the underlying entry.
1973
+ # Corresponds to the JSON property `totalCancellations`
1974
+ # @return [Float]
1975
+ attr_accessor :total_cancellations
1976
+
1977
+ # The number of successful uses of the underlying entry.
1978
+ # Corresponds to the JSON property `totalCompletions`
1979
+ # @return [Float]
1980
+ attr_accessor :total_completions
1981
+
1982
+ # Total time spent only on successful uses, in milliseconds.
1983
+ # Corresponds to the JSON property `totalExecutionTimeForCompletionsMillis`
1984
+ # @return [Float]
1985
+ attr_accessor :total_execution_time_for_completions_millis
1986
+
1987
+ # The number of failed attempts to use the underlying entry.
1988
+ # Corresponds to the JSON property `totalFailures`
1989
+ # @return [Float]
1990
+ attr_accessor :total_failures
1991
+
1992
+ def initialize(**args)
1993
+ update!(**args)
1994
+ end
1995
+
1996
+ # Update properties of this object
1997
+ def update!(**args)
1998
+ @total_cancellations = args[:total_cancellations] if args.key?(:total_cancellations)
1999
+ @total_completions = args[:total_completions] if args.key?(:total_completions)
2000
+ @total_execution_time_for_completions_millis = args[:total_execution_time_for_completions_millis] if args.key?(:total_execution_time_for_completions_millis)
2001
+ @total_failures = args[:total_failures] if args.key?(:total_failures)
2002
+ end
2003
+ end
2004
+
2005
+ # Table view specification.
2006
+ class GoogleCloudDatacatalogV1ViewSpec
2007
+ include Google::Apis::Core::Hashable
2008
+
2009
+ # Output only. The query that defines the table view.
2010
+ # Corresponds to the JSON property `viewQuery`
2011
+ # @return [String]
2012
+ attr_accessor :view_query
2013
+
2014
+ def initialize(**args)
2015
+ update!(**args)
2016
+ end
2017
+
2018
+ # Update properties of this object
2019
+ def update!(**args)
2020
+ @view_query = args[:view_query] if args.key?(:view_query)
325
2021
  end
326
2022
  end
327
2023