1// Copyright 2023 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.v1beta1; 18 19import "google/api/annotations.proto"; 20import "google/api/client.proto"; 21import "google/api/field_behavior.proto"; 22import "google/api/resource.proto"; 23import "google/cloud/datacatalog/v1beta1/common.proto"; 24import "google/cloud/datacatalog/v1beta1/gcs_fileset_spec.proto"; 25import "google/cloud/datacatalog/v1beta1/schema.proto"; 26import "google/cloud/datacatalog/v1beta1/search.proto"; 27import "google/cloud/datacatalog/v1beta1/table_spec.proto"; 28import "google/cloud/datacatalog/v1beta1/tags.proto"; 29import "google/cloud/datacatalog/v1beta1/timestamps.proto"; 30import "google/cloud/datacatalog/v1beta1/usage.proto"; 31import "google/iam/v1/iam_policy.proto"; 32import "google/iam/v1/policy.proto"; 33import "google/protobuf/empty.proto"; 34import "google/protobuf/field_mask.proto"; 35 36option cc_enable_arenas = true; 37option csharp_namespace = "Google.Cloud.DataCatalog.V1Beta1"; 38option go_package = "cloud.google.com/go/datacatalog/apiv1beta1/datacatalogpb;datacatalogpb"; 39option java_multiple_files = true; 40option java_package = "com.google.cloud.datacatalog.v1beta1"; 41option php_namespace = "Google\\Cloud\\DataCatalog\\V1beta1"; 42option ruby_package = "Google::Cloud::DataCatalog::V1beta1"; 43option (google.api.resource_definition) = { 44 type: "datacatalog.googleapis.com/TagTemplateFieldEnumValue" 45 pattern: "projects/{project}/locations/{location}/tagTemplates/{tag_template}/fields/{tag_template_field_id}/enumValues/{enum_value_display_name}" 46}; 47 48// Data Catalog API service allows clients to discover, understand, and manage 49// their data. 50service DataCatalog { 51 option (google.api.default_host) = "datacatalog.googleapis.com"; 52 option (google.api.oauth_scopes) = 53 "https://www.googleapis.com/auth/cloud-platform"; 54 55 // Searches Data Catalog for multiple resources like entries, tags that 56 // match a query. 57 // 58 // This is a custom method 59 // (https://cloud.google.com/apis/design/custom_methods) and does not return 60 // the complete resource, only the resource identifier and high level 61 // fields. Clients can subsequently call `Get` methods. 62 // 63 // Note that Data Catalog search queries do not guarantee full recall. Query 64 // results that match your query may not be returned, even in subsequent 65 // result pages. Also note that results returned (and not returned) can vary 66 // across repeated search queries. 67 // 68 // See [Data Catalog Search 69 // Syntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference) 70 // for more information. 71 rpc SearchCatalog(SearchCatalogRequest) returns (SearchCatalogResponse) { 72 option (google.api.http) = { 73 post: "/v1beta1/catalog:search" 74 body: "*" 75 }; 76 option (google.api.method_signature) = "scope,query"; 77 } 78 79 // A maximum of 10,000 entry groups may be created per organization across all 80 // locations. 81 // 82 // Users should enable the Data Catalog API in the project identified by 83 // the `parent` parameter (see [Data Catalog Resource Project] 84 // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for 85 // more information). 86 rpc CreateEntryGroup(CreateEntryGroupRequest) returns (EntryGroup) { 87 option (google.api.http) = { 88 post: "/v1beta1/{parent=projects/*/locations/*}/entryGroups" 89 body: "entry_group" 90 }; 91 option (google.api.method_signature) = "parent,entry_group_id,entry_group"; 92 } 93 94 // Updates an EntryGroup. The user should enable the Data Catalog API in the 95 // project identified by the `entry_group.name` parameter (see [Data Catalog 96 // Resource Project] 97 // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for 98 // more information). 99 rpc UpdateEntryGroup(UpdateEntryGroupRequest) returns (EntryGroup) { 100 option (google.api.http) = { 101 patch: "/v1beta1/{entry_group.name=projects/*/locations/*/entryGroups/*}" 102 body: "entry_group" 103 }; 104 option (google.api.method_signature) = "entry_group"; 105 option (google.api.method_signature) = "entry_group,update_mask"; 106 } 107 108 // Gets an EntryGroup. 109 rpc GetEntryGroup(GetEntryGroupRequest) returns (EntryGroup) { 110 option (google.api.http) = { 111 get: "/v1beta1/{name=projects/*/locations/*/entryGroups/*}" 112 }; 113 option (google.api.method_signature) = "name"; 114 option (google.api.method_signature) = "name,read_mask"; 115 } 116 117 // Deletes an EntryGroup. Only entry groups that do not contain entries can be 118 // deleted. Users should enable the Data Catalog API in the project 119 // identified by the `name` parameter (see [Data Catalog Resource Project] 120 // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for 121 // more information). 122 rpc DeleteEntryGroup(DeleteEntryGroupRequest) 123 returns (google.protobuf.Empty) { 124 option (google.api.http) = { 125 delete: "/v1beta1/{name=projects/*/locations/*/entryGroups/*}" 126 }; 127 option (google.api.method_signature) = "name"; 128 } 129 130 // Lists entry groups. 131 rpc ListEntryGroups(ListEntryGroupsRequest) 132 returns (ListEntryGroupsResponse) { 133 option (google.api.http) = { 134 get: "/v1beta1/{parent=projects/*/locations/*}/entryGroups" 135 }; 136 option (google.api.method_signature) = "parent"; 137 } 138 139 // Creates an entry. Only entries of 'FILESET' type or user-specified type can 140 // be created. 141 // 142 // Users should enable the Data Catalog API in the project identified by 143 // the `parent` parameter (see [Data Catalog Resource Project] 144 // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for 145 // more information). 146 // 147 // A maximum of 100,000 entries may be created per entry group. 148 rpc CreateEntry(CreateEntryRequest) returns (Entry) { 149 option (google.api.http) = { 150 post: "/v1beta1/{parent=projects/*/locations/*/entryGroups/*}/entries" 151 body: "entry" 152 }; 153 option (google.api.method_signature) = "parent,entry_id,entry"; 154 } 155 156 // Updates an existing entry. 157 // Users should enable the Data Catalog API in the project identified by 158 // the `entry.name` parameter (see [Data Catalog Resource Project] 159 // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for 160 // more information). 161 rpc UpdateEntry(UpdateEntryRequest) returns (Entry) { 162 option (google.api.http) = { 163 patch: "/v1beta1/{entry.name=projects/*/locations/*/entryGroups/*/entries/*}" 164 body: "entry" 165 }; 166 option (google.api.method_signature) = "entry"; 167 option (google.api.method_signature) = "entry,update_mask"; 168 } 169 170 // Deletes an existing entry. Only entries created through 171 // [CreateEntry][google.cloud.datacatalog.v1beta1.DataCatalog.CreateEntry] 172 // method can be deleted. 173 // Users should enable the Data Catalog API in the project identified by 174 // the `name` parameter (see [Data Catalog Resource Project] 175 // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for 176 // more information). 177 rpc DeleteEntry(DeleteEntryRequest) returns (google.protobuf.Empty) { 178 option (google.api.http) = { 179 delete: "/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*}" 180 }; 181 option (google.api.method_signature) = "name"; 182 } 183 184 // Gets an entry. 185 rpc GetEntry(GetEntryRequest) returns (Entry) { 186 option (google.api.http) = { 187 get: "/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*}" 188 }; 189 option (google.api.method_signature) = "name"; 190 } 191 192 // Get an entry by target resource name. This method allows clients to use 193 // the resource name from the source Google Cloud Platform service to get the 194 // Data Catalog Entry. 195 rpc LookupEntry(LookupEntryRequest) returns (Entry) { 196 option (google.api.http) = { 197 get: "/v1beta1/entries:lookup" 198 }; 199 } 200 201 // Lists entries. 202 rpc ListEntries(ListEntriesRequest) returns (ListEntriesResponse) { 203 option (google.api.http) = { 204 get: "/v1beta1/{parent=projects/*/locations/*/entryGroups/*}/entries" 205 }; 206 option (google.api.method_signature) = "parent"; 207 } 208 209 // Creates a tag template. The user should enable the Data Catalog API in 210 // the project identified by the `parent` parameter (see [Data Catalog 211 // Resource 212 // Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) 213 // for more information). 214 rpc CreateTagTemplate(CreateTagTemplateRequest) returns (TagTemplate) { 215 option (google.api.http) = { 216 post: "/v1beta1/{parent=projects/*/locations/*}/tagTemplates" 217 body: "tag_template" 218 }; 219 option (google.api.method_signature) = 220 "parent,tag_template_id,tag_template"; 221 } 222 223 // Gets a tag template. 224 rpc GetTagTemplate(GetTagTemplateRequest) returns (TagTemplate) { 225 option (google.api.http) = { 226 get: "/v1beta1/{name=projects/*/locations/*/tagTemplates/*}" 227 }; 228 option (google.api.method_signature) = "name"; 229 } 230 231 // Updates a tag template. This method cannot be used to update the fields of 232 // a template. The tag template fields are represented as separate resources 233 // and should be updated using their own create/update/delete methods. 234 // Users should enable the Data Catalog API in the project identified by 235 // the `tag_template.name` parameter (see [Data Catalog Resource Project] 236 // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for 237 // more information). 238 rpc UpdateTagTemplate(UpdateTagTemplateRequest) returns (TagTemplate) { 239 option (google.api.http) = { 240 patch: "/v1beta1/{tag_template.name=projects/*/locations/*/tagTemplates/*}" 241 body: "tag_template" 242 }; 243 option (google.api.method_signature) = "tag_template"; 244 option (google.api.method_signature) = "tag_template,update_mask"; 245 } 246 247 // Deletes a tag template and all tags using the template. 248 // Users should enable the Data Catalog API in the project identified by 249 // the `name` parameter (see [Data Catalog Resource Project] 250 // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for 251 // more information). 252 rpc DeleteTagTemplate(DeleteTagTemplateRequest) 253 returns (google.protobuf.Empty) { 254 option (google.api.http) = { 255 delete: "/v1beta1/{name=projects/*/locations/*/tagTemplates/*}" 256 }; 257 option (google.api.method_signature) = "name,force"; 258 } 259 260 // Creates a field in a tag template. The user should enable the Data Catalog 261 // API in the project identified by the `parent` parameter (see 262 // [Data Catalog Resource 263 // Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) 264 // for more information). 265 rpc CreateTagTemplateField(CreateTagTemplateFieldRequest) 266 returns (TagTemplateField) { 267 option (google.api.http) = { 268 post: "/v1beta1/{parent=projects/*/locations/*/tagTemplates/*}/fields" 269 body: "tag_template_field" 270 }; 271 option (google.api.method_signature) = 272 "parent,tag_template_field_id,tag_template_field"; 273 } 274 275 // Updates a field in a tag template. This method cannot be used to update the 276 // field type. Users should enable the Data Catalog API in the project 277 // identified by the `name` parameter (see [Data Catalog Resource Project] 278 // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for 279 // more information). 280 rpc UpdateTagTemplateField(UpdateTagTemplateFieldRequest) 281 returns (TagTemplateField) { 282 option (google.api.http) = { 283 patch: "/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}" 284 body: "tag_template_field" 285 }; 286 option (google.api.method_signature) = "name,tag_template_field"; 287 option (google.api.method_signature) = 288 "name,tag_template_field,update_mask"; 289 } 290 291 // Renames a field in a tag template. The user should enable the Data Catalog 292 // API in the project identified by the `name` parameter (see [Data Catalog 293 // Resource 294 // Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) 295 // for more information). 296 rpc RenameTagTemplateField(RenameTagTemplateFieldRequest) 297 returns (TagTemplateField) { 298 option (google.api.http) = { 299 post: "/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}:rename" 300 body: "*" 301 }; 302 option (google.api.method_signature) = "name,new_tag_template_field_id"; 303 } 304 305 // Renames an enum value in a tag template. The enum values have to be unique 306 // within one enum field. Thus, an enum value cannot be renamed with a name 307 // used in any other enum value within the same enum field. 308 rpc RenameTagTemplateFieldEnumValue(RenameTagTemplateFieldEnumValueRequest) 309 returns (TagTemplateField) { 310 option (google.api.http) = { 311 post: "/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*/enumValues/*}:rename" 312 body: "*" 313 }; 314 option (google.api.method_signature) = "name,new_enum_value_display_name"; 315 } 316 317 // Deletes a field in a tag template and all uses of that field. 318 // Users should enable the Data Catalog API in the project identified by 319 // the `name` parameter (see [Data Catalog Resource Project] 320 // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for 321 // more information). 322 rpc DeleteTagTemplateField(DeleteTagTemplateFieldRequest) 323 returns (google.protobuf.Empty) { 324 option (google.api.http) = { 325 delete: "/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}" 326 }; 327 option (google.api.method_signature) = "name,force"; 328 } 329 330 // Creates a tag on an [Entry][google.cloud.datacatalog.v1beta1.Entry]. 331 // Note: The project identified by the `parent` parameter for the 332 // [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) 333 // and the 334 // [tag 335 // template](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) 336 // used to create the tag must be from the same organization. 337 rpc CreateTag(CreateTagRequest) returns (Tag) { 338 option (google.api.http) = { 339 post: "/v1beta1/{parent=projects/*/locations/*/entryGroups/*/entries/*}/tags" 340 body: "tag" 341 additional_bindings { 342 post: "/v1beta1/{parent=projects/*/locations/*/entryGroups/*}/tags" 343 body: "tag" 344 } 345 }; 346 option (google.api.method_signature) = "parent,tag"; 347 } 348 349 // Updates an existing tag. 350 rpc UpdateTag(UpdateTagRequest) returns (Tag) { 351 option (google.api.http) = { 352 patch: "/v1beta1/{tag.name=projects/*/locations/*/entryGroups/*/entries/*/tags/*}" 353 body: "tag" 354 additional_bindings { 355 patch: "/v1beta1/{tag.name=projects/*/locations/*/entryGroups/*/tags/*}" 356 body: "tag" 357 } 358 }; 359 option (google.api.method_signature) = "tag"; 360 option (google.api.method_signature) = "tag,update_mask"; 361 } 362 363 // Deletes a tag. 364 rpc DeleteTag(DeleteTagRequest) returns (google.protobuf.Empty) { 365 option (google.api.http) = { 366 delete: "/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*/tags/*}" 367 additional_bindings { 368 delete: "/v1beta1/{name=projects/*/locations/*/entryGroups/*/tags/*}" 369 } 370 }; 371 option (google.api.method_signature) = "name"; 372 } 373 374 // Lists tags assigned to an [Entry][google.cloud.datacatalog.v1beta1.Entry]. 375 // The [columns][google.cloud.datacatalog.v1beta1.Tag.column] in the response 376 // are lowercased. 377 rpc ListTags(ListTagsRequest) returns (ListTagsResponse) { 378 option (google.api.http) = { 379 get: "/v1beta1/{parent=projects/*/locations/*/entryGroups/*/entries/*}/tags" 380 additional_bindings { 381 get: "/v1beta1/{parent=projects/*/locations/*/entryGroups/*}/tags" 382 } 383 }; 384 option (google.api.method_signature) = "parent"; 385 } 386 387 // Sets the access control policy for a resource. Replaces any existing 388 // policy. 389 // Supported resources are: 390 // - Tag templates. 391 // - Entries. 392 // - Entry groups. 393 // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub 394 // and any external Google Cloud Platform resources synced to Data Catalog. 395 // 396 // Callers must have following Google IAM permission 397 // - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag 398 // templates. 399 // - `datacatalog.entries.setIamPolicy` to set policies on entries. 400 // - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups. 401 rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) 402 returns (google.iam.v1.Policy) { 403 option (google.api.http) = { 404 post: "/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:setIamPolicy" 405 body: "*" 406 additional_bindings { 407 post: "/v1beta1/{resource=projects/*/locations/*/entryGroups/*}:setIamPolicy" 408 body: "*" 409 } 410 }; 411 option (google.api.method_signature) = "resource,policy"; 412 } 413 414 // Gets the access control policy for a resource. A `NOT_FOUND` error 415 // is returned if the resource does not exist. An empty policy is returned 416 // if the resource exists but does not have a policy set on it. 417 // 418 // Supported resources are: 419 // - Tag templates. 420 // - Entries. 421 // - Entry groups. 422 // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub 423 // and any external Google Cloud Platform resources synced to Data Catalog. 424 // 425 // Callers must have following Google IAM permission 426 // - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag 427 // templates. 428 // - `datacatalog.entries.getIamPolicy` to get policies on entries. 429 // - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. 430 rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) 431 returns (google.iam.v1.Policy) { 432 option (google.api.http) = { 433 post: "/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:getIamPolicy" 434 body: "*" 435 additional_bindings { 436 post: "/v1beta1/{resource=projects/*/locations/*/entryGroups/*}:getIamPolicy" 437 body: "*" 438 } 439 additional_bindings { 440 post: "/v1beta1/{resource=projects/*/locations/*/entryGroups/*/entries/*}:getIamPolicy" 441 body: "*" 442 } 443 }; 444 option (google.api.method_signature) = "resource"; 445 } 446 447 // Returns the caller's permissions on a resource. 448 // If the resource does not exist, an empty set of permissions is returned 449 // (We don't return a `NOT_FOUND` error). 450 // 451 // Supported resources are: 452 // - Tag templates. 453 // - Entries. 454 // - Entry groups. 455 // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub 456 // and any external Google Cloud Platform resources synced to Data Catalog. 457 // 458 // A caller is not required to have Google IAM permission to make this 459 // request. 460 rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) 461 returns (google.iam.v1.TestIamPermissionsResponse) { 462 option (google.api.http) = { 463 post: "/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:testIamPermissions" 464 body: "*" 465 additional_bindings { 466 post: "/v1beta1/{resource=projects/*/locations/*/entryGroups/*}:testIamPermissions" 467 body: "*" 468 } 469 additional_bindings { 470 post: "/v1beta1/{resource=projects/*/locations/*/entryGroups/*/entries/*}:testIamPermissions" 471 body: "*" 472 } 473 }; 474 } 475} 476 477// Request message for 478// [SearchCatalog][google.cloud.datacatalog.v1beta1.DataCatalog.SearchCatalog]. 479message SearchCatalogRequest { 480 // The criteria that select the subspace used for query matching. 481 message Scope { 482 // The list of organization IDs to search within. To find your organization 483 // ID, follow instructions in 484 // https://cloud.google.com/resource-manager/docs/creating-managing-organization. 485 repeated string include_org_ids = 2; 486 487 // The list of project IDs to search within. To learn more about the 488 // distinction between project names/IDs/numbers, go to 489 // https://cloud.google.com/docs/overview/#projects. 490 repeated string include_project_ids = 3; 491 492 // If `true`, include Google Cloud public datasets in the 493 // search results. Info on Google Cloud public datasets is available at 494 // https://cloud.google.com/public-datasets/. By default, Google Cloud 495 // public datasets are excluded. 496 bool include_gcp_public_datasets = 7; 497 498 // Optional. The list of locations to search within. 499 // 1. If empty, search will be performed in all locations; 500 // 2. If any of the locations are NOT in the valid locations list, error 501 // will be returned; 502 // 3. Otherwise, search only the given locations for matching results. 503 // Typical usage is to leave this field empty. When a location is 504 // unreachable as returned in the `SearchCatalogResponse.unreachable` field, 505 // users can repeat the search request with this parameter set to get 506 // additional information on the error. 507 // 508 // Valid locations: 509 // * asia-east1 510 // * asia-east2 511 // * asia-northeast1 512 // * asia-northeast2 513 // * asia-northeast3 514 // * asia-south1 515 // * asia-southeast1 516 // * australia-southeast1 517 // * eu 518 // * europe-north1 519 // * europe-west1 520 // * europe-west2 521 // * europe-west3 522 // * europe-west4 523 // * europe-west6 524 // * global 525 // * northamerica-northeast1 526 // * southamerica-east1 527 // * us 528 // * us-central1 529 // * us-east1 530 // * us-east4 531 // * us-west1 532 // * us-west2 533 repeated string restricted_locations = 16 534 [(google.api.field_behavior) = OPTIONAL]; 535 } 536 537 // Required. The scope of this search request. A `scope` that has empty 538 // `include_org_ids`, `include_project_ids` AND false 539 // `include_gcp_public_datasets` is considered invalid. Data Catalog will 540 // return an error in such a case. 541 Scope scope = 6 [(google.api.field_behavior) = REQUIRED]; 542 543 // Optional. The query string in search query syntax. An empty query string 544 // will result in all data assets (in the specified scope) that the user has 545 // access to. Query strings can be simple as "x" or more qualified as: 546 // 547 // * name:x 548 // * column:x 549 // * description:y 550 // 551 // Note: Query tokens need to have a minimum of 3 characters for substring 552 // matching to work correctly. See [Data Catalog Search 553 // Syntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference) 554 // for more information. 555 string query = 1 [(google.api.field_behavior) = OPTIONAL]; 556 557 // Number of results in the search page. If <=0 then defaults to 10. Max limit 558 // for page_size is 1000. Throws an invalid argument for page_size > 1000. 559 int32 page_size = 2; 560 561 // Optional. Pagination token returned in an earlier 562 // [SearchCatalogResponse.next_page_token][google.cloud.datacatalog.v1beta1.SearchCatalogResponse.next_page_token], 563 // which indicates that this is a continuation of a prior 564 // [SearchCatalogRequest][google.cloud.datacatalog.v1beta1.DataCatalog.SearchCatalog] 565 // call, and that the system should return the next page of data. If empty, 566 // the first page is returned. 567 string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; 568 569 // Specifies the ordering of results, currently supported case-sensitive 570 // choices are: 571 // 572 // * `relevance`, only supports descending 573 // * `last_modified_timestamp [asc|desc]`, defaults to descending if not 574 // specified 575 // * `default` that can only be descending 576 // 577 // If not specified, defaults to `relevance` descending. 578 string order_by = 5; 579} 580 581// Response message for 582// [SearchCatalog][google.cloud.datacatalog.v1beta1.DataCatalog.SearchCatalog]. 583message SearchCatalogResponse { 584 // Search results. 585 repeated SearchCatalogResult results = 1; 586 587 // The approximate total number of entries matched by the query. 588 int32 total_size = 2; 589 590 // The token that can be used to retrieve the next page of results. 591 string next_page_token = 3; 592 593 // Unreachable locations. Search result does not include data from those 594 // locations. Users can get additional information on the error by repeating 595 // the search request with a more restrictive parameter -- setting the value 596 // for `SearchDataCatalogRequest.scope.restricted_locations`. 597 repeated string unreachable = 6; 598} 599 600// Request message for 601// [CreateEntryGroup][google.cloud.datacatalog.v1beta1.DataCatalog.CreateEntryGroup]. 602message CreateEntryGroupRequest { 603 // Required. The name of the project this entry group is in. Example: 604 // 605 // * projects/{project_id}/locations/{location} 606 // 607 // Note that this EntryGroup and its child resources may not actually be 608 // stored in the location in this name. 609 string parent = 1 [ 610 (google.api.field_behavior) = REQUIRED, 611 (google.api.resource_reference) = { 612 child_type: "datacatalog.googleapis.com/EntryGroup" 613 } 614 ]; 615 616 // Required. The id of the entry group to create. 617 // The id must begin with a letter or underscore, contain only English 618 // letters, numbers and underscores, and be at most 64 characters. 619 string entry_group_id = 3 [(google.api.field_behavior) = REQUIRED]; 620 621 // The entry group to create. Defaults to an empty entry group. 622 EntryGroup entry_group = 2; 623} 624 625// Request message for 626// [UpdateEntryGroup][google.cloud.datacatalog.v1beta1.DataCatalog.UpdateEntryGroup]. 627message UpdateEntryGroupRequest { 628 // Required. The updated entry group. "name" field must be set. 629 EntryGroup entry_group = 1 [(google.api.field_behavior) = REQUIRED]; 630 631 // Names of fields whose values to overwrite on an entry group. 632 // 633 // If this parameter is absent or empty, all modifiable fields 634 // are overwritten. If such fields are non-required and omitted in the 635 // request body, their values are emptied. 636 google.protobuf.FieldMask update_mask = 2; 637} 638 639// Request message for 640// [GetEntryGroup][google.cloud.datacatalog.v1beta1.DataCatalog.GetEntryGroup]. 641message GetEntryGroupRequest { 642 // Required. The name of the entry group. For example, 643 // `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`. 644 string name = 1 [ 645 (google.api.field_behavior) = REQUIRED, 646 (google.api.resource_reference) = { 647 type: "datacatalog.googleapis.com/EntryGroup" 648 } 649 ]; 650 651 // The fields to return. If not set or empty, all fields are returned. 652 google.protobuf.FieldMask read_mask = 2; 653} 654 655// Request message for 656// [DeleteEntryGroup][google.cloud.datacatalog.v1beta1.DataCatalog.DeleteEntryGroup]. 657message DeleteEntryGroupRequest { 658 // Required. The name of the entry group. For example, 659 // `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`. 660 string name = 1 [ 661 (google.api.field_behavior) = REQUIRED, 662 (google.api.resource_reference) = { 663 type: "datacatalog.googleapis.com/EntryGroup" 664 } 665 ]; 666 667 // Optional. If true, deletes all entries in the entry group. 668 bool force = 2 [(google.api.field_behavior) = OPTIONAL]; 669} 670 671// Request message for 672// [ListEntryGroups][google.cloud.datacatalog.v1beta1.DataCatalog.ListEntryGroups]. 673message ListEntryGroupsRequest { 674 // Required. The name of the location that contains the entry groups, which 675 // can be provided in URL format. Example: 676 // 677 // * projects/{project_id}/locations/{location} 678 string parent = 1 [ 679 (google.api.field_behavior) = REQUIRED, 680 (google.api.resource_reference) = { 681 child_type: "datacatalog.googleapis.com/EntryGroup" 682 } 683 ]; 684 685 // Optional. The maximum number of items to return. Default is 10. Max limit 686 // is 1000. Throws an invalid argument for `page_size > 1000`. 687 int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; 688 689 // Optional. Token that specifies which page is requested. If empty, the first 690 // page is returned. 691 string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; 692} 693 694// Response message for 695// [ListEntryGroups][google.cloud.datacatalog.v1beta1.DataCatalog.ListEntryGroups]. 696message ListEntryGroupsResponse { 697 // EntryGroup details. 698 repeated EntryGroup entry_groups = 1; 699 700 // Token to retrieve the next page of results. It is set to empty if no items 701 // remain in results. 702 string next_page_token = 2; 703} 704 705// Request message for 706// [CreateEntry][google.cloud.datacatalog.v1beta1.DataCatalog.CreateEntry]. 707message CreateEntryRequest { 708 // Required. The name of the entry group this entry is in. Example: 709 // 710 // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} 711 // 712 // Note that this Entry and its child resources may not actually be stored in 713 // the location in this name. 714 string parent = 1 [ 715 (google.api.field_behavior) = REQUIRED, 716 (google.api.resource_reference) = { 717 type: "datacatalog.googleapis.com/EntryGroup" 718 } 719 ]; 720 721 // Required. The id of the entry to create. 722 string entry_id = 3 [(google.api.field_behavior) = REQUIRED]; 723 724 // Required. The entry to create. 725 Entry entry = 2 [(google.api.field_behavior) = REQUIRED]; 726} 727 728// Request message for 729// [UpdateEntry][google.cloud.datacatalog.v1beta1.DataCatalog.UpdateEntry]. 730message UpdateEntryRequest { 731 // Required. The updated entry. The "name" field must be set. 732 Entry entry = 1 [(google.api.field_behavior) = REQUIRED]; 733 734 // Names of fields whose values to overwrite on an entry. 735 // 736 // If this parameter is absent or empty, all modifiable fields 737 // are overwritten. If such fields are non-required and omitted in the 738 // request body, their values are emptied. 739 // 740 // The following fields are modifiable: 741 // 742 // * For entries with type `DATA_STREAM`: 743 // * `schema` 744 // * For entries with type `FILESET`: 745 // * `schema` 746 // * `display_name` 747 // * `description` 748 // * `gcs_fileset_spec` 749 // * `gcs_fileset_spec.file_patterns` 750 // * For entries with `user_specified_type`: 751 // * `schema` 752 // * `display_name` 753 // * `description` 754 // * `user_specified_type` 755 // * `user_specified_system` 756 // * `linked_resource` 757 // * `source_system_timestamps` 758 google.protobuf.FieldMask update_mask = 2; 759} 760 761// Request message for 762// [DeleteEntry][google.cloud.datacatalog.v1beta1.DataCatalog.DeleteEntry]. 763message DeleteEntryRequest { 764 // Required. The name of the entry. Example: 765 // 766 // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} 767 string name = 1 [ 768 (google.api.field_behavior) = REQUIRED, 769 (google.api.resource_reference) = { 770 type: "datacatalog.googleapis.com/Entry" 771 } 772 ]; 773} 774 775// Request message for 776// [GetEntry][google.cloud.datacatalog.v1beta1.DataCatalog.GetEntry]. 777message GetEntryRequest { 778 // Required. The name of the entry. Example: 779 // 780 // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} 781 string name = 1 [ 782 (google.api.field_behavior) = REQUIRED, 783 (google.api.resource_reference) = { 784 type: "datacatalog.googleapis.com/Entry" 785 } 786 ]; 787} 788 789// Request message for 790// [LookupEntry][google.cloud.datacatalog.v1beta1.DataCatalog.LookupEntry]. 791message LookupEntryRequest { 792 // Required. Represents either the Google Cloud Platform resource or SQL name 793 // for a Google Cloud Platform resource. 794 oneof target_name { 795 // The full name of the Google Cloud Platform resource the Data Catalog 796 // entry represents. See: 797 // https://cloud.google.com/apis/design/resource_names#full_resource_name. 798 // Full names are case-sensitive. 799 // 800 // Examples: 801 // 802 // * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId 803 // * //pubsub.googleapis.com/projects/projectId/topics/topicId 804 string linked_resource = 1; 805 806 // The SQL name of the entry. SQL names are case-sensitive. 807 // 808 // Examples: 809 // 810 // * `pubsub.project_id.topic_id` 811 // * ``pubsub.project_id.`topic.id.with.dots` `` 812 // * `bigquery.table.project_id.dataset_id.table_id` 813 // * `bigquery.dataset.project_id.dataset_id` 814 // * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id` 815 // 816 // `*_id`s should satisfy the standard SQL rules for identifiers. 817 // https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical. 818 string sql_resource = 3; 819 } 820} 821 822// Entry Metadata. 823// A Data Catalog Entry resource represents another resource in Google 824// Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic), or 825// outside of Google Cloud Platform. Clients can use the `linked_resource` field 826// in the Entry resource to refer to the original resource ID of the source 827// system. 828// 829// An Entry resource contains resource details, such as its schema. An Entry can 830// also be used to attach flexible metadata, such as a 831// [Tag][google.cloud.datacatalog.v1beta1.Tag]. 832message Entry { 833 option (google.api.resource) = { 834 type: "datacatalog.googleapis.com/Entry" 835 pattern: "projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}" 836 }; 837 838 // Output only. The Data Catalog resource name of the entry in URL format. 839 // Example: 840 // 841 // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} 842 // 843 // Note that this Entry and its child resources may not actually be stored in 844 // the location in this name. 845 string name = 1 [ 846 (google.api.field_behavior) = OUTPUT_ONLY, 847 (google.api.resource_reference) = { 848 type: "datacatalog.googleapis.com/EntryGroup" 849 } 850 ]; 851 852 // The resource this metadata entry refers to. 853 // 854 // For Google Cloud Platform resources, `linked_resource` is the [full name of 855 // the 856 // resource](https://cloud.google.com/apis/design/resource_names#full_resource_name). 857 // For example, the `linked_resource` for a table resource from BigQuery is: 858 // 859 // * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId 860 // 861 // Output only when Entry is of type in the EntryType enum. For entries with 862 // user_specified_type, this field is optional and defaults to an empty 863 // string. 864 string linked_resource = 9; 865 866 // Required. Entry type. 867 oneof entry_type { 868 // The type of the entry. 869 // Only used for Entries with types in the EntryType enum. 870 EntryType type = 2; 871 872 // Entry type if it does not fit any of the input-allowed values listed in 873 // `EntryType` enum above. When creating an entry, users should check the 874 // enum values first, if nothing matches the entry to be created, then 875 // provide a custom value, for example "my_special_type". 876 // `user_specified_type` strings must begin with a letter or underscore and 877 // can only contain letters, numbers, and underscores; are case insensitive; 878 // must be at least 1 character and at most 64 characters long. 879 // 880 // Currently, only FILESET enum value is allowed. All other entries created 881 // through Data Catalog must use `user_specified_type`. 882 string user_specified_type = 16; 883 } 884 885 // The source system of the entry. 886 oneof system { 887 // Output only. This field indicates the entry's source system that Data 888 // Catalog integrates with, such as BigQuery or Pub/Sub. 889 IntegratedSystem integrated_system = 17 890 [(google.api.field_behavior) = OUTPUT_ONLY]; 891 892 // This field indicates the entry's source system that Data Catalog does not 893 // integrate with. `user_specified_system` strings must begin with a letter 894 // or underscore and can only contain letters, numbers, and underscores; are 895 // case insensitive; must be at least 1 character and at most 64 characters 896 // long. 897 string user_specified_system = 18; 898 } 899 900 // Type specification information. 901 oneof type_spec { 902 // Specification that applies to a Cloud Storage fileset. This is only valid 903 // on entries of type FILESET. 904 GcsFilesetSpec gcs_fileset_spec = 6; 905 906 // Specification that applies to a BigQuery table. This is only valid on 907 // entries of type `TABLE`. 908 BigQueryTableSpec bigquery_table_spec = 12; 909 910 // Specification for a group of BigQuery tables with name pattern 911 // `[prefix]YYYYMMDD`. Context: 912 // https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding. 913 BigQueryDateShardedSpec bigquery_date_sharded_spec = 15; 914 } 915 916 // Display information such as title and description. A short name to identify 917 // the entry, for example, "Analytics Data - Jan 2011". Default value is an 918 // empty string. 919 string display_name = 3; 920 921 // Entry description, which can consist of several sentences or paragraphs 922 // that describe entry contents. Default value is an empty string. 923 string description = 4; 924 925 // Schema of the entry. An entry might not have any schema attached to it. 926 Schema schema = 5; 927 928 // Output only. Timestamps about the underlying resource, not about this Data 929 // Catalog entry. Output only when Entry is of type in the EntryType enum. For 930 // entries with user_specified_type, this field is optional and defaults to an 931 // empty timestamp. 932 SystemTimestamps source_system_timestamps = 7 933 [(google.api.field_behavior) = OUTPUT_ONLY]; 934 935 // Output only. Statistics on the usage level of the resource. 936 UsageSignal usage_signal = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; 937} 938 939// EntryGroup Metadata. 940// An EntryGroup resource represents a logical grouping of zero or more 941// Data Catalog [Entry][google.cloud.datacatalog.v1beta1.Entry] resources. 942message EntryGroup { 943 option (google.api.resource) = { 944 type: "datacatalog.googleapis.com/EntryGroup" 945 pattern: "projects/{project}/locations/{location}/entryGroups/{entry_group}" 946 }; 947 948 // The resource name of the entry group in URL format. Example: 949 // 950 // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} 951 // 952 // Note that this EntryGroup and its child resources may not actually be 953 // stored in the location in this name. 954 string name = 1; 955 956 // A short name to identify the entry group, for example, 957 // "analytics data - jan 2011". Default value is an empty string. 958 string display_name = 2; 959 960 // Entry group description, which can consist of several sentences or 961 // paragraphs that describe entry group contents. Default value is an empty 962 // string. 963 string description = 3; 964 965 // Output only. Timestamps about this EntryGroup. Default value is empty 966 // timestamps. 967 SystemTimestamps data_catalog_timestamps = 4 968 [(google.api.field_behavior) = OUTPUT_ONLY]; 969} 970 971// Request message for 972// [CreateTagTemplate][google.cloud.datacatalog.v1beta1.DataCatalog.CreateTagTemplate]. 973message CreateTagTemplateRequest { 974 // Required. The name of the project and the template location 975 // [region](https://cloud.google.com/data-catalog/docs/concepts/regions. 976 // 977 // Example: 978 // 979 // * projects/{project_id}/locations/us-central1 980 string parent = 1 [ 981 (google.api.field_behavior) = REQUIRED, 982 (google.api.resource_reference) = { 983 child_type: "datacatalog.googleapis.com/TagTemplate" 984 } 985 ]; 986 987 // Required. The id of the tag template to create. 988 string tag_template_id = 3 [(google.api.field_behavior) = REQUIRED]; 989 990 // Required. The tag template to create. 991 TagTemplate tag_template = 2 [(google.api.field_behavior) = REQUIRED]; 992} 993 994// Request message for 995// [GetTagTemplate][google.cloud.datacatalog.v1beta1.DataCatalog.GetTagTemplate]. 996message GetTagTemplateRequest { 997 // Required. The name of the tag template. Example: 998 // 999 // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} 1000 string name = 1 [ 1001 (google.api.field_behavior) = REQUIRED, 1002 (google.api.resource_reference) = { 1003 type: "datacatalog.googleapis.com/TagTemplate" 1004 } 1005 ]; 1006} 1007 1008// Request message for 1009// [UpdateTagTemplate][google.cloud.datacatalog.v1beta1.DataCatalog.UpdateTagTemplate]. 1010message UpdateTagTemplateRequest { 1011 // Required. The template to update. The "name" field must be set. 1012 TagTemplate tag_template = 1 [(google.api.field_behavior) = REQUIRED]; 1013 1014 // Names of fields whose values to overwrite on a tag template. Currently, 1015 // only `display_name` can be overwritten. 1016 // 1017 // In general, if this parameter is absent or empty, all modifiable fields 1018 // are overwritten. If such fields are non-required and omitted in the 1019 // request body, their values are emptied. 1020 google.protobuf.FieldMask update_mask = 2; 1021} 1022 1023// Request message for 1024// [DeleteTagTemplate][google.cloud.datacatalog.v1beta1.DataCatalog.DeleteTagTemplate]. 1025message DeleteTagTemplateRequest { 1026 // Required. The name of the tag template to delete. Example: 1027 // 1028 // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} 1029 string name = 1 [ 1030 (google.api.field_behavior) = REQUIRED, 1031 (google.api.resource_reference) = { 1032 type: "datacatalog.googleapis.com/TagTemplate" 1033 } 1034 ]; 1035 1036 // Required. Currently, this field must always be set to `true`. 1037 // This confirms the deletion of any possible tags using this template. 1038 // `force = false` will be supported in the future. 1039 bool force = 2 [(google.api.field_behavior) = REQUIRED]; 1040} 1041 1042// Request message for 1043// [CreateTag][google.cloud.datacatalog.v1beta1.DataCatalog.CreateTag]. 1044message CreateTagRequest { 1045 // Required. The name of the resource to attach this tag to. Tags can be 1046 // attached to Entries. Example: 1047 // 1048 // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} 1049 // 1050 // Note that this Tag and its child resources may not actually be stored in 1051 // the location in this name. 1052 string parent = 1 [ 1053 (google.api.field_behavior) = REQUIRED, 1054 (google.api.resource_reference) = { 1055 child_type: "datacatalog.googleapis.com/Tag" 1056 } 1057 ]; 1058 1059 // Required. The tag to create. 1060 Tag tag = 2 [(google.api.field_behavior) = REQUIRED]; 1061} 1062 1063// Request message for 1064// [UpdateTag][google.cloud.datacatalog.v1beta1.DataCatalog.UpdateTag]. 1065message UpdateTagRequest { 1066 // Required. The updated tag. The "name" field must be set. 1067 Tag tag = 1 [(google.api.field_behavior) = REQUIRED]; 1068 1069 // Note: Currently, this parameter can only take `"fields"` as value. 1070 // 1071 // Names of fields whose values to overwrite on a tag. Currently, a tag has 1072 // the only modifiable field with the name `fields`. 1073 // 1074 // In general, if this parameter is absent or empty, all modifiable fields 1075 // are overwritten. If such fields are non-required and omitted in the 1076 // request body, their values are emptied. 1077 google.protobuf.FieldMask update_mask = 2; 1078} 1079 1080// Request message for 1081// [DeleteTag][google.cloud.datacatalog.v1beta1.DataCatalog.DeleteTag]. 1082message DeleteTagRequest { 1083 // Required. The name of the tag to delete. Example: 1084 // 1085 // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} 1086 string name = 1 [ 1087 (google.api.field_behavior) = REQUIRED, 1088 (google.api.resource_reference) = { 1089 child_type: "datacatalog.googleapis.com/Tag" 1090 } 1091 ]; 1092} 1093 1094// Request message for 1095// [CreateTagTemplateField][google.cloud.datacatalog.v1beta1.DataCatalog.CreateTagTemplateField]. 1096message CreateTagTemplateFieldRequest { 1097 // Required. The name of the project and the template location 1098 // [region](https://cloud.google.com/data-catalog/docs/concepts/regions). 1099 // 1100 // Example: 1101 // 1102 // * projects/{project_id}/locations/us-central1/tagTemplates/{tag_template_id} 1103 string parent = 1 [ 1104 (google.api.field_behavior) = REQUIRED, 1105 (google.api.resource_reference) = { 1106 type: "datacatalog.googleapis.com/TagTemplate" 1107 } 1108 ]; 1109 1110 // Required. The ID of the tag template field to create. 1111 // Field ids can contain letters (both uppercase and lowercase), numbers 1112 // (0-9), underscores (_) and dashes (-). Field IDs must be at least 1 1113 // character long and at most 128 characters long. Field IDs must also be 1114 // unique within their template. 1115 string tag_template_field_id = 2 [(google.api.field_behavior) = REQUIRED]; 1116 1117 // Required. The tag template field to create. 1118 TagTemplateField tag_template_field = 3 1119 [(google.api.field_behavior) = REQUIRED]; 1120} 1121 1122// Request message for 1123// [UpdateTagTemplateField][google.cloud.datacatalog.v1beta1.DataCatalog.UpdateTagTemplateField]. 1124message UpdateTagTemplateFieldRequest { 1125 // Required. The name of the tag template field. Example: 1126 // 1127 // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id} 1128 string name = 1 [ 1129 (google.api.field_behavior) = REQUIRED, 1130 (google.api.resource_reference) = { 1131 type: "datacatalog.googleapis.com/TagTemplateField" 1132 } 1133 ]; 1134 1135 // Required. The template to update. 1136 TagTemplateField tag_template_field = 2 1137 [(google.api.field_behavior) = REQUIRED]; 1138 1139 // Optional. Names of fields whose values to overwrite on an individual field 1140 // of a tag template. The following fields are modifiable: 1141 // 1142 // * `display_name` 1143 // * `type.enum_type` 1144 // * `is_required` 1145 // 1146 // If this parameter is absent or empty, all modifiable fields 1147 // are overwritten. If such fields are non-required and omitted in the request 1148 // body, their values are emptied with one exception: when updating an enum 1149 // type, the provided values are merged with the existing values. Therefore, 1150 // enum values can only be added, existing enum values cannot be deleted or 1151 // renamed. 1152 // 1153 // Additionally, updating a template field from optional to required is 1154 // *not* allowed. 1155 google.protobuf.FieldMask update_mask = 3 1156 [(google.api.field_behavior) = OPTIONAL]; 1157} 1158 1159// Request message for 1160// [RenameTagTemplateField][google.cloud.datacatalog.v1beta1.DataCatalog.RenameTagTemplateField]. 1161message RenameTagTemplateFieldRequest { 1162 // Required. The name of the tag template. Example: 1163 // 1164 // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id} 1165 string name = 1 [ 1166 (google.api.field_behavior) = REQUIRED, 1167 (google.api.resource_reference) = { 1168 type: "datacatalog.googleapis.com/TagTemplateField" 1169 } 1170 ]; 1171 1172 // Required. The new ID of this tag template field. For example, 1173 // `my_new_field`. 1174 string new_tag_template_field_id = 2 [(google.api.field_behavior) = REQUIRED]; 1175} 1176 1177// Request message for 1178// [RenameTagTemplateFieldEnumValue][google.cloud.datacatalog.v1.DataCatalog.RenameTagTemplateFieldEnumValue]. 1179message RenameTagTemplateFieldEnumValueRequest { 1180 // Required. The name of the enum field value. Example: 1181 // 1182 // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}/enumValues/{enum_value_display_name} 1183 string name = 1 [ 1184 (google.api.field_behavior) = REQUIRED, 1185 (google.api.resource_reference) = { 1186 type: "datacatalog.googleapis.com/TagTemplateFieldEnumValue" 1187 } 1188 ]; 1189 1190 // Required. The new display name of the enum value. For example, 1191 // `my_new_enum_value`. 1192 string new_enum_value_display_name = 2 1193 [(google.api.field_behavior) = REQUIRED]; 1194} 1195 1196// Request message for 1197// [DeleteTagTemplateField][google.cloud.datacatalog.v1beta1.DataCatalog.DeleteTagTemplateField]. 1198message DeleteTagTemplateFieldRequest { 1199 // Required. The name of the tag template field to delete. Example: 1200 // 1201 // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id} 1202 string name = 1 [ 1203 (google.api.field_behavior) = REQUIRED, 1204 (google.api.resource_reference) = { 1205 type: "datacatalog.googleapis.com/TagTemplateField" 1206 } 1207 ]; 1208 1209 // Required. Currently, this field must always be set to `true`. 1210 // This confirms the deletion of this field from any tags using this field. 1211 // `force = false` will be supported in the future. 1212 bool force = 2 [(google.api.field_behavior) = REQUIRED]; 1213} 1214 1215// Request message for 1216// [ListTags][google.cloud.datacatalog.v1beta1.DataCatalog.ListTags]. 1217message ListTagsRequest { 1218 // Required. The name of the Data Catalog resource to list the tags of. The 1219 // resource could be an [Entry][google.cloud.datacatalog.v1beta1.Entry] or an 1220 // [EntryGroup][google.cloud.datacatalog.v1beta1.EntryGroup]. 1221 // 1222 // Examples: 1223 // 1224 // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} 1225 // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} 1226 string parent = 1 [ 1227 (google.api.field_behavior) = REQUIRED, 1228 (google.api.resource_reference) = { 1229 child_type: "datacatalog.googleapis.com/Tag" 1230 } 1231 ]; 1232 1233 // The maximum number of tags to return. Default is 10. Max limit is 1000. 1234 int32 page_size = 2; 1235 1236 // Token that specifies which page is requested. If empty, the first page is 1237 // returned. 1238 string page_token = 3; 1239} 1240 1241// Response message for 1242// [ListTags][google.cloud.datacatalog.v1beta1.DataCatalog.ListTags]. 1243message ListTagsResponse { 1244 // [Tag][google.cloud.datacatalog.v1beta1.Tag] details. 1245 repeated Tag tags = 1; 1246 1247 // Token to retrieve the next page of results. It is set to empty if no items 1248 // remain in results. 1249 string next_page_token = 2; 1250} 1251 1252// Request message for 1253// [ListEntries][google.cloud.datacatalog.v1beta1.DataCatalog.ListEntries]. 1254message ListEntriesRequest { 1255 // Required. The name of the entry group that contains the entries, which can 1256 // be provided in URL format. Example: 1257 // 1258 // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} 1259 string parent = 1 [ 1260 (google.api.field_behavior) = REQUIRED, 1261 (google.api.resource_reference) = { 1262 type: "datacatalog.googleapis.com/EntryGroup" 1263 } 1264 ]; 1265 1266 // The maximum number of items to return. Default is 10. Max limit is 1000. 1267 // Throws an invalid argument for `page_size > 1000`. 1268 int32 page_size = 2; 1269 1270 // Token that specifies which page is requested. If empty, the first page is 1271 // returned. 1272 string page_token = 3; 1273 1274 // The fields to return for each Entry. If not set or empty, all 1275 // fields are returned. 1276 // For example, setting read_mask to contain only one path "name" will cause 1277 // ListEntries to return a list of Entries with only "name" field. 1278 google.protobuf.FieldMask read_mask = 4; 1279} 1280 1281// Response message for 1282// [ListEntries][google.cloud.datacatalog.v1beta1.DataCatalog.ListEntries]. 1283message ListEntriesResponse { 1284 // Entry details. 1285 repeated Entry entries = 1; 1286 1287 // Token to retrieve the next page of results. It is set to empty if no items 1288 // remain in results. 1289 string next_page_token = 2; 1290} 1291 1292// Entry resources in Data Catalog can be of different types e.g. a BigQuery 1293// Table entry is of type `TABLE`. This enum describes all the possible types 1294// Data Catalog contains. 1295enum EntryType { 1296 // Default unknown type. 1297 ENTRY_TYPE_UNSPECIFIED = 0; 1298 1299 // Output only. The type of entry that has a GoogleSQL schema, including 1300 // logical views. 1301 TABLE = 2; 1302 1303 // Output only. The type of models. 1304 // https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro 1305 MODEL = 5; 1306 1307 // Output only. An entry type which is used for streaming entries. Example: 1308 // Pub/Sub topic. 1309 DATA_STREAM = 3; 1310 1311 // An entry type which is a set of files or objects. Example: 1312 // Cloud Storage fileset. 1313 FILESET = 4; 1314} 1315