1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003 |
- // Copyright 2020 Google LLC
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- syntax = "proto3";
- package google.bigtable.admin.v2;
- import "google/api/annotations.proto";
- import "google/api/client.proto";
- import "google/api/field_behavior.proto";
- import "google/api/resource.proto";
- import "google/bigtable/admin/v2/common.proto";
- import "google/bigtable/admin/v2/table.proto";
- import "google/iam/v1/iam_policy.proto";
- import "google/iam/v1/policy.proto";
- import "google/longrunning/operations.proto";
- import "google/protobuf/duration.proto";
- import "google/protobuf/empty.proto";
- import "google/protobuf/field_mask.proto";
- import "google/protobuf/timestamp.proto";
- option csharp_namespace = "Google.Cloud.Bigtable.Admin.V2";
- option go_package = "google.golang.org/genproto/googleapis/bigtable/admin/v2;admin";
- option java_multiple_files = true;
- option java_outer_classname = "BigtableTableAdminProto";
- option java_package = "com.google.bigtable.admin.v2";
- option php_namespace = "Google\\Cloud\\Bigtable\\Admin\\V2";
- option ruby_package = "Google::Cloud::Bigtable::Admin::V2";
- // Service for creating, configuring, and deleting Cloud Bigtable tables.
- //
- //
- // Provides access to the table schemas only, not the data stored within
- // the tables.
- service BigtableTableAdmin {
- option (google.api.default_host) = "bigtableadmin.googleapis.com";
- option (google.api.oauth_scopes) =
- "https://www.googleapis.com/auth/bigtable.admin,"
- "https://www.googleapis.com/auth/bigtable.admin.table,"
- "https://www.googleapis.com/auth/cloud-bigtable.admin,"
- "https://www.googleapis.com/auth/cloud-bigtable.admin.table,"
- "https://www.googleapis.com/auth/cloud-platform,"
- "https://www.googleapis.com/auth/cloud-platform.read-only";
- // Creates a new table in the specified instance.
- // The table can be created with a full set of initial column families,
- // specified in the request.
- rpc CreateTable(CreateTableRequest) returns (Table) {
- option (google.api.http) = {
- post: "/v2/{parent=projects/*/instances/*}/tables"
- body: "*"
- };
- option (google.api.method_signature) = "parent,table_id,table";
- }
- // Creates a new table from the specified snapshot. The target table must
- // not exist. The snapshot and the table must be in the same instance.
- //
- // Note: This is a private alpha release of Cloud Bigtable snapshots. This
- // feature is not currently available to most Cloud Bigtable customers. This
- // feature might be changed in backward-incompatible ways and is not
- // recommended for production use. It is not subject to any SLA or deprecation
- // policy.
- rpc CreateTableFromSnapshot(CreateTableFromSnapshotRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v2/{parent=projects/*/instances/*}/tables:createFromSnapshot"
- body: "*"
- };
- option (google.api.method_signature) = "parent,table_id,source_snapshot";
- option (google.longrunning.operation_info) = {
- response_type: "Table"
- metadata_type: "CreateTableFromSnapshotMetadata"
- };
- }
- // Lists all tables served from a specified instance.
- rpc ListTables(ListTablesRequest) returns (ListTablesResponse) {
- option (google.api.http) = {
- get: "/v2/{parent=projects/*/instances/*}/tables"
- };
- option (google.api.method_signature) = "parent";
- }
- // Gets metadata information about the specified table.
- rpc GetTable(GetTableRequest) returns (Table) {
- option (google.api.http) = {
- get: "/v2/{name=projects/*/instances/*/tables/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Permanently deletes a specified table and all of its data.
- rpc DeleteTable(DeleteTableRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v2/{name=projects/*/instances/*/tables/*}"
- };
- 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
- // where only some modifications have taken effect.
- rpc ModifyColumnFamilies(ModifyColumnFamiliesRequest) returns (Table) {
- option (google.api.http) = {
- post: "/v2/{name=projects/*/instances/*/tables/*}:modifyColumnFamilies"
- body: "*"
- };
- option (google.api.method_signature) = "name,modifications";
- }
- // Permanently drop/delete a row range from a specified table. The request can
- // specify whether to delete all rows in a table, or only those that match a
- // particular prefix.
- rpc DropRowRange(DropRowRangeRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- post: "/v2/{name=projects/*/instances/*/tables/*}:dropRowRange"
- body: "*"
- };
- }
- // Generates a consistency token for a Table, which can be used in
- // CheckConsistency to check whether mutations to the table that finished
- // before this call started have been replicated. The tokens will be available
- // for 90 days.
- rpc GenerateConsistencyToken(GenerateConsistencyTokenRequest) returns (GenerateConsistencyTokenResponse) {
- option (google.api.http) = {
- post: "/v2/{name=projects/*/instances/*/tables/*}:generateConsistencyToken"
- body: "*"
- };
- option (google.api.method_signature) = "name";
- }
- // Checks replication consistency based on a consistency token, that is, if
- // replication has caught up based on the conditions specified in the token
- // and the check request.
- rpc CheckConsistency(CheckConsistencyRequest) returns (CheckConsistencyResponse) {
- option (google.api.http) = {
- post: "/v2/{name=projects/*/instances/*/tables/*}:checkConsistency"
- body: "*"
- };
- option (google.api.method_signature) = "name,consistency_token";
- }
- // Creates a new snapshot in the specified cluster from the specified
- // source table. The cluster and the table must be in the same instance.
- //
- // Note: This is a private alpha release of Cloud Bigtable snapshots. This
- // feature is not currently available to most Cloud Bigtable customers. This
- // feature might be changed in backward-incompatible ways and is not
- // recommended for production use. It is not subject to any SLA or deprecation
- // policy.
- rpc SnapshotTable(SnapshotTableRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v2/{name=projects/*/instances/*/tables/*}:snapshot"
- body: "*"
- };
- option (google.api.method_signature) = "name,cluster,snapshot_id,description";
- option (google.longrunning.operation_info) = {
- response_type: "Snapshot"
- metadata_type: "SnapshotTableMetadata"
- };
- }
- // Gets metadata information about the specified snapshot.
- //
- // Note: This is a private alpha release of Cloud Bigtable snapshots. This
- // feature is not currently available to most Cloud Bigtable customers. This
- // feature might be changed in backward-incompatible ways and is not
- // recommended for production use. It is not subject to any SLA or deprecation
- // policy.
- rpc GetSnapshot(GetSnapshotRequest) returns (Snapshot) {
- option (google.api.http) = {
- get: "/v2/{name=projects/*/instances/*/clusters/*/snapshots/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Lists all snapshots associated with the specified cluster.
- //
- // Note: This is a private alpha release of Cloud Bigtable snapshots. This
- // feature is not currently available to most Cloud Bigtable customers. This
- // feature might be changed in backward-incompatible ways and is not
- // recommended for production use. It is not subject to any SLA or deprecation
- // policy.
- rpc ListSnapshots(ListSnapshotsRequest) returns (ListSnapshotsResponse) {
- option (google.api.http) = {
- get: "/v2/{parent=projects/*/instances/*/clusters/*}/snapshots"
- };
- option (google.api.method_signature) = "parent";
- }
- // Permanently deletes the specified snapshot.
- //
- // Note: This is a private alpha release of Cloud Bigtable snapshots. This
- // feature is not currently available to most Cloud Bigtable customers. This
- // feature might be changed in backward-incompatible ways and is not
- // recommended for production use. It is not subject to any SLA or deprecation
- // policy.
- rpc DeleteSnapshot(DeleteSnapshotRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v2/{name=projects/*/instances/*/clusters/*/snapshots/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Starts creating a new Cloud Bigtable Backup. The returned backup
- // [long-running operation][google.longrunning.Operation] can be used to
- // track creation of the backup. The
- // [metadata][google.longrunning.Operation.metadata] field type is
- // [CreateBackupMetadata][google.bigtable.admin.v2.CreateBackupMetadata]. The
- // [response][google.longrunning.Operation.response] field type is
- // [Backup][google.bigtable.admin.v2.Backup], if successful. Cancelling the returned operation will stop the
- // creation and delete the backup.
- rpc CreateBackup(CreateBackupRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v2/{parent=projects/*/instances/*/clusters/*}/backups"
- body: "backup"
- };
- option (google.api.method_signature) = "parent,backup_id,backup";
- option (google.longrunning.operation_info) = {
- response_type: "Backup"
- metadata_type: "CreateBackupMetadata"
- };
- }
- // Gets metadata on a pending or completed Cloud Bigtable Backup.
- rpc GetBackup(GetBackupRequest) returns (Backup) {
- option (google.api.http) = {
- get: "/v2/{name=projects/*/instances/*/clusters/*/backups/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Updates a pending or completed Cloud Bigtable Backup.
- rpc UpdateBackup(UpdateBackupRequest) returns (Backup) {
- option (google.api.http) = {
- patch: "/v2/{backup.name=projects/*/instances/*/clusters/*/backups/*}"
- body: "backup"
- };
- option (google.api.method_signature) = "backup,update_mask";
- }
- // Deletes a pending or completed Cloud Bigtable backup.
- rpc DeleteBackup(DeleteBackupRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v2/{name=projects/*/instances/*/clusters/*/backups/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Lists Cloud Bigtable backups. Returns both completed and pending
- // backups.
- rpc ListBackups(ListBackupsRequest) returns (ListBackupsResponse) {
- option (google.api.http) = {
- get: "/v2/{parent=projects/*/instances/*/clusters/*}/backups"
- };
- option (google.api.method_signature) = "parent";
- }
- // Create a new table by restoring from a completed backup. The new table
- // must be in the same project as the instance containing the backup. The
- // returned table [long-running operation][google.longrunning.Operation] can
- // be used to track the progress of the operation, and to cancel it. The
- // [metadata][google.longrunning.Operation.metadata] field type is
- // [RestoreTableMetadata][google.bigtable.admin.RestoreTableMetadata]. The
- // [response][google.longrunning.Operation.response] type is
- // [Table][google.bigtable.admin.v2.Table], if successful.
- rpc RestoreTable(RestoreTableRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v2/{parent=projects/*/instances/*}/tables:restore"
- body: "*"
- };
- option (google.longrunning.operation_info) = {
- response_type: "Table"
- metadata_type: "RestoreTableMetadata"
- };
- }
- // Gets the access control policy for a Table or Backup resource.
- // Returns an empty policy if the resource exists but does not have a policy
- // set.
- rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) {
- option (google.api.http) = {
- post: "/v2/{resource=projects/*/instances/*/tables/*}:getIamPolicy"
- body: "*"
- additional_bindings {
- post: "/v2/{resource=projects/*/instances/*/clusters/*/backups/*}:getIamPolicy"
- body: "*"
- }
- };
- option (google.api.method_signature) = "resource";
- }
- // Sets the access control policy on a Table or Backup resource.
- // Replaces any existing policy.
- rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) {
- option (google.api.http) = {
- post: "/v2/{resource=projects/*/instances/*/tables/*}:setIamPolicy"
- body: "*"
- additional_bindings {
- post: "/v2/{resource=projects/*/instances/*/clusters/*/backups/*}:setIamPolicy"
- body: "*"
- }
- };
- option (google.api.method_signature) = "resource,policy";
- }
- // Returns permissions that the caller has on the specified Table or Backup resource.
- rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
- option (google.api.http) = {
- post: "/v2/{resource=projects/*/instances/*/tables/*}:testIamPermissions"
- body: "*"
- additional_bindings {
- post: "/v2/{resource=projects/*/instances/*/clusters/*/backups/*}:testIamPermissions"
- body: "*"
- }
- };
- option (google.api.method_signature) = "resource,permissions";
- }
- }
- // The request for
- // [RestoreTable][google.bigtable.admin.v2.BigtableTableAdmin.RestoreTable].
- message RestoreTableRequest {
- // Required. The name of the instance in which to create the restored
- // table. This instance must be in the same project as the source backup.
- // Values are of the form `projects/<project>/instances/<instance>`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Instance"
- }
- ];
- // Required. The id of the table to create and restore to. This
- // table must not already exist. The `table_id` appended to
- // `parent` forms the full table name of the form
- // `projects/<project>/instances/<instance>/tables/<table_id>`.
- string table_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The source from which to restore.
- oneof source {
- // Name of the backup from which to restore. Values are of the form
- // `projects/<project>/instances/<instance>/clusters/<cluster>/backups/<backup>`.
- string backup = 3 [(google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Backup"
- }];
- }
- }
- // Metadata type for the long-running operation returned by
- // [RestoreTable][google.bigtable.admin.v2.BigtableTableAdmin.RestoreTable].
- message RestoreTableMetadata {
- // Name of the table being created and restored to.
- string name = 1;
- // The type of the restore source.
- RestoreSourceType source_type = 2;
- // Information about the source used to restore the table, as specified by
- // `source` in [RestoreTableRequest][google.bigtable.admin.v2.RestoreTableRequest].
- oneof source_info {
- BackupInfo backup_info = 3;
- }
- // If exists, the name of the long-running operation that will be used to
- // track the post-restore optimization process to optimize the performance of
- // the restored table. The metadata type of the long-running operation is
- // [OptimizeRestoreTableMetadata][]. The response type is
- // [Empty][google.protobuf.Empty]. This long-running operation may be
- // automatically created by the system if applicable after the
- // RestoreTable long-running operation completes successfully. This operation
- // may not be created if the table is already optimized or the restore was
- // not successful.
- string optimize_table_operation_name = 4;
- // The progress of the [RestoreTable][google.bigtable.admin.v2.BigtableTableAdmin.RestoreTable]
- // operation.
- OperationProgress progress = 5;
- }
- // Metadata type for the long-running operation used to track the progress
- // of optimizations performed on a newly restored table. This long-running
- // operation is automatically created by the system after the successful
- // completion of a table restore, and cannot be cancelled.
- message OptimizeRestoredTableMetadata {
- // Name of the restored table being optimized.
- string name = 1;
- // The progress of the post-restore optimizations.
- OperationProgress progress = 2;
- }
- // Request message for
- // [google.bigtable.admin.v2.BigtableTableAdmin.CreateTable][google.bigtable.admin.v2.BigtableTableAdmin.CreateTable]
- message CreateTableRequest {
- // An initial split point for a newly created table.
- message Split {
- // Row key to use as an initial tablet boundary.
- bytes key = 1;
- }
- // Required. The unique name of the instance in which to create the table.
- // Values are of the form `projects/{project}/instances/{instance}`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Instance"
- }
- ];
- // Required. The name by which the new table should be referred to within the parent
- // instance, e.g., `foobar` rather than `{parent}/tables/foobar`.
- // Maximum 50 characters.
- string table_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The Table to create.
- Table table = 3 [(google.api.field_behavior) = REQUIRED];
- // The optional list of row keys that will be used to initially split the
- // table into several tablets (tablets are similar to HBase regions).
- // Given two split keys, `s1` and `s2`, three tablets will be created,
- // spanning the key ranges: `[, s1), [s1, s2), [s2, )`.
- //
- // Example:
- //
- // * Row keys := `["a", "apple", "custom", "customer_1", "customer_2",`
- // `"other", "zz"]`
- // * initial_split_keys := `["apple", "customer_1", "customer_2", "other"]`
- // * Key assignment:
- // - Tablet 1 `[, apple) => {"a"}.`
- // - Tablet 2 `[apple, customer_1) => {"apple", "custom"}.`
- // - Tablet 3 `[customer_1, customer_2) => {"customer_1"}.`
- // - Tablet 4 `[customer_2, other) => {"customer_2"}.`
- // - Tablet 5 `[other, ) => {"other", "zz"}.`
- repeated Split initial_splits = 4;
- }
- // Request message for
- // [google.bigtable.admin.v2.BigtableTableAdmin.CreateTableFromSnapshot][google.bigtable.admin.v2.BigtableTableAdmin.CreateTableFromSnapshot]
- //
- // Note: This is a private alpha release of Cloud Bigtable snapshots. This
- // feature is not currently available to most Cloud Bigtable customers. This
- // feature might be changed in backward-incompatible ways and is not recommended
- // for production use. It is not subject to any SLA or deprecation policy.
- message CreateTableFromSnapshotRequest {
- // Required. The unique name of the instance in which to create the table.
- // Values are of the form `projects/{project}/instances/{instance}`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Instance"
- }
- ];
- // Required. The name by which the new table should be referred to within the parent
- // instance, e.g., `foobar` rather than `{parent}/tables/foobar`.
- string table_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The unique name of the snapshot from which to restore the table. The
- // snapshot and the table must be in the same instance.
- // Values are of the form
- // `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`.
- string source_snapshot = 3 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Snapshot"
- }
- ];
- }
- // Request message for
- // [google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange][google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange]
- message DropRowRangeRequest {
- // Required. The unique name of the table on which to drop a range of rows.
- // Values are of the form
- // `projects/{project}/instances/{instance}/tables/{table}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Table"
- }
- ];
- // Delete all rows or by prefix.
- oneof target {
- // Delete all rows that start with this row key prefix. Prefix cannot be
- // zero length.
- bytes row_key_prefix = 2;
- // Delete all rows in the table. Setting this to false is a no-op.
- bool delete_all_data_from_table = 3;
- }
- }
- // Request message for
- // [google.bigtable.admin.v2.BigtableTableAdmin.ListTables][google.bigtable.admin.v2.BigtableTableAdmin.ListTables]
- message ListTablesRequest {
- // Required. The unique name of the instance for which tables should be listed.
- // Values are of the form `projects/{project}/instances/{instance}`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Instance"
- }
- ];
- // The view to be applied to the returned tables' fields.
- // Only NAME_ONLY view (default) and REPLICATION_VIEW are supported.
- Table.View view = 2;
- // 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 = 4;
- // The value of `next_page_token` returned by a previous call.
- string page_token = 3;
- }
- // Response message for
- // [google.bigtable.admin.v2.BigtableTableAdmin.ListTables][google.bigtable.admin.v2.BigtableTableAdmin.ListTables]
- message ListTablesResponse {
- // The tables present in the requested instance.
- repeated Table tables = 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.GetTable][google.bigtable.admin.v2.BigtableTableAdmin.GetTable]
- message GetTableRequest {
- // Required. The unique name of the requested table.
- // Values are of the form
- // `projects/{project}/instances/{instance}/tables/{table}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Table"
- }
- ];
- // The view to be applied to the returned table's fields.
- // Defaults to `SCHEMA_VIEW` if unspecified.
- Table.View view = 2;
- }
- // Request message for
- // [google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable][google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable]
- message DeleteTableRequest {
- // Required. The unique name of the table to be deleted.
- // Values are of the form
- // `projects/{project}/instances/{instance}/tables/{table}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Table"
- }
- ];
- }
- // Request message for
- // [google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies][google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies]
- message ModifyColumnFamiliesRequest {
- // A create, update, or delete of a particular column family.
- message Modification {
- // The ID of the column family to be modified.
- string id = 1;
- // Column familiy modifications.
- oneof mod {
- // Create a new column family with the specified schema, or fail if
- // one already exists with the given ID.
- ColumnFamily create = 2;
- // Update an existing column family to the specified schema, or fail
- // if no column family exists with the given ID.
- ColumnFamily update = 3;
- // Drop (delete) the column family with the given ID, or fail if no such
- // family exists.
- bool drop = 4;
- }
- }
- // Required. The unique name of the table whose families should be modified.
- // Values are of the form
- // `projects/{project}/instances/{instance}/tables/{table}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Table"
- }
- ];
- // Required. Modifications to be atomically applied to the specified table's families.
- // Entries are applied in order, meaning that earlier modifications can be
- // masked by later ones (in the case of repeated updates to the same family,
- // for example).
- repeated Modification modifications = 2 [(google.api.field_behavior) = REQUIRED];
- }
- // Request message for
- // [google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken][google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken]
- message GenerateConsistencyTokenRequest {
- // Required. The unique name of the Table for which to create a consistency token.
- // Values are of the form
- // `projects/{project}/instances/{instance}/tables/{table}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Table"
- }
- ];
- }
- // Response message for
- // [google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken][google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken]
- message GenerateConsistencyTokenResponse {
- // The generated consistency token.
- string consistency_token = 1;
- }
- // Request message for
- // [google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency][google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency]
- message CheckConsistencyRequest {
- // Required. The unique name of the Table for which to check replication consistency.
- // Values are of the form
- // `projects/{project}/instances/{instance}/tables/{table}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Table"
- }
- ];
- // Required. The token created using GenerateConsistencyToken for the Table.
- string consistency_token = 2 [(google.api.field_behavior) = REQUIRED];
- }
- // Response message for
- // [google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency][google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency]
- message CheckConsistencyResponse {
- // True only if the token is consistent. A token is consistent if replication
- // has caught up with the restrictions specified in the request.
- bool consistent = 1;
- }
- // Request message for
- // [google.bigtable.admin.v2.BigtableTableAdmin.SnapshotTable][google.bigtable.admin.v2.BigtableTableAdmin.SnapshotTable]
- //
- // Note: This is a private alpha release of Cloud Bigtable snapshots. This
- // feature is not currently available to most Cloud Bigtable customers. This
- // feature might be changed in backward-incompatible ways and is not recommended
- // for production use. It is not subject to any SLA or deprecation policy.
- message SnapshotTableRequest {
- // Required. The unique name of the table to have the snapshot taken.
- // Values are of the form
- // `projects/{project}/instances/{instance}/tables/{table}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Table"
- }
- ];
- // Required. The name of the cluster where the snapshot will be created in.
- // Values are of the form
- // `projects/{project}/instances/{instance}/clusters/{cluster}`.
- string cluster = 2 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Cluster"
- }
- ];
- // Required. The ID by which the new snapshot should be referred to within the parent
- // cluster, e.g., `mysnapshot` of the form: `[_a-zA-Z0-9][-_.a-zA-Z0-9]*`
- // rather than
- // `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/mysnapshot`.
- string snapshot_id = 3 [(google.api.field_behavior) = REQUIRED];
- // The amount of time that the new snapshot can stay active after it is
- // created. Once 'ttl' expires, the snapshot will get deleted. The maximum
- // amount of time a snapshot can stay active is 7 days. If 'ttl' is not
- // specified, the default value of 24 hours will be used.
- google.protobuf.Duration ttl = 4;
- // Description of the snapshot.
- string description = 5;
- }
- // Request message for
- // [google.bigtable.admin.v2.BigtableTableAdmin.GetSnapshot][google.bigtable.admin.v2.BigtableTableAdmin.GetSnapshot]
- //
- // Note: This is a private alpha release of Cloud Bigtable snapshots. This
- // feature is not currently available to most Cloud Bigtable customers. This
- // feature might be changed in backward-incompatible ways and is not recommended
- // for production use. It is not subject to any SLA or deprecation policy.
- message GetSnapshotRequest {
- // Required. The unique name of the requested snapshot.
- // Values are of the form
- // `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Snapshot"
- }
- ];
- }
- // Request message for
- // [google.bigtable.admin.v2.BigtableTableAdmin.ListSnapshots][google.bigtable.admin.v2.BigtableTableAdmin.ListSnapshots]
- //
- // Note: This is a private alpha release of Cloud Bigtable snapshots. This
- // feature is not currently available to most Cloud Bigtable customers. This
- // feature might be changed in backward-incompatible ways and is not recommended
- // for production use. It is not subject to any SLA or deprecation policy.
- message ListSnapshotsRequest {
- // Required. The unique name of the cluster for which snapshots should be listed.
- // Values are of the form
- // `projects/{project}/instances/{instance}/clusters/{cluster}`.
- // Use `{cluster} = '-'` to list snapshots for all clusters in an instance,
- // e.g., `projects/{project}/instances/{instance}/clusters/-`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Cluster"
- }
- ];
- // The maximum number of snapshots to return per page.
- // CURRENTLY UNIMPLEMENTED AND IGNORED.
- int32 page_size = 2;
- // The value of `next_page_token` returned by a previous call.
- string page_token = 3;
- }
- // Response message for
- // [google.bigtable.admin.v2.BigtableTableAdmin.ListSnapshots][google.bigtable.admin.v2.BigtableTableAdmin.ListSnapshots]
- //
- // Note: This is a private alpha release of Cloud Bigtable snapshots. This
- // feature is not currently available to most Cloud Bigtable customers. This
- // feature might be changed in backward-incompatible ways and is not recommended
- // for production use. It is not subject to any SLA or deprecation policy.
- message ListSnapshotsResponse {
- // The snapshots present in the requested cluster.
- repeated Snapshot snapshots = 1;
- // Set if not all snapshots 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.DeleteSnapshot][google.bigtable.admin.v2.BigtableTableAdmin.DeleteSnapshot]
- //
- // Note: This is a private alpha release of Cloud Bigtable snapshots. This
- // feature is not currently available to most Cloud Bigtable customers. This
- // feature might be changed in backward-incompatible ways and is not recommended
- // for production use. It is not subject to any SLA or deprecation policy.
- message DeleteSnapshotRequest {
- // Required. The unique name of the snapshot to be deleted.
- // Values are of the form
- // `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Snapshot"
- }
- ];
- }
- // The metadata for the Operation returned by SnapshotTable.
- //
- // Note: This is a private alpha release of Cloud Bigtable snapshots. This
- // feature is not currently available to most Cloud Bigtable customers. This
- // feature might be changed in backward-incompatible ways and is not recommended
- // for production use. It is not subject to any SLA or deprecation policy.
- message SnapshotTableMetadata {
- // The request that prompted the initiation of this SnapshotTable operation.
- SnapshotTableRequest 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;
- }
- // The metadata for the Operation returned by CreateTableFromSnapshot.
- //
- // Note: This is a private alpha release of Cloud Bigtable snapshots. This
- // feature is not currently available to most Cloud Bigtable customers. This
- // feature might be changed in backward-incompatible ways and is not recommended
- // for production use. It is not subject to any SLA or deprecation policy.
- message CreateTableFromSnapshotMetadata {
- // The request that prompted the initiation of this CreateTableFromSnapshot
- // operation.
- CreateTableFromSnapshotRequest 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;
- }
- // The request for [CreateBackup][google.bigtable.admin.v2.BigtableTableAdmin.CreateBackup].
- message CreateBackupRequest {
- // Required. This must be one of the clusters in the instance in which this
- // table is located. The backup will be stored in this cluster. Values are
- // of the form `projects/{project}/instances/{instance}/clusters/{cluster}`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Cluster"
- }
- ];
- // Required. The id of the backup to be created. The `backup_id` along with
- // the parent `parent` are combined as {parent}/backups/{backup_id} to create
- // the full backup name, of the form:
- // `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup_id}`.
- // This string must be between 1 and 50 characters in length and match the
- // regex [_a-zA-Z0-9][-_.a-zA-Z0-9]*.
- string backup_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The backup to create.
- Backup backup = 3 [(google.api.field_behavior) = REQUIRED];
- }
- // Metadata type for the operation returned by
- // [CreateBackup][google.bigtable.admin.v2.BigtableTableAdmin.CreateBackup].
- message CreateBackupMetadata {
- // The name of the backup being created.
- string name = 1;
- // The name of the table the backup is created from.
- string source_table = 2;
- // The time at which this operation started.
- google.protobuf.Timestamp start_time = 3;
- // If set, the time at which this operation finished or was cancelled.
- google.protobuf.Timestamp end_time = 4;
- }
- // The request for [UpdateBackup][google.bigtable.admin.v2.BigtableTableAdmin.UpdateBackup].
- message UpdateBackupRequest {
- // Required. The backup to update. `backup.name`, and the fields to be updated
- // as specified by `update_mask` are required. Other fields are ignored.
- // Update is only supported for the following fields:
- // * `backup.expire_time`.
- Backup backup = 1 [(google.api.field_behavior) = REQUIRED];
- // Required. A mask specifying which fields (e.g. `expire_time`) in the
- // Backup resource should be updated. This mask is relative to the Backup
- // resource, not to the request message. The field mask must always be
- // specified; this prevents any future fields from being erased accidentally
- // by clients that do not know about them.
- google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
- }
- // The request for [GetBackup][google.bigtable.admin.v2.BigtableTableAdmin.GetBackup].
- message GetBackupRequest {
- // Required. Name of the backup.
- // Values are of the form
- // `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Backup"
- }
- ];
- }
- // The request for [DeleteBackup][google.bigtable.admin.v2.BigtableTableAdmin.DeleteBackup].
- message DeleteBackupRequest {
- // Required. Name of the backup to delete.
- // Values are of the form
- // `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Backup"
- }
- ];
- }
- // The request for [ListBackups][google.bigtable.admin.v2.BigtableTableAdmin.ListBackups].
- message ListBackupsRequest {
- // Required. The cluster to list backups from. Values are of the
- // form `projects/{project}/instances/{instance}/clusters/{cluster}`.
- // Use `{cluster} = '-'` to list backups for all clusters in an instance,
- // e.g., `projects/{project}/instances/{instance}/clusters/-`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "bigtable.googleapis.com/Cluster"
- }
- ];
- // A filter expression that filters backups listed in the response.
- // The expression must specify the field name, a comparison operator,
- // and the value that you want to use for filtering. The value must be a
- // string, a number, or a boolean. The comparison operator must be
- // <, >, <=, >=, !=, =, or :. Colon ':' represents a HAS operator which is
- // roughly synonymous with equality. Filter rules are case insensitive.
- //
- // The fields eligible for filtering are:
- // * `name`
- // * `source_table`
- // * `state`
- // * `start_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
- // * `end_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
- // * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
- // * `size_bytes`
- //
- // To filter on multiple expressions, provide each separate expression within
- // parentheses. By default, each expression is an AND expression. However,
- // you can include AND, OR, and NOT expressions explicitly.
- //
- // Some examples of using filters are:
- //
- // * `name:"exact"` --> The backup's name is the string "exact".
- // * `name:howl` --> The backup's name contains the string "howl".
- // * `source_table:prod`
- // --> The source_table's name contains the string "prod".
- // * `state:CREATING` --> The backup is pending creation.
- // * `state:READY` --> The backup is fully created and ready for use.
- // * `(name:howl) AND (start_time < \"2018-03-28T14:50:00Z\")`
- // --> The backup name contains the string "howl" and start_time
- // of the backup is before 2018-03-28T14:50:00Z.
- // * `size_bytes > 10000000000` --> The backup's size is greater than 10GB
- string filter = 2;
- // An expression for specifying the sort order of the results of the request.
- // The string value should specify one or more fields in [Backup][google.bigtable.admin.v2.Backup]. The full
- // syntax is described at https://aip.dev/132#ordering.
- //
- // Fields supported are:
- // * name
- // * source_table
- // * expire_time
- // * start_time
- // * end_time
- // * size_bytes
- // * state
- //
- // For example, "start_time". The default sorting order is ascending.
- // To specify descending order for the field, a suffix " desc" should
- // be appended to the field name. For example, "start_time desc".
- // Redundant space characters in the syntax are insigificant.
- //
- // If order_by is empty, results will be sorted by `start_time` in descending
- // order starting from the most recently created backup.
- string order_by = 3;
- // Number of backups to be returned in the response. If 0 or
- // less, defaults to the server's maximum allowed page size.
- int32 page_size = 4;
- // If non-empty, `page_token` should contain a
- // [next_page_token][google.bigtable.admin.v2.ListBackupsResponse.next_page_token] from a
- // previous [ListBackupsResponse][google.bigtable.admin.v2.ListBackupsResponse] to the same `parent` and with the same
- // `filter`.
- string page_token = 5;
- }
- // The response for [ListBackups][google.bigtable.admin.v2.BigtableTableAdmin.ListBackups].
- message ListBackupsResponse {
- // The list of matching backups.
- repeated Backup backups = 1;
- // `next_page_token` can be sent in a subsequent
- // [ListBackups][google.bigtable.admin.v2.BigtableTableAdmin.ListBackups] call to fetch more
- // of the matching backups.
- string next_page_token = 2;
- }
|