Skip to content

Commit

Permalink
feat: publish Automated Backups protos (#1391)
Browse files Browse the repository at this point in the history
* 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>
  • Loading branch information
3 people committed Apr 10, 2024
1 parent 94a21b4 commit 17838ed
Show file tree
Hide file tree
Showing 34 changed files with 18,645 additions and 3,948 deletions.
238 changes: 238 additions & 0 deletions protos/google/bigtable/admin/v2/bigtable_table_admin.proto
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,61 @@ service BigtableTableAdmin {
};
}

// Creates a new AuthorizedView in a table.
rpc CreateAuthorizedView(CreateAuthorizedViewRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v2/{parent=projects/*/instances/*/tables/*}/authorizedViews"
body: "authorized_view"
};
option (google.api.method_signature) =
"parent,authorized_view,authorized_view_id";
option (google.longrunning.operation_info) = {
response_type: "AuthorizedView"
metadata_type: "CreateAuthorizedViewMetadata"
};
}

// Lists all AuthorizedViews from a specific table.
rpc ListAuthorizedViews(ListAuthorizedViewsRequest)
returns (ListAuthorizedViewsResponse) {
option (google.api.http) = {
get: "/v2/{parent=projects/*/instances/*/tables/*}/authorizedViews"
};
option (google.api.method_signature) = "parent";
}

// Gets information from a specified AuthorizedView.
rpc GetAuthorizedView(GetAuthorizedViewRequest) returns (AuthorizedView) {
option (google.api.http) = {
get: "/v2/{name=projects/*/instances/*/tables/*/authorizedViews/*}"
};
option (google.api.method_signature) = "name";
}

// Updates an AuthorizedView in a table.
rpc UpdateAuthorizedView(UpdateAuthorizedViewRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
patch: "/v2/{authorized_view.name=projects/*/instances/*/tables/*/authorizedViews/*}"
body: "authorized_view"
};
option (google.api.method_signature) = "authorized_view,update_mask";
option (google.longrunning.operation_info) = {
response_type: "AuthorizedView"
metadata_type: "UpdateAuthorizedViewMetadata"
};
}

// Permanently deletes a specified AuthorizedView.
rpc DeleteAuthorizedView(DeleteAuthorizedViewRequest)
returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v2/{name=projects/*/instances/*/tables/*/authorizedViews/*}"
};
option (google.api.method_signature) = "name";
}

// Performs a series of column family modifications on the specified table.
// Either all or none of the modifications will occur before this method
// returns, but data requests received prior to that point may see a table
Expand Down Expand Up @@ -716,6 +771,12 @@ message ModifyColumnFamiliesRequest {
// family exists.
bool drop = 4;
}

// Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
// mod should be updated, ignored for other modification types. If unset or
// empty, we treat it as updating `gc_rule` to be backward compatible.
google.protobuf.FieldMask update_mask = 6
[(google.api.field_behavior) = OPTIONAL];
}

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

// Required. The token created using GenerateConsistencyToken for the Table.
string consistency_token = 2 [(google.api.field_behavior) = REQUIRED];

// Which type of read needs to consistently observe which type of write?
// Default: `standard_read_remote_writes`
oneof mode {
// Checks that reads using an app profile with `StandardIsolation` can
// see all writes committed before the token was created, even if the
// read and write target different clusters.
StandardReadRemoteWrites standard_read_remote_writes = 3;

// Checks that reads using an app profile with `DataBoostIsolationReadOnly`
// can see all writes committed before the token was created, but only if
// the read and write target the same cluster.
DataBoostReadLocalWrites data_boost_read_local_writes = 4;
}
}

// Checks that all writes before the consistency token was generated are
// replicated in every cluster and readable.
message StandardReadRemoteWrites {}

// Checks that all writes before the consistency token was generated in the same
// cluster are readable by Databoost.
message DataBoostReadLocalWrites {}

// Response message for
// [google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency][google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency]
message CheckConsistencyResponse {
Expand Down Expand Up @@ -1194,3 +1277,158 @@ message CopyBackupMetadata {
// operation.
OperationProgress progress = 3;
}

// The request for
// [CreateAuthorizedView][google.bigtable.admin.v2.BigtableTableAdmin.CreateAuthorizedView]
message CreateAuthorizedViewRequest {
// Required. This is the name of the table the AuthorizedView belongs to.
// Values are of the form
// `projects/{project}/instances/{instance}/tables/{table}`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "bigtableadmin.googleapis.com/AuthorizedView"
}
];

// Required. The id of the AuthorizedView to create. This AuthorizedView must
// not already exist. The `authorized_view_id` appended to `parent` forms the
// full AuthorizedView name of the form
// `projects/{project}/instances/{instance}/tables/{table}/authorizedView/{authorized_view}`.
string authorized_view_id = 2 [(google.api.field_behavior) = REQUIRED];

// Required. The AuthorizedView to create.
AuthorizedView authorized_view = 3 [(google.api.field_behavior) = REQUIRED];
}

// The metadata for the Operation returned by CreateAuthorizedView.
message CreateAuthorizedViewMetadata {
// The request that prompted the initiation of this CreateInstance operation.
CreateAuthorizedViewRequest original_request = 1;

// The time at which the original request was received.
google.protobuf.Timestamp request_time = 2;

// The time at which the operation failed or was completed successfully.
google.protobuf.Timestamp finish_time = 3;
}

// Request message for
// [google.bigtable.admin.v2.BigtableTableAdmin.ListAuthorizedViews][google.bigtable.admin.v2.BigtableTableAdmin.ListAuthorizedViews]
message ListAuthorizedViewsRequest {
// Required. The unique name of the table for which AuthorizedViews should be
// listed. Values are of the form
// `projects/{project}/instances/{instance}/tables/{table}`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "bigtableadmin.googleapis.com/AuthorizedView"
}
];

// Optional. Maximum number of results per page.
//
// A page_size of zero lets the server choose the number of items to return.
// A page_size which is strictly positive will return at most that many items.
// A negative page_size will cause an error.
//
// Following the first request, subsequent paginated calls are not required
// to pass a page_size. If a page_size is set in subsequent calls, it must
// match the page_size given in the first request.
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];

// Optional. The value of `next_page_token` returned by a previous call.
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];

// Optional. The resource_view to be applied to the returned views' fields.
// Default to NAME_ONLY.
AuthorizedView.ResponseView view = 4 [(google.api.field_behavior) = OPTIONAL];
}

// Response message for
// [google.bigtable.admin.v2.BigtableTableAdmin.ListAuthorizedViews][google.bigtable.admin.v2.BigtableTableAdmin.ListAuthorizedViews]
message ListAuthorizedViewsResponse {
// The AuthorizedViews present in the requested table.
repeated AuthorizedView authorized_views = 1;

// Set if not all tables could be returned in a single response.
// Pass this value to `page_token` in another request to get the next
// page of results.
string next_page_token = 2;
}

// Request message for
// [google.bigtable.admin.v2.BigtableTableAdmin.GetAuthorizedView][google.bigtable.admin.v2.BigtableTableAdmin.GetAuthorizedView]
message GetAuthorizedViewRequest {
// Required. The unique name of the requested AuthorizedView.
// Values are of the form
// `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtableadmin.googleapis.com/AuthorizedView"
}
];

// Optional. The resource_view to be applied to the returned AuthorizedView's
// fields. Default to BASIC.
AuthorizedView.ResponseView view = 2 [(google.api.field_behavior) = OPTIONAL];
}

// The request for
// [UpdateAuthorizedView][google.bigtable.admin.v2.BigtableTableAdmin.UpdateAuthorizedView].
message UpdateAuthorizedViewRequest {
// Required. The AuthorizedView to update. The `name` in `authorized_view` is
// used to identify the AuthorizedView. AuthorizedView name must in this
// format
// projects/<project>/instances/<instance>/tables/<table>/authorizedViews/<authorized_view>
AuthorizedView authorized_view = 1 [(google.api.field_behavior) = REQUIRED];

// Optional. The list of fields to update.
// A mask specifying which fields in the AuthorizedView resource should be
// updated. This mask is relative to the AuthorizedView resource, not to the
// request message. A field will be overwritten if it is in the mask. If
// empty, all fields set in the request will be overwritten. A special value
// `*` means to overwrite all fields (including fields not set in the
// request).
google.protobuf.FieldMask update_mask = 2
[(google.api.field_behavior) = OPTIONAL];

// Optional. If true, ignore the safety checks when updating the
// AuthorizedView.
bool ignore_warnings = 3 [(google.api.field_behavior) = OPTIONAL];
}

// Metadata for the google.longrunning.Operation returned by
// [UpdateAuthorizedView][google.bigtable.admin.v2.BigtableTableAdmin.UpdateAuthorizedView].
message UpdateAuthorizedViewMetadata {
// The request that prompted the initiation of this UpdateAuthorizedView
// operation.
UpdateAuthorizedViewRequest original_request = 1;

// The time at which the original request was received.
google.protobuf.Timestamp request_time = 2;

// The time at which the operation failed or was completed successfully.
google.protobuf.Timestamp finish_time = 3;
}

// Request message for
// [google.bigtable.admin.v2.BigtableTableAdmin.DeleteAuthorizedView][google.bigtable.admin.v2.BigtableTableAdmin.DeleteAuthorizedView]
message DeleteAuthorizedViewRequest {
// Required. The unique name of the AuthorizedView to be deleted.
// Values are of the form
// `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "bigtableadmin.googleapis.com/AuthorizedView"
}
];

// Optional. The current etag of the AuthorizedView.
// If an etag is provided and does not match the current etag of the
// AuthorizedView, deletion will be blocked and an ABORTED error will be
// returned.
string etag = 2 [(google.api.field_behavior) = OPTIONAL];
}
33 changes: 33 additions & 0 deletions protos/google/bigtable/admin/v2/instance.proto
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,35 @@ message AppProfile {
Priority priority = 1;
}

// Data Boost is a serverless compute capability that lets you run
// high-throughput read jobs on your Bigtable data, without impacting the
// performance of the clusters that handle your application traffic.
// Currently, Data Boost exclusively supports read-only use-cases with
// single-cluster routing.
//
// Data Boost reads are only guaranteed to see the results of writes that
// were written at least 30 minutes ago. This means newly written values may
// not become visible for up to 30m, and also means that old values may
// remain visible for up to 30m after being deleted or overwritten. To
// mitigate the staleness of the data, users may either wait 30m, or use
// CheckConsistency.
message DataBoostIsolationReadOnly {
// Compute Billing Owner specifies how usage should be accounted when using
// Data Boost. Compute Billing Owner also configures which Cloud Project is
// charged for relevant quota.
enum ComputeBillingOwner {
// Unspecified value.
COMPUTE_BILLING_OWNER_UNSPECIFIED = 0;

// The host Cloud Project containing the targeted Bigtable Instance /
// Table pays for compute.
HOST_PAYS = 1;
}

// The Compute Billing Owner for this Data Boost App Profile.
optional ComputeBillingOwner compute_billing_owner = 1;
}

// The unique name of the app profile. Values are of the form
// `projects/{project}/instances/{instance}/appProfiles/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`.
string name = 1;
Expand Down Expand Up @@ -335,6 +364,10 @@ message AppProfile {
// The standard options used for isolating this app profile's traffic from
// other use cases.
StandardIsolation standard_isolation = 11;

// Specifies that this app profile is intended for read-only usage via the
// Data Boost feature.
DataBoostIsolationReadOnly data_boost_isolation_read_only = 10;
}
}

Expand Down
Loading

0 comments on commit 17838ed

Please sign in to comment.