1// Copyright 2022 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.cloud.datacatalog.v1; 18 19import "google/api/field_behavior.proto"; 20import "google/cloud/datacatalog/v1/common.proto"; 21import "google/protobuf/timestamp.proto"; 22 23option cc_enable_arenas = true; 24option csharp_namespace = "Google.Cloud.DataCatalog.V1"; 25option go_package = "cloud.google.com/go/datacatalog/apiv1/datacatalogpb;datacatalogpb"; 26option java_multiple_files = true; 27option java_package = "com.google.cloud.datacatalog.v1"; 28option php_namespace = "Google\\Cloud\\DataCatalog\\V1"; 29option ruby_package = "Google::Cloud::DataCatalog::V1"; 30 31// Result in the response to a search request. 32// 33// Each result captures details of one entry that matches the search. 34message SearchCatalogResult { 35 // Type of the search result. 36 // 37 // You can use this field to determine which get method to call to fetch the 38 // full resource. 39 SearchResultType search_result_type = 1; 40 41 // Sub-type of the search result. 42 // 43 // A dot-delimited full type of the resource. The same type you 44 // specify in the `type` search predicate. 45 // 46 // Examples: `entry.table`, `entry.dataStream`, `tagTemplate`. 47 string search_result_subtype = 2; 48 49 // The relative name of the resource in URL format. 50 // 51 // Examples: 52 // 53 // * `projects/{PROJECT_ID}/locations/{LOCATION_ID}/entryGroups/{ENTRY_GROUP_ID}/entries/{ENTRY_ID}` 54 // * `projects/{PROJECT_ID}/tagTemplates/{TAG_TEMPLATE_ID}` 55 string relative_resource_name = 3; 56 57 // The full name of the Google Cloud resource the entry belongs to. 58 // 59 // For more information, see [Full Resource Name] 60 // (/apis/design/resource_names#full_resource_name). 61 // 62 // Example: 63 // 64 // `//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID` 65 string linked_resource = 4; 66 67 // The last modification timestamp of the entry in the source system. 68 google.protobuf.Timestamp modify_time = 7; 69 70 // The source system of the entry. Applicable only when the 71 // `search_result_type` is `ENTRY`. 72 oneof system { 73 // Output only. The source system that Data Catalog automatically integrates 74 // with, such as BigQuery, Cloud Pub/Sub, or Dataproc Metastore. 75 IntegratedSystem integrated_system = 8 76 [(google.api.field_behavior) = OUTPUT_ONLY]; 77 78 // Custom source system that you can manually integrate Data Catalog with. 79 string user_specified_system = 9; 80 } 81 82 // Fully qualified name (FQN) of the resource. 83 // 84 // FQNs take two forms: 85 // 86 // * For non-regionalized resources: 87 // 88 // `{SYSTEM}:{PROJECT}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` 89 // 90 // * For regionalized resources: 91 // 92 // `{SYSTEM}:{PROJECT}.{LOCATION_ID}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` 93 // 94 // Example for a DPMS table: 95 // 96 // `dataproc_metastore:PROJECT_ID.LOCATION_ID.INSTANCE_ID.DATABASE_ID.TABLE_ID` 97 string fully_qualified_name = 10; 98 99 // The display name of the result. 100 string display_name = 12; 101 102 // Entry description that can consist of several sentences or paragraphs that 103 // describe entry contents. 104 string description = 13; 105} 106 107// The resource types that can be returned in search results. 108enum SearchResultType { 109 // Default unknown type. 110 SEARCH_RESULT_TYPE_UNSPECIFIED = 0; 111 112 // An [Entry][google.cloud.datacatalog.v1.Entry]. 113 ENTRY = 1; 114 115 // A [TagTemplate][google.cloud.datacatalog.v1.TagTemplate]. 116 TAG_TEMPLATE = 2; 117 118 // An [EntryGroup][google.cloud.datacatalog.v1.EntryGroup]. 119 ENTRY_GROUP = 3; 120} 121