Skip to content

Commit 0f56b69

Browse files
Google APIscopybara-github
authored andcommitted
feat: Add methods and messages related to starring feature
feat: Add methods and messages related to business context feature docs: Updates copyright message PiperOrigin-RevId: 427140868
1 parent c507c8d commit 0f56b69

13 files changed

Lines changed: 228 additions & 83 deletions

google/cloud/datacatalog/v1/bigquery.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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.

google/cloud/datacatalog/v1/common.proto

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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.
@@ -26,6 +26,15 @@ option java_package = "com.google.cloud.datacatalog.v1";
2626
option php_namespace = "Google\\Cloud\\DataCatalog\\V1";
2727
option ruby_package = "Google::Cloud::DataCatalog::V1";
2828

29+
// Entry metadata relevant only to the user and private to them.
30+
message PersonalDetails {
31+
// True if the entry is starred by the user; false otherwise.
32+
bool starred = 1;
33+
34+
// Set if the entry is starred; unset otherwise.
35+
google.protobuf.Timestamp star_time = 2;
36+
}
37+
2938
// This enum lists all the systems that Data Catalog integrates with.
3039
enum IntegratedSystem {
3140
// Default unknown system.

google/cloud/datacatalog/v1/data_source.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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.

google/cloud/datacatalog/v1/datacatalog.proto

Lines changed: 182 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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.
10931147
message 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.
14931650
enum EntryType {

google/cloud/datacatalog/v1/gcs_fileset_spec.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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.

google/cloud/datacatalog/v1/policytagmanager.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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.

google/cloud/datacatalog/v1/policytagmanagerserialization.proto

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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.
@@ -17,11 +17,11 @@ syntax = "proto3";
1717
package google.cloud.datacatalog.v1;
1818

1919
import "google/api/annotations.proto";
20+
import "google/api/client.proto";
2021
import "google/api/field_behavior.proto";
2122
import "google/api/resource.proto";
2223
import "google/cloud/datacatalog/v1/policytagmanager.proto";
2324
import "google/iam/v1/policy.proto";
24-
import "google/api/client.proto";
2525

2626
option cc_enable_arenas = true;
2727
option csharp_namespace = "Google.Cloud.DataCatalog.V1";

google/cloud/datacatalog/v1/schema.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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.

google/cloud/datacatalog/v1/search.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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.

google/cloud/datacatalog/v1/table_spec.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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.

0 commit comments

Comments
 (0)