1- // Copyright 2021 Google LLC
1+ // Copyright 2022 Google LLC
22//
33// Licensed under the Apache License, Version 2.0 (the "License");
44// you may not use this file except in compliance with the License.
@@ -237,6 +237,30 @@ service DataCatalog {
237237 option (google.api.method_signature ) = "parent" ;
238238 }
239239
240+ // Modifies entry overview, part of the business context of an
241+ // [Entry][google.cloud.datacatalog.v1.Entry].
242+ //
243+ // To call this method, you must have the `datacatalog.entries.updateOverview`
244+ // IAM permission on the corresponding project.
245+ rpc ModifyEntryOverview (ModifyEntryOverviewRequest ) returns (EntryOverview ) {
246+ option (google.api.http ) = {
247+ post : "/v1/{name=projects/*/locations/*/entryGroups/*/entries/*}:modifyEntryOverview"
248+ body : "*"
249+ };
250+ }
251+
252+ // Modifies contacts, part of the business context of an
253+ // [Entry][google.cloud.datacatalog.v1.Entry].
254+ //
255+ // To call this method, you must have the `datacatalog.entries.updateContacts`
256+ // IAM permission on the corresponding project.
257+ rpc ModifyEntryContacts (ModifyEntryContactsRequest ) returns (Contacts ) {
258+ option (google.api.http ) = {
259+ post : "/v1/{name=projects/*/locations/*/entryGroups/*/entries/*}:modifyEntryContacts"
260+ body : "*"
261+ };
262+ }
263+
240264 // Creates a tag template.
241265 //
242266 // You must enable the Data Catalog API in the project identified by the
@@ -406,6 +430,8 @@ service DataCatalog {
406430 }
407431
408432 // Lists tags assigned to an [Entry][google.cloud.datacatalog.v1.Entry].
433+ // The [columns][google.cloud.datacatalog.v1.Tag.column] in the response are
434+ // lowercased.
409435 rpc ListTags (ListTagsRequest ) returns (ListTagsResponse ) {
410436 option (google.api.http ) = {
411437 get : "/v1/{parent=projects/*/locations/*/entryGroups/*/entries/*}/tags"
@@ -416,6 +442,26 @@ service DataCatalog {
416442 option (google.api.method_signature ) = "parent" ;
417443 }
418444
445+ // Marks an [Entry][google.cloud.datacatalog.v1.Entry] as starred by
446+ // the current user. Starring information is private to each user.
447+ rpc StarEntry (StarEntryRequest ) returns (StarEntryResponse ) {
448+ option (google.api.http ) = {
449+ post : "/v1/{name=projects/*/locations/*/entryGroups/*/entries/*}:star"
450+ body : "*"
451+ };
452+ option (google.api.method_signature ) = "name" ;
453+ }
454+
455+ // Marks an [Entry][google.cloud.datacatalog.v1.Entry] as NOT starred by
456+ // the current user. Starring information is private to each user.
457+ rpc UnstarEntry (UnstarEntryRequest ) returns (UnstarEntryResponse ) {
458+ option (google.api.http ) = {
459+ post : "/v1/{name=projects/*/locations/*/entryGroups/*/entries/*}:unstar"
460+ body : "*"
461+ };
462+ option (google.api.method_signature ) = "name" ;
463+ }
464+
419465 // Sets an access control policy for a resource. Replaces any existing
420466 // policy.
421467 //
@@ -549,16 +595,17 @@ message SearchCatalogRequest {
549595 // value of this parameter.
550596 repeated string restricted_locations = 16 [(google.api.field_behavior ) = OPTIONAL ];
551597
552- // Optional. If `true`, include [public tag
553- // templates][google.cloud.datacatalog.v1.TagTemplate.is_publicly_readable]
554- // in the search results. By default, they are included only if you have
555- // explicit permissions on them to view them. For example, if you are the
556- // owner.
598+ // Optional. If `true`, search only among starred entries.
557599 //
558- // Other scope fields, for example, `include_org_ids`,
559- // still restrict the returned public tag templates and at least one of
560- // them is required.
561- bool include_public_tag_templates = 19 [(google.api.field_behavior ) = OPTIONAL ];
600+ // By default, all results are returned, starred or not.
601+ bool starred_only = 18 [(google.api.field_behavior ) = OPTIONAL ];
602+
603+ // Optional. This field is deprecated. The search mechanism for public and private tag
604+ // templates is the same.
605+ bool include_public_tag_templates = 19 [
606+ deprecated = true ,
607+ (google.api.field_behavior ) = OPTIONAL
608+ ];
562609 }
563610
564611 // Required. The scope of this search request.
@@ -605,6 +652,7 @@ message SearchCatalogRequest {
605652 //
606653 // * `relevance` that can only be descending
607654 // * `last_modified_timestamp [asc|desc]` with descending (`desc`) as default
655+ // * `default` that can only be descending
608656 //
609657 // If this parameter is omitted, it defaults to the descending `relevance`.
610658 string order_by = 5 ;
@@ -1037,6 +1085,9 @@ message Entry {
10371085 // Default value is an empty string.
10381086 string description = 4 ;
10391087
1088+ // Business Context of the entry. Not supported for BigQuery datasets.
1089+ BusinessContext business_context = 37 ;
1090+
10401091 // Schema of the entry. An entry might not have any schema attached to it.
10411092 Schema schema = 5 ;
10421093
@@ -1060,6 +1111,9 @@ message Entry {
10601111
10611112 // Output only. Physical location of the entry.
10621113 DataSource data_source = 20 [(google.api.field_behavior ) = OUTPUT_ONLY ];
1114+
1115+ // Output only. Additional information related to the entry. Private to the current user.
1116+ PersonalDetails personal_details = 26 [(google.api.field_behavior ) = OUTPUT_ONLY ];
10631117}
10641118
10651119// Specification that applies to a table resource. Valid only
@@ -1091,6 +1145,18 @@ message DataSourceConnectionSpec {
10911145// Specification that applies to a routine. Valid only for
10921146// entries with the `ROUTINE` type.
10931147message RoutineSpec {
1148+ // The fine-grained type of the routine.
1149+ enum RoutineType {
1150+ // Unspecified type.
1151+ ROUTINE_TYPE_UNSPECIFIED = 0 ;
1152+
1153+ // Non-builtin permanent scalar function.
1154+ SCALAR_FUNCTION = 1 ;
1155+
1156+ // Stored procedure.
1157+ PROCEDURE = 2 ;
1158+ }
1159+
10941160 // Input or output argument of a function or stored procedure.
10951161 message Argument {
10961162 // The input or output mode of the argument.
@@ -1120,18 +1186,6 @@ message RoutineSpec {
11201186 string type = 3 ;
11211187 }
11221188
1123- // The fine-grained type of the routine.
1124- enum RoutineType {
1125- // Unspecified type.
1126- ROUTINE_TYPE_UNSPECIFIED = 0 ;
1127-
1128- // Non-builtin permanent scalar function.
1129- SCALAR_FUNCTION = 1 ;
1130-
1131- // Stored procedure.
1132- PROCEDURE = 2 ;
1133- }
1134-
11351189 // The type of the routine.
11361190 RoutineType routine_type = 1 ;
11371191
@@ -1159,6 +1213,43 @@ message RoutineSpec {
11591213 }
11601214}
11611215
1216+ // Business Context of the entry.
1217+ message BusinessContext {
1218+ // Entry overview fields for rich text descriptions of entries.
1219+ EntryOverview entry_overview = 1 ;
1220+
1221+ // Contact people for the entry.
1222+ Contacts contacts = 2 ;
1223+ }
1224+
1225+ // Entry overview fields for rich text descriptions of entries.
1226+ message EntryOverview {
1227+ // Entry overview with support for rich text.
1228+ //
1229+ // The overview must only contain Unicode characters, and should be
1230+ // formatted using HTML.
1231+ // The maximum length is 10 MiB as this value holds HTML descriptions
1232+ // including encoded images. The maximum length of the text without images
1233+ // is 100 KiB.
1234+ string overview = 1 ;
1235+ }
1236+
1237+ // Contact people for the entry.
1238+ message Contacts {
1239+ // A contact person for the entry.
1240+ message Person {
1241+ // Designation of the person, for example, Data Steward.
1242+ string designation = 1 ;
1243+
1244+ // Email of the person in the format of `john.doe@example.com`,
1245+ // `<john.doe@example.com>`, or `John Doe<john.doe@example.com>`.
1246+ string email = 2 ;
1247+ }
1248+
1249+ // The list of contact people for the entry.
1250+ repeated Person people = 1 ;
1251+ }
1252+
11621253// Entry group metadata.
11631254//
11641255// An `EntryGroup` resource represents a logical grouping of zero or more
@@ -1237,9 +1328,7 @@ message UpdateTagTemplateRequest {
12371328 // request body, their values are emptied.
12381329 //
12391330 // Note: Updating the `is_publicly_readable` field may require up to 12
1240- // hours to take effect in search results. Additionally, it also requires
1241- // the `tagTemplates.getIamPolicy` and `tagTemplates.setIamPolicy`
1242- // permissions.
1331+ // hours to take effect in search results.
12431332 google.protobuf.FieldMask update_mask = 2 ;
12441333}
12451334
@@ -1488,6 +1577,74 @@ message ListEntriesResponse {
14881577 string next_page_token = 2 ;
14891578}
14901579
1580+ // Request message for
1581+ // [StarEntry][google.cloud.datacatalog.v1.DataCatalog.StarEntry].
1582+ message StarEntryRequest {
1583+ // Required. The name of the entry to mark as starred.
1584+ string name = 1 [
1585+ (google.api.field_behavior ) = REQUIRED ,
1586+ (google.api.resource_reference ) = {
1587+ type : "datacatalog.googleapis.com/Entry"
1588+ }
1589+ ];
1590+ }
1591+
1592+ // Response message for
1593+ // [StarEntry][google.cloud.datacatalog.v1.DataCatalog.StarEntry].
1594+ // Empty for now
1595+ message StarEntryResponse {
1596+
1597+ }
1598+
1599+ // Request message for
1600+ // [UnstarEntry][google.cloud.datacatalog.v1.DataCatalog.UnstarEntry].
1601+ message UnstarEntryRequest {
1602+ // Required. The name of the entry to mark as **not** starred.
1603+ string name = 1 [
1604+ (google.api.field_behavior ) = REQUIRED ,
1605+ (google.api.resource_reference ) = {
1606+ type : "datacatalog.googleapis.com/Entry"
1607+ }
1608+ ];
1609+ }
1610+
1611+ // Response message for
1612+ // [UnstarEntry][google.cloud.datacatalog.v1.DataCatalog.UnstarEntry].
1613+ // Empty for now
1614+ message UnstarEntryResponse {
1615+
1616+ }
1617+
1618+ // Request message for
1619+ // [ModifyEntryOverview][google.cloud.datacatalog.v1.DataCatalog.ModifyEntryOverview].
1620+ message ModifyEntryOverviewRequest {
1621+ // Required. The full resource name of the entry.
1622+ string name = 1 [
1623+ (google.api.field_behavior ) = REQUIRED ,
1624+ (google.api.resource_reference ) = {
1625+ type : "datacatalog.googleapis.com/Entry"
1626+ }
1627+ ];
1628+
1629+ // Required. The new value for the Entry Overview.
1630+ EntryOverview entry_overview = 2 [(google.api.field_behavior ) = REQUIRED ];
1631+ }
1632+
1633+ // Request message for
1634+ // [ModifyEntryContacts][google.cloud.datacatalog.v1.DataCatalog.ModifyEntryContacts].
1635+ message ModifyEntryContactsRequest {
1636+ // Required. The full resource name of the entry.
1637+ string name = 1 [
1638+ (google.api.field_behavior ) = REQUIRED ,
1639+ (google.api.resource_reference ) = {
1640+ type : "datacatalog.googleapis.com/Entry"
1641+ }
1642+ ];
1643+
1644+ // Required. The new value for the Contacts.
1645+ Contacts contacts = 2 [(google.api.field_behavior ) = REQUIRED ];
1646+ }
1647+
14911648// The enum field that lists all the types of entry resources in Data
14921649// Catalog. For example, a BigQuery table entry has the `TABLE` type.
14931650enum EntryType {
0 commit comments