Skip to content

Commit 17838ed

Browse files
feat: publish Automated Backups protos (#1391)
* feat: Cloud Bigtable Authorized Views admin APIs protos PiperOrigin-RevId: 612537460 Source-Link: googleapis/googleapis@b98fe7f Source-Link: googleapis/googleapis-gen@03d9b5c Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMDNkOWI1YzU1MTdjZjkxMjNmMTIwNDYxMTgwZWJkZDM4N2E0N2JjYyJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: Add authorized view bindings to Cloud Bigtable data APIs and messages docs: The field `table_name` in message `.google.bigtable.v2.ReadRowsRequest` is changed from required to optional docs: The field `table_name` in message `.google.bigtable.v2.SampleRowKeysRequest` is changed from required to optional docs: The field `table_name` in message `.google.bigtable.v2.MutateRowRequest` is changed from required to optional docs: The field `table_name` in message `.google.bigtable.v2.MutateRowsRequest` is changed from required to optional docs: The field `table_name` in message `.google.bigtable.v2.CheckAndMutateRowRequest` is changed from required to optional docs: The field `table_name` in message `.google.bigtable.v2.ReadModifyWriteRowRequest` is changed from required to optional PiperOrigin-RevId: 612537984 Source-Link: googleapis/googleapis@6465963 Source-Link: googleapis/googleapis-gen@f4a9960 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZjRhOTk2MDcxODAxZjU1OWJiNmY0ZDBjOTliYjlhM2MwZWNmNDg0NCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: Publish new bigtable APIs for types and aggregates Bigtable aggregates will allow users to configure column families whose cells accumulate values via an aggregation function rather than simply overwrite them PiperOrigin-RevId: 613716423 Source-Link: googleapis/googleapis@66fc31d Source-Link: googleapis/googleapis-gen@b983c8f Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYjk4M2M4Zjg3ZTY2NDNkOWE3NGQ3YjgxODNkNjYzNDk5NDNiNDM2ZSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: add Data Boost configurations to admin API PiperOrigin-RevId: 617925342 Source-Link: googleapis/googleapis@6f289d7 Source-Link: googleapis/googleapis-gen@92da6d5 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiOTJkYTZkNWQ0MzVhZjUzM2Y3MjZhOTdiY2ZmZjNjNzE3ODMyYzg3NyJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: support GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable Use gapic-generator-typescript v4.5.0. PiperOrigin-RevId: 619286536 Source-Link: googleapis/googleapis@f8dae41 Source-Link: googleapis/googleapis-gen@a5fdd28 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYTVmZGQyOGE1MGNiOWY0YWRmZmZjNTk5ZWUxMDczYjhjOGQ3MTUxYiJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: add feature flag for client side metrics PiperOrigin-RevId: 619540187 Source-Link: googleapis/googleapis@cbe6201 Source-Link: googleapis/googleapis-gen@1587174 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMTU4NzE3NDg2NmI3YWI3NjFhZWQxZGJmYjk1ODhmNWIzNmVlMTU5MCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: publish Automated Backups protos PiperOrigin-RevId: 620381983 Source-Link: googleapis/googleapis@a70aa2c Source-Link: googleapis/googleapis-gen@e3fb57f Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZTNmYjU3ZjlkZDRhMTBiNmMyMDM1OWVjOTJhNzJlODc2MzE5OTFiOCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: danieljbruce <danieljbruce@users.noreply.github.com>
1 parent 94a21b4 commit 17838ed

34 files changed

+18645
-3948
lines changed

protos/google/bigtable/admin/v2/bigtable_table_admin.proto

+238
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,61 @@ service BigtableTableAdmin {
136136
};
137137
}
138138

139+
// Creates a new AuthorizedView in a table.
140+
rpc CreateAuthorizedView(CreateAuthorizedViewRequest)
141+
returns (google.longrunning.Operation) {
142+
option (google.api.http) = {
143+
post: "/v2/{parent=projects/*/instances/*/tables/*}/authorizedViews"
144+
body: "authorized_view"
145+
};
146+
option (google.api.method_signature) =
147+
"parent,authorized_view,authorized_view_id";
148+
option (google.longrunning.operation_info) = {
149+
response_type: "AuthorizedView"
150+
metadata_type: "CreateAuthorizedViewMetadata"
151+
};
152+
}
153+
154+
// Lists all AuthorizedViews from a specific table.
155+
rpc ListAuthorizedViews(ListAuthorizedViewsRequest)
156+
returns (ListAuthorizedViewsResponse) {
157+
option (google.api.http) = {
158+
get: "/v2/{parent=projects/*/instances/*/tables/*}/authorizedViews"
159+
};
160+
option (google.api.method_signature) = "parent";
161+
}
162+
163+
// Gets information from a specified AuthorizedView.
164+
rpc GetAuthorizedView(GetAuthorizedViewRequest) returns (AuthorizedView) {
165+
option (google.api.http) = {
166+
get: "/v2/{name=projects/*/instances/*/tables/*/authorizedViews/*}"
167+
};
168+
option (google.api.method_signature) = "name";
169+
}
170+
171+
// Updates an AuthorizedView in a table.
172+
rpc UpdateAuthorizedView(UpdateAuthorizedViewRequest)
173+
returns (google.longrunning.Operation) {
174+
option (google.api.http) = {
175+
patch: "/v2/{authorized_view.name=projects/*/instances/*/tables/*/authorizedViews/*}"
176+
body: "authorized_view"
177+
};
178+
option (google.api.method_signature) = "authorized_view,update_mask";
179+
option (google.longrunning.operation_info) = {
180+
response_type: "AuthorizedView"
181+
metadata_type: "UpdateAuthorizedViewMetadata"
182+
};
183+
}
184+
185+
// Permanently deletes a specified AuthorizedView.
186+
rpc DeleteAuthorizedView(DeleteAuthorizedViewRequest)
187+
returns (google.protobuf.Empty) {
188+
option (google.api.http) = {
189+
delete: "/v2/{name=projects/*/instances/*/tables/*/authorizedViews/*}"
190+
};
191+
option (google.api.method_signature) = "name";
192+
}
193+
139194
// Performs a series of column family modifications on the specified table.
140195
// Either all or none of the modifications will occur before this method
141196
// returns, but data requests received prior to that point may see a table
@@ -716,6 +771,12 @@ message ModifyColumnFamiliesRequest {
716771
// family exists.
717772
bool drop = 4;
718773
}
774+
775+
// Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
776+
// mod should be updated, ignored for other modification types. If unset or
777+
// empty, we treat it as updating `gc_rule` to be backward compatible.
778+
google.protobuf.FieldMask update_mask = 6
779+
[(google.api.field_behavior) = OPTIONAL];
719780
}
720781

721782
// Required. The unique name of the table whose families should be modified.
@@ -775,8 +836,30 @@ message CheckConsistencyRequest {
775836

776837
// Required. The token created using GenerateConsistencyToken for the Table.
777838
string consistency_token = 2 [(google.api.field_behavior) = REQUIRED];
839+
840+
// Which type of read needs to consistently observe which type of write?
841+
// Default: `standard_read_remote_writes`
842+
oneof mode {
843+
// Checks that reads using an app profile with `StandardIsolation` can
844+
// see all writes committed before the token was created, even if the
845+
// read and write target different clusters.
846+
StandardReadRemoteWrites standard_read_remote_writes = 3;
847+
848+
// Checks that reads using an app profile with `DataBoostIsolationReadOnly`
849+
// can see all writes committed before the token was created, but only if
850+
// the read and write target the same cluster.
851+
DataBoostReadLocalWrites data_boost_read_local_writes = 4;
852+
}
778853
}
779854

855+
// Checks that all writes before the consistency token was generated are
856+
// replicated in every cluster and readable.
857+
message StandardReadRemoteWrites {}
858+
859+
// Checks that all writes before the consistency token was generated in the same
860+
// cluster are readable by Databoost.
861+
message DataBoostReadLocalWrites {}
862+
780863
// Response message for
781864
// [google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency][google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency]
782865
message CheckConsistencyResponse {
@@ -1194,3 +1277,158 @@ message CopyBackupMetadata {
11941277
// operation.
11951278
OperationProgress progress = 3;
11961279
}
1280+
1281+
// The request for
1282+
// [CreateAuthorizedView][google.bigtable.admin.v2.BigtableTableAdmin.CreateAuthorizedView]
1283+
message CreateAuthorizedViewRequest {
1284+
// Required. This is the name of the table the AuthorizedView belongs to.
1285+
// Values are of the form
1286+
// `projects/{project}/instances/{instance}/tables/{table}`.
1287+
string parent = 1 [
1288+
(google.api.field_behavior) = REQUIRED,
1289+
(google.api.resource_reference) = {
1290+
child_type: "bigtableadmin.googleapis.com/AuthorizedView"
1291+
}
1292+
];
1293+
1294+
// Required. The id of the AuthorizedView to create. This AuthorizedView must
1295+
// not already exist. The `authorized_view_id` appended to `parent` forms the
1296+
// full AuthorizedView name of the form
1297+
// `projects/{project}/instances/{instance}/tables/{table}/authorizedView/{authorized_view}`.
1298+
string authorized_view_id = 2 [(google.api.field_behavior) = REQUIRED];
1299+
1300+
// Required. The AuthorizedView to create.
1301+
AuthorizedView authorized_view = 3 [(google.api.field_behavior) = REQUIRED];
1302+
}
1303+
1304+
// The metadata for the Operation returned by CreateAuthorizedView.
1305+
message CreateAuthorizedViewMetadata {
1306+
// The request that prompted the initiation of this CreateInstance operation.
1307+
CreateAuthorizedViewRequest original_request = 1;
1308+
1309+
// The time at which the original request was received.
1310+
google.protobuf.Timestamp request_time = 2;
1311+
1312+
// The time at which the operation failed or was completed successfully.
1313+
google.protobuf.Timestamp finish_time = 3;
1314+
}
1315+
1316+
// Request message for
1317+
// [google.bigtable.admin.v2.BigtableTableAdmin.ListAuthorizedViews][google.bigtable.admin.v2.BigtableTableAdmin.ListAuthorizedViews]
1318+
message ListAuthorizedViewsRequest {
1319+
// Required. The unique name of the table for which AuthorizedViews should be
1320+
// listed. Values are of the form
1321+
// `projects/{project}/instances/{instance}/tables/{table}`.
1322+
string parent = 1 [
1323+
(google.api.field_behavior) = REQUIRED,
1324+
(google.api.resource_reference) = {
1325+
child_type: "bigtableadmin.googleapis.com/AuthorizedView"
1326+
}
1327+
];
1328+
1329+
// Optional. Maximum number of results per page.
1330+
//
1331+
// A page_size of zero lets the server choose the number of items to return.
1332+
// A page_size which is strictly positive will return at most that many items.
1333+
// A negative page_size will cause an error.
1334+
//
1335+
// Following the first request, subsequent paginated calls are not required
1336+
// to pass a page_size. If a page_size is set in subsequent calls, it must
1337+
// match the page_size given in the first request.
1338+
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
1339+
1340+
// Optional. The value of `next_page_token` returned by a previous call.
1341+
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
1342+
1343+
// Optional. The resource_view to be applied to the returned views' fields.
1344+
// Default to NAME_ONLY.
1345+
AuthorizedView.ResponseView view = 4 [(google.api.field_behavior) = OPTIONAL];
1346+
}
1347+
1348+
// Response message for
1349+
// [google.bigtable.admin.v2.BigtableTableAdmin.ListAuthorizedViews][google.bigtable.admin.v2.BigtableTableAdmin.ListAuthorizedViews]
1350+
message ListAuthorizedViewsResponse {
1351+
// The AuthorizedViews present in the requested table.
1352+
repeated AuthorizedView authorized_views = 1;
1353+
1354+
// Set if not all tables could be returned in a single response.
1355+
// Pass this value to `page_token` in another request to get the next
1356+
// page of results.
1357+
string next_page_token = 2;
1358+
}
1359+
1360+
// Request message for
1361+
// [google.bigtable.admin.v2.BigtableTableAdmin.GetAuthorizedView][google.bigtable.admin.v2.BigtableTableAdmin.GetAuthorizedView]
1362+
message GetAuthorizedViewRequest {
1363+
// Required. The unique name of the requested AuthorizedView.
1364+
// Values are of the form
1365+
// `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}`.
1366+
string name = 1 [
1367+
(google.api.field_behavior) = REQUIRED,
1368+
(google.api.resource_reference) = {
1369+
type: "bigtableadmin.googleapis.com/AuthorizedView"
1370+
}
1371+
];
1372+
1373+
// Optional. The resource_view to be applied to the returned AuthorizedView's
1374+
// fields. Default to BASIC.
1375+
AuthorizedView.ResponseView view = 2 [(google.api.field_behavior) = OPTIONAL];
1376+
}
1377+
1378+
// The request for
1379+
// [UpdateAuthorizedView][google.bigtable.admin.v2.BigtableTableAdmin.UpdateAuthorizedView].
1380+
message UpdateAuthorizedViewRequest {
1381+
// Required. The AuthorizedView to update. The `name` in `authorized_view` is
1382+
// used to identify the AuthorizedView. AuthorizedView name must in this
1383+
// format
1384+
// projects/<project>/instances/<instance>/tables/<table>/authorizedViews/<authorized_view>
1385+
AuthorizedView authorized_view = 1 [(google.api.field_behavior) = REQUIRED];
1386+
1387+
// Optional. The list of fields to update.
1388+
// A mask specifying which fields in the AuthorizedView resource should be
1389+
// updated. This mask is relative to the AuthorizedView resource, not to the
1390+
// request message. A field will be overwritten if it is in the mask. If
1391+
// empty, all fields set in the request will be overwritten. A special value
1392+
// `*` means to overwrite all fields (including fields not set in the
1393+
// request).
1394+
google.protobuf.FieldMask update_mask = 2
1395+
[(google.api.field_behavior) = OPTIONAL];
1396+
1397+
// Optional. If true, ignore the safety checks when updating the
1398+
// AuthorizedView.
1399+
bool ignore_warnings = 3 [(google.api.field_behavior) = OPTIONAL];
1400+
}
1401+
1402+
// Metadata for the google.longrunning.Operation returned by
1403+
// [UpdateAuthorizedView][google.bigtable.admin.v2.BigtableTableAdmin.UpdateAuthorizedView].
1404+
message UpdateAuthorizedViewMetadata {
1405+
// The request that prompted the initiation of this UpdateAuthorizedView
1406+
// operation.
1407+
UpdateAuthorizedViewRequest original_request = 1;
1408+
1409+
// The time at which the original request was received.
1410+
google.protobuf.Timestamp request_time = 2;
1411+
1412+
// The time at which the operation failed or was completed successfully.
1413+
google.protobuf.Timestamp finish_time = 3;
1414+
}
1415+
1416+
// Request message for
1417+
// [google.bigtable.admin.v2.BigtableTableAdmin.DeleteAuthorizedView][google.bigtable.admin.v2.BigtableTableAdmin.DeleteAuthorizedView]
1418+
message DeleteAuthorizedViewRequest {
1419+
// Required. The unique name of the AuthorizedView to be deleted.
1420+
// Values are of the form
1421+
// `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}`.
1422+
string name = 1 [
1423+
(google.api.field_behavior) = REQUIRED,
1424+
(google.api.resource_reference) = {
1425+
type: "bigtableadmin.googleapis.com/AuthorizedView"
1426+
}
1427+
];
1428+
1429+
// Optional. The current etag of the AuthorizedView.
1430+
// If an etag is provided and does not match the current etag of the
1431+
// AuthorizedView, deletion will be blocked and an ABORTED error will be
1432+
// returned.
1433+
string etag = 2 [(google.api.field_behavior) = OPTIONAL];
1434+
}

protos/google/bigtable/admin/v2/instance.proto

+33
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,35 @@ message AppProfile {
297297
Priority priority = 1;
298298
}
299299

300+
// Data Boost is a serverless compute capability that lets you run
301+
// high-throughput read jobs on your Bigtable data, without impacting the
302+
// performance of the clusters that handle your application traffic.
303+
// Currently, Data Boost exclusively supports read-only use-cases with
304+
// single-cluster routing.
305+
//
306+
// Data Boost reads are only guaranteed to see the results of writes that
307+
// were written at least 30 minutes ago. This means newly written values may
308+
// not become visible for up to 30m, and also means that old values may
309+
// remain visible for up to 30m after being deleted or overwritten. To
310+
// mitigate the staleness of the data, users may either wait 30m, or use
311+
// CheckConsistency.
312+
message DataBoostIsolationReadOnly {
313+
// Compute Billing Owner specifies how usage should be accounted when using
314+
// Data Boost. Compute Billing Owner also configures which Cloud Project is
315+
// charged for relevant quota.
316+
enum ComputeBillingOwner {
317+
// Unspecified value.
318+
COMPUTE_BILLING_OWNER_UNSPECIFIED = 0;
319+
320+
// The host Cloud Project containing the targeted Bigtable Instance /
321+
// Table pays for compute.
322+
HOST_PAYS = 1;
323+
}
324+
325+
// The Compute Billing Owner for this Data Boost App Profile.
326+
optional ComputeBillingOwner compute_billing_owner = 1;
327+
}
328+
300329
// The unique name of the app profile. Values are of the form
301330
// `projects/{project}/instances/{instance}/appProfiles/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`.
302331
string name = 1;
@@ -335,6 +364,10 @@ message AppProfile {
335364
// The standard options used for isolating this app profile's traffic from
336365
// other use cases.
337366
StandardIsolation standard_isolation = 11;
367+
368+
// Specifies that this app profile is intended for read-only usage via the
369+
// Data Boost feature.
370+
DataBoostIsolationReadOnly data_boost_isolation_read_only = 10;
338371
}
339372
}
340373

0 commit comments

Comments
 (0)