Synchronize new proto changes.
This commit is contained in:
parent
06c7d2d90f
commit
fa45953c27
|
|
@ -0,0 +1,94 @@
|
|||
// Copyright 2017 Google Inc.
|
||||
//
|
||||
// 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.cluster.v1;
|
||||
|
||||
import "google/api/annotations.proto";
|
||||
import "google/longrunning/operations.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/bigtable/admin/cluster/v1;cluster";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "BigtableClusterDataProto";
|
||||
option java_package = "com.google.bigtable.admin.cluster.v1";
|
||||
|
||||
|
||||
// A physical location in which a particular project can allocate Cloud BigTable
|
||||
// resources.
|
||||
message Zone {
|
||||
// Possible states of a zone.
|
||||
enum Status {
|
||||
// The state of the zone is unknown or unspecified.
|
||||
UNKNOWN = 0;
|
||||
|
||||
// The zone is in a good state.
|
||||
OK = 1;
|
||||
|
||||
// The zone is down for planned maintenance.
|
||||
PLANNED_MAINTENANCE = 2;
|
||||
|
||||
// The zone is down for emergency or unplanned maintenance.
|
||||
EMERGENCY_MAINENANCE = 3;
|
||||
}
|
||||
|
||||
// A permanent unique identifier for the zone.
|
||||
// Values are of the form projects/<project>/zones/[a-z][-a-z0-9]*
|
||||
string name = 1;
|
||||
|
||||
// The name of this zone as it appears in UIs.
|
||||
string display_name = 2;
|
||||
|
||||
// The current state of this zone.
|
||||
Status status = 3;
|
||||
}
|
||||
|
||||
// An isolated set of Cloud BigTable resources on which tables can be hosted.
|
||||
message Cluster {
|
||||
// A permanent unique identifier for the cluster. For technical reasons, the
|
||||
// zone in which the cluster resides is included here.
|
||||
// Values are of the form
|
||||
// projects/<project>/zones/<zone>/clusters/[a-z][-a-z0-9]*
|
||||
string name = 1;
|
||||
|
||||
// The operation currently running on the cluster, if any.
|
||||
// This cannot be set directly, only through CreateCluster, UpdateCluster,
|
||||
// or UndeleteCluster. Calls to these methods will be rejected if
|
||||
// "current_operation" is already set.
|
||||
google.longrunning.Operation current_operation = 3;
|
||||
|
||||
// The descriptive name for this cluster as it appears in UIs.
|
||||
// Must be unique per zone.
|
||||
string display_name = 4;
|
||||
|
||||
// The number of serve nodes allocated to this cluster.
|
||||
int32 serve_nodes = 5;
|
||||
|
||||
// What storage type to use for tables in this cluster. Only configurable at
|
||||
// cluster creation time. If unspecified, STORAGE_SSD will be used.
|
||||
StorageType default_storage_type = 8;
|
||||
}
|
||||
|
||||
enum StorageType {
|
||||
// The storage type used is unspecified.
|
||||
STORAGE_UNSPECIFIED = 0;
|
||||
|
||||
// Data will be stored in SSD, providing low and consistent latencies.
|
||||
STORAGE_SSD = 1;
|
||||
|
||||
// Data will be stored in HDD, providing high and less predictable
|
||||
// latencies.
|
||||
STORAGE_HDD = 2;
|
||||
}
|
||||
|
|
@ -0,0 +1,130 @@
|
|||
// Copyright 2017 Google Inc.
|
||||
//
|
||||
// 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.cluster.v1;
|
||||
|
||||
import "google/api/annotations.proto";
|
||||
import "google/bigtable/admin/cluster/v1/bigtable_cluster_data.proto";
|
||||
import "google/bigtable/admin/cluster/v1/bigtable_cluster_service_messages.proto";
|
||||
import "google/longrunning/operations.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/bigtable/admin/cluster/v1;cluster";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "BigtableClusterServicesProto";
|
||||
option java_package = "com.google.bigtable.admin.cluster.v1";
|
||||
|
||||
|
||||
// Service for managing zonal Cloud Bigtable resources.
|
||||
service BigtableClusterService {
|
||||
// Lists the supported zones for the given project.
|
||||
rpc ListZones(ListZonesRequest) returns (ListZonesResponse) {
|
||||
option (google.api.http) = { get: "/v1/{name=projects/*}/zones" };
|
||||
}
|
||||
|
||||
// Gets information about a particular cluster.
|
||||
rpc GetCluster(GetClusterRequest) returns (Cluster) {
|
||||
option (google.api.http) = { get: "/v1/{name=projects/*/zones/*/clusters/*}" };
|
||||
}
|
||||
|
||||
// Lists all clusters in the given project, along with any zones for which
|
||||
// cluster information could not be retrieved.
|
||||
rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) {
|
||||
option (google.api.http) = { get: "/v1/{name=projects/*}/aggregated/clusters" };
|
||||
}
|
||||
|
||||
// Creates a cluster and begins preparing it to begin serving. The returned
|
||||
// cluster embeds as its "current_operation" a long-running operation which
|
||||
// can be used to track the progress of turning up the new cluster.
|
||||
// Immediately upon completion of this request:
|
||||
// * The cluster will be readable via the API, with all requested attributes
|
||||
// but no allocated resources.
|
||||
// Until completion of the embedded operation:
|
||||
// * Cancelling the operation will render the cluster immediately unreadable
|
||||
// via the API.
|
||||
// * All other attempts to modify or delete the cluster will be rejected.
|
||||
// Upon completion of the embedded operation:
|
||||
// * Billing for all successfully-allocated resources will begin (some types
|
||||
// may have lower than the requested levels).
|
||||
// * New tables can be created in the cluster.
|
||||
// * The cluster's allocated resource levels will be readable via the API.
|
||||
// The embedded operation's "metadata" field type is
|
||||
// [CreateClusterMetadata][google.bigtable.admin.cluster.v1.CreateClusterMetadata] The embedded operation's "response" field type is
|
||||
// [Cluster][google.bigtable.admin.cluster.v1.Cluster], if successful.
|
||||
rpc CreateCluster(CreateClusterRequest) returns (Cluster) {
|
||||
option (google.api.http) = { post: "/v1/{name=projects/*/zones/*}/clusters" body: "*" };
|
||||
}
|
||||
|
||||
// Updates a cluster, and begins allocating or releasing resources as
|
||||
// requested. The returned cluster embeds as its "current_operation" a
|
||||
// long-running operation which can be used to track the progress of updating
|
||||
// the cluster.
|
||||
// Immediately upon completion of this request:
|
||||
// * For resource types where a decrease in the cluster's allocation has been
|
||||
// requested, billing will be based on the newly-requested level.
|
||||
// Until completion of the embedded operation:
|
||||
// * Cancelling the operation will set its metadata's "cancelled_at_time",
|
||||
// and begin restoring resources to their pre-request values. The operation
|
||||
// is guaranteed to succeed at undoing all resource changes, after which
|
||||
// point it will terminate with a CANCELLED status.
|
||||
// * All other attempts to modify or delete the cluster will be rejected.
|
||||
// * Reading the cluster via the API will continue to give the pre-request
|
||||
// resource levels.
|
||||
// Upon completion of the embedded operation:
|
||||
// * Billing will begin for all successfully-allocated resources (some types
|
||||
// may have lower than the requested levels).
|
||||
// * All newly-reserved resources will be available for serving the cluster's
|
||||
// tables.
|
||||
// * The cluster's new resource levels will be readable via the API.
|
||||
// [UpdateClusterMetadata][google.bigtable.admin.cluster.v1.UpdateClusterMetadata] The embedded operation's "response" field type is
|
||||
// [Cluster][google.bigtable.admin.cluster.v1.Cluster], if successful.
|
||||
rpc UpdateCluster(Cluster) returns (Cluster) {
|
||||
option (google.api.http) = { put: "/v1/{name=projects/*/zones/*/clusters/*}" body: "*" };
|
||||
}
|
||||
|
||||
// Marks a cluster and all of its tables for permanent deletion in 7 days.
|
||||
// Immediately upon completion of the request:
|
||||
// * Billing will cease for all of the cluster's reserved resources.
|
||||
// * The cluster's "delete_time" field will be set 7 days in the future.
|
||||
// Soon afterward:
|
||||
// * All tables within the cluster will become unavailable.
|
||||
// Prior to the cluster's "delete_time":
|
||||
// * The cluster can be recovered with a call to UndeleteCluster.
|
||||
// * All other attempts to modify or delete the cluster will be rejected.
|
||||
// At the cluster's "delete_time":
|
||||
// * The cluster and *all of its tables* will immediately and irrevocably
|
||||
// disappear from the API, and their data will be permanently deleted.
|
||||
rpc DeleteCluster(DeleteClusterRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = { delete: "/v1/{name=projects/*/zones/*/clusters/*}" };
|
||||
}
|
||||
|
||||
// Cancels the scheduled deletion of an cluster and begins preparing it to
|
||||
// resume serving. The returned operation will also be embedded as the
|
||||
// cluster's "current_operation".
|
||||
// Immediately upon completion of this request:
|
||||
// * The cluster's "delete_time" field will be unset, protecting it from
|
||||
// automatic deletion.
|
||||
// Until completion of the returned operation:
|
||||
// * The operation cannot be cancelled.
|
||||
// Upon completion of the returned operation:
|
||||
// * Billing for the cluster's resources will resume.
|
||||
// * All tables within the cluster will be available.
|
||||
// [UndeleteClusterMetadata][google.bigtable.admin.cluster.v1.UndeleteClusterMetadata] The embedded operation's "response" field type is
|
||||
// [Cluster][google.bigtable.admin.cluster.v1.Cluster], if successful.
|
||||
rpc UndeleteCluster(UndeleteClusterRequest) returns (google.longrunning.Operation) {
|
||||
option (google.api.http) = { post: "/v1/{name=projects/*/zones/*/clusters/*}:undelete" body: "" };
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,141 @@
|
|||
// Copyright 2017 Google Inc.
|
||||
//
|
||||
// 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.cluster.v1;
|
||||
|
||||
import "google/bigtable/admin/cluster/v1/bigtable_cluster_data.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/bigtable/admin/cluster/v1;cluster";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "BigtableClusterServiceMessagesProto";
|
||||
option java_package = "com.google.bigtable.admin.cluster.v1";
|
||||
|
||||
|
||||
// Request message for BigtableClusterService.ListZones.
|
||||
message ListZonesRequest {
|
||||
// The unique name of the project for which a list of supported zones is
|
||||
// requested.
|
||||
// Values are of the form projects/<project>
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// Response message for BigtableClusterService.ListZones.
|
||||
message ListZonesResponse {
|
||||
// The list of requested zones.
|
||||
repeated Zone zones = 1;
|
||||
}
|
||||
|
||||
// Request message for BigtableClusterService.GetCluster.
|
||||
message GetClusterRequest {
|
||||
// The unique name of the requested cluster.
|
||||
// Values are of the form projects/<project>/zones/<zone>/clusters/<cluster>
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// Request message for BigtableClusterService.ListClusters.
|
||||
message ListClustersRequest {
|
||||
// The unique name of the project for which a list of clusters is requested.
|
||||
// Values are of the form projects/<project>
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// Response message for BigtableClusterService.ListClusters.
|
||||
message ListClustersResponse {
|
||||
// The list of requested Clusters.
|
||||
repeated Cluster clusters = 1;
|
||||
|
||||
// The zones for which clusters could not be retrieved.
|
||||
repeated Zone failed_zones = 2;
|
||||
}
|
||||
|
||||
// Request message for BigtableClusterService.CreateCluster.
|
||||
message CreateClusterRequest {
|
||||
// The unique name of the zone in which to create the cluster.
|
||||
// Values are of the form projects/<project>/zones/<zone>
|
||||
string name = 1;
|
||||
|
||||
// The id to be used when referring to the new cluster within its zone,
|
||||
// e.g. just the "test-cluster" section of the full name
|
||||
// "projects/<project>/zones/<zone>/clusters/test-cluster".
|
||||
string cluster_id = 2;
|
||||
|
||||
// The cluster to create.
|
||||
// The "name", "delete_time", and "current_operation" fields must be left
|
||||
// blank.
|
||||
Cluster cluster = 3;
|
||||
}
|
||||
|
||||
// Metadata type for the operation returned by
|
||||
// BigtableClusterService.CreateCluster.
|
||||
message CreateClusterMetadata {
|
||||
// The request which prompted the creation of this operation.
|
||||
CreateClusterRequest original_request = 1;
|
||||
|
||||
// The time at which original_request was received.
|
||||
google.protobuf.Timestamp request_time = 2;
|
||||
|
||||
// The time at which this operation failed or was completed successfully.
|
||||
google.protobuf.Timestamp finish_time = 3;
|
||||
}
|
||||
|
||||
// Metadata type for the operation returned by
|
||||
// BigtableClusterService.UpdateCluster.
|
||||
message UpdateClusterMetadata {
|
||||
// The request which prompted the creation of this operation.
|
||||
Cluster original_request = 1;
|
||||
|
||||
// The time at which original_request was received.
|
||||
google.protobuf.Timestamp request_time = 2;
|
||||
|
||||
// The time at which this operation was cancelled. If set, this operation is
|
||||
// in the process of undoing itself (which is guaranteed to succeed) and
|
||||
// cannot be cancelled again.
|
||||
google.protobuf.Timestamp cancel_time = 3;
|
||||
|
||||
// The time at which this operation failed or was completed successfully.
|
||||
google.protobuf.Timestamp finish_time = 4;
|
||||
}
|
||||
|
||||
// Request message for BigtableClusterService.DeleteCluster.
|
||||
message DeleteClusterRequest {
|
||||
// The unique name of the cluster to be deleted.
|
||||
// Values are of the form projects/<project>/zones/<zone>/clusters/<cluster>
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// Request message for BigtableClusterService.UndeleteCluster.
|
||||
message UndeleteClusterRequest {
|
||||
// The unique name of the cluster to be un-deleted.
|
||||
// Values are of the form projects/<project>/zones/<zone>/clusters/<cluster>
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// Metadata type for the operation returned by
|
||||
// BigtableClusterService.UndeleteCluster.
|
||||
message UndeleteClusterMetadata {
|
||||
// The time at which the original request was received.
|
||||
google.protobuf.Timestamp request_time = 1;
|
||||
|
||||
// The time at which this operation failed or was completed successfully.
|
||||
google.protobuf.Timestamp finish_time = 2;
|
||||
}
|
||||
|
||||
// Metadata type for operations initiated by the V2 BigtableAdmin service.
|
||||
// More complete information for such operations is available via the V2 API.
|
||||
message V2OperationMetadata {
|
||||
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2017 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2017 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2017 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
|
@ -54,6 +54,15 @@ message Instance {
|
|||
// An instance meant for production use. `serve_nodes` must be set
|
||||
// on the cluster.
|
||||
PRODUCTION = 1;
|
||||
|
||||
// The instance is meant for development and testing purposes only; it has
|
||||
// no performance or uptime guarantees and is not covered by SLA.
|
||||
// After a development instance is created, it can be upgraded by
|
||||
// updating the instance to type `PRODUCTION`. An instance created
|
||||
// as a production instance cannot be changed to a development instance.
|
||||
// When creating a development instance, `serve_nodes` on the cluster must
|
||||
// not be set.
|
||||
DEVELOPMENT = 2;
|
||||
}
|
||||
|
||||
// (`OutputOnly`)
|
||||
|
|
|
|||
Loading…
Reference in New Issue