feat: add support for entries associated with Spanner and ClougBigTable

feat: expand SearchCatalogResponse with totalSize
feat: modify documentation for FQN support
feat: extend ImportApiRequest with jobId parameter

PiperOrigin-RevId: 536127089
pull/807/head^2
Google APIs 2 years ago committed by Copybara-Service
parent e54ab8ce48
commit 208fb58cd6
  1. 2
      google/cloud/datacatalog/v1/BUILD.bazel
  2. 2
      google/cloud/datacatalog/v1/bigquery.proto
  3. 8
      google/cloud/datacatalog/v1/common.proto
  4. 2
      google/cloud/datacatalog/v1/data_source.proto
  5. 96
      google/cloud/datacatalog/v1/datacatalog.proto
  6. 69
      google/cloud/datacatalog/v1/datacatalog_grpc_service_config.json
  7. 16
      google/cloud/datacatalog/v1/datacatalog_v1.yaml
  8. 2
      google/cloud/datacatalog/v1/dataplex_spec.proto
  9. 12
      google/cloud/datacatalog/v1/dump_content.proto
  10. 2
      google/cloud/datacatalog/v1/gcs_fileset_spec.proto
  11. 2
      google/cloud/datacatalog/v1/physical_schema.proto
  12. 4
      google/cloud/datacatalog/v1/policytagmanager.proto
  13. 2
      google/cloud/datacatalog/v1/policytagmanagerserialization.proto
  14. 2
      google/cloud/datacatalog/v1/schema.proto
  15. 2
      google/cloud/datacatalog/v1/search.proto
  16. 2
      google/cloud/datacatalog/v1/table_spec.proto
  17. 2
      google/cloud/datacatalog/v1/tags.proto
  18. 2
      google/cloud/datacatalog/v1/timestamps.proto
  19. 2
      google/cloud/datacatalog/v1/usage.proto
  20. 2
      google/cloud/datacatalog/v1beta1/BUILD.bazel

@ -250,10 +250,10 @@ php_gapic_library(
name = "datacatalog_php_gapic",
srcs = [":datacatalog_proto_with_info"],
grpc_service_config = "datacatalog_grpc_service_config.json",
migration_mode = "PRE_MIGRATION_SURFACE_ONLY",
rest_numeric_enums = False,
service_yaml = "datacatalog_v1.yaml",
transport = "grpc+rest",
migration_mode = "MIGRATION_MODE_UNSPECIFIED",
deps = [
":datacatalog_php_grpc",
":datacatalog_php_proto",

@ -1,4 +1,4 @@
// Copyright 2022 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2022 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -52,6 +52,12 @@ enum IntegratedSystem {
// Dataplex.
DATAPLEX = 4;
// Cloud Spanner
CLOUD_SPANNER = 6;
// Cloud Bigtable
CLOUD_BIGTABLE = 7;
// Cloud Sql
CLOUD_SQL = 8;

@ -1,4 +1,4 @@
// Copyright 2022 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2022 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -735,6 +735,9 @@ message SearchCatalogResponse {
// Search results.
repeated SearchCatalogResult results = 1;
// The approximate total number of entries matched by the query.
int32 total_size = 2;
// Pagination token that can be used in subsequent calls to retrieve the next
// page of results.
string next_page_token = 3;
@ -971,7 +974,9 @@ message LookupEntryRequest {
// (https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical).
string sql_resource = 3;
// Fully qualified name (FQN) of the resource.
// [Fully Qualified Name
// (FQN)](https://cloud.google.com//data-catalog/docs/fully-qualified-names)
// of the resource.
//
// FQNs take two forms:
//
@ -988,6 +993,16 @@ message LookupEntryRequest {
// `dataproc_metastore:{PROJECT_ID}.{LOCATION_ID}.{INSTANCE_ID}.{DATABASE_ID}.{TABLE_ID}`
string fully_qualified_name = 5;
}
// Project where the lookup should be performed. Required to lookup
// entry that is not a part of `DPMS` or `DATAPLEX` `integrated_system`
// using its `fully_qualified_name`. Ignored in other cases.
string project = 6;
// Location where the lookup should be performed. Required to lookup
// entry that is not a part of `DPMS` or `DATAPLEX` `integrated_system`
// using its `fully_qualified_name`. Ignored in other cases.
string location = 7;
}
// Entry metadata.
@ -1037,25 +1052,12 @@ message Entry {
// The maximum size is 200 bytes when encoded in UTF-8.
string linked_resource = 9;
// Fully qualified name (FQN) of the resource. Set automatically for entries
// representing resources from synced systems. Settable only during creation
// and read-only afterwards. Can be used for search and lookup of the entries.
//
//
//
// FQNs take two forms:
//
// * For non-regionalized resources:
//
// `{SYSTEM}:{PROJECT}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}`
// [Fully Qualified Name
// (FQN)](https://cloud.google.com//data-catalog/docs/fully-qualified-names)
// of the resource. Set automatically for entries representing resources from
// synced systems. Settable only during creation, and read-only later. Can
// be used for search and lookup of the entries.
//
// * For regionalized resources:
//
// `{SYSTEM}:{PROJECT}.{LOCATION_ID}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}`
//
// Example for a DPMS table:
//
// `dataproc_metastore:{PROJECT_ID}.{LOCATION_ID}.{INSTANCE_ID}.{DATABASE_ID}.{TABLE_ID}`
string fully_qualified_name = 29;
// Required. Entry type.
@ -1113,6 +1115,10 @@ message Entry {
// Specification that applies to Looker sysstem. Only settable when
// `user_specified_system` is equal to `LOOKER`
LookerSystemSpec looker_system_spec = 40;
// Specification that applies to Cloud Bigtable system. Only settable when
// `integrated_system` is equal to `CLOUD_BIGTABLE`
CloudBigtableSystemSpec cloud_bigtable_system_spec = 41;
}
// Type specification.
@ -1157,6 +1163,9 @@ message Entry {
// Specification that applies to a fileset resource. Valid only
// for entries with the `FILESET` type.
FilesetSpec fileset_spec = 33;
// Specification that applies to a Service resource.
ServiceSpec service_spec = 42;
}
// Display name of an entry.
@ -1404,6 +1413,49 @@ message LookerSystemSpec {
string parent_view_display_name = 6;
}
// Specification that applies to
// all entries that are part of `CLOUD_BIGTABLE` system
// (user_specified_type)
message CloudBigtableSystemSpec {
// Display name of the Instance. This is user specified and different from
// the resource name.
string instance_display_name = 1;
}
// Specification that applies to Instance
// entries that are part of `CLOUD_BIGTABLE` system.
// (user_specified_type)
message CloudBigtableInstanceSpec {
// Spec that applies to clusters of an Instance of Cloud Bigtable.
message CloudBigtableClusterSpec {
// Name of the cluster.
string display_name = 1;
// Location of the cluster, typically a Cloud zone.
string location = 2;
// Type of the resource. For a cluster this would be "CLUSTER".
string type = 3;
// A link back to the parent resource, in this case Instance.
string linked_resource = 4;
}
// The list of clusters for the Instance.
repeated CloudBigtableClusterSpec cloud_bigtable_cluster_specs = 1;
}
// Specification that applies to a Service resource. Valid only
// for entries with the `SERVICE` type.
message ServiceSpec {
// System spec
oneof system_spec {
// Specification that applies to Instance entries of `CLOUD_BIGTABLE`
// system.
CloudBigtableInstanceSpec cloud_bigtable_instance_spec = 1;
}
}
// Business Context of the entry.
message BusinessContext {
// Entry overview fields for rich text descriptions of entries.
@ -1898,6 +1950,10 @@ message ImportEntriesRequest {
// Path to a Cloud Storage bucket that contains a dump ready for ingestion.
string gcs_bucket_path = 2;
}
// Optional. (Optional) Dataplex task job id, if specified will be used as
// part of ImportEntries LRO ID
string job_id = 3 [(google.api.field_behavior) = OPTIONAL];
}
// Response message for [long-running operation][google.longrunning.Operation]

@ -6,7 +6,17 @@
"service": "google.cloud.datacatalog.v1.DataCatalog"
}
],
"timeout": "60s"
"timeout": "60s",
"retryPolicy": {
"initialBackoff": "0.100s",
"maxBackoff": "60s",
"backoffMultiplier": 1.3,
"retryableStatusCodes": [
"UNAVAILABLE",
"RESOURCE_EXHAUSTED",
"INTERNAL"
]
}
},
{
"name": [
@ -23,63 +33,6 @@
}
],
"timeout": "60s"
},
{
"name": [
{
"service": "google.cloud.datacatalog.v1.DataCatalog",
"method": "GetEntry"
},
{
"service": "google.cloud.datacatalog.v1.DataCatalog",
"method": "GetEntryGroup"
},
{
"service": "google.cloud.datacatalog.v1.DataCatalog",
"method": "GetIamPolicy"
},
{
"service": "google.cloud.datacatalog.v1.DataCatalog",
"method": "GettagTemplate"
},
{
"service": "google.cloud.datacatalog.v1.DataCatalog",
"method": "ListEntries"
},
{
"service": "google.cloud.datacatalog.v1.DataCatalog",
"method": "ListEntryGroups"
},
{
"service": "google.cloud.datacatalog.v1.DataCatalog",
"method": "ListTags"
},
{
"service": "google.cloud.datacatalog.v1.DataCatalog",
"method": "LookupEntry"
},
{
"service": "google.cloud.datacatalog.v1.DataCatalog",
"method": "SearchCatalog"
},
{
"service": "google.cloud.datacatalog.v1.DataCatalog",
"method": "TestIamPermisisons"
},
{
"service": "google.cloud.datacatalog.v1.DataCatalog",
"method": "ImportEntries"
}
],
"timeout": "60s",
"retryPolicy": {
"initialBackoff": "0.100s",
"maxBackoff": "60s",
"backoffMultiplier": 1.3,
"retryableStatusCodes": [
"UNAVAILABLE"
]
}
}
]
}

@ -85,20 +85,16 @@ authentication:
https://www.googleapis.com/auth/cloud-platform
publishing:
organization: CLOUD
new_issue_uri: 'https://issuetracker.google.com/issues/new?component=655468&template=1284353'
documentation_uri: 'https://cloud.google.com/data-catalog/docs'
api_short_name: 'datacatalog'
new_issue_uri: https://issuetracker.google.com/issues/new?component=655468&template=1284353
documentation_uri: https://cloud.google.com/data-catalog/docs
api_short_name: datacatalog
github_label: 'api: datacatalog'
doc_tag_prefix: 'datacatalog'
codeowner_github_teams:
doc_tag_prefix: datacatalog
organization: CLOUD
library_settings:
- version: 'google.cloud.datacatalog.v1'
- version: google.cloud.datacatalog.v1
launch_stage: GA
rest_numeric_enums: false
java_settings:
library_package: ''
service_class_names:
common:
destinations:
- PACKAGE_MANAGER

@ -1,4 +1,4 @@
// Copyright 2022 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2022 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -16,6 +16,7 @@ syntax = "proto3";
package google.cloud.datacatalog.v1;
import "google/api/field_behavior.proto";
import "google/cloud/datacatalog/v1/datacatalog.proto";
import "google/cloud/datacatalog/v1/tags.proto";
@ -31,18 +32,19 @@ option ruby_package = "Google::Cloud::DataCatalog::V1";
// Wrapper containing Entry and information about Tags
// that should and should not be attached to it.
message TaggedEntry {
// Required. Entry to be ingested.
oneof entry {
// Non-encrypted Data Catalog v1 Entry.
Entry v1_entry = 1;
}
// Tags that should be ingested into the Data Catalog.
// Optional. Tags that should be ingested into the Data Catalog.
// Caller should populate template name, column and fields.
repeated Tag present_tags = 2;
repeated Tag present_tags = 2 [(google.api.field_behavior) = OPTIONAL];
// Tags that should be deleted from the Data Catalog.
// Optional. Tags that should be deleted from the Data Catalog.
// Caller should populate template name and column only.
repeated Tag absent_tags = 3;
repeated Tag absent_tags = 3 [(google.api.field_behavior) = OPTIONAL];
}
// Wrapper for any item that can be contained in the dump.

@ -1,4 +1,4 @@
// Copyright 2022 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2022 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2022 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -229,7 +229,7 @@ message Taxonomy {
// The Google Cloud service name.
ManagingSystem name = 1;
// P4SA Identity of the service.
// The service agent for the service.
string identity = 2;
}

@ -1,4 +1,4 @@
// Copyright 2022 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2022 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2022 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2022 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2022 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2022 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2022 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -236,6 +236,7 @@ php_gapic_library(
name = "datacatalog_php_gapic",
srcs = [":datacatalog_proto_with_info"],
grpc_service_config = "datacatalog_grpc_service_config.json",
migration_mode = "PRE_MIGRATION_SURFACE_ONLY",
rest_numeric_enums = False,
service_yaml = "datacatalog_v1beta1.yaml",
transport = "grpc+rest",
@ -316,6 +317,7 @@ ruby_cloud_gapic_library(
grpc_service_config = "datacatalog_grpc_service_config.json",
rest_numeric_enums = False,
service_yaml = "datacatalog_v1beta1.yaml",
transport = "grpc+rest",
deps = [
":datacatalog_ruby_grpc",
":datacatalog_ruby_proto",

Loading…
Cancel
Save