Cloud Bigtable Managed Backup service and message proto files.
PiperOrigin-RevId: 301585144
This commit is contained in:
parent
d8e226f702
commit
e7b10591c5
|
|
@ -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";
|
||||
|
||||
|
|
@ -21,12 +20,14 @@ 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";
|
||||
|
|
@ -70,7 +71,8 @@ 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: "*"
|
||||
|
|
@ -132,7 +134,8 @@ 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: "*"
|
||||
|
|
@ -143,7 +146,8 @@ 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: "*"
|
||||
|
|
@ -159,12 +163,14 @@ 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"
|
||||
|
|
@ -213,10 +219,79 @@ service BigtableTableAdmin {
|
|||
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.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/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// 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"
|
||||
};
|
||||
}
|
||||
|
||||
// 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/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// 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"
|
||||
};
|
||||
}
|
||||
|
||||
// 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
|
||||
// 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 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: "*"
|
||||
|
|
@ -226,7 +301,8 @@ service BigtableTableAdmin {
|
|||
|
||||
// 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: "*"
|
||||
|
|
@ -239,7 +315,8 @@ service BigtableTableAdmin {
|
|||
}
|
||||
|
||||
// Returns permissions that the caller has on the specified table resource.
|
||||
rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
|
||||
rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest)
|
||||
returns (google.iam.v1.TestIamPermissionsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v2/{resource=projects/*/instances/*/tables/*}:testIamPermissions"
|
||||
body: "*"
|
||||
|
|
@ -270,8 +347,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];
|
||||
|
||||
|
|
@ -314,13 +391,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,
|
||||
|
|
@ -338,9 +415,7 @@ 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.
|
||||
|
|
@ -357,8 +432,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) = {
|
||||
|
|
@ -405,9 +480,7 @@ 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.
|
||||
|
|
@ -423,9 +496,7 @@ 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" }
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -458,29 +529,26 @@ 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" }
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -494,14 +562,12 @@ 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.
|
||||
|
|
@ -524,23 +590,27 @@ message CheckConsistencyResponse {
|
|||
// 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 {
|
||||
// The unique name of the table to have the snapshot taken.
|
||||
// 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"];
|
||||
(google.api.resource_reference) = { type: "bigtable.googleapis.com/Table" }
|
||||
];
|
||||
|
||||
// The name of the cluster where the snapshot will be created in.
|
||||
// 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"];
|
||||
(google.api.resource_reference) = {
|
||||
type: "bigtable.googleapis.com/Cluster"
|
||||
}
|
||||
];
|
||||
|
||||
// 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];
|
||||
|
||||
|
|
@ -581,8 +651,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/-`.
|
||||
|
|
@ -671,3 +741,251 @@ message CreateTableFromSnapshotMetadata {
|
|||
// 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
|
||||
// [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].
|
||||
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,
|
||||
(google.api.resource_reference) = { type: "bigtable.googleapis.com/Backup" }
|
||||
];
|
||||
|
||||
// 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
|
||||
// [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;
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -422,6 +422,8 @@ interfaces:
|
|||
entity_name: cluster
|
||||
- name_pattern: projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}
|
||||
entity_name: snapshot
|
||||
- name_pattern: projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}
|
||||
entity_name: backup
|
||||
- name_pattern: projects/{project}/instances/{instance}/tables/{table}
|
||||
entity_name: table
|
||||
language_overrides:
|
||||
|
|
@ -771,6 +773,143 @@ interfaces:
|
|||
visibility: DISABLED
|
||||
header_request_params:
|
||||
- name
|
||||
- name: CreateBackup
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
- backup_id
|
||||
- backup
|
||||
required_fields:
|
||||
- parent
|
||||
- backup_id
|
||||
- backup
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: non_idempotent_params
|
||||
field_name_patterns:
|
||||
parent: cluster
|
||||
resource_name_treatment: STATIC_TYPES
|
||||
timeout_millis: 60000
|
||||
long_running:
|
||||
return_type: google.bigtable.admin.v2.Backup
|
||||
metadata_type: google.bigtable.admin.v2.CreateBackupMetadata
|
||||
initial_poll_delay_millis: 500
|
||||
poll_delay_multiplier: 1.5
|
||||
max_poll_delay_millis: 5000
|
||||
total_poll_timeout_millis: 600000
|
||||
# Managed Backup is in alpha and not supported in C#
|
||||
surface_treatments:
|
||||
- include_languages: [csharp]
|
||||
visibility: DISABLED
|
||||
header_request_params:
|
||||
- parent
|
||||
- name: GetBackup
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
required_fields:
|
||||
- name
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: idempotent_params
|
||||
field_name_patterns:
|
||||
name: backup
|
||||
resource_name_treatment: STATIC_TYPES
|
||||
timeout_millis: 60000
|
||||
# Managed Backup is in alpha and not supported in C#
|
||||
surface_treatments:
|
||||
- include_languages: [csharp]
|
||||
visibility: DISABLED
|
||||
header_request_params:
|
||||
- name
|
||||
- name: ListBackups
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
required_fields:
|
||||
- parent
|
||||
page_streaming:
|
||||
request:
|
||||
page_size_field: page_size
|
||||
token_field: page_token
|
||||
response:
|
||||
token_field: next_page_token
|
||||
resources_field: backups
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: idempotent_params
|
||||
field_name_patterns:
|
||||
parent: cluster
|
||||
resource_name_treatment: STATIC_TYPES
|
||||
timeout_millis: 60000
|
||||
# Managed Backup is in alpha and not supported in C#
|
||||
surface_treatments:
|
||||
- include_languages: [csharp]
|
||||
visibility: DISABLED
|
||||
header_request_params:
|
||||
- parent
|
||||
- name: UpdateBackup
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- backup
|
||||
- update_mask
|
||||
required_fields:
|
||||
- backup
|
||||
- update_mask
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: non_idempotent_params
|
||||
field_name_patterns:
|
||||
name: backup
|
||||
resource_name_treatment: STATIC_TYPES
|
||||
timeout_millis: 60000
|
||||
# Managed Backup is in alpha and not supported in C#
|
||||
surface_treatments:
|
||||
- include_languages: [csharp]
|
||||
visibility: DISABLED
|
||||
header_request_params:
|
||||
- backup
|
||||
- name: DeleteBackup
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
required_fields:
|
||||
- name
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: non_idempotent_params
|
||||
field_name_patterns:
|
||||
name: backup
|
||||
resource_name_treatment: STATIC_TYPES
|
||||
timeout_millis: 60000
|
||||
# Managed Backup is in alpha and not supported in C#
|
||||
surface_treatments:
|
||||
- include_languages: [csharp]
|
||||
visibility: DISABLED
|
||||
header_request_params:
|
||||
- name
|
||||
- name: RestoreTable
|
||||
required_fields:
|
||||
- parent
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: non_idempotent_params
|
||||
field_name_patterns:
|
||||
name: cluster
|
||||
resource_name_treatment: STATIC_TYPES
|
||||
timeout_millis: 60000
|
||||
long_running:
|
||||
return_type: google.bigtable.admin.v2.Table
|
||||
metadata_type: google.bigtable.admin.v2.RestoreTableMetadata
|
||||
initial_poll_delay_millis: 500
|
||||
poll_delay_multiplier: 1.5
|
||||
max_poll_delay_millis: 5000
|
||||
total_poll_timeout_millis: 600000
|
||||
# Managed Backup is in alpha and not supported in C#
|
||||
surface_treatments:
|
||||
- include_languages: [csharp]
|
||||
visibility: DISABLED
|
||||
header_request_params:
|
||||
- parent
|
||||
|
||||
resource_name_generation:
|
||||
- message_name: CreateInstanceRequest
|
||||
|
|
@ -857,6 +996,21 @@ resource_name_generation:
|
|||
- message_name: DeleteSnapshotRequest
|
||||
field_entity_map:
|
||||
name: snapshot
|
||||
- message_name: CreateBackupRequest
|
||||
field_entity_map:
|
||||
parent: cluster
|
||||
- message_name: GetBackupRequest
|
||||
field_entity_map:
|
||||
name: backup
|
||||
- message_name: ListBackupsRequest
|
||||
field_entity_map:
|
||||
parent: cluster
|
||||
- message_name: UpdateBackupRequest
|
||||
field_entity_map:
|
||||
name: backup
|
||||
- message_name: DeleteBackupRequest
|
||||
field_entity_map:
|
||||
name: backup
|
||||
- message_name: Instance
|
||||
field_entity_map:
|
||||
name: instance
|
||||
|
|
@ -870,3 +1024,6 @@ resource_name_generation:
|
|||
- message_name: Snapshot
|
||||
field_entity_map:
|
||||
name: snapshot
|
||||
- message_name: Backup
|
||||
field_entity_map:
|
||||
name: backup
|
||||
|
|
|
|||
|
|
@ -8,9 +8,13 @@ apis:
|
|||
- name: google.bigtable.admin.v2.BigtableTableAdmin
|
||||
|
||||
types:
|
||||
- name: google.bigtable.admin.v2.Backup
|
||||
- name: google.bigtable.admin.v2.CreateBackupMetadata
|
||||
- name: google.bigtable.admin.v2.CreateClusterMetadata
|
||||
- name: google.bigtable.admin.v2.CreateInstanceMetadata
|
||||
- name: google.bigtable.admin.v2.CreateTableFromSnapshotMetadata
|
||||
- name: google.bigtable.admin.v2.OptimizeRestoredTableMetadata
|
||||
- name: google.bigtable.admin.v2.RestoreTableMetadata
|
||||
- name: google.bigtable.admin.v2.SnapshotTableMetadata
|
||||
- name: google.bigtable.admin.v2.UpdateAppProfileMetadata
|
||||
- name: google.bigtable.admin.v2.UpdateClusterMetadata
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
||||
|
|
@ -38,3 +37,18 @@ enum StorageType {
|
|||
// Magnetic drive (HDD) storage should be used.
|
||||
HDD = 2;
|
||||
}
|
||||
|
||||
// Encapsulates progress related information for a Cloud Bigtable long
|
||||
// running operation.
|
||||
message OperationProgress {
|
||||
// Percent completion of the operation.
|
||||
// Values are between 0 and 100 inclusive.
|
||||
int32 progress_percent = 1;
|
||||
|
||||
// Time the request was received.
|
||||
google.protobuf.Timestamp start_time = 2;
|
||||
|
||||
// If set, the time at which this operation failed or was completed
|
||||
// successfully.
|
||||
google.protobuf.Timestamp end_time = 3;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
||||
|
|
@ -30,6 +29,28 @@ option java_outer_classname = "TableProto";
|
|||
option java_package = "com.google.bigtable.admin.v2";
|
||||
option php_namespace = "Google\\Cloud\\Bigtable\\Admin\\V2";
|
||||
|
||||
// Indicates the type of the restore source.
|
||||
enum RestoreSourceType {
|
||||
// No restore associated.
|
||||
RESTORE_SOURCE_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// A backup was used as the source of the restore.
|
||||
BACKUP = 1;
|
||||
}
|
||||
|
||||
// Information about a table restore.
|
||||
message RestoreInfo {
|
||||
// The type of the restore source.
|
||||
RestoreSourceType source_type = 1;
|
||||
|
||||
// Information about the source used to restore the table.
|
||||
oneof source_info {
|
||||
// Information about the backup used to restore the table. The backup
|
||||
// may no longer exist.
|
||||
BackupInfo backup_info = 2;
|
||||
}
|
||||
}
|
||||
|
||||
// A collection of user data indexed by row, column, and timestamp.
|
||||
// Each table is served using the resources of its parent cluster.
|
||||
message Table {
|
||||
|
|
@ -62,6 +83,11 @@ message Table {
|
|||
// replication delay, reads may not immediately reflect the state of the
|
||||
// table in other clusters.
|
||||
READY = 4;
|
||||
|
||||
// The table is fully created and ready for use after a restore, and is
|
||||
// being optimized for performance. When optimizations are complete, the
|
||||
// table will transition to `READY` state.
|
||||
READY_OPTIMIZING = 5;
|
||||
}
|
||||
|
||||
// Output only. The state of replication for the table in this cluster.
|
||||
|
|
@ -121,6 +147,10 @@ message Table {
|
|||
// If unspecified at creation time, the value will be set to `MILLIS`.
|
||||
// Views: `SCHEMA_VIEW`, `FULL`.
|
||||
TimestampGranularity granularity = 4;
|
||||
|
||||
// Output only. If this table was restored from another data source (e.g. a
|
||||
// backup), this field will be populated with information about the restore.
|
||||
RestoreInfo restore_info = 6;
|
||||
}
|
||||
|
||||
// A set of columns within a table which share a common configuration.
|
||||
|
|
@ -201,16 +231,17 @@ message Snapshot {
|
|||
// Output only. The source table at the time the snapshot was taken.
|
||||
Table source_table = 2;
|
||||
|
||||
// Output only. The size of the data in the source table at the time the snapshot was
|
||||
// taken. In some cases, this value may be computed asynchronously via a
|
||||
// background process and a placeholder of 0 will be used in the meantime.
|
||||
// Output only. The size of the data in the source table at the time the
|
||||
// snapshot was taken. In some cases, this value may be computed
|
||||
// asynchronously via a background process and a placeholder of 0 will be used
|
||||
// in the meantime.
|
||||
int64 data_size_bytes = 3;
|
||||
|
||||
// Output only. The time when the snapshot is created.
|
||||
google.protobuf.Timestamp create_time = 4;
|
||||
|
||||
// Output only. The time when the snapshot will be deleted. The maximum amount of time a
|
||||
// snapshot can stay active is 365 days. If 'ttl' is not specified,
|
||||
// Output only. The time when the snapshot will be deleted. The maximum amount
|
||||
// of time a snapshot can stay active is 365 days. If 'ttl' is not specified,
|
||||
// the default maximum of 365 days will be used.
|
||||
google.protobuf.Timestamp delete_time = 5;
|
||||
|
||||
|
|
@ -220,3 +251,90 @@ message Snapshot {
|
|||
// Output only. Description of the snapshot.
|
||||
string description = 7;
|
||||
}
|
||||
|
||||
// A backup of a Cloud Bigtable table.
|
||||
message Backup {
|
||||
option (google.api.resource) = {
|
||||
type: "bigtable.googleapis.com/Backup"
|
||||
pattern: "projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}"
|
||||
};
|
||||
|
||||
// Indicates the current state of the backup.
|
||||
enum State {
|
||||
// Not specified.
|
||||
STATE_UNSPECIFIED = 0;
|
||||
|
||||
// The pending backup is still being created. Operations on the
|
||||
// backup may fail with `FAILED_PRECONDITION` in this state.
|
||||
CREATING = 1;
|
||||
|
||||
// The backup is complete and ready for use.
|
||||
READY = 2;
|
||||
}
|
||||
|
||||
// Output only. A globally unique identifier for the backup which cannot be
|
||||
// changed. Values are of the form
|
||||
// `projects/{project}/instances/{instance}/clusters/{cluster}/
|
||||
// backups/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`
|
||||
// The final segment of the name must be between 1 and 50 characters
|
||||
// in length.
|
||||
//
|
||||
// The backup is stored in the cluster identified by the prefix of the backup
|
||||
// name of the form
|
||||
// `projects/{project}/instances/{instance}/clusters/{cluster}`.
|
||||
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Required. Immutable. Name of the table from which this backup was created.
|
||||
// This needs to be in the same instance as the backup. Values are of the form
|
||||
// `projects/{project}/instances/{instance}/tables/{source_table}`.
|
||||
string source_table = 2 [
|
||||
(google.api.field_behavior) = IMMUTABLE,
|
||||
(google.api.field_behavior) = REQUIRED
|
||||
];
|
||||
|
||||
// Required. The expiration time of the backup, with microseconds
|
||||
// granularity that must be at least 6 hours and at most 30 days
|
||||
// from the time the request is received. Once the `expire_time`
|
||||
// has passed, Cloud Bigtable will delete the backup and free the
|
||||
// resources used by the backup.
|
||||
google.protobuf.Timestamp expire_time = 3
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Output only. `start_time` is the time that the backup was started
|
||||
// (i.e. approximately the time the
|
||||
// [CreateBackup][google.bigtable.admin.v2.BigtableTableAdmin.CreateBackup]
|
||||
// request is received). The row data in this backup will be no older than
|
||||
// this timestamp.
|
||||
google.protobuf.Timestamp start_time = 4
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. `end_time` is the time that the backup was finished. The row
|
||||
// data in the backup will be no newer than this timestamp.
|
||||
google.protobuf.Timestamp end_time = 5
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. Size of the backup in bytes.
|
||||
int64 size_bytes = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The current state of the backup.
|
||||
State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
}
|
||||
|
||||
// Information about a backup.
|
||||
message BackupInfo {
|
||||
// Output only. Name of the backup.
|
||||
string backup = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The time that the backup was started. Row data in the backup
|
||||
// will be no older than this timestamp.
|
||||
google.protobuf.Timestamp start_time = 2
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. This time that the backup was finished. Row data in the
|
||||
// backup will be no newer than this timestamp.
|
||||
google.protobuf.Timestamp end_time = 3
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. Name of the table the backup was created from.
|
||||
string source_table = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue