diff --git a/google/cloud/datacatalog/v1beta1/common.proto b/google/cloud/datacatalog/v1beta1/common.proto index a0b29e09..a759b371 100644 --- a/google/cloud/datacatalog/v1beta1/common.proto +++ b/google/cloud/datacatalog/v1beta1/common.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,16 +11,18 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; package google.cloud.datacatalog.v1beta1; option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.DataCatalog.V1Beta1"; option go_package = "google.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog"; option java_multiple_files = true; option java_package = "com.google.cloud.datacatalog.v1beta1"; +option php_namespace = "Google\\Cloud\\DataCatalog\\V1beta1"; +option ruby_package = "Google::Cloud::DataCatalog::V1beta1"; // This enum describes all the possible systems that Data Catalog integrates // with. diff --git a/google/cloud/datacatalog/v1beta1/datacatalog.proto b/google/cloud/datacatalog/v1beta1/datacatalog.proto index 8532e511..10a9bb75 100644 --- a/google/cloud/datacatalog/v1beta1/datacatalog.proto +++ b/google/cloud/datacatalog/v1beta1/datacatalog.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -34,16 +33,18 @@ import "google/protobuf/empty.proto"; import "google/protobuf/field_mask.proto"; option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.DataCatalog.V1Beta1"; option go_package = "google.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog"; option java_multiple_files = true; option java_package = "com.google.cloud.datacatalog.v1beta1"; +option php_namespace = "Google\\Cloud\\DataCatalog\\V1beta1"; +option ruby_package = "Google::Cloud::DataCatalog::V1beta1"; // Data Catalog API service allows clients to discover, understand, and manage // their data. service DataCatalog { option (google.api.default_host) = "datacatalog.googleapis.com"; - option (google.api.oauth_scopes) = - "https://www.googleapis.com/auth/cloud-platform"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; // Searches Data Catalog for multiple resources like entries, tags that // match a query. @@ -59,7 +60,8 @@ service DataCatalog { // across repeated search queries. // // See [Data Catalog Search - // Syntax](/data-catalog/docs/how-to/search-reference) for more information. + // Syntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference) + // for more information. rpc SearchCatalog(SearchCatalogRequest) returns (SearchCatalogResponse) { option (google.api.http) = { post: "/v1beta1/catalog:search" @@ -68,24 +70,13 @@ service DataCatalog { option (google.api.method_signature) = "scope,query"; } - // Creates an EntryGroup. - // - // An entry group contains logically related entries together with Cloud - // Identity and Access Management policies that specify the users who can - // create, edit, and view entries within the entry group. - // - // Data Catalog automatically creates an entry group for BigQuery entries - // ("@bigquery") and Pub/Sub topics ("@pubsub"). Users create their own entry - // group to contain Cloud Storage fileset entries or custom type entries, - // and the IAM policies associated with those entries. Entry groups, like - // entries, can be searched. - // // A maximum of 10,000 entry groups may be created per organization across all // locations. // // Users should enable the Data Catalog API in the project identified by // the `parent` parameter (see [Data Catalog Resource Project] - // (/data-catalog/docs/concepts/resource-project) for more information). + // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for + // more information). rpc CreateEntryGroup(CreateEntryGroupRequest) returns (EntryGroup) { option (google.api.http) = { post: "/v1beta1/{parent=projects/*/locations/*}/entryGroups" @@ -96,8 +87,9 @@ service DataCatalog { // Updates an EntryGroup. The user should enable the Data Catalog API in the // project identified by the `entry_group.name` parameter (see [Data Catalog - // Resource Project] (/data-catalog/docs/concepts/resource-project) for more - // information). + // Resource Project] + // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for + // more information). rpc UpdateEntryGroup(UpdateEntryGroupRequest) returns (EntryGroup) { option (google.api.http) = { patch: "/v1beta1/{entry_group.name=projects/*/locations/*/entryGroups/*}" @@ -119,9 +111,9 @@ service DataCatalog { // Deletes an EntryGroup. Only entry groups that do not contain entries can be // deleted. Users should enable the Data Catalog API in the project // identified by the `name` parameter (see [Data Catalog Resource Project] - // (/data-catalog/docs/concepts/resource-project) for more information). - rpc DeleteEntryGroup(DeleteEntryGroupRequest) - returns (google.protobuf.Empty) { + // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for + // more information). + rpc DeleteEntryGroup(DeleteEntryGroupRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1beta1/{name=projects/*/locations/*/entryGroups/*}" }; @@ -129,8 +121,7 @@ service DataCatalog { } // Lists entry groups. - rpc ListEntryGroups(ListEntryGroupsRequest) - returns (ListEntryGroupsResponse) { + rpc ListEntryGroups(ListEntryGroupsRequest) returns (ListEntryGroupsResponse) { option (google.api.http) = { get: "/v1beta1/{parent=projects/*/locations/*}/entryGroups" }; @@ -142,7 +133,8 @@ service DataCatalog { // // Users should enable the Data Catalog API in the project identified by // the `parent` parameter (see [Data Catalog Resource Project] - // (/data-catalog/docs/concepts/resource-project) for more information). + // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for + // more information). // // A maximum of 100,000 entries may be created per entry group. rpc CreateEntry(CreateEntryRequest) returns (Entry) { @@ -156,7 +148,8 @@ service DataCatalog { // Updates an existing entry. // Users should enable the Data Catalog API in the project identified by // the `entry.name` parameter (see [Data Catalog Resource Project] - // (/data-catalog/docs/concepts/resource-project) for more information). + // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for + // more information). rpc UpdateEntry(UpdateEntryRequest) returns (Entry) { option (google.api.http) = { patch: "/v1beta1/{entry.name=projects/*/locations/*/entryGroups/*/entries/*}" @@ -171,7 +164,8 @@ service DataCatalog { // method can be deleted. // Users should enable the Data Catalog API in the project identified by // the `name` parameter (see [Data Catalog Resource Project] - // (/data-catalog/docs/concepts/resource-project) for more information). + // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for + // more information). rpc DeleteEntry(DeleteEntryRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*}" @@ -206,15 +200,15 @@ service DataCatalog { // Creates a tag template. The user should enable the Data Catalog API in // the project identified by the `parent` parameter (see [Data Catalog - // Resource Project](/data-catalog/docs/concepts/resource-project) for more - // information). + // Resource + // Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) + // for more information). rpc CreateTagTemplate(CreateTagTemplateRequest) returns (TagTemplate) { option (google.api.http) = { post: "/v1beta1/{parent=projects/*/locations/*}/tagTemplates" body: "tag_template" }; - option (google.api.method_signature) = - "parent,tag_template_id,tag_template"; + option (google.api.method_signature) = "parent,tag_template_id,tag_template"; } // Gets a tag template. @@ -230,7 +224,8 @@ service DataCatalog { // and should be updated using their own create/update/delete methods. // Users should enable the Data Catalog API in the project identified by // the `tag_template.name` parameter (see [Data Catalog Resource Project] - // (/data-catalog/docs/concepts/resource-project) for more information). + // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for + // more information). rpc UpdateTagTemplate(UpdateTagTemplateRequest) returns (TagTemplate) { option (google.api.http) = { patch: "/v1beta1/{tag_template.name=projects/*/locations/*/tagTemplates/*}" @@ -243,9 +238,9 @@ service DataCatalog { // Deletes a tag template and all tags using the template. // Users should enable the Data Catalog API in the project identified by // the `name` parameter (see [Data Catalog Resource Project] - // (/data-catalog/docs/concepts/resource-project) for more information). - rpc DeleteTagTemplate(DeleteTagTemplateRequest) - returns (google.protobuf.Empty) { + // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for + // more information). + rpc DeleteTagTemplate(DeleteTagTemplateRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1beta1/{name=projects/*/locations/*/tagTemplates/*}" }; @@ -255,39 +250,36 @@ service DataCatalog { // Creates a field in a tag template. The user should enable the Data Catalog // API in the project identified by the `parent` parameter (see // [Data Catalog Resource - // Project](/data-catalog/docs/concepts/resource-project) for more - // information). - rpc CreateTagTemplateField(CreateTagTemplateFieldRequest) - returns (TagTemplateField) { + // Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) + // for more information). + rpc CreateTagTemplateField(CreateTagTemplateFieldRequest) returns (TagTemplateField) { option (google.api.http) = { post: "/v1beta1/{parent=projects/*/locations/*/tagTemplates/*}/fields" body: "tag_template_field" }; - option (google.api.method_signature) = - "parent,tag_template_field_id,tag_template_field"; + option (google.api.method_signature) = "parent,tag_template_field_id,tag_template_field"; } // Updates a field in a tag template. This method cannot be used to update the // field type. Users should enable the Data Catalog API in the project // identified by the `name` parameter (see [Data Catalog Resource Project] - // (/data-catalog/docs/concepts/resource-project) for more information). - rpc UpdateTagTemplateField(UpdateTagTemplateFieldRequest) - returns (TagTemplateField) { + // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for + // more information). + rpc UpdateTagTemplateField(UpdateTagTemplateFieldRequest) returns (TagTemplateField) { option (google.api.http) = { patch: "/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}" body: "tag_template_field" }; option (google.api.method_signature) = "name,tag_template_field"; - option (google.api.method_signature) = - "name,tag_template_field,update_mask"; + option (google.api.method_signature) = "name,tag_template_field,update_mask"; } // Renames a field in a tag template. The user should enable the Data Catalog // API in the project identified by the `name` parameter (see [Data Catalog - // Resource Project](/data-catalog/docs/concepts/resource-project) for more - // information). - rpc RenameTagTemplateField(RenameTagTemplateFieldRequest) - returns (TagTemplateField) { + // Resource + // Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) + // for more information). + rpc RenameTagTemplateField(RenameTagTemplateFieldRequest) returns (TagTemplateField) { option (google.api.http) = { post: "/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}:rename" body: "*" @@ -298,9 +290,9 @@ service DataCatalog { // Deletes a field in a tag template and all uses of that field. // Users should enable the Data Catalog API in the project identified by // the `name` parameter (see [Data Catalog Resource Project] - // (/data-catalog/docs/concepts/resource-project) for more information). - rpc DeleteTagTemplateField(DeleteTagTemplateFieldRequest) - returns (google.protobuf.Empty) { + // (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for + // more information). + rpc DeleteTagTemplateField(DeleteTagTemplateFieldRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}" }; @@ -309,10 +301,10 @@ service DataCatalog { // Creates a tag on an [Entry][google.cloud.datacatalog.v1beta1.Entry]. // Note: The project identified by the `parent` parameter for the - // [tag](/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) + // [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) // and the // [tag - // template](/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) + // template](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) // used to create the tag must be from the same organization. rpc CreateTag(CreateTagRequest) returns (Tag) { option (google.api.http) = { @@ -368,17 +360,15 @@ service DataCatalog { // - Tag templates. // - Entries. // - Entry groups. - // Note, this method cannot be used to manage policies for BigQuery, Cloud - // Pub/Sub and any external Google Cloud Platform resources synced to Cloud - // Data Catalog. + // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub + // and any external Google Cloud Platform resources synced to Data Catalog. // // Callers must have following Google IAM permission // - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag // templates. // - `datacatalog.entries.setIamPolicy` to set policies on entries. // - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups. - rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) - returns (google.iam.v1.Policy) { + rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) { option (google.api.http) = { post: "/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:setIamPolicy" body: "*" @@ -397,17 +387,15 @@ service DataCatalog { // - Tag templates. // - Entries. // - Entry groups. - // Note, this method cannot be used to manage policies for BigQuery, Cloud - // Pub/Sub and any external Google Cloud Platform resources synced to Cloud - // Data Catalog. + // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub + // and any external Google Cloud Platform resources synced to Data Catalog. // // Callers must have following Google IAM permission // - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag // templates. // - `datacatalog.entries.getIamPolicy` to get policies on entries. // - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. - rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) - returns (google.iam.v1.Policy) { + rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) { option (google.api.http) = { post: "/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:getIamPolicy" body: "*" @@ -430,14 +418,12 @@ service DataCatalog { // - Tag templates. // - Entries. // - Entry groups. - // Note, this method cannot be used to manage policies for BigQuery, Cloud - // Pub/Sub and any external Google Cloud Platform resources synced to Cloud - // Data Catalog. + // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub + // and any external Google Cloud Platform resources synced to Data Catalog. // // A caller is not required to have Google IAM permission to make this // request. - rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) - returns (google.iam.v1.TestIamPermissionsResponse) { + rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) { option (google.api.http) = { post: "/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:testIamPermissions" body: "*" @@ -456,19 +442,14 @@ service DataCatalog { // Request message for // [SearchCatalog][google.cloud.datacatalog.v1beta1.DataCatalog.SearchCatalog]. message SearchCatalogRequest { + // The criteria that select the subspace used for query matching. message Scope { - // Data Catalog tries to automatically choose the right corpus of data to - // search through. You can ensure an organization is included by adding it - // to `include_org_ids`. You can ensure a project's org is included with - // `include_project_ids`. You must specify at least one organization - // using `include_org_ids` or `include_project_ids` in all search requests. - // - // List of organization IDs to search within. To find your organization ID, - // follow instructions in + // The list of organization IDs to search within. To find your organization + // ID, follow instructions in // https://cloud.google.com/resource-manager/docs/creating-managing-organization. repeated string include_org_ids = 2; - // List of project IDs to search within. To learn more about the + // The list of project IDs to search within. To learn more about the // distinction between project names/IDs/numbers, go to // https://cloud.google.com/docs/overview/#projects. repeated string include_project_ids = 3; @@ -480,11 +461,13 @@ message SearchCatalogRequest { bool include_gcp_public_datasets = 7; } - // Required. The scope of this search request. + // Required. The scope of this search request. A `scope` that has empty + // `include_org_ids`, `include_project_ids` AND false + // `include_gcp_public_datasets` is considered invalid. Data Catalog will + // return an error in such a case. Scope scope = 6 [(google.api.field_behavior) = REQUIRED]; - // Required. The query string in search query syntax. The query must be - // non-empty. + // Required. The query string in search query syntax. The query must be non-empty. // // Query strings can be simple as "x" or more qualified as: // @@ -494,7 +477,8 @@ message SearchCatalogRequest { // // Note: Query tokens need to have a minimum of 3 characters for substring // matching to work correctly. See [Data Catalog Search - // Syntax](/data-catalog/docs/how-to/search-reference) for more information. + // Syntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference) + // for more information. string query = 1 [(google.api.field_behavior) = REQUIRED]; // Number of results in the search page. If <=0 then defaults to 10. Max limit @@ -502,8 +486,8 @@ message SearchCatalogRequest { int32 page_size = 2; // Optional. Pagination token returned in an earlier - // [SearchCatalogResponse.next_page_token][google.cloud.datacatalog.v1beta1.SearchCatalogResponse.next_page_token], - // which indicates that this is a continuation of a prior + // [SearchCatalogResponse.next_page_token][google.cloud.datacatalog.v1beta1.SearchCatalogResponse.next_page_token], which + // indicates that this is a continuation of a prior // [SearchCatalogRequest][google.cloud.datacatalog.v1beta1.DataCatalog.SearchCatalog] // call, and that the system should return the next page of data. If empty, // the first page is returned. @@ -601,8 +585,8 @@ message DeleteEntryGroupRequest { // Request message for // [ListEntryGroups][google.cloud.datacatalog.v1beta1.DataCatalog.ListEntryGroups]. message ListEntryGroupsRequest { - // Required. The name of the location that contains the entry groups, which - // can be provided in URL format. Example: + // Required. The name of the location that contains the entry groups, which can be + // provided in URL format. Example: // // * projects/{project_id}/locations/{location} string parent = 1 [ @@ -612,12 +596,12 @@ message ListEntryGroupsRequest { } ]; - // Optional. The maximum number of items to return. Default is 10. Max limit - // is 1000. Throws an invalid argument for `page_size > 1000`. + // Optional. The maximum number of items to return. Default is 10. Max limit is 1000. + // Throws an invalid argument for `page_size > 1000`. int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; - // Optional. Token that specifies which page is requested. If empty, the first - // page is returned. + // Optional. Token that specifies which page is requested. If empty, the first page is + // returned. string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; } @@ -733,7 +717,7 @@ message LookupEntryRequest { // // Examples: // - // * `cloud_pubsub.project_id.topic_id` + // * `pubsub.project_id.topic_id` // * ``pubsub.project_id.`topic.id.with.dots` `` // * `bigquery.table.project_id.dataset_id.table_id` // * `bigquery.dataset.project_id.dataset_id` @@ -747,7 +731,7 @@ message LookupEntryRequest { // Entry Metadata. // A Data Catalog Entry resource represents another resource in Google -// Cloud Platform (such as a BigQuery dataset or a Cloud Pub/Sub topic), or +// Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic), or // outside of Google Cloud Platform. Clients can use the `linked_resource` field // in the Entry resource to refer to the original resource ID of the source // system. @@ -768,8 +752,8 @@ message Entry { // Note that this Entry and its child resources may not actually be stored in // the location in this name. string name = 1 [(google.api.resource_reference) = { - type: "datacatalog.googleapis.com/EntryGroup" - }]; + type: "datacatalog.googleapis.com/EntryGroup" + }]; // The resource this metadata entry refers to. // @@ -806,10 +790,9 @@ message Entry { // The source system of the entry. oneof system { - // Output only. This field indicates the entry's source system that Data - // Catalog integrates with, such as BigQuery or Cloud Pub/Sub. - IntegratedSystem integrated_system = 17 - [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. This field indicates the entry's source system that Data Catalog + // integrates with, such as BigQuery or Pub/Sub. + IntegratedSystem integrated_system = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; // This field indicates the entry's source system that Data Catalog does not // integrate with. `user_specified_system` strings must begin with a letter @@ -847,12 +830,11 @@ message Entry { // Schema of the entry. An entry might not have any schema attached to it. Schema schema = 5; - // Output only. Timestamps about the underlying resource, not about this Data - // Catalog entry. Output only when Entry is of type in the EntryType enum. For - // entries with user_specified_type, this field is optional and defaults to an - // empty timestamp. - SystemTimestamps source_system_timestamps = 7 - [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. Timestamps about the underlying resource, not about this Data Catalog + // entry. Output only when Entry is of type in the EntryType enum. For entries + // with user_specified_type, this field is optional and defaults to an empty + // timestamp. + SystemTimestamps source_system_timestamps = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; } // EntryGroup Metadata. @@ -881,18 +863,15 @@ message EntryGroup { // string. string description = 3; - // Output only. Timestamps about this EntryGroup. Default value is empty - // timestamps. - SystemTimestamps data_catalog_timestamps = 4 - [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. Timestamps about this EntryGroup. Default value is empty timestamps. + SystemTimestamps data_catalog_timestamps = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Request message for // [CreateTagTemplate][google.cloud.datacatalog.v1beta1.DataCatalog.CreateTagTemplate]. message CreateTagTemplateRequest { // Required. The name of the project and the template location - // [region](/compute/docs/regions-zones/#available). - // NOTE: Currently, only the `us-central1 region` is supported. + // [region](https://cloud.google.com/data-catalog/docs/concepts/regions. // // Example: // @@ -911,29 +890,6 @@ message CreateTagTemplateRequest { TagTemplate tag_template = 2 [(google.api.field_behavior) = REQUIRED]; } -// Entry resources in Data Catalog can be of different types e.g. a BigQuery -// Table entry is of type `TABLE`. This enum describes all the possible types -// Data Catalog contains. -enum EntryType { - // Default unknown type - ENTRY_TYPE_UNSPECIFIED = 0; - - // Output only. The type of entry that has a GoogleSQL schema, including - // logical views. - TABLE = 2; - - // Output only. The type of models. - MODEL = 5; - - // Output only. An entry type which is used for streaming entries. Example: - // Cloud Pub/Sub topic. - DATA_STREAM = 3; - - // An entry type which is a set of files or objects. Example: - // Cloud Storage fileset. - FILESET = 4; -} - // Request message for // [GetTagTemplate][google.cloud.datacatalog.v1beta1.DataCatalog.GetTagTemplate]. message GetTagTemplateRequest { @@ -986,8 +942,8 @@ message DeleteTagTemplateRequest { // Request message for // [CreateTag][google.cloud.datacatalog.v1beta1.DataCatalog.CreateTag]. message CreateTagRequest { - // Required. The name of the resource to attach this tag to. Tags can be - // attached to Entries. Example: + // Required. The name of the resource to attach this tag to. Tags can be attached to + // Entries. Example: // // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} // @@ -995,7 +951,9 @@ message CreateTagRequest { // the location in this name. string parent = 1 [ (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { type: "datacatalog.googleapis.com/Tag" } + (google.api.resource_reference) = { + type: "datacatalog.googleapis.com/Tag" + } ]; // Required. The tag to create. @@ -1031,8 +989,7 @@ message DeleteTagRequest { // [CreateTagTemplateField][google.cloud.datacatalog.v1beta1.DataCatalog.CreateTagTemplateField]. message CreateTagTemplateFieldRequest { // Required. The name of the project and the template location - // [region](/compute/docs/regions-zones/#available). - // NOTE: Currently, only the `us-central1 region` is supported. + // [region](https://cloud.google.com/data-catalog/docs/concepts/regions). // // Example: // @@ -1052,8 +1009,7 @@ message CreateTagTemplateFieldRequest { string tag_template_field_id = 2 [(google.api.field_behavior) = REQUIRED]; // Required. The tag template field to create. - TagTemplateField tag_template_field = 3 - [(google.api.field_behavior) = REQUIRED]; + TagTemplateField tag_template_field = 3 [(google.api.field_behavior) = REQUIRED]; } // Request message for @@ -1070,8 +1026,7 @@ message UpdateTagTemplateFieldRequest { ]; // Required. The template to update. - TagTemplateField tag_template_field = 2 - [(google.api.field_behavior) = REQUIRED]; + TagTemplateField tag_template_field = 2 [(google.api.field_behavior) = REQUIRED]; // Optional. The field mask specifies the parts of the template to be updated. // Allowed fields: @@ -1087,8 +1042,7 @@ message UpdateTagTemplateFieldRequest { // existing values. Therefore, enum values can only be added, existing enum // values cannot be deleted nor renamed. Updating a template field from // optional to required is NOT allowed. - google.protobuf.FieldMask update_mask = 3 - [(google.api.field_behavior) = OPTIONAL]; + google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = OPTIONAL]; } // Request message for @@ -1104,8 +1058,7 @@ message RenameTagTemplateFieldRequest { } ]; - // Required. The new ID of this tag template field. For example, - // `my_new_field`. + // Required. The new ID of this tag template field. For example, `my_new_field`. string new_tag_template_field_id = 2 [(google.api.field_behavior) = REQUIRED]; } @@ -1131,8 +1084,8 @@ message DeleteTagTemplateFieldRequest { // Request message for // [ListTags][google.cloud.datacatalog.v1beta1.DataCatalog.ListTags]. message ListTagsRequest { - // Required. The name of the Data Catalog resource to list the tags of. The - // resource could be an [Entry][google.cloud.datacatalog.v1beta1.Entry] or an + // Required. The name of the Data Catalog resource to list the tags of. The resource + // could be an [Entry][google.cloud.datacatalog.v1beta1.Entry] or an // [EntryGroup][google.cloud.datacatalog.v1beta1.EntryGroup]. // // Examples: @@ -1204,3 +1157,27 @@ message ListEntriesResponse { // remain in results. string next_page_token = 2; } + +// Entry resources in Data Catalog can be of different types e.g. a BigQuery +// Table entry is of type `TABLE`. This enum describes all the possible types +// Data Catalog contains. +enum EntryType { + // Default unknown type. + ENTRY_TYPE_UNSPECIFIED = 0; + + // Output only. The type of entry that has a GoogleSQL schema, including + // logical views. + TABLE = 2; + + // Output only. The type of models. + // https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro + MODEL = 5; + + // Output only. An entry type which is used for streaming entries. Example: + // Pub/Sub topic. + DATA_STREAM = 3; + + // An entry type which is a set of files or objects. Example: + // Cloud Storage fileset. + FILESET = 4; +} diff --git a/google/cloud/datacatalog/v1beta1/datacatalog_grpc_service_config.json b/google/cloud/datacatalog/v1beta1/datacatalog_grpc_service_config.json index 09771923..3e39b464 100755 --- a/google/cloud/datacatalog/v1beta1/datacatalog_grpc_service_config.json +++ b/google/cloud/datacatalog/v1beta1/datacatalog_grpc_service_config.json @@ -3,60 +3,7 @@ { "name": [ { - "service": "google.cloud.datacatalog.v1beta1.DataCatalog", - "method": "SearchCatalog" - }, - { - "service": "google.cloud.datacatalog.v1beta1.DataCatalog", - "method": "CreateEntryGroup" - }, - { - "service": "google.cloud.datacatalog.v1beta1.DataCatalog", - "method": "CreateEntry" - }, - { - "service": "google.cloud.datacatalog.v1beta1.DataCatalog", - "method": "UpdateEntry" - }, - { - "service": "google.cloud.datacatalog.v1beta1.DataCatalog", - "method": "CreateTagTemplate" - }, - { - "service": "google.cloud.datacatalog.v1beta1.DataCatalog", - "method": "UpdateTagTemplate" - }, - { - "service": "google.cloud.datacatalog.v1beta1.DataCatalog", - "method": "CreateTagTemplateField" - }, - { - "service": "google.cloud.datacatalog.v1beta1.DataCatalog", - "method": "UpdateTagTemplateField" - }, - { - "service": "google.cloud.datacatalog.v1beta1.DataCatalog", - "method": "RenameTagTemplateField" - }, - { - "service": "google.cloud.datacatalog.v1beta1.DataCatalog", - "method": "CreateTag" - }, - { - "service": "google.cloud.datacatalog.v1beta1.DataCatalog", - "method": "UpdateTag" - }, - { - "service": "google.cloud.datacatalog.v1beta1.DataCatalog", - "method": "SetIamPolicy" - }, - { - "service": "google.cloud.datacatalog.v1beta1.DataCatalog", - "method": "GetIamPolicy" - }, - { - "service": "google.cloud.datacatalog.v1beta1.DataCatalog", - "method": "TestIamPermissions" + "service": "google.cloud.datacatalog.v1beta1.DataCatalog" } ], "timeout": "60s" diff --git a/google/cloud/datacatalog/v1beta1/datacatalog_v1beta1.yaml b/google/cloud/datacatalog/v1beta1/datacatalog_v1beta1.yaml index a0bd85eb..1a1d044b 100644 --- a/google/cloud/datacatalog/v1beta1/datacatalog_v1beta1.yaml +++ b/google/cloud/datacatalog/v1beta1/datacatalog_v1beta1.yaml @@ -28,14 +28,14 @@ documentation: Sets the access control policy on the specified resource. Replaces any existing policy. - Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and - PERMISSION_DENIED + Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` + errors. - selector: google.iam.v1.IAMPolicy.TestIamPermissions description: |- Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of - permissions, not a NOT_FOUND error. + permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization diff --git a/google/cloud/datacatalog/v1beta1/gcs_fileset_spec.proto b/google/cloud/datacatalog/v1beta1/gcs_fileset_spec.proto index ac868180..57cdcdfa 100644 --- a/google/cloud/datacatalog/v1beta1/gcs_fileset_spec.proto +++ b/google/cloud/datacatalog/v1beta1/gcs_fileset_spec.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -21,9 +20,12 @@ import "google/api/field_behavior.proto"; import "google/cloud/datacatalog/v1beta1/timestamps.proto"; option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.DataCatalog.V1Beta1"; option go_package = "google.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog"; option java_multiple_files = true; option java_package = "com.google.cloud.datacatalog.v1beta1"; +option php_namespace = "Google\\Cloud\\DataCatalog\\V1beta1"; +option ruby_package = "Google::Cloud::DataCatalog::V1beta1"; // Describes a Cloud Storage fileset entry. message GcsFilesetSpec { diff --git a/google/cloud/datacatalog/v1beta1/policytagmanager.proto b/google/cloud/datacatalog/v1beta1/policytagmanager.proto index d07478f6..5602bcf1 100644 --- a/google/cloud/datacatalog/v1beta1/policytagmanager.proto +++ b/google/cloud/datacatalog/v1beta1/policytagmanager.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -28,10 +27,13 @@ import "google/protobuf/empty.proto"; import "google/protobuf/field_mask.proto"; option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.DataCatalog.V1Beta1"; option go_package = "google.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog"; option java_multiple_files = true; option java_outer_classname = "PolicyTagManagerProto"; option java_package = "com.google.cloud.datacatalog.v1beta1"; +option php_namespace = "Google\\Cloud\\DataCatalog\\V1beta1"; +option ruby_package = "Google::Cloud::DataCatalog::V1beta1"; // The policy tag manager API service allows clients to manage their taxonomies // and policy tags. diff --git a/google/cloud/datacatalog/v1beta1/policytagmanagerserialization.proto b/google/cloud/datacatalog/v1beta1/policytagmanagerserialization.proto index 36e59fcf..b6e4fb32 100644 --- a/google/cloud/datacatalog/v1beta1/policytagmanagerserialization.proto +++ b/google/cloud/datacatalog/v1beta1/policytagmanagerserialization.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -25,10 +24,13 @@ import "google/iam/v1/policy.proto"; import "google/api/client.proto"; option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.DataCatalog.V1Beta1"; option go_package = "google.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog"; option java_multiple_files = true; option java_outer_classname = "PolicyTagManagerSerializationProto"; option java_package = "com.google.cloud.datacatalog.v1beta1"; +option php_namespace = "Google\\Cloud\\DataCatalog\\V1beta1"; +option ruby_package = "Google::Cloud::DataCatalog::V1beta1"; // Policy tag manager serialization API service allows clients to manipulate // their taxonomies and policy tags data with serialized format. diff --git a/google/cloud/datacatalog/v1beta1/schema.proto b/google/cloud/datacatalog/v1beta1/schema.proto index 91e4da9b..d8e69fd4 100644 --- a/google/cloud/datacatalog/v1beta1/schema.proto +++ b/google/cloud/datacatalog/v1beta1/schema.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -20,9 +19,12 @@ package google.cloud.datacatalog.v1beta1; import "google/api/field_behavior.proto"; option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.DataCatalog.V1Beta1"; option go_package = "google.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog"; option java_multiple_files = true; option java_package = "com.google.cloud.datacatalog.v1beta1"; +option php_namespace = "Google\\Cloud\\DataCatalog\\V1beta1"; +option ruby_package = "Google::Cloud::DataCatalog::V1beta1"; // Represents a schema (e.g. BigQuery, GoogleSQL, Avro schema). message Schema { diff --git a/google/cloud/datacatalog/v1beta1/search.proto b/google/cloud/datacatalog/v1beta1/search.proto index 607d2fe1..c1f41412 100644 --- a/google/cloud/datacatalog/v1beta1/search.proto +++ b/google/cloud/datacatalog/v1beta1/search.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -22,9 +21,12 @@ import "google/cloud/datacatalog/v1beta1/common.proto"; import "google/protobuf/timestamp.proto"; option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.DataCatalog.V1Beta1"; option go_package = "google.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog"; option java_multiple_files = true; option java_package = "com.google.cloud.datacatalog.v1beta1"; +option php_namespace = "Google\\Cloud\\DataCatalog\\V1beta1"; +option ruby_package = "Google::Cloud::DataCatalog::V1beta1"; // A result that appears in the response of a search request. Each result // captures details of one entry that matches the search. diff --git a/google/cloud/datacatalog/v1beta1/table_spec.proto b/google/cloud/datacatalog/v1beta1/table_spec.proto index b0bf6cc4..c08f43ef 100644 --- a/google/cloud/datacatalog/v1beta1/table_spec.proto +++ b/google/cloud/datacatalog/v1beta1/table_spec.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -21,9 +20,12 @@ import "google/api/field_behavior.proto"; import "google/api/resource.proto"; option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.DataCatalog.V1Beta1"; option go_package = "google.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog"; option java_multiple_files = true; option java_package = "com.google.cloud.datacatalog.v1beta1"; +option php_namespace = "Google\\Cloud\\DataCatalog\\V1beta1"; +option ruby_package = "Google::Cloud::DataCatalog::V1beta1"; // Describes a BigQuery table. message BigQueryTableSpec { diff --git a/google/cloud/datacatalog/v1beta1/tags.proto b/google/cloud/datacatalog/v1beta1/tags.proto index 71931e34..c15fb218 100644 --- a/google/cloud/datacatalog/v1beta1/tags.proto +++ b/google/cloud/datacatalog/v1beta1/tags.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -22,15 +21,19 @@ import "google/api/resource.proto"; import "google/protobuf/timestamp.proto"; option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.DataCatalog.V1Beta1"; option go_package = "google.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog"; option java_multiple_files = true; option java_package = "com.google.cloud.datacatalog.v1beta1"; +option php_namespace = "Google\\Cloud\\DataCatalog\\V1beta1"; +option ruby_package = "Google::Cloud::DataCatalog::V1beta1"; // Tags are used to attach custom metadata to Data Catalog resources. Tags // conform to the specifications within their tag template. // -// See [Data Catalog IAM](/data-catalog/docs/concepts/iam) for information on -// the permissions needed to create or view tags. +// See [Data Catalog +// IAM](https://cloud.google.com/data-catalog/docs/concepts/iam) for information +// on the permissions needed to create or view tags. message Tag { option (google.api.resource) = { type: "datacatalog.googleapis.com/Tag" @@ -106,14 +109,23 @@ message TagField { // one of the allowed values in the definition of this enum. EnumValue enum_value = 6; } + + // Output only. The order of this field with respect to other fields in this tag. It can be + // set in [Tag][google.cloud.datacatalog.v1beta1.TagTemplateField.order]. For + // example, a higher value can indicate a more important field. The value can + // be negative. Multiple fields can have the same order, and field orders + // within a tag do not have to be sequential. + int32 order = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; } // A tag template defines a tag, which can have one or more typed fields. // The template is used to create and attach the tag to GCP resources. -// [Tag template roles](/iam/docs/understanding-roles#data-catalog-roles) -// provide permissions to create, edit, and use the template (see, for example, -// the [TagTemplate User](/data-catalog/docs/how-to/template-user) role, which -// includes permission to use the tag template to tag resources. +// [Tag template +// roles](https://cloud.google.com/iam/docs/understanding-roles#data-catalog-roles) +// provide permissions to create, edit, and use the template. See, for example, +// the [TagTemplate +// User](https://cloud.google.com/data-catalog/docs/how-to/template-user) role, +// which includes permission to use the tag template to tag resources. message TagTemplate { option (google.api.resource) = { type: "datacatalog.googleapis.com/TagTemplate" @@ -165,6 +177,12 @@ message TagTemplateField { // Whether this is a required field. Defaults to false. bool is_required = 3; + + // The order of this field with respect to other fields in this tag + // template. A higher value indicates a more important field. The value can + // be negative. Multiple fields can have the same order, and field orders + // within a tag do not have to be sequential. + int32 order = 5; } message FieldType { diff --git a/google/cloud/datacatalog/v1beta1/timestamps.proto b/google/cloud/datacatalog/v1beta1/timestamps.proto index 6268b3cf..dc49c75c 100644 --- a/google/cloud/datacatalog/v1beta1/timestamps.proto +++ b/google/cloud/datacatalog/v1beta1/timestamps.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -21,9 +20,12 @@ import "google/api/field_behavior.proto"; import "google/protobuf/timestamp.proto"; option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.DataCatalog.V1Beta1"; option go_package = "google.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog"; option java_multiple_files = true; option java_package = "com.google.cloud.datacatalog.v1beta1"; +option php_namespace = "Google\\Cloud\\DataCatalog\\V1beta1"; +option ruby_package = "Google::Cloud::DataCatalog::V1beta1"; // Timestamps about this resource according to a particular system. message SystemTimestamps {