aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/googleapis/google/bigtable/admin/v2/instance.proto
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/googleapis/google/bigtable/admin/v2/instance.proto')
-rw-r--r--third_party/googleapis/google/bigtable/admin/v2/instance.proto130
1 files changed, 130 insertions, 0 deletions
diff --git a/third_party/googleapis/google/bigtable/admin/v2/instance.proto b/third_party/googleapis/google/bigtable/admin/v2/instance.proto
new file mode 100644
index 0000000000..67921d6e15
--- /dev/null
+++ b/third_party/googleapis/google/bigtable/admin/v2/instance.proto
@@ -0,0 +1,130 @@
+// Copyright 2016 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.v2;
+
+import "google/api/annotations.proto";
+import "google/bigtable/admin/v2/common.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/bigtable/admin/v2;admin";
+option java_multiple_files = true;
+option java_outer_classname = "InstanceProto";
+option java_package = "com.google.bigtable.admin.v2";
+
+
+// A collection of Bigtable [Tables][google.bigtable.admin.v2.Table] and
+// the resources that serve them.
+// All tables in an instance are served from a single
+// [Cluster][google.bigtable.admin.v2.Cluster].
+message Instance {
+ // Possible states of an instance.
+ enum State {
+ // The state of the instance could not be determined.
+ STATE_NOT_KNOWN = 0;
+
+ // The instance has been successfully created and can serve requests
+ // to its tables.
+ READY = 1;
+
+ // The instance is currently being created, and may be destroyed
+ // if the creation process encounters an error.
+ CREATING = 2;
+ }
+
+ // The type of the instance.
+ enum Type {
+ // The type of the instance is unspecified. If set when creating an
+ // instance, a `PRODUCTION` instance will be created. If set when updating
+ // an instance, the type will be left unchanged.
+ TYPE_UNSPECIFIED = 0;
+
+ // An instance meant for production use. `serve_nodes` must be set
+ // on the cluster.
+ PRODUCTION = 1;
+ }
+
+ // (`OutputOnly`)
+ // The unique name of the instance. Values are of the form
+ // `projects/<project>/instances/[a-z][a-z0-9\\-]+[a-z0-9]`.
+ string name = 1;
+
+ // The descriptive name for this instance as it appears in UIs.
+ // Can be changed at any time, but should be kept globally unique
+ // to avoid confusion.
+ string display_name = 2;
+
+ // (`OutputOnly`)
+ // The current state of the instance.
+ State state = 3;
+
+ // The type of the instance. Defaults to `PRODUCTION`.
+ Type type = 4;
+}
+
+// A resizable group of nodes in a particular cloud location, capable
+// of serving all [Tables][google.bigtable.admin.v2.Table] in the parent
+// [Instance][google.bigtable.admin.v2.Instance].
+message Cluster {
+ // Possible states of a cluster.
+ enum State {
+ // The state of the cluster could not be determined.
+ STATE_NOT_KNOWN = 0;
+
+ // The cluster has been successfully created and is ready to serve requests.
+ READY = 1;
+
+ // The cluster is currently being created, and may be destroyed
+ // if the creation process encounters an error.
+ // A cluster may not be able to serve requests while being created.
+ CREATING = 2;
+
+ // The cluster is currently being resized, and may revert to its previous
+ // node count if the process encounters an error.
+ // A cluster is still capable of serving requests while being resized,
+ // but may exhibit performance as if its number of allocated nodes is
+ // between the starting and requested states.
+ RESIZING = 3;
+
+ // The cluster has no backing nodes. The data (tables) still
+ // exist, but no operations can be performed on the cluster.
+ DISABLED = 4;
+ }
+
+ // (`OutputOnly`)
+ // The unique name of the cluster. Values are of the form
+ // `projects/<project>/instances/<instance>/clusters/[a-z][-a-z0-9]*`.
+ string name = 1;
+
+ // (`CreationOnly`)
+ // The location where this cluster's nodes and storage reside. For best
+ // performance, clients should be located as close as possible to this cluster.
+ // Currently only zones are supported, so values should be of the form
+ // `projects/<project>/locations/<zone>`.
+ string location = 2;
+
+ // (`OutputOnly`)
+ // The current state of the cluster.
+ State state = 3;
+
+ // The number of nodes allocated to this cluster. More nodes enable higher
+ // throughput and more consistent performance.
+ int32 serve_nodes = 4;
+
+ // (`CreationOnly`)
+ // The type of storage used by this cluster to serve its
+ // parent instance's tables, unless explicitly overridden.
+ StorageType default_storage_type = 5;
+}