feat:Update BigtableTableAdmin GetIamPolicy to include the additional binding for Backup.

feat:Change DeleteAppProfileRequest.ignore_warnings to REQUIRED.

PiperOrigin-RevId: 339464550
This commit is contained in:
Google APIs 2020-10-28 08:32:48 -07:00 committed by Copybara-Service
parent 24fb9e5d1f
commit ccd6462d31
2 changed files with 174 additions and 164 deletions

View File

@ -1,4 +1,4 @@
// Copyright 2019 Google LLC.
// 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.
@ -11,7 +11,6 @@
// 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";
@ -565,9 +564,11 @@ message DeleteAppProfileRequest {
}
];
// If true, ignore safety checks when deleting the app profile.
bool ignore_warnings = 2;
// Required. If true, ignore safety checks when deleting the app profile.
bool ignore_warnings = 2 [(google.api.field_behavior) = REQUIRED];
}
// The metadata for the Operation returned by UpdateAppProfile.
message UpdateAppProfileMetadata {}
message UpdateAppProfileMetadata {
}

View File

@ -72,8 +72,7 @@ service BigtableTableAdmin {
// 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) {
rpc CreateTableFromSnapshot(CreateTableFromSnapshotRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v2/{parent=projects/*/instances/*}/tables:createFromSnapshot"
body: "*"
@ -135,8 +134,7 @@ service BigtableTableAdmin {
// 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) {
rpc GenerateConsistencyToken(GenerateConsistencyTokenRequest) returns (GenerateConsistencyTokenResponse) {
option (google.api.http) = {
post: "/v2/{name=projects/*/instances/*/tables/*}:generateConsistencyToken"
body: "*"
@ -147,8 +145,7 @@ service BigtableTableAdmin {
// 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) {
rpc CheckConsistency(CheckConsistencyRequest) returns (CheckConsistencyResponse) {
option (google.api.http) = {
post: "/v2/{name=projects/*/instances/*/tables/*}:checkConsistency"
body: "*"
@ -164,14 +161,12 @@ service BigtableTableAdmin {
// 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) {
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.api.method_signature) = "name,cluster,snapshot_id,description";
option (google.longrunning.operation_info) = {
response_type: "Snapshot"
metadata_type: "SnapshotTableMetadata"
@ -220,24 +215,24 @@ service BigtableTableAdmin {
option (google.api.method_signature) = "name";
}
// Starts creating a new Cloud Bigtable Backup. The returned backup
// 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.
// [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"
};
option (google.api.method_signature) = "parent,backup_id,backup";
}
// Gets metadata on a pending or completed Cloud Bigtable Backup.
@ -275,11 +270,11 @@ service BigtableTableAdmin {
}
// Create a new table by restoring from a completed backup. The new table
// must be in the same instance as the instance containing the backup. The
// must be in the same instance 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
// 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
// [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) {
@ -293,22 +288,24 @@ service BigtableTableAdmin {
};
}
// Gets the access control policy for a resource.
// 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) {
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) {
rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) {
option (google.api.http) = {
post: "/v2/{resource=projects/*/instances/*/tables/*}:setIamPolicy"
body: "*"
@ -320,9 +317,8 @@ service BigtableTableAdmin {
option (google.api.method_signature) = "resource,policy";
}
// Returns permissions that the caller has on the specified table resource.
rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest)
returns (google.iam.v1.TestIamPermissionsResponse) {
// 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: "*"
@ -335,6 +331,78 @@ service BigtableTableAdmin {
}
}
// 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 the parent of 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 {
@ -353,8 +421,8 @@ message CreateTableRequest {
}
];
// Required. The name by which the new table should be referred to within the
// parent instance, e.g., `foobar` rather than `{parent}/tables/foobar`.
// 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];
@ -397,13 +465,13 @@ message CreateTableFromSnapshotRequest {
}
];
// Required. The name by which the new table should be referred to within the
// parent instance, e.g., `foobar` rather than `{parent}/tables/foobar`.
// 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
// 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,
@ -421,7 +489,9 @@ message DropRowRangeRequest {
// `projects/{project}/instances/{instance}/tables/{table}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = { type: "bigtable.googleapis.com/Table" }
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Table"
}
];
// Delete all rows or by prefix.
@ -438,8 +508,8 @@ message DropRowRangeRequest {
// 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}`.
// 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) = {
@ -486,7 +556,9 @@ message GetTableRequest {
// `projects/{project}/instances/{instance}/tables/{table}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = { type: "bigtable.googleapis.com/Table" }
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Table"
}
];
// The view to be applied to the returned table's fields.
@ -502,7 +574,9 @@ message DeleteTableRequest {
// `projects/{project}/instances/{instance}/tables/{table}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = { type: "bigtable.googleapis.com/Table" }
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Table"
}
];
}
@ -535,26 +609,29 @@ message ModifyColumnFamiliesRequest {
// `projects/{project}/instances/{instance}/tables/{table}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = { type: "bigtable.googleapis.com/Table" }
(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];
// 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
// 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" }
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Table"
}
];
}
@ -568,12 +645,14 @@ message GenerateConsistencyTokenResponse {
// 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
// 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" }
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Table"
}
];
// Required. The token created using GenerateConsistencyToken for the Table.
@ -601,7 +680,9 @@ message SnapshotTableRequest {
// `projects/{project}/instances/{instance}/tables/{table}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = { type: "bigtable.googleapis.com/Table" }
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Table"
}
];
// Required. The name of the cluster where the snapshot will be created in.
@ -614,9 +695,9 @@ message SnapshotTableRequest {
}
];
// 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
// 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];
@ -657,8 +738,8 @@ message GetSnapshotRequest {
// 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
// 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/-`.
@ -748,8 +829,7 @@ message CreateTableFromSnapshotMetadata {
google.protobuf.Timestamp finish_time = 3;
}
// The request for
// [CreateBackup][google.bigtable.admin.v2.BigtableTableAdmin.CreateBackup].
// 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
@ -789,20 +869,7 @@ message CreateBackupMetadata {
google.protobuf.Timestamp end_time = 4;
}
// 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
// [UpdateBackup][google.bigtable.admin.v2.BigtableTableAdmin.UpdateBackup].
// 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.
@ -815,26 +882,38 @@ message UpdateBackupRequest {
// 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];
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
}
// The request for
// [DeleteBackup][google.bigtable.admin.v2.BigtableTableAdmin.DeleteBackup].
// 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" }
(google.api.resource_reference) = {
type: "bigtable.googleapis.com/Backup"
}
];
}
// The request for
// [ListBackups][google.bigtable.admin.v2.BigtableTableAdmin.ListBackups].
// The request for [ListBackups][google.bigtable.admin.v2.BigtableTableAdmin.ListBackups].
message ListBackupsRequest {
// Required. The cluster to list backups from. Values are of the
// 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/-`.
@ -849,7 +928,7 @@ message ListBackupsRequest {
// 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
// <, >, <=, >=, !=, =, or :. Colon ':' represents a HAS operator which is
// roughly synonymous with equality. Filter rules are case insensitive.
//
// The fields eligible for filtering are:
@ -880,9 +959,8 @@ message ListBackupsRequest {
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.
// 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
@ -907,88 +985,19 @@ message ListBackupsRequest {
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`.
// [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].
// 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.
// [ListBackups][google.bigtable.admin.v2.BigtableTableAdmin.ListBackups] call to fetch more
// of the matching backups.
string next_page_token = 2;
}
// 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 the parent of the source backup. Values are
// of the form `projects/<project>/instances/<instance>`.
string parent = 1;
// 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;
// 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;
}
}
// 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;
}