summaryrefslogtreecommitdiff
path: root/third_party/googleapis/google/spanner/admin/instance/v1
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/googleapis/google/spanner/admin/instance/v1')
-rw-r--r--third_party/googleapis/google/spanner/admin/instance/v1/BUILD.bazel387
-rw-r--r--third_party/googleapis/google/spanner/admin/instance/v1/common.proto42
-rw-r--r--third_party/googleapis/google/spanner/admin/instance/v1/spanner_admin_instance.yaml41
-rw-r--r--third_party/googleapis/google/spanner/admin/instance/v1/spanner_admin_instance_gapic.yaml20
-rwxr-xr-xthird_party/googleapis/google/spanner/admin/instance/v1/spanner_admin_instance_grpc_service_config.json82
-rw-r--r--third_party/googleapis/google/spanner/admin/instance/v1/spanner_instance_admin.proto1081
6 files changed, 0 insertions, 1653 deletions
diff --git a/third_party/googleapis/google/spanner/admin/instance/v1/BUILD.bazel b/third_party/googleapis/google/spanner/admin/instance/v1/BUILD.bazel
deleted file mode 100644
index 92c4a96..0000000
--- a/third_party/googleapis/google/spanner/admin/instance/v1/BUILD.bazel
+++ /dev/null
@@ -1,387 +0,0 @@
-# This file was automatically generated by BuildFileGenerator
-
-# This is an API workspace, having public visibility by default makes perfect sense.
-package(default_visibility = ["//visibility:public"])
-
-##############################################################################
-# Common
-##############################################################################
-load("@rules_proto//proto:defs.bzl", "proto_library")
-load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
-
-proto_library(
- name = "instance_proto",
- srcs = [
- "common.proto",
- "spanner_instance_admin.proto",
- ],
- deps = [
- "//google/api:annotations_proto",
- "//google/api:client_proto",
- "//google/api:field_behavior_proto",
- "//google/api:resource_proto",
- "//google/iam/v1:iam_policy_proto",
- "//google/iam/v1:policy_proto",
- "//google/longrunning:operations_proto",
- "@com_google_protobuf//:empty_proto",
- "@com_google_protobuf//:field_mask_proto",
- "@com_google_protobuf//:timestamp_proto",
- ],
-)
-
-proto_library_with_info(
- name = "instance_proto_with_info",
- deps = [
- ":instance_proto",
- "//google/cloud:common_resources_proto",
- ],
-)
-
-##############################################################################
-# Java
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "java_gapic_assembly_gradle_pkg",
- "java_gapic_library",
- "java_gapic_test",
- "java_grpc_library",
- "java_proto_library",
-)
-
-java_proto_library(
- name = "instance_java_proto",
- deps = [":instance_proto"],
-)
-
-java_grpc_library(
- name = "instance_java_grpc",
- srcs = [":instance_proto"],
- deps = [":instance_java_proto"],
-)
-
-java_gapic_library(
- name = "instance_java_gapic",
- srcs = [":instance_proto_with_info"],
- gapic_yaml = "spanner_admin_instance_gapic.yaml",
- grpc_service_config = "spanner_admin_instance_grpc_service_config.json",
- test_deps = [
- ":instance_java_grpc",
- "//google/iam/v1:iam_java_grpc",
- ],
- transport = "grpc+rest",
- deps = [
- ":instance_java_proto",
- "//google/iam/v1:iam_java_proto",
- ],
-)
-
-java_gapic_test(
- name = "instance_java_gapic_test_suite",
- test_classes = [
- "com.google.cloud.spanner.admin.instance.v1.InstanceAdminClientHttpJsonTest",
- "com.google.cloud.spanner.admin.instance.v1.InstanceAdminClientTest",
- ],
- runtime_deps = [":instance_java_gapic_test"],
-)
-
-# Open Source Packages
-java_gapic_assembly_gradle_pkg(
- name = "google-cloud-admin-instance-v1-java",
- transport = "grpc+rest",
- deps = [
- ":instance_java_gapic",
- ":instance_java_grpc",
- ":instance_java_proto",
- ":instance_proto",
- ],
-)
-
-##############################################################################
-# Go
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "go_gapic_assembly_pkg",
- "go_gapic_library",
- "go_proto_library",
- "go_test",
-)
-
-go_proto_library(
- name = "instance_go_proto",
- compilers = ["@io_bazel_rules_go//proto:go_grpc"],
- importpath = "google.golang.org/genproto/googleapis/spanner/admin/instance/v1",
- protos = [":instance_proto"],
- deps = [
- "//google/api:annotations_go_proto",
- "//google/iam/v1:iam_go_proto",
- "//google/longrunning:longrunning_go_proto",
- ],
-)
-
-go_gapic_library(
- name = "instance_go_gapic",
- srcs = [":instance_proto_with_info"],
- grpc_service_config = "spanner_admin_instance_grpc_service_config.json",
- importpath = "cloud.google.com/go/spanner/admin/instance/apiv1;instance",
- service_yaml = "spanner_admin_instance.yaml",
- transport = "grpc+rest",
- deps = [
- ":instance_go_proto",
- "//google/iam/v1:iam_go_proto",
- "//google/longrunning:longrunning_go_proto",
- "@com_google_cloud_go//longrunning:go_default_library",
- "@com_google_cloud_go//longrunning/autogen:go_default_library",
- ],
-)
-
-go_test(
- name = "instance_go_gapic_test",
- srcs = [":instance_go_gapic_srcjar_test"],
- embed = [":instance_go_gapic"],
- importpath = "cloud.google.com/go/spanner/admin/instance/apiv1",
-)
-
-# Open Source Packages
-go_gapic_assembly_pkg(
- name = "gapi-cloud-admin-instance-v1-go",
- deps = [
- ":instance_go_gapic",
- ":instance_go_gapic_srcjar-test.srcjar",
- ":instance_go_proto",
- ],
-)
-
-##############################################################################
-# Python
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "py_gapic_assembly_pkg",
- "py_gapic_library",
- "py_test",
-)
-
-py_gapic_library(
- name = "instance_py_gapic",
- srcs = [":instance_proto"],
- grpc_service_config = "spanner_admin_instance_grpc_service_config.json",
- opt_args = [
- "python-gapic-namespace=google.cloud",
- "python-gapic-name=spanner_admin_instance",
- ],
- transport = "grpc",
- deps = [
- "//google/iam/v1:iam_policy_py_proto",
- ],
-)
-
-py_test(
- name = "instance_py_gapic_test",
- srcs = [
- "instance_py_gapic_pytest.py",
- "instance_py_gapic_test.py",
- ],
- legacy_create_init = False,
- deps = [":instance_py_gapic"],
-)
-
-py_gapic_assembly_pkg(
- name = "admin-instance-v1-py",
- deps = [
- ":instance_py_gapic",
- ],
-)
-
-##############################################################################
-# PHP
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "php_gapic_assembly_pkg",
- "php_gapic_library",
- "php_grpc_library",
- "php_proto_library",
-)
-
-php_proto_library(
- name = "instance_php_proto",
- deps = [":instance_proto"],
-)
-
-php_grpc_library(
- name = "instance_php_grpc",
- srcs = [":instance_proto"],
- deps = [":instance_php_proto"],
-)
-
-php_gapic_library(
- name = "instance_php_gapic",
- srcs = [":instance_proto_with_info"],
- gapic_yaml = "spanner_admin_instance_gapic.yaml",
- grpc_service_config = "spanner_admin_instance_grpc_service_config.json",
- service_yaml = "spanner_admin_instance.yaml",
- deps = [
- ":instance_php_grpc",
- ":instance_php_proto",
- ],
-)
-
-# Open Source Packages
-php_gapic_assembly_pkg(
- name = "google-cloud-admin-instance-v1-php",
- deps = [
- ":instance_php_gapic",
- ":instance_php_grpc",
- ":instance_php_proto",
- ],
-)
-
-##############################################################################
-# Node.js
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "nodejs_gapic_assembly_pkg",
- "nodejs_gapic_library",
-)
-
-nodejs_gapic_library(
- name = "instance_nodejs_gapic",
- package_name = "@google-cloud/spanner",
- src = ":instance_proto_with_info",
- extra_protoc_parameters = [
- "metadata",
- "template=typescript_gapic",
- ],
- grpc_service_config = "spanner_admin_instance_grpc_service_config.json",
- package = "google.spanner.admin.instance.v1",
- service_yaml = "spanner_admin_instance.yaml",
- deps = [],
-)
-
-nodejs_gapic_assembly_pkg(
- name = "admin-instance-v1-nodejs",
- deps = [
- ":instance_nodejs_gapic",
- ":instance_proto",
- ],
-)
-
-##############################################################################
-# Ruby
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "ruby_cloud_gapic_library",
- "ruby_gapic_assembly_pkg",
- "ruby_grpc_library",
- "ruby_proto_library",
-)
-
-ruby_proto_library(
- name = "instance_ruby_proto",
- deps = [":instance_proto"],
-)
-
-ruby_grpc_library(
- name = "instance_ruby_grpc",
- srcs = [":instance_proto"],
- deps = [":instance_ruby_proto"],
-)
-
-ruby_cloud_gapic_library(
- name = "instance_ruby_gapic",
- srcs = [":instance_proto_with_info"],
- extra_protoc_parameters = [
- "ruby-cloud-gem-name=google-cloud-spanner-admin-instance-v1",
- "ruby-cloud-env-prefix=SPANNER",
- "ruby-cloud-product-url=https://cloud.google.com/spanner",
- "ruby-cloud-api-id=spanner.googleapis.com",
- "ruby-cloud-api-shortname=spanner",
- "ruby-cloud-wrapper-gem-override=google-cloud-spanner",
- ],
- grpc_service_config = "spanner_admin_instance_grpc_service_config.json",
- ruby_cloud_description = "Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.",
- ruby_cloud_title = "Cloud Spanner Instance Admin V1",
- deps = [
- ":instance_ruby_grpc",
- ":instance_ruby_proto",
- ],
-)
-
-# Open Source Packages
-ruby_gapic_assembly_pkg(
- name = "google-cloud-admin-instance-v1-ruby",
- deps = [
- ":instance_ruby_gapic",
- ":instance_ruby_grpc",
- ":instance_ruby_proto",
- ],
-)
-
-##############################################################################
-# C#
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "csharp_gapic_assembly_pkg",
- "csharp_gapic_library",
- "csharp_grpc_library",
- "csharp_proto_library",
-)
-
-csharp_proto_library(
- name = "instance_csharp_proto",
- deps = [":instance_proto"],
-)
-
-csharp_grpc_library(
- name = "instance_csharp_grpc",
- srcs = [":instance_proto"],
- deps = [":instance_csharp_proto"],
-)
-
-csharp_gapic_library(
- name = "instance_csharp_gapic",
- srcs = [":instance_proto_with_info"],
- common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
- grpc_service_config = "spanner_admin_instance_grpc_service_config.json",
- service_yaml = "spanner_admin_instance.yaml",
- deps = [
- ":instance_csharp_grpc",
- ":instance_csharp_proto",
- ],
-)
-
-# Open Source Packages
-csharp_gapic_assembly_pkg(
- name = "google-cloud-admin-instance-v1-csharp",
- deps = [
- ":instance_csharp_gapic",
- ":instance_csharp_grpc",
- ":instance_csharp_proto",
- ],
-)
-
-##############################################################################
-# C++
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "cc_grpc_library",
- "cc_proto_library",
-)
-
-cc_proto_library(
- name = "instance_cc_proto",
- deps = [":instance_proto"],
-)
-
-cc_grpc_library(
- name = "instance_cc_grpc",
- srcs = [":instance_proto"],
- grpc_only = True,
- deps = [":instance_cc_proto"],
-)
diff --git a/third_party/googleapis/google/spanner/admin/instance/v1/common.proto b/third_party/googleapis/google/spanner/admin/instance/v1/common.proto
deleted file mode 100644
index e93b334..0000000
--- a/third_party/googleapis/google/spanner/admin/instance/v1/common.proto
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2022 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.spanner.admin.instance.v1;
-
-import "google/protobuf/timestamp.proto";
-
-option csharp_namespace = "Google.Cloud.Spanner.Admin.Instance.V1";
-option go_package = "google.golang.org/genproto/googleapis/spanner/admin/instance/v1;instance";
-option java_multiple_files = true;
-option java_outer_classname = "CommonProto";
-option java_package = "com.google.spanner.admin.instance.v1";
-option php_namespace = "Google\\Cloud\\Spanner\\Admin\\Instance\\V1";
-option ruby_package = "Google::Cloud::Spanner::Admin::Instance::V1";
-
-// Encapsulates progress related information for a Cloud Spanner long
-// running instance operations.
-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;
-}
diff --git a/third_party/googleapis/google/spanner/admin/instance/v1/spanner_admin_instance.yaml b/third_party/googleapis/google/spanner/admin/instance/v1/spanner_admin_instance.yaml
deleted file mode 100644
index 3909182..0000000
--- a/third_party/googleapis/google/spanner/admin/instance/v1/spanner_admin_instance.yaml
+++ /dev/null
@@ -1,41 +0,0 @@
-type: google.api.Service
-config_version: 3
-name: spanner.googleapis.com
-title: Cloud Spanner Instance Admin API
-
-apis:
- - name: google.spanner.admin.instance.v1.InstanceAdmin
- mixins:
- - name: google.iam.v1.IAMPolicy
-
-types:
- - name: google.spanner.admin.instance.v1.CreateInstanceMetadata
- - name: google.spanner.admin.instance.v1.UpdateInstanceMetadata
-
-authentication:
- rules:
- - selector: google.spanner.admin.instance.v1.InstanceAdmin.*,
- google.iam.v1.IAMPolicy.*,
- google.longrunning.Operations.*
- oauth:
- canonical_scopes: https://www.googleapis.com/auth/spanner.admin,
- https://www.googleapis.com/auth/cloud-platform
-
-http:
- rules:
- - selector: google.longrunning.Operations.GetOperation
- get: '/v1/{name=projects/*/instances/*/databases/*/operations/*}'
- additional_bindings:
- - get: '/v1/{name=projects/*/instances/*/operations/*}'
- - selector: google.longrunning.Operations.ListOperations
- get: '/v1/{name=projects/*/instances/*/databases/*/operations}'
- additional_bindings:
- - get: '/v1/{name=projects/*/instances/*/operations}'
- - selector: google.longrunning.Operations.CancelOperation
- post: '/v1/{name=projects/*/instances/*/databases/*/operations/*}:cancel'
- additional_bindings:
- - post: '/v1/{name=projects/*/instances/*/operations/*}:cancel'
- - selector: google.longrunning.Operations.DeleteOperation
- delete: '/v1/{name=projects/*/instances/*/databases/*/operations/*}'
- additional_bindings:
- - delete: '/v1/{name=projects/*/instances/*/operations/*}'
diff --git a/third_party/googleapis/google/spanner/admin/instance/v1/spanner_admin_instance_gapic.yaml b/third_party/googleapis/google/spanner/admin/instance/v1/spanner_admin_instance_gapic.yaml
deleted file mode 100644
index 89d4488..0000000
--- a/third_party/googleapis/google/spanner/admin/instance/v1/spanner_admin_instance_gapic.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-type: com.google.api.codegen.ConfigProto
-config_schema_version: 2.0.0
-language_settings:
- java:
- package_name: com.google.cloud.spanner.admin.instance.v1
-interfaces:
-- name: google.spanner.admin.instance.v1.InstanceAdmin
- methods:
- - name: CreateInstance
- long_running:
- initial_poll_delay_millis: 20000
- poll_delay_multiplier: 1.5
- max_poll_delay_millis: 45000
- total_poll_timeout_millis: 86400000
- - name: UpdateInstance
- long_running:
- initial_poll_delay_millis: 20000
- poll_delay_multiplier: 1.5
- max_poll_delay_millis: 45000
- total_poll_timeout_millis: 86400000
diff --git a/third_party/googleapis/google/spanner/admin/instance/v1/spanner_admin_instance_grpc_service_config.json b/third_party/googleapis/google/spanner/admin/instance/v1/spanner_admin_instance_grpc_service_config.json
deleted file mode 100755
index f124156..0000000
--- a/third_party/googleapis/google/spanner/admin/instance/v1/spanner_admin_instance_grpc_service_config.json
+++ /dev/null
@@ -1,82 +0,0 @@
-{
- "methodConfig": [
- {
- "name": [
- {
- "service": "google.spanner.admin.instance.v1.InstanceAdmin",
- "method": "ListInstanceConfigs"
- },
- {
- "service": "google.spanner.admin.instance.v1.InstanceAdmin",
- "method": "GetInstanceConfig"
- },
- {
- "service": "google.spanner.admin.instance.v1.InstanceAdmin",
- "method": "ListInstances"
- },
- {
- "service": "google.spanner.admin.instance.v1.InstanceAdmin",
- "method": "GetInstance"
- },
- {
- "service": "google.spanner.admin.instance.v1.InstanceAdmin",
- "method": "DeleteInstance"
- }
- ],
- "timeout": "3600s",
- "retryPolicy": {
- "initialBackoff": "1s",
- "maxBackoff": "32s",
- "backoffMultiplier": 1.3,
- "retryableStatusCodes": [
- "UNAVAILABLE",
- "DEADLINE_EXCEEDED"
- ]
- }
- },
- {
- "name": [
- {
- "service": "google.spanner.admin.instance.v1.InstanceAdmin",
- "method": "GetIamPolicy"
- }
- ],
- "timeout": "30s",
- "retryPolicy": {
- "initialBackoff": "1s",
- "maxBackoff": "32s",
- "backoffMultiplier": 1.3,
- "retryableStatusCodes": [
- "UNAVAILABLE",
- "DEADLINE_EXCEEDED"
- ]
- }
- },
- {
- "name": [
- {
- "service": "google.spanner.admin.instance.v1.InstanceAdmin",
- "method": "CreateInstance"
- },
- {
- "service": "google.spanner.admin.instance.v1.InstanceAdmin",
- "method": "UpdateInstance"
- }
- ],
- "timeout": "3600s"
- },
- {
- "name": [
- {
- "service": "google.spanner.admin.instance.v1.InstanceAdmin",
- "method": "SetIamPolicy"
- },
- {
- "service": "google.spanner.admin.instance.v1.InstanceAdmin",
- "method": "TestIamPermissions"
- }
- ],
- "timeout": "30s"
- }
- ]
-}
diff --git a/third_party/googleapis/google/spanner/admin/instance/v1/spanner_instance_admin.proto b/third_party/googleapis/google/spanner/admin/instance/v1/spanner_instance_admin.proto
deleted file mode 100644
index 85b0411..0000000
--- a/third_party/googleapis/google/spanner/admin/instance/v1/spanner_instance_admin.proto
+++ /dev/null
@@ -1,1081 +0,0 @@
-// Copyright 2022 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.spanner.admin.instance.v1;
-
-import "google/api/annotations.proto";
-import "google/api/client.proto";
-import "google/api/field_behavior.proto";
-import "google/api/resource.proto";
-import "google/iam/v1/iam_policy.proto";
-import "google/iam/v1/policy.proto";
-import "google/longrunning/operations.proto";
-import "google/protobuf/empty.proto";
-import "google/protobuf/field_mask.proto";
-import "google/protobuf/timestamp.proto";
-import "google/spanner/admin/instance/v1/common.proto";
-
-option csharp_namespace = "Google.Cloud.Spanner.Admin.Instance.V1";
-option go_package = "google.golang.org/genproto/googleapis/spanner/admin/instance/v1;instance";
-option java_multiple_files = true;
-option java_outer_classname = "SpannerInstanceAdminProto";
-option java_package = "com.google.spanner.admin.instance.v1";
-option php_namespace = "Google\\Cloud\\Spanner\\Admin\\Instance\\V1";
-option ruby_package = "Google::Cloud::Spanner::Admin::Instance::V1";
-
-// Cloud Spanner Instance Admin API
-//
-// The Cloud Spanner Instance Admin API can be used to create, delete,
-// modify and list instances. Instances are dedicated Cloud Spanner serving
-// and storage resources to be used by Cloud Spanner databases.
-//
-// Each instance has a "configuration", which dictates where the
-// serving resources for the Cloud Spanner instance are located (e.g.,
-// US-central, Europe). Configurations are created by Google based on
-// resource availability.
-//
-// Cloud Spanner billing is based on the instances that exist and their
-// sizes. After an instance exists, there are no additional
-// per-database or per-operation charges for use of the instance
-// (though there may be additional network bandwidth charges).
-// Instances offer isolation: problems with databases in one instance
-// will not affect other instances. However, within an instance
-// databases can affect each other. For example, if one database in an
-// instance receives a lot of requests and consumes most of the
-// instance resources, fewer resources are available for other
-// databases in that instance, and their performance may suffer.
-service InstanceAdmin {
- option (google.api.default_host) = "spanner.googleapis.com";
- option (google.api.oauth_scopes) =
- "https://www.googleapis.com/auth/cloud-platform,"
- "https://www.googleapis.com/auth/spanner.admin";
-
- // Lists the supported instance configurations for a given project.
- rpc ListInstanceConfigs(ListInstanceConfigsRequest)
- returns (ListInstanceConfigsResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*}/instanceConfigs"
- };
- option (google.api.method_signature) = "parent";
- }
-
- // Gets information about a particular instance configuration.
- rpc GetInstanceConfig(GetInstanceConfigRequest) returns (InstanceConfig) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/instanceConfigs/*}"
- };
- option (google.api.method_signature) = "name";
- }
-
- // Creates an instance config and begins preparing it to be used. The
- // returned [long-running operation][google.longrunning.Operation]
- // can be used to track the progress of preparing the new
- // instance config. The instance config name is assigned by the caller. If the
- // named instance config already exists, `CreateInstanceConfig` returns
- // `ALREADY_EXISTS`.
- //
- // Immediately after the request returns:
- //
- // * The instance config is readable via the API, with all requested
- // attributes. The instance config's
- // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
- // field is set to true. Its state is `CREATING`.
- //
- // While the operation is pending:
- //
- // * Cancelling the operation renders the instance config immediately
- // unreadable via the API.
- // * Except for deleting the creating resource, all other attempts to modify
- // the instance config are rejected.
- //
- // Upon completion of the returned operation:
- //
- // * Instances can be created using the instance configuration.
- // * The instance config's
- // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
- // field becomes false. Its state becomes `READY`.
- //
- // The returned [long-running operation][google.longrunning.Operation] will
- // have a name of the format
- // `<instance_config_name>/operations/<operation_id>` and can be used to track
- // creation of the instance config. The
- // [metadata][google.longrunning.Operation.metadata] field type is
- // [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata].
- // The [response][google.longrunning.Operation.response] field type is
- // [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if
- // successful.
- //
- // Authorization requires `spanner.instanceConfigs.create` permission on
- // the resource
- // [parent][google.spanner.admin.instance.v1.CreateInstanceConfigRequest.parent].
- rpc CreateInstanceConfig(CreateInstanceConfigRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*}/instanceConfigs"
- body: "*"
- };
- option (google.api.method_signature) =
- "parent,instance_config,instance_config_id";
- option (google.longrunning.operation_info) = {
- response_type: "google.spanner.admin.instance.v1.InstanceConfig"
- metadata_type: "google.spanner.admin.instance.v1.CreateInstanceConfigMetadata"
- };
- }
-
- // Updates an instance config. The returned
- // [long-running operation][google.longrunning.Operation] can be used to track
- // the progress of updating the instance. If the named instance config does
- // not exist, returns `NOT_FOUND`.
- //
- // Only user managed configurations can be updated.
- //
- // Immediately after the request returns:
- //
- // * The instance config's
- // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
- // field is set to true.
- //
- // While the operation is pending:
- //
- // * Cancelling the operation sets its metadata's
- // [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.cancel_time].
- // The operation is guaranteed to succeed at undoing all changes, after
- // which point it terminates with a `CANCELLED` status.
- // * All other attempts to modify the instance config are rejected.
- // * Reading the instance config via the API continues to give the
- // pre-request values.
- //
- // Upon completion of the returned operation:
- //
- // * Creating instances using the instance configuration uses the new
- // values.
- // * The instance config's new values are readable via the API.
- // * The instance config's
- // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
- // field becomes false.
- //
- // The returned [long-running operation][google.longrunning.Operation] will
- // have a name of the format
- // `<instance_config_name>/operations/<operation_id>` and can be used to track
- // the instance config modification. The
- // [metadata][google.longrunning.Operation.metadata] field type is
- // [UpdateInstanceConfigMetadata][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata].
- // The [response][google.longrunning.Operation.response] field type is
- // [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if
- // successful.
- //
- // Authorization requires `spanner.instanceConfigs.update` permission on
- // the resource [name][google.spanner.admin.instance.v1.InstanceConfig.name].
- rpc UpdateInstanceConfig(UpdateInstanceConfigRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- patch: "/v1/{instance_config.name=projects/*/instanceConfigs/*}"
- body: "*"
- };
- option (google.api.method_signature) = "instance_config,update_mask";
- option (google.longrunning.operation_info) = {
- response_type: "google.spanner.admin.instance.v1.InstanceConfig"
- metadata_type: "google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata"
- };
- }
-
- // Deletes the instance config. Deletion is only allowed when no
- // instances are using the configuration. If any instances are using
- // the config, returns `FAILED_PRECONDITION`.
- //
- // Only user managed configurations can be deleted.
- //
- // Authorization requires `spanner.instanceConfigs.delete` permission on
- // the resource [name][google.spanner.admin.instance.v1.InstanceConfig.name].
- rpc DeleteInstanceConfig(DeleteInstanceConfigRequest)
- returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v1/{name=projects/*/instanceConfigs/*}"
- };
- option (google.api.method_signature) = "name";
- }
-
- // Lists the user-managed instance config [long-running
- // operations][google.longrunning.Operation] in the given project. An instance
- // config operation has a name of the form
- // `projects/<project>/instanceConfigs/<instance_config>/operations/<operation>`.
- // The long-running operation
- // [metadata][google.longrunning.Operation.metadata] field type
- // `metadata.type_url` describes the type of the metadata. Operations returned
- // include those that have completed/failed/canceled within the last 7 days,
- // and pending operations. Operations returned are ordered by
- // `operation.metadata.value.start_time` in descending order starting
- // from the most recently started operation.
- rpc ListInstanceConfigOperations(ListInstanceConfigOperationsRequest)
- returns (ListInstanceConfigOperationsResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*}/instanceConfigOperations"
- };
- option (google.api.method_signature) = "parent";
- }
-
- // Lists all instances in the given project.
- rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*}/instances"
- };
- option (google.api.method_signature) = "parent";
- }
-
- // Gets information about a particular instance.
- rpc GetInstance(GetInstanceRequest) returns (Instance) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/instances/*}"
- };
- option (google.api.method_signature) = "name";
- }
-
- // Creates an instance and begins preparing it to begin serving. The
- // returned [long-running operation][google.longrunning.Operation]
- // can be used to track the progress of preparing the new
- // instance. The instance name is assigned by the caller. If the
- // named instance already exists, `CreateInstance` returns
- // `ALREADY_EXISTS`.
- //
- // Immediately upon completion of this request:
- //
- // * The instance is readable via the API, with all requested attributes
- // but no allocated resources. Its state is `CREATING`.
- //
- // Until completion of the returned operation:
- //
- // * Cancelling the operation renders the instance immediately unreadable
- // via the API.
- // * The instance can be deleted.
- // * All other attempts to modify the instance are rejected.
- //
- // Upon completion of the returned operation:
- //
- // * Billing for all successfully-allocated resources begins (some types
- // may have lower than the requested levels).
- // * Databases can be created in the instance.
- // * The instance's allocated resource levels are readable via the API.
- // * The instance's state becomes `READY`.
- //
- // The returned [long-running operation][google.longrunning.Operation] will
- // have a name of the format `<instance_name>/operations/<operation_id>` and
- // can be used to track creation of the instance. The
- // [metadata][google.longrunning.Operation.metadata] field type is
- // [CreateInstanceMetadata][google.spanner.admin.instance.v1.CreateInstanceMetadata].
- // The [response][google.longrunning.Operation.response] field type is
- // [Instance][google.spanner.admin.instance.v1.Instance], if successful.
- rpc CreateInstance(CreateInstanceRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*}/instances"
- body: "*"
- };
- option (google.api.method_signature) = "parent,instance_id,instance";
- option (google.longrunning.operation_info) = {
- response_type: "google.spanner.admin.instance.v1.Instance"
- metadata_type: "google.spanner.admin.instance.v1.CreateInstanceMetadata"
- };
- }
-
- // Updates an instance, and begins allocating or releasing resources
- // as requested. The returned [long-running
- // operation][google.longrunning.Operation] can be used to track the
- // progress of updating the instance. If the named instance does not
- // exist, returns `NOT_FOUND`.
- //
- // Immediately upon completion of this request:
- //
- // * For resource types for which a decrease in the instance's allocation
- // has been requested, billing is based on the newly-requested level.
- //
- // Until completion of the returned operation:
- //
- // * Cancelling the operation sets its metadata's
- // [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time],
- // and begins restoring resources to their pre-request values. The
- // operation is guaranteed to succeed at undoing all resource changes,
- // after which point it terminates with a `CANCELLED` status.
- // * All other attempts to modify the instance are rejected.
- // * Reading the instance via the API continues to give the pre-request
- // resource levels.
- //
- // Upon completion of the returned operation:
- //
- // * Billing begins for all successfully-allocated resources (some types
- // may have lower than the requested levels).
- // * All newly-reserved resources are available for serving the instance's
- // tables.
- // * The instance's new resource levels are readable via the API.
- //
- // The returned [long-running operation][google.longrunning.Operation] will
- // have a name of the format `<instance_name>/operations/<operation_id>` and
- // can be used to track the instance modification. The
- // [metadata][google.longrunning.Operation.metadata] field type is
- // [UpdateInstanceMetadata][google.spanner.admin.instance.v1.UpdateInstanceMetadata].
- // The [response][google.longrunning.Operation.response] field type is
- // [Instance][google.spanner.admin.instance.v1.Instance], if successful.
- //
- // Authorization requires `spanner.instances.update` permission on
- // the resource [name][google.spanner.admin.instance.v1.Instance.name].
- rpc UpdateInstance(UpdateInstanceRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- patch: "/v1/{instance.name=projects/*/instances/*}"
- body: "*"
- };
- option (google.api.method_signature) = "instance,field_mask";
- option (google.longrunning.operation_info) = {
- response_type: "google.spanner.admin.instance.v1.Instance"
- metadata_type: "google.spanner.admin.instance.v1.UpdateInstanceMetadata"
- };
- }
-
- // Deletes an instance.
- //
- // Immediately upon completion of the request:
- //
- // * Billing ceases for all of the instance's reserved resources.
- //
- // Soon afterward:
- //
- // * The instance and *all of its databases* immediately and
- // irrevocably disappear from the API. All data in the databases
- // is permanently deleted.
- rpc DeleteInstance(DeleteInstanceRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v1/{name=projects/*/instances/*}"
- };
- option (google.api.method_signature) = "name";
- }
-
- // Sets the access control policy on an instance resource. Replaces any
- // existing policy.
- //
- // Authorization requires `spanner.instances.setIamPolicy` on
- // [resource][google.iam.v1.SetIamPolicyRequest.resource].
- rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest)
- returns (google.iam.v1.Policy) {
- option (google.api.http) = {
- post: "/v1/{resource=projects/*/instances/*}:setIamPolicy"
- body: "*"
- };
- option (google.api.method_signature) = "resource,policy";
- }
-
- // Gets the access control policy for an instance resource. Returns an empty
- // policy if an instance exists but does not have a policy set.
- //
- // Authorization requires `spanner.instances.getIamPolicy` on
- // [resource][google.iam.v1.GetIamPolicyRequest.resource].
- rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest)
- returns (google.iam.v1.Policy) {
- option (google.api.http) = {
- post: "/v1/{resource=projects/*/instances/*}:getIamPolicy"
- body: "*"
- };
- option (google.api.method_signature) = "resource";
- }
-
- // Returns permissions that the caller has on the specified instance resource.
- //
- // Attempting this RPC on a non-existent Cloud Spanner instance resource will
- // result in a NOT_FOUND error if the user has `spanner.instances.list`
- // permission on the containing Google Cloud Project. Otherwise returns an
- // empty set of permissions.
- rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest)
- returns (google.iam.v1.TestIamPermissionsResponse) {
- option (google.api.http) = {
- post: "/v1/{resource=projects/*/instances/*}:testIamPermissions"
- body: "*"
- };
- option (google.api.method_signature) = "resource,permissions";
- }
-}
-
-message ReplicaInfo {
- // Indicates the type of replica. See the [replica types
- // documentation](https://cloud.google.com/spanner/docs/replication#replica_types)
- // for more details.
- enum ReplicaType {
- // Not specified.
- TYPE_UNSPECIFIED = 0;
-
- // Read-write replicas support both reads and writes. These replicas:
- //
- // * Maintain a full copy of your data.
- // * Serve reads.
- // * Can vote whether to commit a write.
- // * Participate in leadership election.
- // * Are eligible to become a leader.
- READ_WRITE = 1;
-
- // Read-only replicas only support reads (not writes). Read-only replicas:
- //
- // * Maintain a full copy of your data.
- // * Serve reads.
- // * Do not participate in voting to commit writes.
- // * Are not eligible to become a leader.
- READ_ONLY = 2;
-
- // Witness replicas don't support reads but do participate in voting to
- // commit writes. Witness replicas:
- //
- // * Do not maintain a full copy of data.
- // * Do not serve reads.
- // * Vote whether to commit writes.
- // * Participate in leader election but are not eligible to become leader.
- WITNESS = 3;
- }
-
- // The location of the serving resources, e.g. "us-central1".
- string location = 1;
-
- // The type of replica.
- ReplicaType type = 2;
-
- // If true, this location is designated as the default leader location where
- // leader replicas are placed. See the [region types
- // documentation](https://cloud.google.com/spanner/docs/instances#region_types)
- // for more details.
- bool default_leader_location = 3;
-}
-
-// A possible configuration for a Cloud Spanner instance. Configurations
-// define the geographic placement of nodes and their replication.
-message InstanceConfig {
- option (google.api.resource) = {
- type: "spanner.googleapis.com/InstanceConfig"
- pattern: "projects/{project}/instanceConfigs/{instance_config}"
- };
-
- // The type of this configuration.
- enum Type {
- // Unspecified.
- TYPE_UNSPECIFIED = 0;
-
- // Google managed configuration.
- GOOGLE_MANAGED = 1;
-
- // User managed configuration.
- USER_MANAGED = 2;
- }
-
- // Indicates the current state of the instance config.
- enum State {
- // Not specified.
- STATE_UNSPECIFIED = 0;
-
- // The instance config is still being created.
- CREATING = 1;
-
- // The instance config is fully created and ready to be used to create
- // instances.
- READY = 2;
- }
-
- // A unique identifier for the instance configuration. Values
- // are of the form
- // `projects/<project>/instanceConfigs/[a-z][-a-z0-9]*`.
- string name = 1;
-
- // The name of this instance configuration as it appears in UIs.
- string display_name = 2;
-
- // Output only. Whether this instance config is a Google or User Managed
- // Configuration.
- Type config_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
-
- // The geographic placement of nodes in this instance configuration and their
- // replication properties.
- repeated ReplicaInfo replicas = 3;
-
- // Output only. The available optional replicas to choose from for user
- // managed configurations. Populated for Google managed configurations.
- repeated ReplicaInfo optional_replicas = 6
- [(google.api.field_behavior) = OUTPUT_ONLY];
-
- // Base configuration name, e.g. projects/<project_name>/instanceConfigs/nam3,
- // based on which this configuration is created. Only set for user managed
- // configurations. `base_config` must refer to a configuration of type
- // GOOGLE_MANAGED in the same project as this configuration.
- string base_config = 7 [(google.api.resource_reference) = {
- type: "spanner.googleapis.com/InstanceConfig"
- }];
-
- // Cloud Labels are a flexible and lightweight mechanism for organizing cloud
- // resources into groups that reflect a customer's organizational needs and
- // deployment strategies. Cloud Labels can be used to filter collections of
- // resources. They can be used to control how resource metrics are aggregated.
- // And they can be used as arguments to policy management rules (e.g. route,
- // firewall, load balancing, etc.).
- //
- // * Label keys must be between 1 and 63 characters long and must conform to
- // the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
- // * Label values must be between 0 and 63 characters long and must conform
- // to the regular expression `[a-z0-9_-]{0,63}`.
- // * No more than 64 labels can be associated with a given resource.
- //
- // See https://goo.gl/xmQnxf for more information on and examples of labels.
- //
- // If you plan to use labels in your own code, please note that additional
- // characters may be allowed in the future. Therefore, you are advised to use
- // an internal label representation, such as JSON, which doesn't rely upon
- // specific characters being disallowed. For example, representing labels
- // as the string: name + "_" + value would prove problematic if we were to
- // allow "_" in a future release.
- map<string, string> labels = 8;
-
- // etag is used for optimistic concurrency control as a way
- // to help prevent simultaneous updates of a instance config from overwriting
- // each other. It is strongly suggested that systems make use of the etag in
- // the read-modify-write cycle to perform instance config updates in order to
- // avoid race conditions: An etag is returned in the response which contains
- // instance configs, and systems are expected to put that etag in the request
- // to update instance config to ensure that their change will be applied to
- // the same version of the instance config.
- // If no etag is provided in the call to update instance config, then the
- // existing instance config is overwritten blindly.
- string etag = 9;
-
- // Allowed values of the "default_leader" schema option for databases in
- // instances that use this instance configuration.
- repeated string leader_options = 4;
-
- // Output only. If true, the instance config is being created or updated. If
- // false, there are no ongoing operations for the instance config.
- bool reconciling = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
-
- // Output only. The current instance config state.
- State state = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
-}
-
-// An isolated set of Cloud Spanner resources on which databases can be hosted.
-message Instance {
- option (google.api.resource) = {
- type: "spanner.googleapis.com/Instance"
- pattern: "projects/{project}/instances/{instance}"
- };
-
- // Indicates the current state of the instance.
- enum State {
- // Not specified.
- STATE_UNSPECIFIED = 0;
-
- // The instance is still being created. Resources may not be
- // available yet, and operations such as database creation may not
- // work.
- CREATING = 1;
-
- // The instance is fully created and ready to do work such as
- // creating databases.
- READY = 2;
- }
-
- // Required. A unique identifier for the instance, which cannot be changed
- // after the instance is created. Values are of the form
- // `projects/<project>/instances/[a-z][-a-z0-9]*[a-z0-9]`. The final
- // segment of the name must be between 2 and 64 characters in length.
- string name = 1 [(google.api.field_behavior) = REQUIRED];
-
- // Required. The name of the instance's configuration. Values are of the form
- // `projects/<project>/instanceConfigs/<configuration>`. See
- // also [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] and
- // [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs].
- string config = 2 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "spanner.googleapis.com/InstanceConfig"
- }
- ];
-
- // Required. The descriptive name for this instance as it appears in UIs.
- // Must be unique per project and between 4 and 30 characters in length.
- string display_name = 3 [(google.api.field_behavior) = REQUIRED];
-
- // The number of nodes allocated to this instance. At most one of either
- // node_count or processing_units should be present in the message. This
- // may be zero in API responses for instances that are not yet in state
- // `READY`.
- //
- // See [the
- // documentation](https://cloud.google.com/spanner/docs/compute-capacity)
- // for more information about nodes and processing units.
- int32 node_count = 5;
-
- // The number of processing units allocated to this instance. At most one of
- // processing_units or node_count should be present in the message. This may
- // be zero in API responses for instances that are not yet in state `READY`.
- //
- // See [the
- // documentation](https://cloud.google.com/spanner/docs/compute-capacity)
- // for more information about nodes and processing units.
- int32 processing_units = 9;
-
- // Output only. The current instance state. For
- // [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance],
- // the state must be either omitted or set to `CREATING`. For
- // [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance],
- // the state must be either omitted or set to `READY`.
- State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
-
- // Cloud Labels are a flexible and lightweight mechanism for organizing cloud
- // resources into groups that reflect a customer's organizational needs and
- // deployment strategies. Cloud Labels can be used to filter collections of
- // resources. They can be used to control how resource metrics are aggregated.
- // And they can be used as arguments to policy management rules (e.g. route,
- // firewall, load balancing, etc.).
- //
- // * Label keys must be between 1 and 63 characters long and must conform to
- // the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
- // * Label values must be between 0 and 63 characters long and must conform
- // to the regular expression `[a-z0-9_-]{0,63}`.
- // * No more than 64 labels can be associated with a given resource.
- //
- // See https://goo.gl/xmQnxf for more information on and examples of labels.
- //
- // If you plan to use labels in your own code, please note that additional
- // characters may be allowed in the future. And so you are advised to use an
- // internal label representation, such as JSON, which doesn't rely upon
- // specific characters being disallowed. For example, representing labels
- // as the string: name + "_" + value would prove problematic if we were to
- // allow "_" in a future release.
- map<string, string> labels = 7;
-
- // Deprecated. This field is not populated.
- repeated string endpoint_uris = 8;
-
- // Output only. The time at which the instance was created.
- google.protobuf.Timestamp create_time = 11
- [(google.api.field_behavior) = OUTPUT_ONLY];
-
- // Output only. The time at which the instance was most recently updated.
- google.protobuf.Timestamp update_time = 12
- [(google.api.field_behavior) = OUTPUT_ONLY];
-}
-
-// The request for
-// [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs].
-message ListInstanceConfigsRequest {
- // Required. The name of the project for which a list of supported instance
- // configurations is requested. Values are of the form
- // `projects/<project>`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "cloudresourcemanager.googleapis.com/Project"
- }
- ];
-
- // Number of instance configurations to be returned in the response. If 0 or
- // less, defaults to the server's maximum allowed page size.
- int32 page_size = 2;
-
- // If non-empty, `page_token` should contain a
- // [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigsResponse.next_page_token]
- // from a previous
- // [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
- string page_token = 3;
-}
-
-// The response for
-// [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs].
-message ListInstanceConfigsResponse {
- // The list of requested instance configurations.
- repeated InstanceConfig instance_configs = 1;
-
- // `next_page_token` can be sent in a subsequent
- // [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs]
- // call to fetch more of the matching instance configurations.
- string next_page_token = 2;
-}
-
-// The request for
-// [GetInstanceConfigRequest][google.spanner.admin.instance.v1.InstanceAdmin.GetInstanceConfig].
-message GetInstanceConfigRequest {
- // Required. The name of the requested instance configuration. Values are of
- // the form `projects/<project>/instanceConfigs/<config>`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "spanner.googleapis.com/InstanceConfig"
- }
- ];
-}
-
-// The request for
-// [CreateInstanceConfigRequest][InstanceAdmin.CreateInstanceConfigRequest].
-message CreateInstanceConfigRequest {
- // Required. The name of the project in which to create the instance config.
- // Values are of the form `projects/<project>`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "cloudresourcemanager.googleapis.com/Project"
- }
- ];
-
- // Required. The ID of the instance config to create. Valid identifiers are
- // of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64
- // characters in length. The `custom-` prefix is required to avoid name
- // conflicts with Google managed configurations.
- string instance_config_id = 2 [(google.api.field_behavior) = REQUIRED];
-
- // Required. The InstanceConfig proto of the configuration to create.
- // instance_config.name must be
- // `<parent>/instanceConfigs/<instance_config_id>`.
- // instance_config.base_config must be a Google managed configuration name,
- // e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
- InstanceConfig instance_config = 3 [(google.api.field_behavior) = REQUIRED];
-
- // An option to validate, but not actually execute, a request,
- // and provide the same response.
- bool validate_only = 4;
-}
-
-// The request for
-// [UpdateInstanceConfigRequest][InstanceAdmin.UpdateInstanceConfigRequest].
-message UpdateInstanceConfigRequest {
- // Required. The user instance config to update, which must always include the
- // instance config name. Otherwise, only fields mentioned in
- // [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask]
- // need be included. To prevent conflicts of concurrent updates,
- // [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can
- // be used.
- InstanceConfig instance_config = 1 [(google.api.field_behavior) = REQUIRED];
-
- // Required. A mask specifying which fields in
- // [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be
- // updated. The field mask must always be specified; this prevents any future
- // fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig]
- // from being erased accidentally by clients that do not know about them. Only
- // display_name and labels can be updated.
- google.protobuf.FieldMask update_mask = 2
- [(google.api.field_behavior) = REQUIRED];
-
- // An option to validate, but not actually execute, a request,
- // and provide the same response.
- bool validate_only = 3;
-}
-
-// The request for
-// [DeleteInstanceConfigRequest][InstanceAdmin.DeleteInstanceConfigRequest].
-message DeleteInstanceConfigRequest {
- // Required. The name of the instance configuration to be deleted.
- // Values are of the form
- // `projects/<project>/instanceConfigs/<instance_config>`
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "spanner.googleapis.com/InstanceConfig"
- }
- ];
-
- // Used for optimistic concurrency control as a way to help prevent
- // simultaneous deletes of an instance config from overwriting each
- // other. If not empty, the API
- // only deletes the instance config when the etag provided matches the current
- // status of the requested instance config. Otherwise, deletes the instance
- // config without checking the current status of the requested instance
- // config.
- string etag = 2;
-
- // An option to validate, but not actually execute, a request,
- // and provide the same response.
- bool validate_only = 3;
-}
-
-// The request for
-// [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations].
-message ListInstanceConfigOperationsRequest {
- // Required. The project of the instance config operations.
- // Values are of the form `projects/<project>`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "cloudresourcemanager.googleapis.com/Project"
- }
- ];
-
- // An expression that filters the list of returned operations.
- //
- // A filter expression consists of a field name, a
- // comparison operator, and a value for filtering.
- // The value must be a string, a number, or a boolean. The comparison operator
- // must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
- // Colon `:` is the contains operator. Filter rules are not case sensitive.
- //
- // The following fields in the [Operation][google.longrunning.Operation]
- // are eligible for filtering:
- //
- // * `name` - The name of the long-running operation
- // * `done` - False if the operation is in progress, else true.
- // * `metadata.@type` - the type of metadata. For example, the type string
- // for
- // [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]
- // is
- // `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`.
- // * `metadata.<field_name>` - any field in metadata.value.
- // `metadata.@type` must be specified first, if filtering on metadata
- // fields.
- // * `error` - Error associated with the long-running operation.
- // * `response.@type` - the type of response.
- // * `response.<field_name>` - any field in response.value.
- //
- // You can combine multiple expressions by enclosing each expression in
- // parentheses. By default, expressions are combined with AND logic. However,
- // you can specify AND, OR, and NOT logic explicitly.
- //
- // Here are a few examples:
- //
- // * `done:true` - The operation is complete.
- // * `(metadata.@type=` \
- // `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
- // AND` \
- // `(metadata.instance_config.name:custom-config) AND` \
- // `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \
- // `(error:*)` - Return operations where:
- // * The operation's metadata type is
- // [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata].
- // * The instance config name contains "custom-config".
- // * The operation started before 2021-03-28T14:50:00Z.
- // * The operation resulted in an error.
- string filter = 2;
-
- // Number of operations to be returned in the response. If 0 or
- // less, defaults to the server's maximum allowed page size.
- int32 page_size = 3;
-
- // If non-empty, `page_token` should contain a
- // [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.next_page_token]
- // from a previous
- // [ListInstanceConfigOperationsResponse][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse]
- // to the same `parent` and with the same `filter`.
- string page_token = 4;
-}
-
-// The response for
-// [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations].
-message ListInstanceConfigOperationsResponse {
- // The list of matching instance config [long-running
- // operations][google.longrunning.Operation]. Each operation's name will be
- // prefixed by the instance config's name. The operation's
- // [metadata][google.longrunning.Operation.metadata] field type
- // `metadata.type_url` describes the type of the metadata.
- repeated google.longrunning.Operation operations = 1;
-
- // `next_page_token` can be sent in a subsequent
- // [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations]
- // call to fetch more of the matching metadata.
- string next_page_token = 2;
-}
-
-// The request for
-// [GetInstance][google.spanner.admin.instance.v1.InstanceAdmin.GetInstance].
-message GetInstanceRequest {
- // Required. The name of the requested instance. Values are of the form
- // `projects/<project>/instances/<instance>`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "spanner.googleapis.com/Instance"
- }
- ];
-
- // If field_mask is present, specifies the subset of
- // [Instance][google.spanner.admin.instance.v1.Instance] fields that should be
- // returned. If absent, all
- // [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
- google.protobuf.FieldMask field_mask = 2;
-}
-
-// The request for
-// [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance].
-message CreateInstanceRequest {
- // Required. The name of the project in which to create the instance. Values
- // are of the form `projects/<project>`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "cloudresourcemanager.googleapis.com/Project"
- }
- ];
-
- // Required. The ID of the instance to create. Valid identifiers are of the
- // form `[a-z][-a-z0-9]*[a-z0-9]` and must be between 2 and 64 characters in
- // length.
- string instance_id = 2 [(google.api.field_behavior) = REQUIRED];
-
- // Required. The instance to create. The name may be omitted, but if
- // specified must be `<parent>/instances/<instance_id>`.
- Instance instance = 3 [(google.api.field_behavior) = REQUIRED];
-}
-
-// The request for
-// [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances].
-message ListInstancesRequest {
- // Required. The name of the project for which a list of instances is
- // requested. Values are of the form `projects/<project>`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "cloudresourcemanager.googleapis.com/Project"
- }
- ];
-
- // Number of instances to be returned in the response. If 0 or less, defaults
- // to the server's maximum allowed page size.
- int32 page_size = 2;
-
- // If non-empty, `page_token` should contain a
- // [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token]
- // from a previous
- // [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
- string page_token = 3;
-
- // An expression for filtering the results of the request. Filter rules are
- // case insensitive. The fields eligible for filtering are:
- //
- // * `name`
- // * `display_name`
- // * `labels.key` where key is the name of a label
- //
- // Some examples of using filters are:
- //
- // * `name:*` --> The instance has a name.
- // * `name:Howl` --> The instance's name contains the string "howl".
- // * `name:HOWL` --> Equivalent to above.
- // * `NAME:howl` --> Equivalent to above.
- // * `labels.env:*` --> The instance has the label "env".
- // * `labels.env:dev` --> The instance has the label "env" and the value of
- // the label contains the string "dev".
- // * `name:howl labels.env:dev` --> The instance's name contains "howl" and
- // it has the label "env" with its value
- // containing "dev".
- string filter = 4;
-}
-
-// The response for
-// [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances].
-message ListInstancesResponse {
- // The list of requested instances.
- repeated Instance instances = 1;
-
- // `next_page_token` can be sent in a subsequent
- // [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances]
- // call to fetch more of the matching instances.
- string next_page_token = 2;
-}
-
-// The request for
-// [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance].
-message UpdateInstanceRequest {
- // Required. The instance to update, which must always include the instance
- // name. Otherwise, only fields mentioned in
- // [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask]
- // need be included.
- Instance instance = 1 [(google.api.field_behavior) = REQUIRED];
-
- // Required. A mask specifying which fields in
- // [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
- // The field mask must always be specified; this prevents any future fields in
- // [Instance][google.spanner.admin.instance.v1.Instance] from being erased
- // accidentally by clients that do not know about them.
- google.protobuf.FieldMask field_mask = 2
- [(google.api.field_behavior) = REQUIRED];
-}
-
-// The request for
-// [DeleteInstance][google.spanner.admin.instance.v1.InstanceAdmin.DeleteInstance].
-message DeleteInstanceRequest {
- // Required. The name of the instance to be deleted. Values are of the form
- // `projects/<project>/instances/<instance>`
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "spanner.googleapis.com/Instance"
- }
- ];
-}
-
-// Metadata type for the operation returned by
-// [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance].
-message CreateInstanceMetadata {
- // The instance being created.
- Instance instance = 1;
-
- // The time at which the
- // [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]
- // request was received.
- google.protobuf.Timestamp start_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 end_time = 4;
-}
-
-// Metadata type for the operation returned by
-// [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance].
-message UpdateInstanceMetadata {
- // The desired end state of the update.
- Instance instance = 1;
-
- // The time at which
- // [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
- // request was received.
- google.protobuf.Timestamp start_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 end_time = 4;
-}
-
-// Metadata type for the operation returned by
-// [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig].
-message CreateInstanceConfigMetadata {
- // The target instance config end state.
- InstanceConfig instance_config = 1;
-
- // The progress of the
- // [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]
- // operation.
- OperationProgress progress = 2;
-
- // The time at which this operation was cancelled.
- google.protobuf.Timestamp cancel_time = 3;
-}
-
-// Metadata type for the operation returned by
-// [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig].
-message UpdateInstanceConfigMetadata {
- // The desired instance config after updating.
- InstanceConfig instance_config = 1;
-
- // The progress of the
- // [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]
- // operation.
- OperationProgress progress = 2;
-
- // The time at which this operation was cancelled.
- google.protobuf.Timestamp cancel_time = 3;
-}