Skip to content

Commit

Permalink
Merge branch 'main' into renovate/jsdoc-region-tag-3.x
Browse files Browse the repository at this point in the history
  • Loading branch information
danieljbruce committed Apr 16, 2024
2 parents af5f812 + 3f5db96 commit 8016ceb
Show file tree
Hide file tree
Showing 42 changed files with 19,051 additions and 4,016 deletions.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
"devDependencies": {
"@grpc/grpc-js": "^1.9.0",
"@grpc/proto-loader": "^0.7.3",
"@types/escape-string-regexp": "^1.0.0",
"@types/escape-string-regexp": "^2.0.0",
"@types/extend": "^3.0.1",
"@types/is": "0.0.25",
"@types/lodash.snakecase": "^4.1.5",
Expand All @@ -79,7 +79,7 @@
"@types/uuid": "^9.0.0",
"c8": "^9.0.0",
"codecov": "^3.6.5",
"gapic-tools": "^0.1.8",
"gapic-tools": "^0.4.0",
"gts": "^5.0.0",
"jsdoc": "^4.0.2",
"jsdoc-fresh": "^3.0.0",
Expand Down
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 8016ceb

Please sign in to comment.