google-apis-datacatalog_v1beta1 0.28.0 → 0.29.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.
@@ -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,308 @@ 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
353
+
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
305
444
 
306
- # Number of tags deleted in the request.
307
- # Corresponds to the JSON property `deletedTagsCount`
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
449
+
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
310
502
 
311
- # Number of tags updated in the request.
312
- # Corresponds to the JSON property `updatedTagsCount`
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
507
+
508
+ def initialize(**args)
509
+ update!(**args)
510
+ end
511
+
512
+ # Update properties of this object
513
+ def update!(**args)
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
315
641
 
316
642
  def initialize(**args)
317
643
  update!(**args)
@@ -319,9 +645,1322 @@ module Google
319
645
 
320
646
  # Update properties of this object
321
647
  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)
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
+ # Specification that applies to a routine. Valid only for entries with the `
1451
+ # ROUTINE` type.
1452
+ class GoogleCloudDatacatalogV1RoutineSpec
1453
+ include Google::Apis::Core::Hashable
1454
+
1455
+ # Fields specific for BigQuery routines.
1456
+ # Corresponds to the JSON property `bigqueryRoutineSpec`
1457
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1BigQueryRoutineSpec]
1458
+ attr_accessor :bigquery_routine_spec
1459
+
1460
+ # The body of the routine.
1461
+ # Corresponds to the JSON property `definitionBody`
1462
+ # @return [String]
1463
+ attr_accessor :definition_body
1464
+
1465
+ # The language the routine is written in. The exact value depends on the source
1466
+ # system. For BigQuery routines, possible values are: * `SQL` * `JAVASCRIPT`
1467
+ # Corresponds to the JSON property `language`
1468
+ # @return [String]
1469
+ attr_accessor :language
1470
+
1471
+ # Return type of the argument. The exact value depends on the source system and
1472
+ # the language.
1473
+ # Corresponds to the JSON property `returnType`
1474
+ # @return [String]
1475
+ attr_accessor :return_type
1476
+
1477
+ # Arguments of the routine.
1478
+ # Corresponds to the JSON property `routineArguments`
1479
+ # @return [Array<Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1RoutineSpecArgument>]
1480
+ attr_accessor :routine_arguments
1481
+
1482
+ # The type of the routine.
1483
+ # Corresponds to the JSON property `routineType`
1484
+ # @return [String]
1485
+ attr_accessor :routine_type
1486
+
1487
+ def initialize(**args)
1488
+ update!(**args)
1489
+ end
1490
+
1491
+ # Update properties of this object
1492
+ def update!(**args)
1493
+ @bigquery_routine_spec = args[:bigquery_routine_spec] if args.key?(:bigquery_routine_spec)
1494
+ @definition_body = args[:definition_body] if args.key?(:definition_body)
1495
+ @language = args[:language] if args.key?(:language)
1496
+ @return_type = args[:return_type] if args.key?(:return_type)
1497
+ @routine_arguments = args[:routine_arguments] if args.key?(:routine_arguments)
1498
+ @routine_type = args[:routine_type] if args.key?(:routine_type)
1499
+ end
1500
+ end
1501
+
1502
+ # Input or output argument of a function or stored procedure.
1503
+ class GoogleCloudDatacatalogV1RoutineSpecArgument
1504
+ include Google::Apis::Core::Hashable
1505
+
1506
+ # Specifies whether the argument is input or output.
1507
+ # Corresponds to the JSON property `mode`
1508
+ # @return [String]
1509
+ attr_accessor :mode
1510
+
1511
+ # The name of the argument. A return argument of a function might not have a
1512
+ # name.
1513
+ # Corresponds to the JSON property `name`
1514
+ # @return [String]
1515
+ attr_accessor :name
1516
+
1517
+ # Type of the argument. The exact value depends on the source system and the
1518
+ # language.
1519
+ # Corresponds to the JSON property `type`
1520
+ # @return [String]
1521
+ attr_accessor :type
1522
+
1523
+ def initialize(**args)
1524
+ update!(**args)
1525
+ end
1526
+
1527
+ # Update properties of this object
1528
+ def update!(**args)
1529
+ @mode = args[:mode] if args.key?(:mode)
1530
+ @name = args[:name] if args.key?(:name)
1531
+ @type = args[:type] if args.key?(:type)
1532
+ end
1533
+ end
1534
+
1535
+ # Represents a schema, for example, a BigQuery, GoogleSQL, or Avro schema.
1536
+ class GoogleCloudDatacatalogV1Schema
1537
+ include Google::Apis::Core::Hashable
1538
+
1539
+ # The unified GoogleSQL-like schema of columns. The overall maximum number of
1540
+ # columns and nested columns is 10,000. The maximum nested depth is 15 levels.
1541
+ # Corresponds to the JSON property `columns`
1542
+ # @return [Array<Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1ColumnSchema>]
1543
+ attr_accessor :columns
1544
+
1545
+ def initialize(**args)
1546
+ update!(**args)
1547
+ end
1548
+
1549
+ # Update properties of this object
1550
+ def update!(**args)
1551
+ @columns = args[:columns] if args.key?(:columns)
1552
+ end
1553
+ end
1554
+
1555
+ # Specification that applies to entries that are part `SQL_DATABASE` system (
1556
+ # user_specified_type)
1557
+ class GoogleCloudDatacatalogV1SqlDatabaseSystemSpec
1558
+ include Google::Apis::Core::Hashable
1559
+
1560
+ # Version of the database engine.
1561
+ # Corresponds to the JSON property `databaseVersion`
1562
+ # @return [String]
1563
+ attr_accessor :database_version
1564
+
1565
+ # Host of the SQL database enum InstanceHost ` UNDEFINED = 0; SELF_HOSTED = 1;
1566
+ # CLOUD_SQL = 2; AMAZON_RDS = 3; AZURE_SQL = 4; ` Host of the enclousing
1567
+ # database instance.
1568
+ # Corresponds to the JSON property `instanceHost`
1569
+ # @return [String]
1570
+ attr_accessor :instance_host
1571
+
1572
+ # SQL Database Engine. enum SqlEngine ` UNDEFINED = 0; MY_SQL = 1; POSTGRE_SQL =
1573
+ # 2; SQL_SERVER = 3; ` Engine of the enclosing database instance.
1574
+ # Corresponds to the JSON property `sqlEngine`
1575
+ # @return [String]
1576
+ attr_accessor :sql_engine
1577
+
1578
+ def initialize(**args)
1579
+ update!(**args)
1580
+ end
1581
+
1582
+ # Update properties of this object
1583
+ def update!(**args)
1584
+ @database_version = args[:database_version] if args.key?(:database_version)
1585
+ @instance_host = args[:instance_host] if args.key?(:instance_host)
1586
+ @sql_engine = args[:sql_engine] if args.key?(:sql_engine)
1587
+ end
1588
+ end
1589
+
1590
+ # Details the properties of the underlying storage.
1591
+ class GoogleCloudDatacatalogV1StorageProperties
1592
+ include Google::Apis::Core::Hashable
1593
+
1594
+ # Patterns to identify a set of files for this fileset. Examples of a valid `
1595
+ # file_pattern`: * `gs://bucket_name/dir/*`: matches all files in the `
1596
+ # bucket_name/dir` directory * `gs://bucket_name/dir/**`: matches all files in
1597
+ # the `bucket_name/dir` and all subdirectories recursively * `gs://bucket_name/
1598
+ # file*`: matches files prefixed by `file` in `bucket_name` * `gs://bucket_name/?
1599
+ # ?.txt`: matches files with two characters followed by `.txt` in `bucket_name` *
1600
+ # `gs://bucket_name/[aeiou].txt`: matches files that contain a single vowel
1601
+ # character followed by `.txt` in `bucket_name` * `gs://bucket_name/[a-m].txt`:
1602
+ # matches files that contain `a`, `b`, ... or `m` followed by `.txt` in `
1603
+ # bucket_name` * `gs://bucket_name/a/*/b`: matches all files in `bucket_name`
1604
+ # that match the `a/*/b` pattern, such as `a/c/b`, `a/d/b` * `gs://
1605
+ # another_bucket/a.txt`: matches `gs://another_bucket/a.txt`
1606
+ # Corresponds to the JSON property `filePattern`
1607
+ # @return [Array<String>]
1608
+ attr_accessor :file_pattern
1609
+
1610
+ # File type in MIME format, for example, `text/plain`.
1611
+ # Corresponds to the JSON property `fileType`
1612
+ # @return [String]
1613
+ attr_accessor :file_type
1614
+
1615
+ def initialize(**args)
1616
+ update!(**args)
1617
+ end
1618
+
1619
+ # Update properties of this object
1620
+ def update!(**args)
1621
+ @file_pattern = args[:file_pattern] if args.key?(:file_pattern)
1622
+ @file_type = args[:file_type] if args.key?(:file_type)
1623
+ end
1624
+ end
1625
+
1626
+ # Timestamps associated with this resource in a particular system.
1627
+ class GoogleCloudDatacatalogV1SystemTimestamps
1628
+ include Google::Apis::Core::Hashable
1629
+
1630
+ # Creation timestamp of the resource within the given system.
1631
+ # Corresponds to the JSON property `createTime`
1632
+ # @return [String]
1633
+ attr_accessor :create_time
1634
+
1635
+ # Output only. Expiration timestamp of the resource within the given system.
1636
+ # Currently only applicable to BigQuery resources.
1637
+ # Corresponds to the JSON property `expireTime`
1638
+ # @return [String]
1639
+ attr_accessor :expire_time
1640
+
1641
+ # Timestamp of the last modification of the resource or its metadata within a
1642
+ # given system. Note: Depending on the source system, not every modification
1643
+ # updates this timestamp. For example, BigQuery timestamps every metadata
1644
+ # modification but not data or permission changes.
1645
+ # Corresponds to the JSON property `updateTime`
1646
+ # @return [String]
1647
+ attr_accessor :update_time
1648
+
1649
+ def initialize(**args)
1650
+ update!(**args)
1651
+ end
1652
+
1653
+ # Update properties of this object
1654
+ def update!(**args)
1655
+ @create_time = args[:create_time] if args.key?(:create_time)
1656
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
1657
+ @update_time = args[:update_time] if args.key?(:update_time)
1658
+ end
1659
+ end
1660
+
1661
+ # Normal BigQuery table specification.
1662
+ class GoogleCloudDatacatalogV1TableSpec
1663
+ include Google::Apis::Core::Hashable
1664
+
1665
+ # Output only. If the table is date-sharded, that is, it matches the `[prefix]
1666
+ # YYYYMMDD` name pattern, this field is the Data Catalog resource name of the
1667
+ # date-sharded grouped entry. For example: `projects/`PROJECT_ID`/locations/`
1668
+ # LOCATION`/entrygroups/`ENTRY_GROUP_ID`/entries/`ENTRY_ID``. Otherwise, `
1669
+ # grouped_entry` is empty.
1670
+ # Corresponds to the JSON property `groupedEntry`
1671
+ # @return [String]
1672
+ attr_accessor :grouped_entry
1673
+
1674
+ def initialize(**args)
1675
+ update!(**args)
1676
+ end
1677
+
1678
+ # Update properties of this object
1679
+ def update!(**args)
1680
+ @grouped_entry = args[:grouped_entry] if args.key?(:grouped_entry)
1681
+ end
1682
+ end
1683
+
1684
+ # Tags contain custom metadata and are attached to Data Catalog resources. Tags
1685
+ # conform with the specification of their tag template. See [Data Catalog IAM](
1686
+ # https://cloud.google.com/data-catalog/docs/concepts/iam) for information on
1687
+ # the permissions needed to create or view tags.
1688
+ class GoogleCloudDatacatalogV1Tag
1689
+ include Google::Apis::Core::Hashable
1690
+
1691
+ # Resources like entry can have schemas associated with them. This scope allows
1692
+ # you to attach tags to an individual column based on that schema. To attach a
1693
+ # tag to a nested column, separate column names with a dot (`.`). Example: `
1694
+ # column.nested_column`.
1695
+ # Corresponds to the JSON property `column`
1696
+ # @return [String]
1697
+ attr_accessor :column
1698
+
1699
+ # Required. Maps the ID of a tag field to its value and additional information
1700
+ # about that field. Tag template defines valid field IDs. A tag must have at
1701
+ # least 1 field and at most 500 fields.
1702
+ # Corresponds to the JSON property `fields`
1703
+ # @return [Hash<String,Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1TagField>]
1704
+ attr_accessor :fields
1705
+
1706
+ # The resource name of the tag in URL format where tag ID is a system-generated
1707
+ # identifier. Note: The tag itself might not be stored in the location specified
1708
+ # in its name.
1709
+ # Corresponds to the JSON property `name`
1710
+ # @return [String]
1711
+ attr_accessor :name
1712
+
1713
+ # Required. The resource name of the tag template this tag uses. Example: `
1714
+ # projects/`PROJECT_ID`/locations/`LOCATION`/tagTemplates/`TAG_TEMPLATE_ID``
1715
+ # This field cannot be modified after creation.
1716
+ # Corresponds to the JSON property `template`
1717
+ # @return [String]
1718
+ attr_accessor :template
1719
+
1720
+ # Output only. The display name of the tag template.
1721
+ # Corresponds to the JSON property `templateDisplayName`
1722
+ # @return [String]
1723
+ attr_accessor :template_display_name
1724
+
1725
+ def initialize(**args)
1726
+ update!(**args)
1727
+ end
1728
+
1729
+ # Update properties of this object
1730
+ def update!(**args)
1731
+ @column = args[:column] if args.key?(:column)
1732
+ @fields = args[:fields] if args.key?(:fields)
1733
+ @name = args[:name] if args.key?(:name)
1734
+ @template = args[:template] if args.key?(:template)
1735
+ @template_display_name = args[:template_display_name] if args.key?(:template_display_name)
1736
+ end
1737
+ end
1738
+
1739
+ # Contains the value and additional information on a field within a Tag.
1740
+ class GoogleCloudDatacatalogV1TagField
1741
+ include Google::Apis::Core::Hashable
1742
+
1743
+ # The value of a tag field with a boolean type.
1744
+ # Corresponds to the JSON property `boolValue`
1745
+ # @return [Boolean]
1746
+ attr_accessor :bool_value
1747
+ alias_method :bool_value?, :bool_value
1748
+
1749
+ # Output only. The display name of this field.
1750
+ # Corresponds to the JSON property `displayName`
1751
+ # @return [String]
1752
+ attr_accessor :display_name
1753
+
1754
+ # The value of a tag field with a double type.
1755
+ # Corresponds to the JSON property `doubleValue`
1756
+ # @return [Float]
1757
+ attr_accessor :double_value
1758
+
1759
+ # An enum value.
1760
+ # Corresponds to the JSON property `enumValue`
1761
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1TagFieldEnumValue]
1762
+ attr_accessor :enum_value
1763
+
1764
+ # Output only. The order of this field with respect to other fields in this tag.
1765
+ # Can be set by Tag. For example, a higher value can indicate a more important
1766
+ # field. The value can be negative. Multiple fields can have the same order, and
1767
+ # field orders within a tag don't have to be sequential.
1768
+ # Corresponds to the JSON property `order`
1769
+ # @return [Fixnum]
1770
+ attr_accessor :order
1771
+
1772
+ # The value of a tag field with a rich text type. The maximum length is 10 MiB
1773
+ # as this value holds HTML descriptions including encoded images. The maximum
1774
+ # length of the text without images is 100 KiB.
1775
+ # Corresponds to the JSON property `richtextValue`
1776
+ # @return [String]
1777
+ attr_accessor :richtext_value
1778
+
1779
+ # The value of a tag field with a string type. The maximum length is 2000 UTF-8
1780
+ # characters.
1781
+ # Corresponds to the JSON property `stringValue`
1782
+ # @return [String]
1783
+ attr_accessor :string_value
1784
+
1785
+ # The value of a tag field with a timestamp type.
1786
+ # Corresponds to the JSON property `timestampValue`
1787
+ # @return [String]
1788
+ attr_accessor :timestamp_value
1789
+
1790
+ def initialize(**args)
1791
+ update!(**args)
1792
+ end
1793
+
1794
+ # Update properties of this object
1795
+ def update!(**args)
1796
+ @bool_value = args[:bool_value] if args.key?(:bool_value)
1797
+ @display_name = args[:display_name] if args.key?(:display_name)
1798
+ @double_value = args[:double_value] if args.key?(:double_value)
1799
+ @enum_value = args[:enum_value] if args.key?(:enum_value)
1800
+ @order = args[:order] if args.key?(:order)
1801
+ @richtext_value = args[:richtext_value] if args.key?(:richtext_value)
1802
+ @string_value = args[:string_value] if args.key?(:string_value)
1803
+ @timestamp_value = args[:timestamp_value] if args.key?(:timestamp_value)
1804
+ end
1805
+ end
1806
+
1807
+ # An enum value.
1808
+ class GoogleCloudDatacatalogV1TagFieldEnumValue
1809
+ include Google::Apis::Core::Hashable
1810
+
1811
+ # The display name of the enum value.
1812
+ # Corresponds to the JSON property `displayName`
1813
+ # @return [String]
1814
+ attr_accessor :display_name
1815
+
1816
+ def initialize(**args)
1817
+ update!(**args)
1818
+ end
1819
+
1820
+ # Update properties of this object
1821
+ def update!(**args)
1822
+ @display_name = args[:display_name] if args.key?(:display_name)
1823
+ end
1824
+ end
1825
+
1826
+ # Wrapper containing Entry and information about Tags that should and should not
1827
+ # be attached to it.
1828
+ class GoogleCloudDatacatalogV1TaggedEntry
1829
+ include Google::Apis::Core::Hashable
1830
+
1831
+ # Tags that should be deleted from the Data Catalog. Caller should populate
1832
+ # template name and column only.
1833
+ # Corresponds to the JSON property `absentTags`
1834
+ # @return [Array<Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1Tag>]
1835
+ attr_accessor :absent_tags
1836
+
1837
+ # Tags that should be ingested into the Data Catalog. Caller should populate
1838
+ # template name, column and fields.
1839
+ # Corresponds to the JSON property `presentTags`
1840
+ # @return [Array<Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1Tag>]
1841
+ attr_accessor :present_tags
1842
+
1843
+ # Entry metadata. A Data Catalog entry represents another resource in Google
1844
+ # Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic) or outside of
1845
+ # it. You can use the `linked_resource` field in the entry resource to refer to
1846
+ # the original resource ID of the source system. An entry resource contains
1847
+ # resource details, for example, its schema. Additionally, you can attach
1848
+ # flexible metadata to an entry in the form of a Tag.
1849
+ # Corresponds to the JSON property `v1Entry`
1850
+ # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1Entry]
1851
+ attr_accessor :v1_entry
1852
+
1853
+ def initialize(**args)
1854
+ update!(**args)
1855
+ end
1856
+
1857
+ # Update properties of this object
1858
+ def update!(**args)
1859
+ @absent_tags = args[:absent_tags] if args.key?(:absent_tags)
1860
+ @present_tags = args[:present_tags] if args.key?(:present_tags)
1861
+ @v1_entry = args[:v1_entry] if args.key?(:v1_entry)
1862
+ end
1863
+ end
1864
+
1865
+ # The set of all usage signals that Data Catalog stores. Note: Usually, these
1866
+ # signals are updated daily. In rare cases, an update may fail but will be
1867
+ # performed again on the next day.
1868
+ class GoogleCloudDatacatalogV1UsageSignal
1869
+ include Google::Apis::Core::Hashable
1870
+
1871
+ # Common usage statistics over each of the predefined time ranges. Supported
1872
+ # time ranges are ``"24H", "7D", "30D", "Lifetime"``.
1873
+ # Corresponds to the JSON property `commonUsageWithinTimeRange`
1874
+ # @return [Hash<String,Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1CommonUsageStats>]
1875
+ attr_accessor :common_usage_within_time_range
1876
+
1877
+ # Favorite count in the source system.
1878
+ # Corresponds to the JSON property `favoriteCount`
1879
+ # @return [Fixnum]
1880
+ attr_accessor :favorite_count
1881
+
1882
+ # The end timestamp of the duration of usage statistics.
1883
+ # Corresponds to the JSON property `updateTime`
1884
+ # @return [String]
1885
+ attr_accessor :update_time
1886
+
1887
+ # Output only. BigQuery usage statistics over each of the predefined time ranges.
1888
+ # Supported time ranges are ``"24H", "7D", "30D"``.
1889
+ # Corresponds to the JSON property `usageWithinTimeRange`
1890
+ # @return [Hash<String,Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1UsageStats>]
1891
+ attr_accessor :usage_within_time_range
1892
+
1893
+ def initialize(**args)
1894
+ update!(**args)
1895
+ end
1896
+
1897
+ # Update properties of this object
1898
+ def update!(**args)
1899
+ @common_usage_within_time_range = args[:common_usage_within_time_range] if args.key?(:common_usage_within_time_range)
1900
+ @favorite_count = args[:favorite_count] if args.key?(:favorite_count)
1901
+ @update_time = args[:update_time] if args.key?(:update_time)
1902
+ @usage_within_time_range = args[:usage_within_time_range] if args.key?(:usage_within_time_range)
1903
+ end
1904
+ end
1905
+
1906
+ # Detailed statistics on the entry's usage. Usage statistics have the following
1907
+ # limitations: - Only BigQuery tables have them. - They only include BigQuery
1908
+ # query jobs. - They might be underestimated because wildcard table references
1909
+ # are not yet counted. For more information, see [Querying multiple tables using
1910
+ # a wildcard table] (https://cloud.google.com/bigquery/docs/querying-wildcard-
1911
+ # tables)
1912
+ class GoogleCloudDatacatalogV1UsageStats
1913
+ include Google::Apis::Core::Hashable
1914
+
1915
+ # The number of cancelled attempts to use the underlying entry.
1916
+ # Corresponds to the JSON property `totalCancellations`
1917
+ # @return [Float]
1918
+ attr_accessor :total_cancellations
1919
+
1920
+ # The number of successful uses of the underlying entry.
1921
+ # Corresponds to the JSON property `totalCompletions`
1922
+ # @return [Float]
1923
+ attr_accessor :total_completions
1924
+
1925
+ # Total time spent only on successful uses, in milliseconds.
1926
+ # Corresponds to the JSON property `totalExecutionTimeForCompletionsMillis`
1927
+ # @return [Float]
1928
+ attr_accessor :total_execution_time_for_completions_millis
1929
+
1930
+ # The number of failed attempts to use the underlying entry.
1931
+ # Corresponds to the JSON property `totalFailures`
1932
+ # @return [Float]
1933
+ attr_accessor :total_failures
1934
+
1935
+ def initialize(**args)
1936
+ update!(**args)
1937
+ end
1938
+
1939
+ # Update properties of this object
1940
+ def update!(**args)
1941
+ @total_cancellations = args[:total_cancellations] if args.key?(:total_cancellations)
1942
+ @total_completions = args[:total_completions] if args.key?(:total_completions)
1943
+ @total_execution_time_for_completions_millis = args[:total_execution_time_for_completions_millis] if args.key?(:total_execution_time_for_completions_millis)
1944
+ @total_failures = args[:total_failures] if args.key?(:total_failures)
1945
+ end
1946
+ end
1947
+
1948
+ # Table view specification.
1949
+ class GoogleCloudDatacatalogV1ViewSpec
1950
+ include Google::Apis::Core::Hashable
1951
+
1952
+ # Output only. The query that defines the table view.
1953
+ # Corresponds to the JSON property `viewQuery`
1954
+ # @return [String]
1955
+ attr_accessor :view_query
1956
+
1957
+ def initialize(**args)
1958
+ update!(**args)
1959
+ end
1960
+
1961
+ # Update properties of this object
1962
+ def update!(**args)
1963
+ @view_query = args[:view_query] if args.key?(:view_query)
325
1964
  end
326
1965
  end
327
1966