diff --git a/.github/.OwlBot.yaml b/.github/.OwlBot.yaml index 5db16e2a9d..8cafb7e874 100644 --- a/.github/.OwlBot.yaml +++ b/.github/.OwlBot.yaml @@ -21,10 +21,18 @@ deep-remove-regex: deep-copy-regex: - source: /google/spanner/(v.*)/.*-py/(.*) dest: /owl-bot-staging/spanner/$1/$2 + - source: /google/spanner/(v.*)/.*-pb2-py/(commit_response.*|keys.*|mutation.*|query_plan.*|result_set.*|spanner.*|transaction.*|type.*) + dest: /owl-bot-staging/spanner_pb2/$1/$2 - source: /google/spanner/admin/instance/(v.*)/.*-py/(.*) dest: /owl-bot-staging/spanner_admin_instance/$1/$2 + - source: /google/spanner/admin/instance/(v.*)/.*-pb2-py/(common.*|spanner_instance_admin.*) + dest: /owl-bot-staging/spanner_admin_instance_pb2/$1/$2 - source: /google/spanner/admin/database/(v.*)/.*-py/(.*) dest: /owl-bot-staging/spanner_admin_database/$1/$2 + - source: /google/spanner/admin/database/(v.*)/.*-pb2-py/(common.*|backup.*|spanner_database_admin.*) + dest: /owl-bot-staging/spanner_admin_database_pb2/$1/$2 + - source: /google/spanner/executor/(v.*)/.*-pb2-py/(cloud_executor.*) + dest: /owl-bot-staging/spanner_executor_pb2/$1/$2 begin-after-commit-hash: b154da710c5c9eedee127c07f74b6158c9c22382 diff --git a/owlbot.py b/owlbot.py index 4ef3686ce8..b61b9c9cb3 100644 --- a/owlbot.py +++ b/owlbot.py @@ -118,6 +118,26 @@ def get_staging_dirs( excludes=["google/cloud/spanner_admin_database/**", "*.*", "docs/index.rst", "**/gapic_version.py", "testing/constraints-3.7.txt",], ) +for library in get_staging_dirs(default_version="None", + sub_directory="spanner_executor_pb2" +): + s.move(library, "test_proxy/protos/google/spanner/executor/v1") + +for library in get_staging_dirs(default_version="None", + sub_directory="spanner_pb2" +): + s.move(library, "test_proxy/protos/google/spanner/v1") + +for library in get_staging_dirs(default_version="None", + sub_directory="spanner_admin_database_pb2" +): + s.move(library, "test_proxy/protos/google/spanner/admin/database/v1") + +for library in get_staging_dirs(default_version="None", + sub_directory="spanner_admin_instance_pb2" +): + s.move(library, "test_proxy/protos/google/spanner/admin/instance/v1") + s.remove_staging_dirs() # ---------------------------------------------------------------------------- diff --git a/test_proxy/protos/cloud_executor_server.py b/test_proxy/protos/cloud_executor_server.py new file mode 100644 index 0000000000..00b46523de --- /dev/null +++ b/test_proxy/protos/cloud_executor_server.py @@ -0,0 +1,47 @@ +# Copyright 2015 gRPC authors. +# +# 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. +"""The Python implementation of the GRPC helloworld.Greeter server.""" + +from concurrent import futures +import logging + +import grpc +from google.spanner.executor.v1 import cloud_executor_pb2 +from google.spanner.executor.v1 import cloud_executor_pb2_grpc +from google.cloud.spanner import Client + + +class TestProxyServer(cloud_executor_pb2_grpc.SpannerExecutorProxyServicer): + def ExecuteActionAsync(self, request, context): + print("Execute action async") + print(f"{request=}") + client = Client() + # TODO: Replace with correct client code + client.list_instances() + # TODO: Do something with the request + yield cloud_executor_pb2.SpannerAsyncActionResponse() + +def serve(): + port = '50055' + server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) + cloud_executor_pb2_grpc.add_SpannerExecutorProxyServicer_to_server(TestProxyServer(), server) + server.add_insecure_port('[::]:' + port) + server.start() + print("Server started, listening on " + port) + server.wait_for_termination() + + +if __name__ == '__main__': + logging.basicConfig() + serve() diff --git a/test_proxy/protos/google/spanner/admin/database/v1/backup_pb2.py b/test_proxy/protos/google/spanner/admin/database/v1/backup_pb2.py new file mode 100644 index 0000000000..0ba5362305 --- /dev/null +++ b/test_proxy/protos/google/spanner/admin/database/v1/backup_pb2.py @@ -0,0 +1,143 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/spanner/admin/database/v1/backup.proto +# Protobuf Python Version: 4.25.3 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 +from google.api import resource_pb2 as google_dot_api_dot_resource__pb2 +from google.longrunning import operations_pb2 as google_dot_longrunning_dot_operations__pb2 +from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.spanner.admin.database.v1 import common_pb2 as google_dot_spanner_dot_admin_dot_database_dot_v1_dot_common__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-google/spanner/admin/database/v1/backup.proto\x12 google.spanner.admin.database.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a-google/spanner/admin/database/v1/common.proto\"\x9a\x07\n\x06\x42\x61\x63kup\x12\x36\n\x08\x64\x61tabase\x18\x02 \x01(\tB$\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x30\n\x0cversion_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x65xpire_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x17\n\nsize_bytes\x18\x05 \x01(\x03\x42\x03\xe0\x41\x03\x12\x42\n\x05state\x18\x06 \x01(\x0e\x32..google.spanner.admin.database.v1.Backup.StateB\x03\xe0\x41\x03\x12\x46\n\x15referencing_databases\x18\x07 \x03(\tB\'\xe0\x41\x03\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12N\n\x0f\x65ncryption_info\x18\x08 \x01(\x0b\x32\x30.google.spanner.admin.database.v1.EncryptionInfoB\x03\xe0\x41\x03\x12U\n\x16\x65ncryption_information\x18\r \x03(\x0b\x32\x30.google.spanner.admin.database.v1.EncryptionInfoB\x03\xe0\x41\x03\x12P\n\x10\x64\x61tabase_dialect\x18\n \x01(\x0e\x32\x31.google.spanner.admin.database.v1.DatabaseDialectB\x03\xe0\x41\x03\x12\x42\n\x13referencing_backups\x18\x0b \x03(\tB%\xe0\x41\x03\xfa\x41\x1f\n\x1dspanner.googleapis.com/Backup\x12\x38\n\x0fmax_expire_time\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"7\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\t\n\x05READY\x10\x02:\\\xea\x41Y\n\x1dspanner.googleapis.com/Backup\x12\x38projects/{project}/instances/{instance}/backups/{backup}\"\x85\x02\n\x13\x43reateBackupRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x16\n\tbackup_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12=\n\x06\x62\x61\x63kup\x18\x03 \x01(\x0b\x32(.google.spanner.admin.database.v1.BackupB\x03\xe0\x41\x02\x12^\n\x11\x65ncryption_config\x18\x04 \x01(\x0b\x32>.google.spanner.admin.database.v1.CreateBackupEncryptionConfigB\x03\xe0\x41\x01\"\xf8\x01\n\x14\x43reateBackupMetadata\x12\x30\n\x04name\x18\x01 \x01(\tB\"\xfa\x41\x1f\n\x1dspanner.googleapis.com/Backup\x12\x36\n\x08\x64\x61tabase\x18\x02 \x01(\tB$\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x45\n\x08progress\x18\x03 \x01(\x0b\x32\x33.google.spanner.admin.database.v1.OperationProgress\x12/\n\x0b\x63\x61ncel_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xb6\x02\n\x11\x43opyBackupRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x16\n\tbackup_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12<\n\rsource_backup\x18\x03 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dspanner.googleapis.com/Backup\x12\x34\n\x0b\x65xpire_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02\x12\\\n\x11\x65ncryption_config\x18\x05 \x01(\x0b\x32<.google.spanner.admin.database.v1.CopyBackupEncryptionConfigB\x03\xe0\x41\x01\"\xf9\x01\n\x12\x43opyBackupMetadata\x12\x30\n\x04name\x18\x01 \x01(\tB\"\xfa\x41\x1f\n\x1dspanner.googleapis.com/Backup\x12\x39\n\rsource_backup\x18\x02 \x01(\tB\"\xfa\x41\x1f\n\x1dspanner.googleapis.com/Backup\x12\x45\n\x08progress\x18\x03 \x01(\x0b\x32\x33.google.spanner.admin.database.v1.OperationProgress\x12/\n\x0b\x63\x61ncel_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x8a\x01\n\x13UpdateBackupRequest\x12=\n\x06\x62\x61\x63kup\x18\x01 \x01(\x0b\x32(.google.spanner.admin.database.v1.BackupB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"G\n\x10GetBackupRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dspanner.googleapis.com/Backup\"J\n\x13\x44\x65leteBackupRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dspanner.googleapis.com/Backup\"\x84\x01\n\x12ListBackupsRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"i\n\x13ListBackupsResponse\x12\x39\n\x07\x62\x61\x63kups\x18\x01 \x03(\x0b\x32(.google.spanner.admin.database.v1.Backup\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x8d\x01\n\x1bListBackupOperationsRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"j\n\x1cListBackupOperationsResponse\x12\x31\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.Operation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xe2\x01\n\nBackupInfo\x12\x32\n\x06\x62\x61\x63kup\x18\x01 \x01(\tB\"\xfa\x41\x1f\n\x1dspanner.googleapis.com/Backup\x12\x30\n\x0cversion_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\x0fsource_database\x18\x03 \x01(\tB$\xfa\x41!\n\x1fspanner.googleapis.com/Database\"\x9f\x03\n\x1c\x43reateBackupEncryptionConfig\x12k\n\x0f\x65ncryption_type\x18\x01 \x01(\x0e\x32M.google.spanner.admin.database.v1.CreateBackupEncryptionConfig.EncryptionTypeB\x03\xe0\x41\x02\x12?\n\x0ckms_key_name\x18\x02 \x01(\tB)\xe0\x41\x01\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12@\n\rkms_key_names\x18\x03 \x03(\tB)\xe0\x41\x01\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\"\x8e\x01\n\x0e\x45ncryptionType\x12\x1f\n\x1b\x45NCRYPTION_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17USE_DATABASE_ENCRYPTION\x10\x01\x12\x1d\n\x19GOOGLE_DEFAULT_ENCRYPTION\x10\x02\x12\x1f\n\x1b\x43USTOMER_MANAGED_ENCRYPTION\x10\x03\"\xab\x03\n\x1a\x43opyBackupEncryptionConfig\x12i\n\x0f\x65ncryption_type\x18\x01 \x01(\x0e\x32K.google.spanner.admin.database.v1.CopyBackupEncryptionConfig.EncryptionTypeB\x03\xe0\x41\x02\x12?\n\x0ckms_key_name\x18\x02 \x01(\tB)\xe0\x41\x01\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12@\n\rkms_key_names\x18\x03 \x03(\tB)\xe0\x41\x01\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\"\x9e\x01\n\x0e\x45ncryptionType\x12\x1f\n\x1b\x45NCRYPTION_TYPE_UNSPECIFIED\x10\x00\x12+\n\'USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION\x10\x01\x12\x1d\n\x19GOOGLE_DEFAULT_ENCRYPTION\x10\x02\x12\x1f\n\x1b\x43USTOMER_MANAGED_ENCRYPTION\x10\x03\x42\xfd\x01\n$com.google.spanner.admin.database.v1B\x0b\x42\x61\x63kupProtoP\x01ZFcloud.google.com/go/spanner/admin/database/apiv1/databasepb;databasepb\xaa\x02&Google.Cloud.Spanner.Admin.Database.V1\xca\x02&Google\\Cloud\\Spanner\\Admin\\Database\\V1\xea\x02+Google::Cloud::Spanner::Admin::Database::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.spanner.admin.database.v1.backup_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n$com.google.spanner.admin.database.v1B\013BackupProtoP\001ZFcloud.google.com/go/spanner/admin/database/apiv1/databasepb;databasepb\252\002&Google.Cloud.Spanner.Admin.Database.V1\312\002&Google\\Cloud\\Spanner\\Admin\\Database\\V1\352\002+Google::Cloud::Spanner::Admin::Database::V1' + _globals['_BACKUP'].fields_by_name['database']._options = None + _globals['_BACKUP'].fields_by_name['database']._serialized_options = b'\372A!\n\037spanner.googleapis.com/Database' + _globals['_BACKUP'].fields_by_name['create_time']._options = None + _globals['_BACKUP'].fields_by_name['create_time']._serialized_options = b'\340A\003' + _globals['_BACKUP'].fields_by_name['size_bytes']._options = None + _globals['_BACKUP'].fields_by_name['size_bytes']._serialized_options = b'\340A\003' + _globals['_BACKUP'].fields_by_name['state']._options = None + _globals['_BACKUP'].fields_by_name['state']._serialized_options = b'\340A\003' + _globals['_BACKUP'].fields_by_name['referencing_databases']._options = None + _globals['_BACKUP'].fields_by_name['referencing_databases']._serialized_options = b'\340A\003\372A!\n\037spanner.googleapis.com/Database' + _globals['_BACKUP'].fields_by_name['encryption_info']._options = None + _globals['_BACKUP'].fields_by_name['encryption_info']._serialized_options = b'\340A\003' + _globals['_BACKUP'].fields_by_name['encryption_information']._options = None + _globals['_BACKUP'].fields_by_name['encryption_information']._serialized_options = b'\340A\003' + _globals['_BACKUP'].fields_by_name['database_dialect']._options = None + _globals['_BACKUP'].fields_by_name['database_dialect']._serialized_options = b'\340A\003' + _globals['_BACKUP'].fields_by_name['referencing_backups']._options = None + _globals['_BACKUP'].fields_by_name['referencing_backups']._serialized_options = b'\340A\003\372A\037\n\035spanner.googleapis.com/Backup' + _globals['_BACKUP'].fields_by_name['max_expire_time']._options = None + _globals['_BACKUP'].fields_by_name['max_expire_time']._serialized_options = b'\340A\003' + _globals['_BACKUP']._options = None + _globals['_BACKUP']._serialized_options = b'\352AY\n\035spanner.googleapis.com/Backup\0228projects/{project}/instances/{instance}/backups/{backup}' + _globals['_CREATEBACKUPREQUEST'].fields_by_name['parent']._options = None + _globals['_CREATEBACKUPREQUEST'].fields_by_name['parent']._serialized_options = b'\340A\002\372A!\n\037spanner.googleapis.com/Instance' + _globals['_CREATEBACKUPREQUEST'].fields_by_name['backup_id']._options = None + _globals['_CREATEBACKUPREQUEST'].fields_by_name['backup_id']._serialized_options = b'\340A\002' + _globals['_CREATEBACKUPREQUEST'].fields_by_name['backup']._options = None + _globals['_CREATEBACKUPREQUEST'].fields_by_name['backup']._serialized_options = b'\340A\002' + _globals['_CREATEBACKUPREQUEST'].fields_by_name['encryption_config']._options = None + _globals['_CREATEBACKUPREQUEST'].fields_by_name['encryption_config']._serialized_options = b'\340A\001' + _globals['_CREATEBACKUPMETADATA'].fields_by_name['name']._options = None + _globals['_CREATEBACKUPMETADATA'].fields_by_name['name']._serialized_options = b'\372A\037\n\035spanner.googleapis.com/Backup' + _globals['_CREATEBACKUPMETADATA'].fields_by_name['database']._options = None + _globals['_CREATEBACKUPMETADATA'].fields_by_name['database']._serialized_options = b'\372A!\n\037spanner.googleapis.com/Database' + _globals['_COPYBACKUPREQUEST'].fields_by_name['parent']._options = None + _globals['_COPYBACKUPREQUEST'].fields_by_name['parent']._serialized_options = b'\340A\002\372A!\n\037spanner.googleapis.com/Instance' + _globals['_COPYBACKUPREQUEST'].fields_by_name['backup_id']._options = None + _globals['_COPYBACKUPREQUEST'].fields_by_name['backup_id']._serialized_options = b'\340A\002' + _globals['_COPYBACKUPREQUEST'].fields_by_name['source_backup']._options = None + _globals['_COPYBACKUPREQUEST'].fields_by_name['source_backup']._serialized_options = b'\340A\002\372A\037\n\035spanner.googleapis.com/Backup' + _globals['_COPYBACKUPREQUEST'].fields_by_name['expire_time']._options = None + _globals['_COPYBACKUPREQUEST'].fields_by_name['expire_time']._serialized_options = b'\340A\002' + _globals['_COPYBACKUPREQUEST'].fields_by_name['encryption_config']._options = None + _globals['_COPYBACKUPREQUEST'].fields_by_name['encryption_config']._serialized_options = b'\340A\001' + _globals['_COPYBACKUPMETADATA'].fields_by_name['name']._options = None + _globals['_COPYBACKUPMETADATA'].fields_by_name['name']._serialized_options = b'\372A\037\n\035spanner.googleapis.com/Backup' + _globals['_COPYBACKUPMETADATA'].fields_by_name['source_backup']._options = None + _globals['_COPYBACKUPMETADATA'].fields_by_name['source_backup']._serialized_options = b'\372A\037\n\035spanner.googleapis.com/Backup' + _globals['_UPDATEBACKUPREQUEST'].fields_by_name['backup']._options = None + _globals['_UPDATEBACKUPREQUEST'].fields_by_name['backup']._serialized_options = b'\340A\002' + _globals['_UPDATEBACKUPREQUEST'].fields_by_name['update_mask']._options = None + _globals['_UPDATEBACKUPREQUEST'].fields_by_name['update_mask']._serialized_options = b'\340A\002' + _globals['_GETBACKUPREQUEST'].fields_by_name['name']._options = None + _globals['_GETBACKUPREQUEST'].fields_by_name['name']._serialized_options = b'\340A\002\372A\037\n\035spanner.googleapis.com/Backup' + _globals['_DELETEBACKUPREQUEST'].fields_by_name['name']._options = None + _globals['_DELETEBACKUPREQUEST'].fields_by_name['name']._serialized_options = b'\340A\002\372A\037\n\035spanner.googleapis.com/Backup' + _globals['_LISTBACKUPSREQUEST'].fields_by_name['parent']._options = None + _globals['_LISTBACKUPSREQUEST'].fields_by_name['parent']._serialized_options = b'\340A\002\372A!\n\037spanner.googleapis.com/Instance' + _globals['_LISTBACKUPOPERATIONSREQUEST'].fields_by_name['parent']._options = None + _globals['_LISTBACKUPOPERATIONSREQUEST'].fields_by_name['parent']._serialized_options = b'\340A\002\372A!\n\037spanner.googleapis.com/Instance' + _globals['_BACKUPINFO'].fields_by_name['backup']._options = None + _globals['_BACKUPINFO'].fields_by_name['backup']._serialized_options = b'\372A\037\n\035spanner.googleapis.com/Backup' + _globals['_BACKUPINFO'].fields_by_name['source_database']._options = None + _globals['_BACKUPINFO'].fields_by_name['source_database']._serialized_options = b'\372A!\n\037spanner.googleapis.com/Database' + _globals['_CREATEBACKUPENCRYPTIONCONFIG'].fields_by_name['encryption_type']._options = None + _globals['_CREATEBACKUPENCRYPTIONCONFIG'].fields_by_name['encryption_type']._serialized_options = b'\340A\002' + _globals['_CREATEBACKUPENCRYPTIONCONFIG'].fields_by_name['kms_key_name']._options = None + _globals['_CREATEBACKUPENCRYPTIONCONFIG'].fields_by_name['kms_key_name']._serialized_options = b'\340A\001\372A#\n!cloudkms.googleapis.com/CryptoKey' + _globals['_CREATEBACKUPENCRYPTIONCONFIG'].fields_by_name['kms_key_names']._options = None + _globals['_CREATEBACKUPENCRYPTIONCONFIG'].fields_by_name['kms_key_names']._serialized_options = b'\340A\001\372A#\n!cloudkms.googleapis.com/CryptoKey' + _globals['_COPYBACKUPENCRYPTIONCONFIG'].fields_by_name['encryption_type']._options = None + _globals['_COPYBACKUPENCRYPTIONCONFIG'].fields_by_name['encryption_type']._serialized_options = b'\340A\002' + _globals['_COPYBACKUPENCRYPTIONCONFIG'].fields_by_name['kms_key_name']._options = None + _globals['_COPYBACKUPENCRYPTIONCONFIG'].fields_by_name['kms_key_name']._serialized_options = b'\340A\001\372A#\n!cloudkms.googleapis.com/CryptoKey' + _globals['_COPYBACKUPENCRYPTIONCONFIG'].fields_by_name['kms_key_names']._options = None + _globals['_COPYBACKUPENCRYPTIONCONFIG'].fields_by_name['kms_key_names']._serialized_options = b'\340A\001\372A#\n!cloudkms.googleapis.com/CryptoKey' + _globals['_BACKUP']._serialized_start=295 + _globals['_BACKUP']._serialized_end=1217 + _globals['_BACKUP_STATE']._serialized_start=1068 + _globals['_BACKUP_STATE']._serialized_end=1123 + _globals['_CREATEBACKUPREQUEST']._serialized_start=1220 + _globals['_CREATEBACKUPREQUEST']._serialized_end=1481 + _globals['_CREATEBACKUPMETADATA']._serialized_start=1484 + _globals['_CREATEBACKUPMETADATA']._serialized_end=1732 + _globals['_COPYBACKUPREQUEST']._serialized_start=1735 + _globals['_COPYBACKUPREQUEST']._serialized_end=2045 + _globals['_COPYBACKUPMETADATA']._serialized_start=2048 + _globals['_COPYBACKUPMETADATA']._serialized_end=2297 + _globals['_UPDATEBACKUPREQUEST']._serialized_start=2300 + _globals['_UPDATEBACKUPREQUEST']._serialized_end=2438 + _globals['_GETBACKUPREQUEST']._serialized_start=2440 + _globals['_GETBACKUPREQUEST']._serialized_end=2511 + _globals['_DELETEBACKUPREQUEST']._serialized_start=2513 + _globals['_DELETEBACKUPREQUEST']._serialized_end=2587 + _globals['_LISTBACKUPSREQUEST']._serialized_start=2590 + _globals['_LISTBACKUPSREQUEST']._serialized_end=2722 + _globals['_LISTBACKUPSRESPONSE']._serialized_start=2724 + _globals['_LISTBACKUPSRESPONSE']._serialized_end=2829 + _globals['_LISTBACKUPOPERATIONSREQUEST']._serialized_start=2832 + _globals['_LISTBACKUPOPERATIONSREQUEST']._serialized_end=2973 + _globals['_LISTBACKUPOPERATIONSRESPONSE']._serialized_start=2975 + _globals['_LISTBACKUPOPERATIONSRESPONSE']._serialized_end=3081 + _globals['_BACKUPINFO']._serialized_start=3084 + _globals['_BACKUPINFO']._serialized_end=3310 + _globals['_CREATEBACKUPENCRYPTIONCONFIG']._serialized_start=3313 + _globals['_CREATEBACKUPENCRYPTIONCONFIG']._serialized_end=3728 + _globals['_CREATEBACKUPENCRYPTIONCONFIG_ENCRYPTIONTYPE']._serialized_start=3586 + _globals['_CREATEBACKUPENCRYPTIONCONFIG_ENCRYPTIONTYPE']._serialized_end=3728 + _globals['_COPYBACKUPENCRYPTIONCONFIG']._serialized_start=3731 + _globals['_COPYBACKUPENCRYPTIONCONFIG']._serialized_end=4158 + _globals['_COPYBACKUPENCRYPTIONCONFIG_ENCRYPTIONTYPE']._serialized_start=4000 + _globals['_COPYBACKUPENCRYPTIONCONFIG_ENCRYPTIONTYPE']._serialized_end=4158 +# @@protoc_insertion_point(module_scope) diff --git a/test_proxy/protos/google/spanner/admin/database/v1/backup_pb2_grpc.py b/test_proxy/protos/google/spanner/admin/database/v1/backup_pb2_grpc.py new file mode 100644 index 0000000000..2daafffebf --- /dev/null +++ b/test_proxy/protos/google/spanner/admin/database/v1/backup_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/test_proxy/protos/google/spanner/admin/database/v1/common_pb2.py b/test_proxy/protos/google/spanner/admin/database/v1/common_pb2.py new file mode 100644 index 0000000000..0cf0dae46e --- /dev/null +++ b/test_proxy/protos/google/spanner/admin/database/v1/common_pb2.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/spanner/admin/database/v1/common.proto +# Protobuf Python Version: 4.25.3 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 +from google.api import resource_pb2 as google_dot_api_dot_resource__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-google/spanner/admin/database/v1/common.proto\x12 google.spanner.admin.database.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\x8b\x01\n\x11OperationProgress\x12\x18\n\x10progress_percent\x18\x01 \x01(\x05\x12.\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x8f\x01\n\x10\x45ncryptionConfig\x12<\n\x0ckms_key_name\x18\x02 \x01(\tB&\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12=\n\rkms_key_names\x18\x03 \x03(\tB&\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\"\xc2\x02\n\x0e\x45ncryptionInfo\x12S\n\x0f\x65ncryption_type\x18\x03 \x01(\x0e\x32\x35.google.spanner.admin.database.v1.EncryptionInfo.TypeB\x03\xe0\x41\x03\x12\x32\n\x11\x65ncryption_status\x18\x04 \x01(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03\x12I\n\x0fkms_key_version\x18\x02 \x01(\tB0\xe0\x41\x03\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\"\\\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19GOOGLE_DEFAULT_ENCRYPTION\x10\x01\x12\x1f\n\x1b\x43USTOMER_MANAGED_ENCRYPTION\x10\x02*\\\n\x0f\x44\x61tabaseDialect\x12 \n\x1c\x44\x41TABASE_DIALECT_UNSPECIFIED\x10\x00\x12\x17\n\x13GOOGLE_STANDARD_SQL\x10\x01\x12\x0e\n\nPOSTGRESQL\x10\x02\x42\xa2\x04\n$com.google.spanner.admin.database.v1B\x0b\x43ommonProtoP\x01ZFcloud.google.com/go/spanner/admin/database/apiv1/databasepb;databasepb\xaa\x02&Google.Cloud.Spanner.Admin.Database.V1\xca\x02&Google\\Cloud\\Spanner\\Admin\\Database\\V1\xea\x02+Google::Cloud::Spanner::Admin::Database::V1\xea\x41x\n!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}\xea\x41\xa6\x01\n(cloudkms.googleapis.com/CryptoKeyVersion\x12zprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.spanner.admin.database.v1.common_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n$com.google.spanner.admin.database.v1B\013CommonProtoP\001ZFcloud.google.com/go/spanner/admin/database/apiv1/databasepb;databasepb\252\002&Google.Cloud.Spanner.Admin.Database.V1\312\002&Google\\Cloud\\Spanner\\Admin\\Database\\V1\352\002+Google::Cloud::Spanner::Admin::Database::V1\352Ax\n!cloudkms.googleapis.com/CryptoKey\022Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}\352A\246\001\n(cloudkms.googleapis.com/CryptoKeyVersion\022zprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}' + _globals['_ENCRYPTIONCONFIG'].fields_by_name['kms_key_name']._options = None + _globals['_ENCRYPTIONCONFIG'].fields_by_name['kms_key_name']._serialized_options = b'\372A#\n!cloudkms.googleapis.com/CryptoKey' + _globals['_ENCRYPTIONCONFIG'].fields_by_name['kms_key_names']._options = None + _globals['_ENCRYPTIONCONFIG'].fields_by_name['kms_key_names']._serialized_options = b'\372A#\n!cloudkms.googleapis.com/CryptoKey' + _globals['_ENCRYPTIONINFO'].fields_by_name['encryption_type']._options = None + _globals['_ENCRYPTIONINFO'].fields_by_name['encryption_type']._serialized_options = b'\340A\003' + _globals['_ENCRYPTIONINFO'].fields_by_name['encryption_status']._options = None + _globals['_ENCRYPTIONINFO'].fields_by_name['encryption_status']._serialized_options = b'\340A\003' + _globals['_ENCRYPTIONINFO'].fields_by_name['kms_key_version']._options = None + _globals['_ENCRYPTIONINFO'].fields_by_name['kms_key_version']._serialized_options = b'\340A\003\372A*\n(cloudkms.googleapis.com/CryptoKeyVersion' + _globals['_DATABASEDIALECT']._serialized_start=814 + _globals['_DATABASEDIALECT']._serialized_end=906 + _globals['_OPERATIONPROGRESS']._serialized_start=202 + _globals['_OPERATIONPROGRESS']._serialized_end=341 + _globals['_ENCRYPTIONCONFIG']._serialized_start=344 + _globals['_ENCRYPTIONCONFIG']._serialized_end=487 + _globals['_ENCRYPTIONINFO']._serialized_start=490 + _globals['_ENCRYPTIONINFO']._serialized_end=812 + _globals['_ENCRYPTIONINFO_TYPE']._serialized_start=720 + _globals['_ENCRYPTIONINFO_TYPE']._serialized_end=812 +# @@protoc_insertion_point(module_scope) diff --git a/test_proxy/protos/google/spanner/admin/database/v1/common_pb2_grpc.py b/test_proxy/protos/google/spanner/admin/database/v1/common_pb2_grpc.py new file mode 100644 index 0000000000..2daafffebf --- /dev/null +++ b/test_proxy/protos/google/spanner/admin/database/v1/common_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/test_proxy/protos/google/spanner/admin/database/v1/spanner_database_admin_pb2.py b/test_proxy/protos/google/spanner/admin/database/v1/spanner_database_admin_pb2.py new file mode 100644 index 0000000000..c5d981b110 --- /dev/null +++ b/test_proxy/protos/google/spanner/admin/database/v1/spanner_database_admin_pb2.py @@ -0,0 +1,221 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/spanner/admin/database/v1/spanner_database_admin.proto +# Protobuf Python Version: 4.25.3 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from google.api import client_pb2 as google_dot_api_dot_client__pb2 +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 +from google.api import resource_pb2 as google_dot_api_dot_resource__pb2 +from google.iam.v1 import iam_policy_pb2 as google_dot_iam_dot_v1_dot_iam__policy__pb2 +from google.iam.v1 import policy_pb2 as google_dot_iam_dot_v1_dot_policy__pb2 +from google.longrunning import operations_pb2 as google_dot_longrunning_dot_operations__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.spanner.admin.database.v1 import backup_pb2 as google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2 +from google.spanner.admin.database.v1 import common_pb2 as google_dot_spanner_dot_admin_dot_database_dot_v1_dot_common__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n=google/spanner/admin/database/v1/spanner_database_admin.proto\x12 google.spanner.admin.database.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a-google/spanner/admin/database/v1/backup.proto\x1a-google/spanner/admin/database/v1/common.proto\"\xab\x01\n\x0bRestoreInfo\x12H\n\x0bsource_type\x18\x01 \x01(\x0e\x32\x33.google.spanner.admin.database.v1.RestoreSourceType\x12\x43\n\x0b\x62\x61\x63kup_info\x18\x02 \x01(\x0b\x32,.google.spanner.admin.database.v1.BackupInfoH\x00\x42\r\n\x0bsource_info\"\xca\x06\n\x08\x44\x61tabase\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x44\n\x05state\x18\x02 \x01(\x0e\x32\x30.google.spanner.admin.database.v1.Database.StateB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12H\n\x0crestore_info\x18\x04 \x01(\x0b\x32-.google.spanner.admin.database.v1.RestoreInfoB\x03\xe0\x41\x03\x12R\n\x11\x65ncryption_config\x18\x05 \x01(\x0b\x32\x32.google.spanner.admin.database.v1.EncryptionConfigB\x03\xe0\x41\x03\x12N\n\x0f\x65ncryption_info\x18\x08 \x03(\x0b\x32\x30.google.spanner.admin.database.v1.EncryptionInfoB\x03\xe0\x41\x03\x12%\n\x18version_retention_period\x18\x06 \x01(\tB\x03\xe0\x41\x03\x12>\n\x15\x65\x61rliest_version_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x1b\n\x0e\x64\x65\x66\x61ult_leader\x18\t \x01(\tB\x03\xe0\x41\x03\x12P\n\x10\x64\x61tabase_dialect\x18\n \x01(\x0e\x32\x31.google.spanner.admin.database.v1.DatabaseDialectB\x03\xe0\x41\x03\x12\x1e\n\x16\x65nable_drop_protection\x18\x0b \x01(\x08\x12\x18\n\x0breconciling\x18\x0c \x01(\x08\x42\x03\xe0\x41\x03\"M\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\t\n\x05READY\x10\x02\x12\x14\n\x10READY_OPTIMIZING\x10\x03:b\xea\x41_\n\x1fspanner.googleapis.com/Database\x12\xda\x41\x06parent\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/instances/*}/databases\x12\xa4\x02\n\x0e\x43reateDatabase\x12\x37.google.spanner.admin.database.v1.CreateDatabaseRequest\x1a\x1d.google.longrunning.Operation\"\xb9\x01\xca\x41\x64\n)google.spanner.admin.database.v1.Database\x12\x37google.spanner.admin.database.v1.CreateDatabaseMetadata\xda\x41\x17parent,create_statement\x82\xd3\xe4\x93\x02\x32\"-/v1/{parent=projects/*/instances/*}/databases:\x01*\x12\xad\x01\n\x0bGetDatabase\x12\x34.google.spanner.admin.database.v1.GetDatabaseRequest\x1a*.google.spanner.admin.database.v1.Database\"<\xda\x41\x04name\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/instances/*/databases/*}\x12\xef\x01\n\x0eUpdateDatabase\x12\x37.google.spanner.admin.database.v1.UpdateDatabaseRequest\x1a\x1d.google.longrunning.Operation\"\x84\x01\xca\x41\"\n\x08\x44\x61tabase\x12\x16UpdateDatabaseMetadata\xda\x41\x14\x64\x61tabase,update_mask\x82\xd3\xe4\x93\x02\x42\x32\x36/v1/{database.name=projects/*/instances/*/databases/*}:\x08\x64\x61tabase\x12\x9d\x02\n\x11UpdateDatabaseDdl\x12:.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest\x1a\x1d.google.longrunning.Operation\"\xac\x01\xca\x41S\n\x15google.protobuf.Empty\x12:google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata\xda\x41\x13\x64\x61tabase,statements\x82\xd3\xe4\x93\x02:25/v1/{database=projects/*/instances/*/databases/*}/ddl:\x01*\x12\xa3\x01\n\x0c\x44ropDatabase\x12\x35.google.spanner.admin.database.v1.DropDatabaseRequest\x1a\x16.google.protobuf.Empty\"D\xda\x41\x08\x64\x61tabase\x82\xd3\xe4\x93\x02\x33*1/v1/{database=projects/*/instances/*/databases/*}\x12\xcd\x01\n\x0eGetDatabaseDdl\x12\x37.google.spanner.admin.database.v1.GetDatabaseDdlRequest\x1a\x38.google.spanner.admin.database.v1.GetDatabaseDdlResponse\"H\xda\x41\x08\x64\x61tabase\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{database=projects/*/instances/*/databases/*}/ddl\x12\xeb\x01\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"\x9f\x01\xda\x41\x0fresource,policy\x82\xd3\xe4\x93\x02\x86\x01\">/v1/{resource=projects/*/instances/*/databases/*}:setIamPolicy:\x01*ZA\"/v1/{resource=projects/*/instances/*/databases/*}:getIamPolicy:\x01*ZA\".google.spanner.admin.database.v1.ListBackupOperationsResponse\"E\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{parent=projects/*/instances/*}/backupOperations\x12\xdc\x01\n\x11ListDatabaseRoles\x12:.google.spanner.admin.database.v1.ListDatabaseRolesRequest\x1a;.google.spanner.admin.database.v1.ListDatabaseRolesResponse\"N\xda\x41\x06parent\x82\xd3\xe4\x93\x02?\x12=/v1/{parent=projects/*/instances/*/databases/*}/databaseRoles\x1ax\xca\x41\x16spanner.googleapis.com\xd2\x41\\https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.adminB\xd8\x02\n$com.google.spanner.admin.database.v1B\x19SpannerDatabaseAdminProtoP\x01ZFcloud.google.com/go/spanner/admin/database/apiv1/databasepb;databasepb\xaa\x02&Google.Cloud.Spanner.Admin.Database.V1\xca\x02&Google\\Cloud\\Spanner\\Admin\\Database\\V1\xea\x02+Google::Cloud::Spanner::Admin::Database::V1\xea\x41J\n\x1fspanner.googleapis.com/Instance\x12\'projects/{project}/instances/{instance}b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.spanner.admin.database.v1.spanner_database_admin_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n$com.google.spanner.admin.database.v1B\031SpannerDatabaseAdminProtoP\001ZFcloud.google.com/go/spanner/admin/database/apiv1/databasepb;databasepb\252\002&Google.Cloud.Spanner.Admin.Database.V1\312\002&Google\\Cloud\\Spanner\\Admin\\Database\\V1\352\002+Google::Cloud::Spanner::Admin::Database::V1\352AJ\n\037spanner.googleapis.com/Instance\022\'projects/{project}/instances/{instance}' + _globals['_DATABASE'].fields_by_name['name']._options = None + _globals['_DATABASE'].fields_by_name['name']._serialized_options = b'\340A\002' + _globals['_DATABASE'].fields_by_name['state']._options = None + _globals['_DATABASE'].fields_by_name['state']._serialized_options = b'\340A\003' + _globals['_DATABASE'].fields_by_name['create_time']._options = None + _globals['_DATABASE'].fields_by_name['create_time']._serialized_options = b'\340A\003' + _globals['_DATABASE'].fields_by_name['restore_info']._options = None + _globals['_DATABASE'].fields_by_name['restore_info']._serialized_options = b'\340A\003' + _globals['_DATABASE'].fields_by_name['encryption_config']._options = None + _globals['_DATABASE'].fields_by_name['encryption_config']._serialized_options = b'\340A\003' + _globals['_DATABASE'].fields_by_name['encryption_info']._options = None + _globals['_DATABASE'].fields_by_name['encryption_info']._serialized_options = b'\340A\003' + _globals['_DATABASE'].fields_by_name['version_retention_period']._options = None + _globals['_DATABASE'].fields_by_name['version_retention_period']._serialized_options = b'\340A\003' + _globals['_DATABASE'].fields_by_name['earliest_version_time']._options = None + _globals['_DATABASE'].fields_by_name['earliest_version_time']._serialized_options = b'\340A\003' + _globals['_DATABASE'].fields_by_name['default_leader']._options = None + _globals['_DATABASE'].fields_by_name['default_leader']._serialized_options = b'\340A\003' + _globals['_DATABASE'].fields_by_name['database_dialect']._options = None + _globals['_DATABASE'].fields_by_name['database_dialect']._serialized_options = b'\340A\003' + _globals['_DATABASE'].fields_by_name['reconciling']._options = None + _globals['_DATABASE'].fields_by_name['reconciling']._serialized_options = b'\340A\003' + _globals['_DATABASE']._options = None + _globals['_DATABASE']._serialized_options = b'\352A_\n\037spanner.googleapis.com/Database\022/v1/{resource=projects/*/instances/*/databases/*}:setIamPolicy:\001*ZA\"/v1/{resource=projects/*/instances/*/databases/*}:getIamPolicy:\001*ZA\"/operations/` and + can be used to track preparation of the database. The + [metadata][google.longrunning.Operation.metadata] field type is + [CreateDatabaseMetadata][google.spanner.admin.database.v1.CreateDatabaseMetadata]. + The [response][google.longrunning.Operation.response] field type is + [Database][google.spanner.admin.database.v1.Database], if successful. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetDatabase(self, request, context): + """Gets the state of a Cloud Spanner database. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateDatabase(self, request, context): + """Updates a Cloud Spanner database. The returned + [long-running operation][google.longrunning.Operation] can be used to track + the progress of updating the database. If the named database does not + exist, returns `NOT_FOUND`. + + While the operation is pending: + + * The database's + [reconciling][google.spanner.admin.database.v1.Database.reconciling] + field is set to true. + * Cancelling the operation is best-effort. If the cancellation succeeds, + the operation metadata's + [cancel_time][google.spanner.admin.database.v1.UpdateDatabaseMetadata.cancel_time] + is set, the updates are reverted, and the operation terminates with a + `CANCELLED` status. + * New UpdateDatabase requests will return a `FAILED_PRECONDITION` error + until the pending operation is done (returns successfully or with + error). + * Reading the database via the API continues to give the pre-request + values. + + Upon completion of the returned operation: + + * The new values are in effect and readable via the API. + * The database's + [reconciling][google.spanner.admin.database.v1.Database.reconciling] + field becomes false. + + The returned [long-running operation][google.longrunning.Operation] will + have a name of the format + `projects//instances//databases//operations/` + and can be used to track the database modification. The + [metadata][google.longrunning.Operation.metadata] field type is + [UpdateDatabaseMetadata][google.spanner.admin.database.v1.UpdateDatabaseMetadata]. + The [response][google.longrunning.Operation.response] field type is + [Database][google.spanner.admin.database.v1.Database], if successful. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateDatabaseDdl(self, request, context): + """Updates the schema of a Cloud Spanner database by + creating/altering/dropping tables, columns, indexes, etc. The returned + [long-running operation][google.longrunning.Operation] will have a name of + the format `/operations/` and can be used to + track execution of the schema change(s). The + [metadata][google.longrunning.Operation.metadata] field type is + [UpdateDatabaseDdlMetadata][google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata]. + The operation has no response. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DropDatabase(self, request, context): + """Drops (aka deletes) a Cloud Spanner database. + Completed backups for the database will be retained according to their + `expire_time`. + Note: Cloud Spanner might continue to accept requests for a few seconds + after the database has been deleted. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetDatabaseDdl(self, request, context): + """Returns the schema of a Cloud Spanner database as a list of formatted + DDL statements. This method does not show pending schema updates, those may + be queried using the [Operations][google.longrunning.Operations] API. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetIamPolicy(self, request, context): + """Sets the access control policy on a database or backup resource. + Replaces any existing policy. + + Authorization requires `spanner.databases.setIamPolicy` + permission on [resource][google.iam.v1.SetIamPolicyRequest.resource]. + For backups, authorization requires `spanner.backups.setIamPolicy` + permission on [resource][google.iam.v1.SetIamPolicyRequest.resource]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetIamPolicy(self, request, context): + """Gets the access control policy for a database or backup resource. + Returns an empty policy if a database or backup exists but does not have a + policy set. + + Authorization requires `spanner.databases.getIamPolicy` permission on + [resource][google.iam.v1.GetIamPolicyRequest.resource]. + For backups, authorization requires `spanner.backups.getIamPolicy` + permission on [resource][google.iam.v1.GetIamPolicyRequest.resource]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TestIamPermissions(self, request, context): + """Returns permissions that the caller has on the specified database or backup + resource. + + Attempting this RPC on a non-existent Cloud Spanner database will + result in a NOT_FOUND error if the user has + `spanner.databases.list` permission on the containing Cloud + Spanner instance. Otherwise returns an empty set of permissions. + Calling this method on a backup that does not exist will + result in a NOT_FOUND error if the user has + `spanner.backups.list` permission on the containing instance. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateBackup(self, request, context): + """Starts creating a new Cloud Spanner Backup. + The returned backup [long-running operation][google.longrunning.Operation] + will have a name of the format + `projects//instances//backups//operations/` + and can be used to track creation of the backup. The + [metadata][google.longrunning.Operation.metadata] field type is + [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata]. + The [response][google.longrunning.Operation.response] field type is + [Backup][google.spanner.admin.database.v1.Backup], if successful. + Cancelling the returned operation will stop the creation and delete the + backup. There can be only one pending backup creation per database. Backup + creation of different databases can run concurrently. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CopyBackup(self, request, context): + """Starts copying a Cloud Spanner Backup. + The returned backup [long-running operation][google.longrunning.Operation] + will have a name of the format + `projects//instances//backups//operations/` + and can be used to track copying of the backup. The operation is associated + with the destination backup. + The [metadata][google.longrunning.Operation.metadata] field type is + [CopyBackupMetadata][google.spanner.admin.database.v1.CopyBackupMetadata]. + The [response][google.longrunning.Operation.response] field type is + [Backup][google.spanner.admin.database.v1.Backup], if successful. + Cancelling the returned operation will stop the copying and delete the + destination backup. Concurrent CopyBackup requests can run on the same + source backup. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetBackup(self, request, context): + """Gets metadata on a pending or completed + [Backup][google.spanner.admin.database.v1.Backup]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateBackup(self, request, context): + """Updates a pending or completed + [Backup][google.spanner.admin.database.v1.Backup]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteBackup(self, request, context): + """Deletes a pending or completed + [Backup][google.spanner.admin.database.v1.Backup]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListBackups(self, request, context): + """Lists completed and pending backups. + Backups returned are ordered by `create_time` in descending order, + starting from the most recent `create_time`. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RestoreDatabase(self, request, context): + """Create a new database by restoring from a completed backup. The new + database must be in the same project and in an instance with the same + instance configuration as the instance containing + the backup. The returned database [long-running + operation][google.longrunning.Operation] has a name of the format + `projects//instances//databases//operations/`, + and can be used to track the progress of the operation, and to cancel it. + The [metadata][google.longrunning.Operation.metadata] field type is + [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata]. + The [response][google.longrunning.Operation.response] type + is [Database][google.spanner.admin.database.v1.Database], if + successful. Cancelling the returned operation will stop the restore and + delete the database. + There can be only one database being restored into an instance at a time. + Once the restore operation completes, a new restore operation can be + initiated, without waiting for the optimize operation associated with the + first restore to complete. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListDatabaseOperations(self, request, context): + """Lists database [longrunning-operations][google.longrunning.Operation]. + A database operation has a name of the form + `projects//instances//databases//operations/`. + 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. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListBackupOperations(self, request, context): + """Lists the backup [long-running operations][google.longrunning.Operation] in + the given instance. A backup operation has a name of the form + `projects//instances//backups//operations/`. + 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.progress.start_time` in descending order starting + from the most recently started operation. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListDatabaseRoles(self, request, context): + """Lists Cloud Spanner database roles. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_DatabaseAdminServicer_to_server(servicer, server): + rpc_method_handlers = { + 'ListDatabases': grpc.unary_unary_rpc_method_handler( + servicer.ListDatabases, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.ListDatabasesRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.ListDatabasesResponse.SerializeToString, + ), + 'CreateDatabase': grpc.unary_unary_rpc_method_handler( + servicer.CreateDatabase, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.CreateDatabaseRequest.FromString, + response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ), + 'GetDatabase': grpc.unary_unary_rpc_method_handler( + servicer.GetDatabase, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.GetDatabaseRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.Database.SerializeToString, + ), + 'UpdateDatabase': grpc.unary_unary_rpc_method_handler( + servicer.UpdateDatabase, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.UpdateDatabaseRequest.FromString, + response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ), + 'UpdateDatabaseDdl': grpc.unary_unary_rpc_method_handler( + servicer.UpdateDatabaseDdl, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.UpdateDatabaseDdlRequest.FromString, + response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ), + 'DropDatabase': grpc.unary_unary_rpc_method_handler( + servicer.DropDatabase, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.DropDatabaseRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'GetDatabaseDdl': grpc.unary_unary_rpc_method_handler( + servicer.GetDatabaseDdl, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.GetDatabaseDdlRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.GetDatabaseDdlResponse.SerializeToString, + ), + 'SetIamPolicy': grpc.unary_unary_rpc_method_handler( + servicer.SetIamPolicy, + request_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.SetIamPolicyRequest.FromString, + response_serializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.SerializeToString, + ), + 'GetIamPolicy': grpc.unary_unary_rpc_method_handler( + servicer.GetIamPolicy, + request_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.GetIamPolicyRequest.FromString, + response_serializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.SerializeToString, + ), + 'TestIamPermissions': grpc.unary_unary_rpc_method_handler( + servicer.TestIamPermissions, + request_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsRequest.FromString, + response_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsResponse.SerializeToString, + ), + 'CreateBackup': grpc.unary_unary_rpc_method_handler( + servicer.CreateBackup, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.CreateBackupRequest.FromString, + response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ), + 'CopyBackup': grpc.unary_unary_rpc_method_handler( + servicer.CopyBackup, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.CopyBackupRequest.FromString, + response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ), + 'GetBackup': grpc.unary_unary_rpc_method_handler( + servicer.GetBackup, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.GetBackupRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.Backup.SerializeToString, + ), + 'UpdateBackup': grpc.unary_unary_rpc_method_handler( + servicer.UpdateBackup, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.UpdateBackupRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.Backup.SerializeToString, + ), + 'DeleteBackup': grpc.unary_unary_rpc_method_handler( + servicer.DeleteBackup, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.DeleteBackupRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'ListBackups': grpc.unary_unary_rpc_method_handler( + servicer.ListBackups, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.ListBackupsRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.ListBackupsResponse.SerializeToString, + ), + 'RestoreDatabase': grpc.unary_unary_rpc_method_handler( + servicer.RestoreDatabase, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.RestoreDatabaseRequest.FromString, + response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ), + 'ListDatabaseOperations': grpc.unary_unary_rpc_method_handler( + servicer.ListDatabaseOperations, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.ListDatabaseOperationsRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.ListDatabaseOperationsResponse.SerializeToString, + ), + 'ListBackupOperations': grpc.unary_unary_rpc_method_handler( + servicer.ListBackupOperations, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.ListBackupOperationsRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.ListBackupOperationsResponse.SerializeToString, + ), + 'ListDatabaseRoles': grpc.unary_unary_rpc_method_handler( + servicer.ListDatabaseRoles, + request_deserializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.ListDatabaseRolesRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.ListDatabaseRolesResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'google.spanner.admin.database.v1.DatabaseAdmin', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class DatabaseAdmin(object): + """Cloud Spanner Database Admin API + + The Cloud Spanner Database Admin API can be used to: + * create, drop, and list databases + * update the schema of pre-existing databases + * create, delete, copy and list backups for a database + * restore a database from an existing backup + """ + + @staticmethod + def ListDatabases(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/ListDatabases', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.ListDatabasesRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.ListDatabasesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CreateDatabase(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/CreateDatabase', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.CreateDatabaseRequest.SerializeToString, + google_dot_longrunning_dot_operations__pb2.Operation.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetDatabase(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/GetDatabase', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.GetDatabaseRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.Database.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateDatabase(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/UpdateDatabase', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.UpdateDatabaseRequest.SerializeToString, + google_dot_longrunning_dot_operations__pb2.Operation.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateDatabaseDdl(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/UpdateDatabaseDdl', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.UpdateDatabaseDdlRequest.SerializeToString, + google_dot_longrunning_dot_operations__pb2.Operation.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DropDatabase(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/DropDatabase', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.DropDatabaseRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetDatabaseDdl(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/GetDatabaseDdl', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.GetDatabaseDdlRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.GetDatabaseDdlResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetIamPolicy(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/SetIamPolicy', + google_dot_iam_dot_v1_dot_iam__policy__pb2.SetIamPolicyRequest.SerializeToString, + google_dot_iam_dot_v1_dot_policy__pb2.Policy.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetIamPolicy(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/GetIamPolicy', + google_dot_iam_dot_v1_dot_iam__policy__pb2.GetIamPolicyRequest.SerializeToString, + google_dot_iam_dot_v1_dot_policy__pb2.Policy.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def TestIamPermissions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/TestIamPermissions', + google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsRequest.SerializeToString, + google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CreateBackup(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/CreateBackup', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.CreateBackupRequest.SerializeToString, + google_dot_longrunning_dot_operations__pb2.Operation.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CopyBackup(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/CopyBackup', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.CopyBackupRequest.SerializeToString, + google_dot_longrunning_dot_operations__pb2.Operation.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetBackup(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/GetBackup', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.GetBackupRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.Backup.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateBackup(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/UpdateBackup', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.UpdateBackupRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.Backup.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteBackup(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/DeleteBackup', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.DeleteBackupRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListBackups(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/ListBackups', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.ListBackupsRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.ListBackupsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RestoreDatabase(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/RestoreDatabase', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.RestoreDatabaseRequest.SerializeToString, + google_dot_longrunning_dot_operations__pb2.Operation.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListDatabaseOperations(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/ListDatabaseOperations', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.ListDatabaseOperationsRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.ListDatabaseOperationsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListBackupOperations(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/ListBackupOperations', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.ListBackupOperationsRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2.ListBackupOperationsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListDatabaseRoles(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.database.v1.DatabaseAdmin/ListDatabaseRoles', + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.ListDatabaseRolesRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2.ListDatabaseRolesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/test_proxy/protos/google/spanner/admin/instance/v1/common_pb2.py b/test_proxy/protos/google/spanner/admin/instance/v1/common_pb2.py new file mode 100644 index 0000000000..7c2b1bbd6f --- /dev/null +++ b/test_proxy/protos/google/spanner/admin/instance/v1/common_pb2.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/spanner/admin/instance/v1/common.proto +# Protobuf Python Version: 4.25.3 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-google/spanner/admin/instance/v1/common.proto\x12 google.spanner.admin.instance.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x8b\x01\n\x11OperationProgress\x12\x18\n\x10progress_percent\x18\x01 \x01(\x05\x12.\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp*w\n\x11\x46ulfillmentPeriod\x12\"\n\x1e\x46ULFILLMENT_PERIOD_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x46ULFILLMENT_PERIOD_NORMAL\x10\x01\x12\x1f\n\x1b\x46ULFILLMENT_PERIOD_EXTENDED\x10\x02\x42\xfd\x01\n$com.google.spanner.admin.instance.v1B\x0b\x43ommonProtoP\x01ZFcloud.google.com/go/spanner/admin/instance/apiv1/instancepb;instancepb\xaa\x02&Google.Cloud.Spanner.Admin.Instance.V1\xca\x02&Google\\Cloud\\Spanner\\Admin\\Instance\\V1\xea\x02+Google::Cloud::Spanner::Admin::Instance::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.spanner.admin.instance.v1.common_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n$com.google.spanner.admin.instance.v1B\013CommonProtoP\001ZFcloud.google.com/go/spanner/admin/instance/apiv1/instancepb;instancepb\252\002&Google.Cloud.Spanner.Admin.Instance.V1\312\002&Google\\Cloud\\Spanner\\Admin\\Instance\\V1\352\002+Google::Cloud::Spanner::Admin::Instance::V1' + _globals['_FULFILLMENTPERIOD']._serialized_start=258 + _globals['_FULFILLMENTPERIOD']._serialized_end=377 + _globals['_OPERATIONPROGRESS']._serialized_start=117 + _globals['_OPERATIONPROGRESS']._serialized_end=256 +# @@protoc_insertion_point(module_scope) diff --git a/test_proxy/protos/google/spanner/admin/instance/v1/common_pb2_grpc.py b/test_proxy/protos/google/spanner/admin/instance/v1/common_pb2_grpc.py new file mode 100644 index 0000000000..2daafffebf --- /dev/null +++ b/test_proxy/protos/google/spanner/admin/instance/v1/common_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/test_proxy/protos/google/spanner/admin/instance/v1/spanner_instance_admin_pb2.py b/test_proxy/protos/google/spanner/admin/instance/v1/spanner_instance_admin_pb2.py new file mode 100644 index 0000000000..500a01d5f2 --- /dev/null +++ b/test_proxy/protos/google/spanner/admin/instance/v1/spanner_instance_admin_pb2.py @@ -0,0 +1,284 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/spanner/admin/instance/v1/spanner_instance_admin.proto +# Protobuf Python Version: 4.25.3 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from google.api import client_pb2 as google_dot_api_dot_client__pb2 +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 +from google.api import resource_pb2 as google_dot_api_dot_resource__pb2 +from google.iam.v1 import iam_policy_pb2 as google_dot_iam_dot_v1_dot_iam__policy__pb2 +from google.iam.v1 import policy_pb2 as google_dot_iam_dot_v1_dot_policy__pb2 +from google.longrunning import operations_pb2 as google_dot_longrunning_dot_operations__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.spanner.admin.instance.v1 import common_pb2 as google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_common__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n=google/spanner/admin/instance/v1/spanner_instance_admin.proto\x12 google.spanner.admin.instance.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a-google/spanner/admin/instance/v1/common.proto\"\xda\x01\n\x0bReplicaInfo\x12\x10\n\x08location\x18\x01 \x01(\t\x12G\n\x04type\x18\x02 \x01(\x0e\x32\x39.google.spanner.admin.instance.v1.ReplicaInfo.ReplicaType\x12\x1f\n\x17\x64\x65\x66\x61ult_leader_location\x18\x03 \x01(\x08\"O\n\x0bReplicaType\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nREAD_WRITE\x10\x01\x12\r\n\tREAD_ONLY\x10\x02\x12\x0b\n\x07WITNESS\x10\x03\"\xbe\x06\n\x0eInstanceConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12O\n\x0b\x63onfig_type\x18\x05 \x01(\x0e\x32\x35.google.spanner.admin.instance.v1.InstanceConfig.TypeB\x03\xe0\x41\x03\x12?\n\x08replicas\x18\x03 \x03(\x0b\x32-.google.spanner.admin.instance.v1.ReplicaInfo\x12M\n\x11optional_replicas\x18\x06 \x03(\x0b\x32-.google.spanner.admin.instance.v1.ReplicaInfoB\x03\xe0\x41\x03\x12?\n\x0b\x62\x61se_config\x18\x07 \x01(\tB*\xfa\x41\'\n%spanner.googleapis.com/InstanceConfig\x12L\n\x06labels\x18\x08 \x03(\x0b\x32<.google.spanner.admin.instance.v1.InstanceConfig.LabelsEntry\x12\x0c\n\x04\x65tag\x18\t \x01(\t\x12\x16\n\x0eleader_options\x18\x04 \x03(\t\x12\x18\n\x0breconciling\x18\n \x01(\x08\x42\x03\xe0\x41\x03\x12J\n\x05state\x18\x0b \x01(\x0e\x32\x36.google.spanner.admin.instance.v1.InstanceConfig.StateB\x03\xe0\x41\x03\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"B\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x12\n\x0eGOOGLE_MANAGED\x10\x01\x12\x10\n\x0cUSER_MANAGED\x10\x02\"7\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\t\n\x05READY\x10\x02:`\xea\x41]\n%spanner.googleapis.com/InstanceConfig\x12\x34projects/{project}/instanceConfigs/{instance_config}\"\xf3\x03\n\x11\x41utoscalingConfig\x12\x66\n\x12\x61utoscaling_limits\x18\x01 \x01(\x0b\x32\x45.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimitsB\x03\xe0\x41\x02\x12h\n\x13\x61utoscaling_targets\x18\x02 \x01(\x0b\x32\x46.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingTargetsB\x03\xe0\x41\x02\x1a\x97\x01\n\x11\x41utoscalingLimits\x12\x13\n\tmin_nodes\x18\x01 \x01(\x05H\x00\x12\x1e\n\x14min_processing_units\x18\x02 \x01(\x05H\x00\x12\x13\n\tmax_nodes\x18\x03 \x01(\x05H\x01\x12\x1e\n\x14max_processing_units\x18\x04 \x01(\x05H\x01\x42\x0b\n\tmin_limitB\x0b\n\tmax_limit\x1ar\n\x12\x41utoscalingTargets\x12\x32\n%high_priority_cpu_utilization_percent\x18\x01 \x01(\x05\x42\x03\xe0\x41\x02\x12(\n\x1bstorage_utilization_percent\x18\x02 \x01(\x05\x42\x03\xe0\x41\x02\"\xc3\x05\n\x08Instance\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12=\n\x06\x63onfig\x18\x02 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%spanner.googleapis.com/InstanceConfig\x12\x19\n\x0c\x64isplay_name\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x12\n\nnode_count\x18\x05 \x01(\x05\x12\x18\n\x10processing_units\x18\t \x01(\x05\x12T\n\x12\x61utoscaling_config\x18\x11 \x01(\x0b\x32\x33.google.spanner.admin.instance.v1.AutoscalingConfigB\x03\xe0\x41\x01\x12\x44\n\x05state\x18\x06 \x01(\x0e\x32\x30.google.spanner.admin.instance.v1.Instance.StateB\x03\xe0\x41\x03\x12\x46\n\x06labels\x18\x07 \x03(\x0b\x32\x36.google.spanner.admin.instance.v1.Instance.LabelsEntry\x12\x15\n\rendpoint_uris\x18\x08 \x03(\t\x12\x34\n\x0b\x63reate_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"7\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\t\n\x05READY\x10\x02:M\xea\x41J\n\x1fspanner.googleapis.com/Instance\x12\'projects/{project}/instances/{instance}\"\x88\x01\n\x1aListInstanceConfigsRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x82\x01\n\x1bListInstanceConfigsResponse\x12J\n\x10instance_configs\x18\x01 \x03(\x0b\x32\x30.google.spanner.admin.instance.v1.InstanceConfig\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"W\n\x18GetInstanceConfigRequest\x12;\n\x04name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%spanner.googleapis.com/InstanceConfig\"\xea\x01\n\x1b\x43reateInstanceConfigRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x1f\n\x12instance_config_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12N\n\x0finstance_config\x18\x03 \x01(\x0b\x32\x30.google.spanner.admin.instance.v1.InstanceConfigB\x03\xe0\x41\x02\x12\x15\n\rvalidate_only\x18\x04 \x01(\x08\"\xba\x01\n\x1bUpdateInstanceConfigRequest\x12N\n\x0finstance_config\x18\x01 \x01(\x0b\x32\x30.google.spanner.admin.instance.v1.InstanceConfigB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12\x15\n\rvalidate_only\x18\x03 \x01(\x08\"\x7f\n\x1b\x44\x65leteInstanceConfigRequest\x12;\n\x04name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%spanner.googleapis.com/InstanceConfig\x12\x0c\n\x04\x65tag\x18\x02 \x01(\t\x12\x15\n\rvalidate_only\x18\x03 \x01(\x08\"\xa1\x01\n#ListInstanceConfigOperationsRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"r\n$ListInstanceConfigOperationsResponse\x12\x31\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.Operation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"{\n\x12GetInstanceRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12.\n\nfield_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\xb9\x01\n\x15\x43reateInstanceRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x18\n\x0binstance_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x41\n\x08instance\x18\x03 \x01(\x0b\x32*.google.spanner.admin.instance.v1.InstanceB\x03\xe0\x41\x02\"\xc9\x01\n\x14ListInstancesRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x35\n\x11instance_deadline\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x84\x01\n\x15ListInstancesResponse\x12=\n\tinstances\x18\x01 \x03(\x0b\x32*.google.spanner.admin.instance.v1.Instance\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"\x8f\x01\n\x15UpdateInstanceRequest\x12\x41\n\x08instance\x18\x01 \x01(\x0b\x32*.google.spanner.admin.instance.v1.InstanceB\x03\xe0\x41\x02\x12\x33\n\nfield_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"N\n\x15\x44\x65leteInstanceRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\"\xbf\x02\n\x16\x43reateInstanceMetadata\x12<\n\x08instance\x18\x01 \x01(\x0b\x32*.google.spanner.admin.instance.v1.Instance\x12.\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x63\x61ncel_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12X\n\x1b\x65xpected_fulfillment_period\x18\x05 \x01(\x0e\x32\x33.google.spanner.admin.instance.v1.FulfillmentPeriod\"\xbf\x02\n\x16UpdateInstanceMetadata\x12<\n\x08instance\x18\x01 \x01(\x0b\x32*.google.spanner.admin.instance.v1.Instance\x12.\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x63\x61ncel_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12X\n\x1b\x65xpected_fulfillment_period\x18\x05 \x01(\x0e\x32\x33.google.spanner.admin.instance.v1.FulfillmentPeriod\"\xe1\x01\n\x1c\x43reateInstanceConfigMetadata\x12I\n\x0finstance_config\x18\x01 \x01(\x0b\x32\x30.google.spanner.admin.instance.v1.InstanceConfig\x12\x45\n\x08progress\x18\x02 \x01(\x0b\x32\x33.google.spanner.admin.instance.v1.OperationProgress\x12/\n\x0b\x63\x61ncel_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xe1\x01\n\x1cUpdateInstanceConfigMetadata\x12I\n\x0finstance_config\x18\x01 \x01(\x0b\x32\x30.google.spanner.admin.instance.v1.InstanceConfig\x12\x45\n\x08progress\x18\x02 \x01(\x0b\x32\x33.google.spanner.admin.instance.v1.OperationProgress\x12/\n\x0b\x63\x61ncel_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x8e\x05\n\x11InstancePartition\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12=\n\x06\x63onfig\x18\x02 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%spanner.googleapis.com/InstanceConfig\x12\x19\n\x0c\x64isplay_name\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x14\n\nnode_count\x18\x05 \x01(\x05H\x00\x12\x1a\n\x10processing_units\x18\x06 \x01(\x05H\x00\x12M\n\x05state\x18\x07 \x01(\x0e\x32\x39.google.spanner.admin.instance.v1.InstancePartition.StateB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\"\n\x15referencing_databases\x18\n \x03(\tB\x03\xe0\x41\x03\x12 \n\x13referencing_backups\x18\x0b \x03(\tB\x03\xe0\x41\x03\x12\x0c\n\x04\x65tag\x18\x0c \x01(\t\"7\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\t\n\x05READY\x10\x02:~\xea\x41{\n(spanner.googleapis.com/InstancePartition\x12Oprojects/{project}/instances/{instance}/instancePartitions/{instance_partition}B\x12\n\x10\x63ompute_capacity\"\x81\x02\n\x1f\x43reateInstancePartitionMetadata\x12O\n\x12instance_partition\x18\x01 \x01(\x0b\x32\x33.google.spanner.admin.instance.v1.InstancePartition\x12.\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x63\x61ncel_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xd3\x01\n\x1e\x43reateInstancePartitionRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\"\n\x15instance_partition_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12T\n\x12instance_partition\x18\x03 \x01(\x0b\x32\x33.google.spanner.admin.instance.v1.InstancePartitionB\x03\xe0\x41\x02\"n\n\x1e\x44\x65leteInstancePartitionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(spanner.googleapis.com/InstancePartition\x12\x0c\n\x04\x65tag\x18\x02 \x01(\t\"]\n\x1bGetInstancePartitionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(spanner.googleapis.com/InstancePartition\"\xab\x01\n\x1eUpdateInstancePartitionRequest\x12T\n\x12instance_partition\x18\x01 \x01(\x0b\x32\x33.google.spanner.admin.instance.v1.InstancePartitionB\x03\xe0\x41\x02\x12\x33\n\nfield_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"\x81\x02\n\x1fUpdateInstancePartitionMetadata\x12O\n\x12instance_partition\x18\x01 \x01(\x0b\x32\x33.google.spanner.admin.instance.v1.InstancePartition\x12.\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x63\x61ncel_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xc5\x01\n\x1dListInstancePartitionsRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x44\n\x1binstance_partition_deadline\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\"\xa0\x01\n\x1eListInstancePartitionsResponse\x12P\n\x13instance_partitions\x18\x01 \x03(\x0b\x32\x33.google.spanner.admin.instance.v1.InstancePartition\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"\xed\x01\n&ListInstancePartitionOperationsRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x13\n\x06\x66ilter\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tpage_size\x18\x03 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x44\n\x1binstance_partition_deadline\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\"\x9e\x01\n\'ListInstancePartitionOperationsResponse\x12\x31\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.Operation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\'\n\x1funreachable_instance_partitions\x18\x03 \x03(\t2\xce%\n\rInstanceAdmin\x12\xcc\x01\n\x13ListInstanceConfigs\x12<.google.spanner.admin.instance.v1.ListInstanceConfigsRequest\x1a=.google.spanner.admin.instance.v1.ListInstanceConfigsResponse\"8\xda\x41\x06parent\x82\xd3\xe4\x93\x02)\x12\'/v1/{parent=projects/*}/instanceConfigs\x12\xb9\x01\n\x11GetInstanceConfig\x12:.google.spanner.admin.instance.v1.GetInstanceConfigRequest\x1a\x30.google.spanner.admin.instance.v1.InstanceConfig\"6\xda\x41\x04name\x82\xd3\xe4\x93\x02)\x12\'/v1/{name=projects/*/instanceConfigs/*}\x12\xc8\x02\n\x14\x43reateInstanceConfig\x12=.google.spanner.admin.instance.v1.CreateInstanceConfigRequest\x1a\x1d.google.longrunning.Operation\"\xd1\x01\xca\x41p\n/google.spanner.admin.instance.v1.InstanceConfig\x12=google.spanner.admin.instance.v1.CreateInstanceConfigMetadata\xda\x41)parent,instance_config,instance_config_id\x82\xd3\xe4\x93\x02,\"\'/v1/{parent=projects/*}/instanceConfigs:\x01*\x12\xca\x02\n\x14UpdateInstanceConfig\x12=.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest\x1a\x1d.google.longrunning.Operation\"\xd3\x01\xca\x41p\n/google.spanner.admin.instance.v1.InstanceConfig\x12=google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata\xda\x41\x1binstance_config,update_mask\x82\xd3\xe4\x93\x02<27/v1/{instance_config.name=projects/*/instanceConfigs/*}:\x01*\x12\xa5\x01\n\x14\x44\x65leteInstanceConfig\x12=.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest\x1a\x16.google.protobuf.Empty\"6\xda\x41\x04name\x82\xd3\xe4\x93\x02)*\'/v1/{name=projects/*/instanceConfigs/*}\x12\xf0\x01\n\x1cListInstanceConfigOperations\x12\x45.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest\x1a\x46.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse\"A\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x32\x12\x30/v1/{parent=projects/*}/instanceConfigOperations\x12\xb4\x01\n\rListInstances\x12\x36.google.spanner.admin.instance.v1.ListInstancesRequest\x1a\x37.google.spanner.admin.instance.v1.ListInstancesResponse\"2\xda\x41\x06parent\x82\xd3\xe4\x93\x02#\x12!/v1/{parent=projects/*}/instances\x12\xe4\x01\n\x16ListInstancePartitions\x12?.google.spanner.admin.instance.v1.ListInstancePartitionsRequest\x1a@.google.spanner.admin.instance.v1.ListInstancePartitionsResponse\"G\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x38\x12\x36/v1/{parent=projects/*/instances/*}/instancePartitions\x12\xa1\x01\n\x0bGetInstance\x12\x34.google.spanner.admin.instance.v1.GetInstanceRequest\x1a*.google.spanner.admin.instance.v1.Instance\"0\xda\x41\x04name\x82\xd3\xe4\x93\x02#\x12!/v1/{name=projects/*/instances/*}\x12\x9c\x02\n\x0e\x43reateInstance\x12\x37.google.spanner.admin.instance.v1.CreateInstanceRequest\x1a\x1d.google.longrunning.Operation\"\xb1\x01\xca\x41\x64\n)google.spanner.admin.instance.v1.Instance\x12\x37google.spanner.admin.instance.v1.CreateInstanceMetadata\xda\x41\x1bparent,instance_id,instance\x82\xd3\xe4\x93\x02&\"!/v1/{parent=projects/*}/instances:\x01*\x12\x9d\x02\n\x0eUpdateInstance\x12\x37.google.spanner.admin.instance.v1.UpdateInstanceRequest\x1a\x1d.google.longrunning.Operation\"\xb2\x01\xca\x41\x64\n)google.spanner.admin.instance.v1.Instance\x12\x37google.spanner.admin.instance.v1.UpdateInstanceMetadata\xda\x41\x13instance,field_mask\x82\xd3\xe4\x93\x02/2*/v1/{instance.name=projects/*/instances/*}:\x01*\x12\x93\x01\n\x0e\x44\x65leteInstance\x12\x37.google.spanner.admin.instance.v1.DeleteInstanceRequest\x1a\x16.google.protobuf.Empty\"0\xda\x41\x04name\x82\xd3\xe4\x93\x02#*!/v1/{name=projects/*/instances/*}\x12\x9a\x01\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"O\xda\x41\x0fresource,policy\x82\xd3\xe4\x93\x02\x37\"2/v1/{resource=projects/*/instances/*}:setIamPolicy:\x01*\x12\x93\x01\n\x0cGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"H\xda\x41\x08resource\x82\xd3\xe4\x93\x02\x37\"2/v1/{resource=projects/*/instances/*}:getIamPolicy:\x01*\x12\xc5\x01\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse\"Z\xda\x41\x14resource,permissions\x82\xd3\xe4\x93\x02=\"8/v1/{resource=projects/*/instances/*}:testIamPermissions:\x01*\x12\xd1\x01\n\x14GetInstancePartition\x12=.google.spanner.admin.instance.v1.GetInstancePartitionRequest\x1a\x33.google.spanner.admin.instance.v1.InstancePartition\"E\xda\x41\x04name\x82\xd3\xe4\x93\x02\x38\x12\x36/v1/{name=projects/*/instances/*/instancePartitions/*}\x12\xe9\x02\n\x17\x43reateInstancePartition\x12@.google.spanner.admin.instance.v1.CreateInstancePartitionRequest\x1a\x1d.google.longrunning.Operation\"\xec\x01\xca\x41v\n2google.spanner.admin.instance.v1.InstancePartition\x12@google.spanner.admin.instance.v1.CreateInstancePartitionMetadata\xda\x41/parent,instance_partition,instance_partition_id\x82\xd3\xe4\x93\x02;\"6/v1/{parent=projects/*/instances/*}/instancePartitions:\x01*\x12\xba\x01\n\x17\x44\x65leteInstancePartition\x12@.google.spanner.admin.instance.v1.DeleteInstancePartitionRequest\x1a\x16.google.protobuf.Empty\"E\xda\x41\x04name\x82\xd3\xe4\x93\x02\x38*6/v1/{name=projects/*/instances/*/instancePartitions/*}\x12\xea\x02\n\x17UpdateInstancePartition\x12@.google.spanner.admin.instance.v1.UpdateInstancePartitionRequest\x1a\x1d.google.longrunning.Operation\"\xed\x01\xca\x41v\n2google.spanner.admin.instance.v1.InstancePartition\x12@google.spanner.admin.instance.v1.UpdateInstancePartitionMetadata\xda\x41\x1dinstance_partition,field_mask\x82\xd3\xe4\x93\x02N2I/v1/{instance_partition.name=projects/*/instances/*/instancePartitions/*}:\x01*\x12\x88\x02\n\x1fListInstancePartitionOperations\x12H.google.spanner.admin.instance.v1.ListInstancePartitionOperationsRequest\x1aI.google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse\"P\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x41\x12?/v1/{parent=projects/*/instances/*}/instancePartitionOperations\x1ax\xca\x41\x16spanner.googleapis.com\xd2\x41\\https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.adminB\x8b\x02\n$com.google.spanner.admin.instance.v1B\x19SpannerInstanceAdminProtoP\x01ZFcloud.google.com/go/spanner/admin/instance/apiv1/instancepb;instancepb\xaa\x02&Google.Cloud.Spanner.Admin.Instance.V1\xca\x02&Google\\Cloud\\Spanner\\Admin\\Instance\\V1\xea\x02+Google::Cloud::Spanner::Admin::Instance::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.spanner.admin.instance.v1.spanner_instance_admin_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n$com.google.spanner.admin.instance.v1B\031SpannerInstanceAdminProtoP\001ZFcloud.google.com/go/spanner/admin/instance/apiv1/instancepb;instancepb\252\002&Google.Cloud.Spanner.Admin.Instance.V1\312\002&Google\\Cloud\\Spanner\\Admin\\Instance\\V1\352\002+Google::Cloud::Spanner::Admin::Instance::V1' + _globals['_INSTANCECONFIG_LABELSENTRY']._options = None + _globals['_INSTANCECONFIG_LABELSENTRY']._serialized_options = b'8\001' + _globals['_INSTANCECONFIG'].fields_by_name['config_type']._options = None + _globals['_INSTANCECONFIG'].fields_by_name['config_type']._serialized_options = b'\340A\003' + _globals['_INSTANCECONFIG'].fields_by_name['optional_replicas']._options = None + _globals['_INSTANCECONFIG'].fields_by_name['optional_replicas']._serialized_options = b'\340A\003' + _globals['_INSTANCECONFIG'].fields_by_name['base_config']._options = None + _globals['_INSTANCECONFIG'].fields_by_name['base_config']._serialized_options = b'\372A\'\n%spanner.googleapis.com/InstanceConfig' + _globals['_INSTANCECONFIG'].fields_by_name['reconciling']._options = None + _globals['_INSTANCECONFIG'].fields_by_name['reconciling']._serialized_options = b'\340A\003' + _globals['_INSTANCECONFIG'].fields_by_name['state']._options = None + _globals['_INSTANCECONFIG'].fields_by_name['state']._serialized_options = b'\340A\003' + _globals['_INSTANCECONFIG']._options = None + _globals['_INSTANCECONFIG']._serialized_options = b'\352A]\n%spanner.googleapis.com/InstanceConfig\0224projects/{project}/instanceConfigs/{instance_config}' + _globals['_AUTOSCALINGCONFIG_AUTOSCALINGTARGETS'].fields_by_name['high_priority_cpu_utilization_percent']._options = None + _globals['_AUTOSCALINGCONFIG_AUTOSCALINGTARGETS'].fields_by_name['high_priority_cpu_utilization_percent']._serialized_options = b'\340A\002' + _globals['_AUTOSCALINGCONFIG_AUTOSCALINGTARGETS'].fields_by_name['storage_utilization_percent']._options = None + _globals['_AUTOSCALINGCONFIG_AUTOSCALINGTARGETS'].fields_by_name['storage_utilization_percent']._serialized_options = b'\340A\002' + _globals['_AUTOSCALINGCONFIG'].fields_by_name['autoscaling_limits']._options = None + _globals['_AUTOSCALINGCONFIG'].fields_by_name['autoscaling_limits']._serialized_options = b'\340A\002' + _globals['_AUTOSCALINGCONFIG'].fields_by_name['autoscaling_targets']._options = None + _globals['_AUTOSCALINGCONFIG'].fields_by_name['autoscaling_targets']._serialized_options = b'\340A\002' + _globals['_INSTANCE_LABELSENTRY']._options = None + _globals['_INSTANCE_LABELSENTRY']._serialized_options = b'8\001' + _globals['_INSTANCE'].fields_by_name['name']._options = None + _globals['_INSTANCE'].fields_by_name['name']._serialized_options = b'\340A\002' + _globals['_INSTANCE'].fields_by_name['config']._options = None + _globals['_INSTANCE'].fields_by_name['config']._serialized_options = b'\340A\002\372A\'\n%spanner.googleapis.com/InstanceConfig' + _globals['_INSTANCE'].fields_by_name['display_name']._options = None + _globals['_INSTANCE'].fields_by_name['display_name']._serialized_options = b'\340A\002' + _globals['_INSTANCE'].fields_by_name['autoscaling_config']._options = None + _globals['_INSTANCE'].fields_by_name['autoscaling_config']._serialized_options = b'\340A\001' + _globals['_INSTANCE'].fields_by_name['state']._options = None + _globals['_INSTANCE'].fields_by_name['state']._serialized_options = b'\340A\003' + _globals['_INSTANCE'].fields_by_name['create_time']._options = None + _globals['_INSTANCE'].fields_by_name['create_time']._serialized_options = b'\340A\003' + _globals['_INSTANCE'].fields_by_name['update_time']._options = None + _globals['_INSTANCE'].fields_by_name['update_time']._serialized_options = b'\340A\003' + _globals['_INSTANCE']._options = None + _globals['_INSTANCE']._serialized_options = b'\352AJ\n\037spanner.googleapis.com/Instance\022\'projects/{project}/instances/{instance}' + _globals['_LISTINSTANCECONFIGSREQUEST'].fields_by_name['parent']._options = None + _globals['_LISTINSTANCECONFIGSREQUEST'].fields_by_name['parent']._serialized_options = b'\340A\002\372A-\n+cloudresourcemanager.googleapis.com/Project' + _globals['_GETINSTANCECONFIGREQUEST'].fields_by_name['name']._options = None + _globals['_GETINSTANCECONFIGREQUEST'].fields_by_name['name']._serialized_options = b'\340A\002\372A\'\n%spanner.googleapis.com/InstanceConfig' + _globals['_CREATEINSTANCECONFIGREQUEST'].fields_by_name['parent']._options = None + _globals['_CREATEINSTANCECONFIGREQUEST'].fields_by_name['parent']._serialized_options = b'\340A\002\372A-\n+cloudresourcemanager.googleapis.com/Project' + _globals['_CREATEINSTANCECONFIGREQUEST'].fields_by_name['instance_config_id']._options = None + _globals['_CREATEINSTANCECONFIGREQUEST'].fields_by_name['instance_config_id']._serialized_options = b'\340A\002' + _globals['_CREATEINSTANCECONFIGREQUEST'].fields_by_name['instance_config']._options = None + _globals['_CREATEINSTANCECONFIGREQUEST'].fields_by_name['instance_config']._serialized_options = b'\340A\002' + _globals['_UPDATEINSTANCECONFIGREQUEST'].fields_by_name['instance_config']._options = None + _globals['_UPDATEINSTANCECONFIGREQUEST'].fields_by_name['instance_config']._serialized_options = b'\340A\002' + _globals['_UPDATEINSTANCECONFIGREQUEST'].fields_by_name['update_mask']._options = None + _globals['_UPDATEINSTANCECONFIGREQUEST'].fields_by_name['update_mask']._serialized_options = b'\340A\002' + _globals['_DELETEINSTANCECONFIGREQUEST'].fields_by_name['name']._options = None + _globals['_DELETEINSTANCECONFIGREQUEST'].fields_by_name['name']._serialized_options = b'\340A\002\372A\'\n%spanner.googleapis.com/InstanceConfig' + _globals['_LISTINSTANCECONFIGOPERATIONSREQUEST'].fields_by_name['parent']._options = None + _globals['_LISTINSTANCECONFIGOPERATIONSREQUEST'].fields_by_name['parent']._serialized_options = b'\340A\002\372A-\n+cloudresourcemanager.googleapis.com/Project' + _globals['_GETINSTANCEREQUEST'].fields_by_name['name']._options = None + _globals['_GETINSTANCEREQUEST'].fields_by_name['name']._serialized_options = b'\340A\002\372A!\n\037spanner.googleapis.com/Instance' + _globals['_CREATEINSTANCEREQUEST'].fields_by_name['parent']._options = None + _globals['_CREATEINSTANCEREQUEST'].fields_by_name['parent']._serialized_options = b'\340A\002\372A-\n+cloudresourcemanager.googleapis.com/Project' + _globals['_CREATEINSTANCEREQUEST'].fields_by_name['instance_id']._options = None + _globals['_CREATEINSTANCEREQUEST'].fields_by_name['instance_id']._serialized_options = b'\340A\002' + _globals['_CREATEINSTANCEREQUEST'].fields_by_name['instance']._options = None + _globals['_CREATEINSTANCEREQUEST'].fields_by_name['instance']._serialized_options = b'\340A\002' + _globals['_LISTINSTANCESREQUEST'].fields_by_name['parent']._options = None + _globals['_LISTINSTANCESREQUEST'].fields_by_name['parent']._serialized_options = b'\340A\002\372A-\n+cloudresourcemanager.googleapis.com/Project' + _globals['_UPDATEINSTANCEREQUEST'].fields_by_name['instance']._options = None + _globals['_UPDATEINSTANCEREQUEST'].fields_by_name['instance']._serialized_options = b'\340A\002' + _globals['_UPDATEINSTANCEREQUEST'].fields_by_name['field_mask']._options = None + _globals['_UPDATEINSTANCEREQUEST'].fields_by_name['field_mask']._serialized_options = b'\340A\002' + _globals['_DELETEINSTANCEREQUEST'].fields_by_name['name']._options = None + _globals['_DELETEINSTANCEREQUEST'].fields_by_name['name']._serialized_options = b'\340A\002\372A!\n\037spanner.googleapis.com/Instance' + _globals['_INSTANCEPARTITION'].fields_by_name['name']._options = None + _globals['_INSTANCEPARTITION'].fields_by_name['name']._serialized_options = b'\340A\002' + _globals['_INSTANCEPARTITION'].fields_by_name['config']._options = None + _globals['_INSTANCEPARTITION'].fields_by_name['config']._serialized_options = b'\340A\002\372A\'\n%spanner.googleapis.com/InstanceConfig' + _globals['_INSTANCEPARTITION'].fields_by_name['display_name']._options = None + _globals['_INSTANCEPARTITION'].fields_by_name['display_name']._serialized_options = b'\340A\002' + _globals['_INSTANCEPARTITION'].fields_by_name['state']._options = None + _globals['_INSTANCEPARTITION'].fields_by_name['state']._serialized_options = b'\340A\003' + _globals['_INSTANCEPARTITION'].fields_by_name['create_time']._options = None + _globals['_INSTANCEPARTITION'].fields_by_name['create_time']._serialized_options = b'\340A\003' + _globals['_INSTANCEPARTITION'].fields_by_name['update_time']._options = None + _globals['_INSTANCEPARTITION'].fields_by_name['update_time']._serialized_options = b'\340A\003' + _globals['_INSTANCEPARTITION'].fields_by_name['referencing_databases']._options = None + _globals['_INSTANCEPARTITION'].fields_by_name['referencing_databases']._serialized_options = b'\340A\003' + _globals['_INSTANCEPARTITION'].fields_by_name['referencing_backups']._options = None + _globals['_INSTANCEPARTITION'].fields_by_name['referencing_backups']._serialized_options = b'\340A\003' + _globals['_INSTANCEPARTITION']._options = None + _globals['_INSTANCEPARTITION']._serialized_options = b'\352A{\n(spanner.googleapis.com/InstancePartition\022Oprojects/{project}/instances/{instance}/instancePartitions/{instance_partition}' + _globals['_CREATEINSTANCEPARTITIONREQUEST'].fields_by_name['parent']._options = None + _globals['_CREATEINSTANCEPARTITIONREQUEST'].fields_by_name['parent']._serialized_options = b'\340A\002\372A!\n\037spanner.googleapis.com/Instance' + _globals['_CREATEINSTANCEPARTITIONREQUEST'].fields_by_name['instance_partition_id']._options = None + _globals['_CREATEINSTANCEPARTITIONREQUEST'].fields_by_name['instance_partition_id']._serialized_options = b'\340A\002' + _globals['_CREATEINSTANCEPARTITIONREQUEST'].fields_by_name['instance_partition']._options = None + _globals['_CREATEINSTANCEPARTITIONREQUEST'].fields_by_name['instance_partition']._serialized_options = b'\340A\002' + _globals['_DELETEINSTANCEPARTITIONREQUEST'].fields_by_name['name']._options = None + _globals['_DELETEINSTANCEPARTITIONREQUEST'].fields_by_name['name']._serialized_options = b'\340A\002\372A*\n(spanner.googleapis.com/InstancePartition' + _globals['_GETINSTANCEPARTITIONREQUEST'].fields_by_name['name']._options = None + _globals['_GETINSTANCEPARTITIONREQUEST'].fields_by_name['name']._serialized_options = b'\340A\002\372A*\n(spanner.googleapis.com/InstancePartition' + _globals['_UPDATEINSTANCEPARTITIONREQUEST'].fields_by_name['instance_partition']._options = None + _globals['_UPDATEINSTANCEPARTITIONREQUEST'].fields_by_name['instance_partition']._serialized_options = b'\340A\002' + _globals['_UPDATEINSTANCEPARTITIONREQUEST'].fields_by_name['field_mask']._options = None + _globals['_UPDATEINSTANCEPARTITIONREQUEST'].fields_by_name['field_mask']._serialized_options = b'\340A\002' + _globals['_LISTINSTANCEPARTITIONSREQUEST'].fields_by_name['parent']._options = None + _globals['_LISTINSTANCEPARTITIONSREQUEST'].fields_by_name['parent']._serialized_options = b'\340A\002\372A!\n\037spanner.googleapis.com/Instance' + _globals['_LISTINSTANCEPARTITIONSREQUEST'].fields_by_name['instance_partition_deadline']._options = None + _globals['_LISTINSTANCEPARTITIONSREQUEST'].fields_by_name['instance_partition_deadline']._serialized_options = b'\340A\001' + _globals['_LISTINSTANCEPARTITIONOPERATIONSREQUEST'].fields_by_name['parent']._options = None + _globals['_LISTINSTANCEPARTITIONOPERATIONSREQUEST'].fields_by_name['parent']._serialized_options = b'\340A\002\372A!\n\037spanner.googleapis.com/Instance' + _globals['_LISTINSTANCEPARTITIONOPERATIONSREQUEST'].fields_by_name['filter']._options = None + _globals['_LISTINSTANCEPARTITIONOPERATIONSREQUEST'].fields_by_name['filter']._serialized_options = b'\340A\001' + _globals['_LISTINSTANCEPARTITIONOPERATIONSREQUEST'].fields_by_name['page_size']._options = None + _globals['_LISTINSTANCEPARTITIONOPERATIONSREQUEST'].fields_by_name['page_size']._serialized_options = b'\340A\001' + _globals['_LISTINSTANCEPARTITIONOPERATIONSREQUEST'].fields_by_name['page_token']._options = None + _globals['_LISTINSTANCEPARTITIONOPERATIONSREQUEST'].fields_by_name['page_token']._serialized_options = b'\340A\001' + _globals['_LISTINSTANCEPARTITIONOPERATIONSREQUEST'].fields_by_name['instance_partition_deadline']._options = None + _globals['_LISTINSTANCEPARTITIONOPERATIONSREQUEST'].fields_by_name['instance_partition_deadline']._serialized_options = b'\340A\001' + _globals['_INSTANCEADMIN']._options = None + _globals['_INSTANCEADMIN']._serialized_options = b'\312A\026spanner.googleapis.com\322A\\https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.admin' + _globals['_INSTANCEADMIN'].methods_by_name['ListInstanceConfigs']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['ListInstanceConfigs']._serialized_options = b'\332A\006parent\202\323\344\223\002)\022\'/v1/{parent=projects/*}/instanceConfigs' + _globals['_INSTANCEADMIN'].methods_by_name['GetInstanceConfig']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['GetInstanceConfig']._serialized_options = b'\332A\004name\202\323\344\223\002)\022\'/v1/{name=projects/*/instanceConfigs/*}' + _globals['_INSTANCEADMIN'].methods_by_name['CreateInstanceConfig']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['CreateInstanceConfig']._serialized_options = b'\312Ap\n/google.spanner.admin.instance.v1.InstanceConfig\022=google.spanner.admin.instance.v1.CreateInstanceConfigMetadata\332A)parent,instance_config,instance_config_id\202\323\344\223\002,\"\'/v1/{parent=projects/*}/instanceConfigs:\001*' + _globals['_INSTANCEADMIN'].methods_by_name['UpdateInstanceConfig']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['UpdateInstanceConfig']._serialized_options = b'\312Ap\n/google.spanner.admin.instance.v1.InstanceConfig\022=google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata\332A\033instance_config,update_mask\202\323\344\223\002<27/v1/{instance_config.name=projects/*/instanceConfigs/*}:\001*' + _globals['_INSTANCEADMIN'].methods_by_name['DeleteInstanceConfig']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['DeleteInstanceConfig']._serialized_options = b'\332A\004name\202\323\344\223\002)*\'/v1/{name=projects/*/instanceConfigs/*}' + _globals['_INSTANCEADMIN'].methods_by_name['ListInstanceConfigOperations']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['ListInstanceConfigOperations']._serialized_options = b'\332A\006parent\202\323\344\223\0022\0220/v1/{parent=projects/*}/instanceConfigOperations' + _globals['_INSTANCEADMIN'].methods_by_name['ListInstances']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['ListInstances']._serialized_options = b'\332A\006parent\202\323\344\223\002#\022!/v1/{parent=projects/*}/instances' + _globals['_INSTANCEADMIN'].methods_by_name['ListInstancePartitions']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['ListInstancePartitions']._serialized_options = b'\332A\006parent\202\323\344\223\0028\0226/v1/{parent=projects/*/instances/*}/instancePartitions' + _globals['_INSTANCEADMIN'].methods_by_name['GetInstance']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['GetInstance']._serialized_options = b'\332A\004name\202\323\344\223\002#\022!/v1/{name=projects/*/instances/*}' + _globals['_INSTANCEADMIN'].methods_by_name['CreateInstance']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['CreateInstance']._serialized_options = b'\312Ad\n)google.spanner.admin.instance.v1.Instance\0227google.spanner.admin.instance.v1.CreateInstanceMetadata\332A\033parent,instance_id,instance\202\323\344\223\002&\"!/v1/{parent=projects/*}/instances:\001*' + _globals['_INSTANCEADMIN'].methods_by_name['UpdateInstance']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['UpdateInstance']._serialized_options = b'\312Ad\n)google.spanner.admin.instance.v1.Instance\0227google.spanner.admin.instance.v1.UpdateInstanceMetadata\332A\023instance,field_mask\202\323\344\223\002/2*/v1/{instance.name=projects/*/instances/*}:\001*' + _globals['_INSTANCEADMIN'].methods_by_name['DeleteInstance']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['DeleteInstance']._serialized_options = b'\332A\004name\202\323\344\223\002#*!/v1/{name=projects/*/instances/*}' + _globals['_INSTANCEADMIN'].methods_by_name['SetIamPolicy']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['SetIamPolicy']._serialized_options = b'\332A\017resource,policy\202\323\344\223\0027\"2/v1/{resource=projects/*/instances/*}:setIamPolicy:\001*' + _globals['_INSTANCEADMIN'].methods_by_name['GetIamPolicy']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['GetIamPolicy']._serialized_options = b'\332A\010resource\202\323\344\223\0027\"2/v1/{resource=projects/*/instances/*}:getIamPolicy:\001*' + _globals['_INSTANCEADMIN'].methods_by_name['TestIamPermissions']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['TestIamPermissions']._serialized_options = b'\332A\024resource,permissions\202\323\344\223\002=\"8/v1/{resource=projects/*/instances/*}:testIamPermissions:\001*' + _globals['_INSTANCEADMIN'].methods_by_name['GetInstancePartition']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['GetInstancePartition']._serialized_options = b'\332A\004name\202\323\344\223\0028\0226/v1/{name=projects/*/instances/*/instancePartitions/*}' + _globals['_INSTANCEADMIN'].methods_by_name['CreateInstancePartition']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['CreateInstancePartition']._serialized_options = b'\312Av\n2google.spanner.admin.instance.v1.InstancePartition\022@google.spanner.admin.instance.v1.CreateInstancePartitionMetadata\332A/parent,instance_partition,instance_partition_id\202\323\344\223\002;\"6/v1/{parent=projects/*/instances/*}/instancePartitions:\001*' + _globals['_INSTANCEADMIN'].methods_by_name['DeleteInstancePartition']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['DeleteInstancePartition']._serialized_options = b'\332A\004name\202\323\344\223\0028*6/v1/{name=projects/*/instances/*/instancePartitions/*}' + _globals['_INSTANCEADMIN'].methods_by_name['UpdateInstancePartition']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['UpdateInstancePartition']._serialized_options = b'\312Av\n2google.spanner.admin.instance.v1.InstancePartition\022@google.spanner.admin.instance.v1.UpdateInstancePartitionMetadata\332A\035instance_partition,field_mask\202\323\344\223\002N2I/v1/{instance_partition.name=projects/*/instances/*/instancePartitions/*}:\001*' + _globals['_INSTANCEADMIN'].methods_by_name['ListInstancePartitionOperations']._options = None + _globals['_INSTANCEADMIN'].methods_by_name['ListInstancePartitionOperations']._serialized_options = b'\332A\006parent\202\323\344\223\002A\022?/v1/{parent=projects/*/instances/*}/instancePartitionOperations' + _globals['_REPLICAINFO']._serialized_start=455 + _globals['_REPLICAINFO']._serialized_end=673 + _globals['_REPLICAINFO_REPLICATYPE']._serialized_start=594 + _globals['_REPLICAINFO_REPLICATYPE']._serialized_end=673 + _globals['_INSTANCECONFIG']._serialized_start=676 + _globals['_INSTANCECONFIG']._serialized_end=1506 + _globals['_INSTANCECONFIG_LABELSENTRY']._serialized_start=1238 + _globals['_INSTANCECONFIG_LABELSENTRY']._serialized_end=1283 + _globals['_INSTANCECONFIG_TYPE']._serialized_start=1285 + _globals['_INSTANCECONFIG_TYPE']._serialized_end=1351 + _globals['_INSTANCECONFIG_STATE']._serialized_start=1353 + _globals['_INSTANCECONFIG_STATE']._serialized_end=1408 + _globals['_AUTOSCALINGCONFIG']._serialized_start=1509 + _globals['_AUTOSCALINGCONFIG']._serialized_end=2008 + _globals['_AUTOSCALINGCONFIG_AUTOSCALINGLIMITS']._serialized_start=1741 + _globals['_AUTOSCALINGCONFIG_AUTOSCALINGLIMITS']._serialized_end=1892 + _globals['_AUTOSCALINGCONFIG_AUTOSCALINGTARGETS']._serialized_start=1894 + _globals['_AUTOSCALINGCONFIG_AUTOSCALINGTARGETS']._serialized_end=2008 + _globals['_INSTANCE']._serialized_start=2011 + _globals['_INSTANCE']._serialized_end=2718 + _globals['_INSTANCE_LABELSENTRY']._serialized_start=1238 + _globals['_INSTANCE_LABELSENTRY']._serialized_end=1283 + _globals['_INSTANCE_STATE']._serialized_start=1353 + _globals['_INSTANCE_STATE']._serialized_end=1408 + _globals['_LISTINSTANCECONFIGSREQUEST']._serialized_start=2721 + _globals['_LISTINSTANCECONFIGSREQUEST']._serialized_end=2857 + _globals['_LISTINSTANCECONFIGSRESPONSE']._serialized_start=2860 + _globals['_LISTINSTANCECONFIGSRESPONSE']._serialized_end=2990 + _globals['_GETINSTANCECONFIGREQUEST']._serialized_start=2992 + _globals['_GETINSTANCECONFIGREQUEST']._serialized_end=3079 + _globals['_CREATEINSTANCECONFIGREQUEST']._serialized_start=3082 + _globals['_CREATEINSTANCECONFIGREQUEST']._serialized_end=3316 + _globals['_UPDATEINSTANCECONFIGREQUEST']._serialized_start=3319 + _globals['_UPDATEINSTANCECONFIGREQUEST']._serialized_end=3505 + _globals['_DELETEINSTANCECONFIGREQUEST']._serialized_start=3507 + _globals['_DELETEINSTANCECONFIGREQUEST']._serialized_end=3634 + _globals['_LISTINSTANCECONFIGOPERATIONSREQUEST']._serialized_start=3637 + _globals['_LISTINSTANCECONFIGOPERATIONSREQUEST']._serialized_end=3798 + _globals['_LISTINSTANCECONFIGOPERATIONSRESPONSE']._serialized_start=3800 + _globals['_LISTINSTANCECONFIGOPERATIONSRESPONSE']._serialized_end=3914 + _globals['_GETINSTANCEREQUEST']._serialized_start=3916 + _globals['_GETINSTANCEREQUEST']._serialized_end=4039 + _globals['_CREATEINSTANCEREQUEST']._serialized_start=4042 + _globals['_CREATEINSTANCEREQUEST']._serialized_end=4227 + _globals['_LISTINSTANCESREQUEST']._serialized_start=4230 + _globals['_LISTINSTANCESREQUEST']._serialized_end=4431 + _globals['_LISTINSTANCESRESPONSE']._serialized_start=4434 + _globals['_LISTINSTANCESRESPONSE']._serialized_end=4566 + _globals['_UPDATEINSTANCEREQUEST']._serialized_start=4569 + _globals['_UPDATEINSTANCEREQUEST']._serialized_end=4712 + _globals['_DELETEINSTANCEREQUEST']._serialized_start=4714 + _globals['_DELETEINSTANCEREQUEST']._serialized_end=4792 + _globals['_CREATEINSTANCEMETADATA']._serialized_start=4795 + _globals['_CREATEINSTANCEMETADATA']._serialized_end=5114 + _globals['_UPDATEINSTANCEMETADATA']._serialized_start=5117 + _globals['_UPDATEINSTANCEMETADATA']._serialized_end=5436 + _globals['_CREATEINSTANCECONFIGMETADATA']._serialized_start=5439 + _globals['_CREATEINSTANCECONFIGMETADATA']._serialized_end=5664 + _globals['_UPDATEINSTANCECONFIGMETADATA']._serialized_start=5667 + _globals['_UPDATEINSTANCECONFIGMETADATA']._serialized_end=5892 + _globals['_INSTANCEPARTITION']._serialized_start=5895 + _globals['_INSTANCEPARTITION']._serialized_end=6549 + _globals['_INSTANCEPARTITION_STATE']._serialized_start=1353 + _globals['_INSTANCEPARTITION_STATE']._serialized_end=1408 + _globals['_CREATEINSTANCEPARTITIONMETADATA']._serialized_start=6552 + _globals['_CREATEINSTANCEPARTITIONMETADATA']._serialized_end=6809 + _globals['_CREATEINSTANCEPARTITIONREQUEST']._serialized_start=6812 + _globals['_CREATEINSTANCEPARTITIONREQUEST']._serialized_end=7023 + _globals['_DELETEINSTANCEPARTITIONREQUEST']._serialized_start=7025 + _globals['_DELETEINSTANCEPARTITIONREQUEST']._serialized_end=7135 + _globals['_GETINSTANCEPARTITIONREQUEST']._serialized_start=7137 + _globals['_GETINSTANCEPARTITIONREQUEST']._serialized_end=7230 + _globals['_UPDATEINSTANCEPARTITIONREQUEST']._serialized_start=7233 + _globals['_UPDATEINSTANCEPARTITIONREQUEST']._serialized_end=7404 + _globals['_UPDATEINSTANCEPARTITIONMETADATA']._serialized_start=7407 + _globals['_UPDATEINSTANCEPARTITIONMETADATA']._serialized_end=7664 + _globals['_LISTINSTANCEPARTITIONSREQUEST']._serialized_start=7667 + _globals['_LISTINSTANCEPARTITIONSREQUEST']._serialized_end=7864 + _globals['_LISTINSTANCEPARTITIONSRESPONSE']._serialized_start=7867 + _globals['_LISTINSTANCEPARTITIONSRESPONSE']._serialized_end=8027 + _globals['_LISTINSTANCEPARTITIONOPERATIONSREQUEST']._serialized_start=8030 + _globals['_LISTINSTANCEPARTITIONOPERATIONSREQUEST']._serialized_end=8267 + _globals['_LISTINSTANCEPARTITIONOPERATIONSRESPONSE']._serialized_start=8270 + _globals['_LISTINSTANCEPARTITIONOPERATIONSRESPONSE']._serialized_end=8428 + _globals['_INSTANCEADMIN']._serialized_start=8431 + _globals['_INSTANCEADMIN']._serialized_end=13245 +# @@protoc_insertion_point(module_scope) diff --git a/test_proxy/protos/google/spanner/admin/instance/v1/spanner_instance_admin_pb2_grpc.py b/test_proxy/protos/google/spanner/admin/instance/v1/spanner_instance_admin_pb2_grpc.py new file mode 100644 index 0000000000..a5f9dea63a --- /dev/null +++ b/test_proxy/protos/google/spanner/admin/instance/v1/spanner_instance_admin_pb2_grpc.py @@ -0,0 +1,1074 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from google.iam.v1 import iam_policy_pb2 as google_dot_iam_dot_v1_dot_iam__policy__pb2 +from google.iam.v1 import policy_pb2 as google_dot_iam_dot_v1_dot_policy__pb2 +from google.longrunning import operations_pb2 as google_dot_longrunning_dot_operations__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.spanner.admin.instance.v1 import spanner_instance_admin_pb2 as google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2 + + +class InstanceAdminStub(object): + """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. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.ListInstanceConfigs = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/ListInstanceConfigs', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstanceConfigsRequest.SerializeToString, + response_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstanceConfigsResponse.FromString, + ) + self.GetInstanceConfig = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/GetInstanceConfig', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.GetInstanceConfigRequest.SerializeToString, + response_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.InstanceConfig.FromString, + ) + self.CreateInstanceConfig = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/CreateInstanceConfig', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.CreateInstanceConfigRequest.SerializeToString, + response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, + ) + self.UpdateInstanceConfig = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/UpdateInstanceConfig', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.UpdateInstanceConfigRequest.SerializeToString, + response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, + ) + self.DeleteInstanceConfig = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/DeleteInstanceConfig', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.DeleteInstanceConfigRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.ListInstanceConfigOperations = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/ListInstanceConfigOperations', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstanceConfigOperationsRequest.SerializeToString, + response_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstanceConfigOperationsResponse.FromString, + ) + self.ListInstances = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/ListInstances', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancesRequest.SerializeToString, + response_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancesResponse.FromString, + ) + self.ListInstancePartitions = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/ListInstancePartitions', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancePartitionsRequest.SerializeToString, + response_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancePartitionsResponse.FromString, + ) + self.GetInstance = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/GetInstance', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.GetInstanceRequest.SerializeToString, + response_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.Instance.FromString, + ) + self.CreateInstance = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/CreateInstance', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.CreateInstanceRequest.SerializeToString, + response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, + ) + self.UpdateInstance = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/UpdateInstance', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.UpdateInstanceRequest.SerializeToString, + response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, + ) + self.DeleteInstance = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/DeleteInstance', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.DeleteInstanceRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.SetIamPolicy = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/SetIamPolicy', + request_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.SetIamPolicyRequest.SerializeToString, + response_deserializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.FromString, + ) + self.GetIamPolicy = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/GetIamPolicy', + request_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.GetIamPolicyRequest.SerializeToString, + response_deserializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.FromString, + ) + self.TestIamPermissions = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/TestIamPermissions', + request_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsRequest.SerializeToString, + response_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsResponse.FromString, + ) + self.GetInstancePartition = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/GetInstancePartition', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.GetInstancePartitionRequest.SerializeToString, + response_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.InstancePartition.FromString, + ) + self.CreateInstancePartition = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/CreateInstancePartition', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.CreateInstancePartitionRequest.SerializeToString, + response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, + ) + self.DeleteInstancePartition = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/DeleteInstancePartition', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.DeleteInstancePartitionRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.UpdateInstancePartition = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/UpdateInstancePartition', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.UpdateInstancePartitionRequest.SerializeToString, + response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, + ) + self.ListInstancePartitionOperations = channel.unary_unary( + '/google.spanner.admin.instance.v1.InstanceAdmin/ListInstancePartitionOperations', + request_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancePartitionOperationsRequest.SerializeToString, + response_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancePartitionOperationsResponse.FromString, + ) + + +class InstanceAdminServicer(object): + """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. + """ + + def ListInstanceConfigs(self, request, context): + """Lists the supported instance configurations for a given project. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetInstanceConfig(self, request, context): + """Gets information about a particular instance configuration. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateInstanceConfig(self, request, context): + """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 + `/operations/` 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]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateInstanceConfig(self, request, context): + """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 + `/operations/` 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]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteInstanceConfig(self, request, context): + """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]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListInstanceConfigOperations(self, request, context): + """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//instanceConfigs//operations/`. + 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. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListInstances(self, request, context): + """Lists all instances in the given project. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListInstancePartitions(self, request, context): + """Lists all instance partitions for the given instance. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetInstance(self, request, context): + """Gets information about a particular instance. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateInstance(self, request, context): + """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 `/operations/` 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. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateInstance(self, request, context): + """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 `/operations/` 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]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteInstance(self, request, context): + """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. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetIamPolicy(self, request, context): + """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]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetIamPolicy(self, request, context): + """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]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TestIamPermissions(self, request, context): + """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. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetInstancePartition(self, request, context): + """Gets information about a particular instance partition. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateInstancePartition(self, request, context): + """Creates an instance partition 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 partition. + The instance partition name is assigned by the caller. If the named + instance partition already exists, `CreateInstancePartition` returns + `ALREADY_EXISTS`. + + Immediately upon completion of this request: + + * The instance partition 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 partition immediately + unreadable via the API. + * The instance partition can be deleted. + * All other attempts to modify the instance partition 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 start using this instance partition. + * The instance partition's allocated resource levels are readable via the + API. + * The instance partition's state becomes `READY`. + + The returned [long-running operation][google.longrunning.Operation] will + have a name of the format + `/operations/` and can be used to + track creation of the instance partition. The + [metadata][google.longrunning.Operation.metadata] field type is + [CreateInstancePartitionMetadata][google.spanner.admin.instance.v1.CreateInstancePartitionMetadata]. + The [response][google.longrunning.Operation.response] field type is + [InstancePartition][google.spanner.admin.instance.v1.InstancePartition], if + successful. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteInstancePartition(self, request, context): + """Deletes an existing instance partition. Requires that the + instance partition is not used by any database or backup and is not the + default instance partition of an instance. + + Authorization requires `spanner.instancePartitions.delete` permission on + the resource + [name][google.spanner.admin.instance.v1.InstancePartition.name]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateInstancePartition(self, request, context): + """Updates an instance partition, 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 partition. If the named instance + partition does not exist, returns `NOT_FOUND`. + + Immediately upon completion of this request: + + * For resource types for which a decrease in the instance partition'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.UpdateInstancePartitionMetadata.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 partition are rejected. + * Reading the instance partition 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 + partition's tables. + * The instance partition's new resource levels are readable via the API. + + The returned [long-running operation][google.longrunning.Operation] will + have a name of the format + `/operations/` and can be used to + track the instance partition modification. The + [metadata][google.longrunning.Operation.metadata] field type is + [UpdateInstancePartitionMetadata][google.spanner.admin.instance.v1.UpdateInstancePartitionMetadata]. + The [response][google.longrunning.Operation.response] field type is + [InstancePartition][google.spanner.admin.instance.v1.InstancePartition], if + successful. + + Authorization requires `spanner.instancePartitions.update` permission on + the resource + [name][google.spanner.admin.instance.v1.InstancePartition.name]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListInstancePartitionOperations(self, request, context): + """Lists instance partition [long-running + operations][google.longrunning.Operation] in the given instance. + An instance partition operation has a name of the form + `projects//instances//instancePartitions//operations/`. + 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. + + Authorization requires `spanner.instancePartitionOperations.list` + permission on the resource + [parent][google.spanner.admin.instance.v1.ListInstancePartitionOperationsRequest.parent]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_InstanceAdminServicer_to_server(servicer, server): + rpc_method_handlers = { + 'ListInstanceConfigs': grpc.unary_unary_rpc_method_handler( + servicer.ListInstanceConfigs, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstanceConfigsRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstanceConfigsResponse.SerializeToString, + ), + 'GetInstanceConfig': grpc.unary_unary_rpc_method_handler( + servicer.GetInstanceConfig, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.GetInstanceConfigRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.InstanceConfig.SerializeToString, + ), + 'CreateInstanceConfig': grpc.unary_unary_rpc_method_handler( + servicer.CreateInstanceConfig, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.CreateInstanceConfigRequest.FromString, + response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ), + 'UpdateInstanceConfig': grpc.unary_unary_rpc_method_handler( + servicer.UpdateInstanceConfig, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.UpdateInstanceConfigRequest.FromString, + response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ), + 'DeleteInstanceConfig': grpc.unary_unary_rpc_method_handler( + servicer.DeleteInstanceConfig, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.DeleteInstanceConfigRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'ListInstanceConfigOperations': grpc.unary_unary_rpc_method_handler( + servicer.ListInstanceConfigOperations, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstanceConfigOperationsRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstanceConfigOperationsResponse.SerializeToString, + ), + 'ListInstances': grpc.unary_unary_rpc_method_handler( + servicer.ListInstances, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancesRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancesResponse.SerializeToString, + ), + 'ListInstancePartitions': grpc.unary_unary_rpc_method_handler( + servicer.ListInstancePartitions, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancePartitionsRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancePartitionsResponse.SerializeToString, + ), + 'GetInstance': grpc.unary_unary_rpc_method_handler( + servicer.GetInstance, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.GetInstanceRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.Instance.SerializeToString, + ), + 'CreateInstance': grpc.unary_unary_rpc_method_handler( + servicer.CreateInstance, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.CreateInstanceRequest.FromString, + response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ), + 'UpdateInstance': grpc.unary_unary_rpc_method_handler( + servicer.UpdateInstance, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.UpdateInstanceRequest.FromString, + response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ), + 'DeleteInstance': grpc.unary_unary_rpc_method_handler( + servicer.DeleteInstance, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.DeleteInstanceRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'SetIamPolicy': grpc.unary_unary_rpc_method_handler( + servicer.SetIamPolicy, + request_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.SetIamPolicyRequest.FromString, + response_serializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.SerializeToString, + ), + 'GetIamPolicy': grpc.unary_unary_rpc_method_handler( + servicer.GetIamPolicy, + request_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.GetIamPolicyRequest.FromString, + response_serializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.SerializeToString, + ), + 'TestIamPermissions': grpc.unary_unary_rpc_method_handler( + servicer.TestIamPermissions, + request_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsRequest.FromString, + response_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsResponse.SerializeToString, + ), + 'GetInstancePartition': grpc.unary_unary_rpc_method_handler( + servicer.GetInstancePartition, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.GetInstancePartitionRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.InstancePartition.SerializeToString, + ), + 'CreateInstancePartition': grpc.unary_unary_rpc_method_handler( + servicer.CreateInstancePartition, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.CreateInstancePartitionRequest.FromString, + response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ), + 'DeleteInstancePartition': grpc.unary_unary_rpc_method_handler( + servicer.DeleteInstancePartition, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.DeleteInstancePartitionRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'UpdateInstancePartition': grpc.unary_unary_rpc_method_handler( + servicer.UpdateInstancePartition, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.UpdateInstancePartitionRequest.FromString, + response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString, + ), + 'ListInstancePartitionOperations': grpc.unary_unary_rpc_method_handler( + servicer.ListInstancePartitionOperations, + request_deserializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancePartitionOperationsRequest.FromString, + response_serializer=google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancePartitionOperationsResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'google.spanner.admin.instance.v1.InstanceAdmin', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class InstanceAdmin(object): + """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. + """ + + @staticmethod + def ListInstanceConfigs(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/ListInstanceConfigs', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstanceConfigsRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstanceConfigsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetInstanceConfig(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/GetInstanceConfig', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.GetInstanceConfigRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.InstanceConfig.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CreateInstanceConfig(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/CreateInstanceConfig', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.CreateInstanceConfigRequest.SerializeToString, + google_dot_longrunning_dot_operations__pb2.Operation.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateInstanceConfig(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/UpdateInstanceConfig', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.UpdateInstanceConfigRequest.SerializeToString, + google_dot_longrunning_dot_operations__pb2.Operation.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteInstanceConfig(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/DeleteInstanceConfig', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.DeleteInstanceConfigRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListInstanceConfigOperations(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/ListInstanceConfigOperations', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstanceConfigOperationsRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstanceConfigOperationsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListInstances(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/ListInstances', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancesRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListInstancePartitions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/ListInstancePartitions', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancePartitionsRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancePartitionsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetInstance(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/GetInstance', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.GetInstanceRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.Instance.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CreateInstance(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/CreateInstance', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.CreateInstanceRequest.SerializeToString, + google_dot_longrunning_dot_operations__pb2.Operation.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateInstance(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/UpdateInstance', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.UpdateInstanceRequest.SerializeToString, + google_dot_longrunning_dot_operations__pb2.Operation.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteInstance(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/DeleteInstance', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.DeleteInstanceRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetIamPolicy(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/SetIamPolicy', + google_dot_iam_dot_v1_dot_iam__policy__pb2.SetIamPolicyRequest.SerializeToString, + google_dot_iam_dot_v1_dot_policy__pb2.Policy.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetIamPolicy(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/GetIamPolicy', + google_dot_iam_dot_v1_dot_iam__policy__pb2.GetIamPolicyRequest.SerializeToString, + google_dot_iam_dot_v1_dot_policy__pb2.Policy.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def TestIamPermissions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/TestIamPermissions', + google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsRequest.SerializeToString, + google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetInstancePartition(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/GetInstancePartition', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.GetInstancePartitionRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.InstancePartition.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CreateInstancePartition(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/CreateInstancePartition', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.CreateInstancePartitionRequest.SerializeToString, + google_dot_longrunning_dot_operations__pb2.Operation.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteInstancePartition(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/DeleteInstancePartition', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.DeleteInstancePartitionRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateInstancePartition(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/UpdateInstancePartition', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.UpdateInstancePartitionRequest.SerializeToString, + google_dot_longrunning_dot_operations__pb2.Operation.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListInstancePartitionOperations(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/google.spanner.admin.instance.v1.InstanceAdmin/ListInstancePartitionOperations', + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancePartitionOperationsRequest.SerializeToString, + google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2.ListInstancePartitionOperationsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/test_proxy/protos/google/spanner/executor/v1/cloud_executor_pb2.py b/test_proxy/protos/google/spanner/executor/v1/cloud_executor_pb2.py new file mode 100644 index 0000000000..76a993eca6 --- /dev/null +++ b/test_proxy/protos/google/spanner/executor/v1/cloud_executor_pb2.py @@ -0,0 +1,226 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/spanner/executor/v1/cloud_executor.proto +# Protobuf Python Version: 4.25.3 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.api import client_pb2 as google_dot_api_dot_client__pb2 +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 +from google.longrunning import operations_pb2 as google_dot_longrunning_dot_operations__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2 +from google.spanner.admin.database.v1 import backup_pb2 as google_dot_spanner_dot_admin_dot_database_dot_v1_dot_backup__pb2 +from google.spanner.admin.database.v1 import common_pb2 as google_dot_spanner_dot_admin_dot_database_dot_v1_dot_common__pb2 +from google.spanner.admin.database.v1 import spanner_database_admin_pb2 as google_dot_spanner_dot_admin_dot_database_dot_v1_dot_spanner__database__admin__pb2 +from google.spanner.admin.instance.v1 import spanner_instance_admin_pb2 as google_dot_spanner_dot_admin_dot_instance_dot_v1_dot_spanner__instance__admin__pb2 +from google.spanner.v1 import spanner_pb2 as google_dot_spanner_dot_v1_dot_spanner__pb2 +try: + google_dot_spanner_dot_v1_dot_commit__response__pb2 = google_dot_spanner_dot_v1_dot_spanner__pb2.google_dot_spanner_dot_v1_dot_commit__response__pb2 +except AttributeError: + google_dot_spanner_dot_v1_dot_commit__response__pb2 = google_dot_spanner_dot_v1_dot_spanner__pb2.google.spanner.v1.commit_response_pb2 +from google.spanner.v1 import type_pb2 as google_dot_spanner_dot_v1_dot_type__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/google/spanner/executor/v1/cloud_executor.proto\x12\x1agoogle.spanner.executor.v1\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a#google/longrunning/operations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a-google/spanner/admin/database/v1/backup.proto\x1a-google/spanner/admin/database/v1/common.proto\x1a=google/spanner/admin/database/v1/spanner_database_admin.proto\x1a=google/spanner/admin/instance/v1/spanner_instance_admin.proto\x1a\x1fgoogle/spanner/v1/spanner.proto\x1a\x1cgoogle/spanner/v1/type.proto\"i\n\x19SpannerAsyncActionRequest\x12\x11\n\taction_id\x18\x01 \x01(\x05\x12\x39\n\x06\x61\x63tion\x18\x02 \x01(\x0b\x32).google.spanner.executor.v1.SpannerAction\"r\n\x1aSpannerAsyncActionResponse\x12\x11\n\taction_id\x18\x01 \x01(\x05\x12\x41\n\x07outcome\x18\x02 \x01(\x0b\x32\x30.google.spanner.executor.v1.SpannerActionOutcome\"\xf1\n\n\rSpannerAction\x12\x15\n\rdatabase_path\x18\x01 \x01(\t\x12\x43\n\x0fspanner_options\x18\x02 \x01(\x0b\x32*.google.spanner.executor.v1.SpannerOptions\x12\x43\n\x05start\x18\n \x01(\x0b\x32\x32.google.spanner.executor.v1.StartTransactionActionH\x00\x12\x45\n\x06\x66inish\x18\x0b \x01(\x0b\x32\x33.google.spanner.executor.v1.FinishTransactionActionH\x00\x12\x36\n\x04read\x18\x14 \x01(\x0b\x32&.google.spanner.executor.v1.ReadActionH\x00\x12\x38\n\x05query\x18\x15 \x01(\x0b\x32\'.google.spanner.executor.v1.QueryActionH\x00\x12>\n\x08mutation\x18\x16 \x01(\x0b\x32*.google.spanner.executor.v1.MutationActionH\x00\x12\x34\n\x03\x64ml\x18\x17 \x01(\x0b\x32%.google.spanner.executor.v1.DmlActionH\x00\x12?\n\tbatch_dml\x18\x18 \x01(\x0b\x32*.google.spanner.executor.v1.BatchDmlActionH\x00\x12\x41\n\x05write\x18\x19 \x01(\x0b\x32\x30.google.spanner.executor.v1.WriteMutationsActionH\x00\x12Q\n\x12partitioned_update\x18\x1b \x01(\x0b\x32\x33.google.spanner.executor.v1.PartitionedUpdateActionH\x00\x12\x38\n\x05\x61\x64min\x18\x1e \x01(\x0b\x32\'.google.spanner.executor.v1.AdminActionH\x00\x12R\n\x0fstart_batch_txn\x18( \x01(\x0b\x32\x37.google.spanner.executor.v1.StartBatchTransactionActionH\x00\x12R\n\x0f\x63lose_batch_txn\x18) \x01(\x0b\x32\x37.google.spanner.executor.v1.CloseBatchTransactionActionH\x00\x12\x64\n\x1bgenerate_db_partitions_read\x18* \x01(\x0b\x32=.google.spanner.executor.v1.GenerateDbPartitionsForReadActionH\x00\x12\x66\n\x1cgenerate_db_partitions_query\x18+ \x01(\x0b\x32>.google.spanner.executor.v1.GenerateDbPartitionsForQueryActionH\x00\x12O\n\x11\x65xecute_partition\x18, \x01(\x0b\x32\x32.google.spanner.executor.v1.ExecutePartitionActionH\x00\x12[\n\x1b\x65xecute_change_stream_query\x18\x32 \x01(\x0b\x32\x34.google.spanner.executor.v1.ExecuteChangeStreamQueryH\x00\x12Q\n\x12query_cancellation\x18\x33 \x01(\x0b\x32\x33.google.spanner.executor.v1.QueryCancellationActionH\x00\x42\x08\n\x06\x61\x63tion\"\x8a\x01\n\nReadAction\x12\r\n\x05table\x18\x01 \x01(\t\x12\x12\n\x05index\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0e\n\x06\x63olumn\x18\x03 \x03(\t\x12\x30\n\x04keys\x18\x04 \x01(\x0b\x32\".google.spanner.executor.v1.KeySet\x12\r\n\x05limit\x18\x05 \x01(\x05\x42\x08\n\x06_index\"\xd1\x01\n\x0bQueryAction\x12\x0b\n\x03sql\x18\x01 \x01(\t\x12\x41\n\x06params\x18\x02 \x03(\x0b\x32\x31.google.spanner.executor.v1.QueryAction.Parameter\x1ar\n\tParameter\x12\x0c\n\x04name\x18\x01 \x01(\t\x12%\n\x04type\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type\x12\x30\n\x05value\x18\x03 \x01(\x0b\x32!.google.spanner.executor.v1.Value\"\x86\x01\n\tDmlAction\x12\x37\n\x06update\x18\x01 \x01(\x0b\x32\'.google.spanner.executor.v1.QueryAction\x12$\n\x17\x61utocommit_if_supported\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x1a\n\x18_autocommit_if_supported\"J\n\x0e\x42\x61tchDmlAction\x12\x38\n\x07updates\x18\x01 \x03(\x0b\x32\'.google.spanner.executor.v1.QueryAction\"\xc9\x03\n\x05Value\x12\x11\n\x07is_null\x18\x01 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x12\x15\n\x0b\x62ytes_value\x18\x05 \x01(\x0cH\x00\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x00\x12=\n\x0cstruct_value\x18\x07 \x01(\x0b\x32%.google.spanner.executor.v1.ValueListH\x00\x12\x35\n\x0ftimestamp_value\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x19\n\x0f\x64\x61te_days_value\x18\t \x01(\x05H\x00\x12\x1d\n\x13is_commit_timestamp\x18\n \x01(\x08H\x00\x12<\n\x0b\x61rray_value\x18\x0b \x01(\x0b\x32%.google.spanner.executor.v1.ValueListH\x00\x12\x30\n\narray_type\x18\x0c \x01(\x0b\x32\x17.google.spanner.v1.TypeH\x01\x88\x01\x01\x42\x0c\n\nvalue_typeB\r\n\x0b_array_type\"\x9f\x02\n\x08KeyRange\x12\x34\n\x05start\x18\x01 \x01(\x0b\x32%.google.spanner.executor.v1.ValueList\x12\x34\n\x05limit\x18\x02 \x01(\x0b\x32%.google.spanner.executor.v1.ValueList\x12<\n\x04type\x18\x03 \x01(\x0e\x32).google.spanner.executor.v1.KeyRange.TypeH\x00\x88\x01\x01\"`\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x11\n\rCLOSED_CLOSED\x10\x01\x12\x0f\n\x0b\x43LOSED_OPEN\x10\x02\x12\x0f\n\x0bOPEN_CLOSED\x10\x03\x12\r\n\tOPEN_OPEN\x10\x04\x42\x07\n\x05_type\"\x80\x01\n\x06KeySet\x12\x34\n\x05point\x18\x01 \x03(\x0b\x32%.google.spanner.executor.v1.ValueList\x12\x33\n\x05range\x18\x02 \x03(\x0b\x32$.google.spanner.executor.v1.KeyRange\x12\x0b\n\x03\x61ll\x18\x03 \x01(\x08\"=\n\tValueList\x12\x30\n\x05value\x18\x01 \x03(\x0b\x32!.google.spanner.executor.v1.Value\"\xbc\x05\n\x0eMutationAction\x12;\n\x03mod\x18\x01 \x03(\x0b\x32..google.spanner.executor.v1.MutationAction.Mod\x1az\n\nInsertArgs\x12\x0e\n\x06\x63olumn\x18\x01 \x03(\t\x12%\n\x04type\x18\x02 \x03(\x0b\x32\x17.google.spanner.v1.Type\x12\x35\n\x06values\x18\x03 \x03(\x0b\x32%.google.spanner.executor.v1.ValueList\x1az\n\nUpdateArgs\x12\x0e\n\x06\x63olumn\x18\x01 \x03(\t\x12%\n\x04type\x18\x02 \x03(\x0b\x32\x17.google.spanner.v1.Type\x12\x35\n\x06values\x18\x03 \x03(\x0b\x32%.google.spanner.executor.v1.ValueList\x1a\xf4\x02\n\x03Mod\x12\r\n\x05table\x18\x01 \x01(\t\x12\x45\n\x06insert\x18\x02 \x01(\x0b\x32\x35.google.spanner.executor.v1.MutationAction.InsertArgs\x12\x45\n\x06update\x18\x03 \x01(\x0b\x32\x35.google.spanner.executor.v1.MutationAction.UpdateArgs\x12O\n\x10insert_or_update\x18\x04 \x01(\x0b\x32\x35.google.spanner.executor.v1.MutationAction.InsertArgs\x12\x46\n\x07replace\x18\x05 \x01(\x0b\x32\x35.google.spanner.executor.v1.MutationAction.InsertArgs\x12\x37\n\x0b\x64\x65lete_keys\x18\x06 \x01(\x0b\x32\".google.spanner.executor.v1.KeySet\"T\n\x14WriteMutationsAction\x12<\n\x08mutation\x18\x01 \x01(\x0b\x32*.google.spanner.executor.v1.MutationAction\"\xdf\x02\n\x17PartitionedUpdateAction\x12i\n\x07options\x18\x01 \x01(\x0b\x32S.google.spanner.executor.v1.PartitionedUpdateAction.ExecutePartitionedUpdateOptionsH\x00\x88\x01\x01\x12\x37\n\x06update\x18\x02 \x01(\x0b\x32\'.google.spanner.executor.v1.QueryAction\x1a\x93\x01\n\x1f\x45xecutePartitionedUpdateOptions\x12\x45\n\x0crpc_priority\x18\x01 \x01(\x0e\x32*.google.spanner.v1.RequestOptions.PriorityH\x00\x88\x01\x01\x12\x10\n\x03tag\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x0f\n\r_rpc_priorityB\x06\n\x04_tagB\n\n\x08_options\"\xae\x02\n\x16StartTransactionAction\x12\x41\n\x0b\x63oncurrency\x18\x01 \x01(\x0b\x32\'.google.spanner.executor.v1.ConcurrencyH\x00\x88\x01\x01\x12\x38\n\x05table\x18\x02 \x03(\x0b\x32).google.spanner.executor.v1.TableMetadata\x12\x18\n\x10transaction_seed\x18\x03 \x01(\t\x12W\n\x11\x65xecution_options\x18\x04 \x01(\x0b\x32\x37.google.spanner.executor.v1.TransactionExecutionOptionsH\x01\x88\x01\x01\x42\x0e\n\x0c_concurrencyB\x14\n\x12_execution_options\"\xae\x02\n\x0b\x43oncurrency\x12\x1b\n\x11staleness_seconds\x18\x01 \x01(\x01H\x00\x12#\n\x19min_read_timestamp_micros\x18\x02 \x01(\x03H\x00\x12\x1f\n\x15max_staleness_seconds\x18\x03 \x01(\x01H\x00\x12 \n\x16\x65xact_timestamp_micros\x18\x04 \x01(\x03H\x00\x12\x10\n\x06strong\x18\x05 \x01(\x08H\x00\x12\x0f\n\x05\x62\x61tch\x18\x06 \x01(\x08H\x00\x12\x1b\n\x13snapshot_epoch_read\x18\x07 \x01(\x08\x12!\n\x19snapshot_epoch_root_table\x18\x08 \x01(\t\x12#\n\x1b\x62\x61tch_read_timestamp_micros\x18\t \x01(\x03\x42\x12\n\x10\x63oncurrency_mode\"\x99\x01\n\rTableMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12:\n\x06\x63olumn\x18\x02 \x03(\x0b\x32*.google.spanner.executor.v1.ColumnMetadata\x12>\n\nkey_column\x18\x03 \x03(\x0b\x32*.google.spanner.executor.v1.ColumnMetadata\"E\n\x0e\x43olumnMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12%\n\x04type\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type\"1\n\x1bTransactionExecutionOptions\x12\x12\n\noptimistic\x18\x01 \x01(\x08\"\x98\x01\n\x17\x46inishTransactionAction\x12\x46\n\x04mode\x18\x01 \x01(\x0e\x32\x38.google.spanner.executor.v1.FinishTransactionAction.Mode\"5\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\n\n\x06\x43OMMIT\x10\x01\x12\x0b\n\x07\x41\x42\x41NDON\x10\x02\"\xc8\x13\n\x0b\x41\x64minAction\x12\x61\n\x1b\x63reate_user_instance_config\x18\x01 \x01(\x0b\x32:.google.spanner.executor.v1.CreateUserInstanceConfigActionH\x00\x12\x61\n\x1bupdate_user_instance_config\x18\x02 \x01(\x0b\x32:.google.spanner.executor.v1.UpdateUserInstanceConfigActionH\x00\x12\x61\n\x1b\x64\x65lete_user_instance_config\x18\x03 \x01(\x0b\x32:.google.spanner.executor.v1.DeleteUserInstanceConfigActionH\x00\x12]\n\x19get_cloud_instance_config\x18\x04 \x01(\x0b\x32\x38.google.spanner.executor.v1.GetCloudInstanceConfigActionH\x00\x12[\n\x15list_instance_configs\x18\x05 \x01(\x0b\x32:.google.spanner.executor.v1.ListCloudInstanceConfigsActionH\x00\x12V\n\x15\x63reate_cloud_instance\x18\x06 \x01(\x0b\x32\x35.google.spanner.executor.v1.CreateCloudInstanceActionH\x00\x12V\n\x15update_cloud_instance\x18\x07 \x01(\x0b\x32\x35.google.spanner.executor.v1.UpdateCloudInstanceActionH\x00\x12V\n\x15\x64\x65lete_cloud_instance\x18\x08 \x01(\x0b\x32\x35.google.spanner.executor.v1.DeleteCloudInstanceActionH\x00\x12T\n\x14list_cloud_instances\x18\t \x01(\x0b\x32\x34.google.spanner.executor.v1.ListCloudInstancesActionH\x00\x12P\n\x12get_cloud_instance\x18\n \x01(\x0b\x32\x32.google.spanner.executor.v1.GetCloudInstanceActionH\x00\x12V\n\x15\x63reate_cloud_database\x18\x0b \x01(\x0b\x32\x35.google.spanner.executor.v1.CreateCloudDatabaseActionH\x00\x12]\n\x19update_cloud_database_ddl\x18\x0c \x01(\x0b\x32\x38.google.spanner.executor.v1.UpdateCloudDatabaseDdlActionH\x00\x12V\n\x15update_cloud_database\x18\x1b \x01(\x0b\x32\x35.google.spanner.executor.v1.UpdateCloudDatabaseActionH\x00\x12R\n\x13\x64rop_cloud_database\x18\r \x01(\x0b\x32\x33.google.spanner.executor.v1.DropCloudDatabaseActionH\x00\x12T\n\x14list_cloud_databases\x18\x0e \x01(\x0b\x32\x34.google.spanner.executor.v1.ListCloudDatabasesActionH\x00\x12g\n\x1elist_cloud_database_operations\x18\x0f \x01(\x0b\x32=.google.spanner.executor.v1.ListCloudDatabaseOperationsActionH\x00\x12X\n\x16restore_cloud_database\x18\x10 \x01(\x0b\x32\x36.google.spanner.executor.v1.RestoreCloudDatabaseActionH\x00\x12P\n\x12get_cloud_database\x18\x11 \x01(\x0b\x32\x32.google.spanner.executor.v1.GetCloudDatabaseActionH\x00\x12R\n\x13\x63reate_cloud_backup\x18\x12 \x01(\x0b\x32\x33.google.spanner.executor.v1.CreateCloudBackupActionH\x00\x12N\n\x11\x63opy_cloud_backup\x18\x13 \x01(\x0b\x32\x31.google.spanner.executor.v1.CopyCloudBackupActionH\x00\x12L\n\x10get_cloud_backup\x18\x14 \x01(\x0b\x32\x30.google.spanner.executor.v1.GetCloudBackupActionH\x00\x12R\n\x13update_cloud_backup\x18\x15 \x01(\x0b\x32\x33.google.spanner.executor.v1.UpdateCloudBackupActionH\x00\x12R\n\x13\x64\x65lete_cloud_backup\x18\x16 \x01(\x0b\x32\x33.google.spanner.executor.v1.DeleteCloudBackupActionH\x00\x12P\n\x12list_cloud_backups\x18\x17 \x01(\x0b\x32\x32.google.spanner.executor.v1.ListCloudBackupsActionH\x00\x12\x63\n\x1clist_cloud_backup_operations\x18\x18 \x01(\x0b\x32;.google.spanner.executor.v1.ListCloudBackupOperationsActionH\x00\x12G\n\rget_operation\x18\x19 \x01(\x0b\x32..google.spanner.executor.v1.GetOperationActionH\x00\x12M\n\x10\x63\x61ncel_operation\x18\x1a \x01(\x0b\x32\x31.google.spanner.executor.v1.CancelOperationActionH\x00\x12\x63\n\x1c\x63hange_quorum_cloud_database\x18\x1c \x01(\x0b\x32;.google.spanner.executor.v1.ChangeQuorumCloudDatabaseActionH\x00\x42\x08\n\x06\x61\x63tion\"\xa5\x01\n\x1e\x43reateUserInstanceConfigAction\x12\x16\n\x0euser_config_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12\x16\n\x0e\x62\x61se_config_id\x18\x03 \x01(\t\x12?\n\x08replicas\x18\x04 \x03(\x0b\x32-.google.spanner.admin.instance.v1.ReplicaInfo\"\xff\x01\n\x1eUpdateUserInstanceConfigAction\x12\x16\n\x0euser_config_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12\x19\n\x0c\x64isplay_name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12V\n\x06labels\x18\x04 \x03(\x0b\x32\x46.google.spanner.executor.v1.UpdateUserInstanceConfigAction.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\r_display_name\"N\n\x1cGetCloudInstanceConfigAction\x12\x1a\n\x12instance_config_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\"L\n\x1e\x44\x65leteUserInstanceConfigAction\x12\x16\n\x0euser_config_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\"\x82\x01\n\x1eListCloudInstanceConfigsAction\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x16\n\tpage_size\x18\x02 \x01(\x05H\x00\x88\x01\x01\x12\x17\n\npage_token\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x0c\n\n_page_sizeB\r\n\x0b_page_token\"\xab\x03\n\x19\x43reateCloudInstanceAction\x12\x13\n\x0binstance_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12\x1a\n\x12instance_config_id\x18\x03 \x01(\t\x12\x17\n\nnode_count\x18\x04 \x01(\x05H\x00\x88\x01\x01\x12\x1d\n\x10processing_units\x18\x06 \x01(\x05H\x01\x88\x01\x01\x12T\n\x12\x61utoscaling_config\x18\x07 \x01(\x0b\x32\x33.google.spanner.admin.instance.v1.AutoscalingConfigH\x02\x88\x01\x01\x12Q\n\x06labels\x18\x05 \x03(\x0b\x32\x41.google.spanner.executor.v1.CreateCloudInstanceAction.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\r\n\x0b_node_countB\x13\n\x11_processing_unitsB\x15\n\x13_autoscaling_config\"\xbb\x03\n\x19UpdateCloudInstanceAction\x12\x13\n\x0binstance_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12\x19\n\x0c\x64isplay_name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nnode_count\x18\x04 \x01(\x05H\x01\x88\x01\x01\x12\x1d\n\x10processing_units\x18\x05 \x01(\x05H\x02\x88\x01\x01\x12T\n\x12\x61utoscaling_config\x18\x07 \x01(\x0b\x32\x33.google.spanner.admin.instance.v1.AutoscalingConfigH\x03\x88\x01\x01\x12Q\n\x06labels\x18\x06 \x03(\x0b\x32\x41.google.spanner.executor.v1.UpdateCloudInstanceAction.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\r_display_nameB\r\n\x0b_node_countB\x13\n\x11_processing_unitsB\x15\n\x13_autoscaling_config\"D\n\x19\x44\x65leteCloudInstanceAction\x12\x13\n\x0binstance_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\"\x97\x02\n\x19\x43reateCloudDatabaseAction\x12\x13\n\x0binstance_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x61tabase_id\x18\x03 \x01(\t\x12\x15\n\rsdl_statement\x18\x04 \x03(\t\x12M\n\x11\x65ncryption_config\x18\x05 \x01(\x0b\x32\x32.google.spanner.admin.database.v1.EncryptionConfig\x12\x14\n\x07\x64ialect\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x1e\n\x11proto_descriptors\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x42\n\n\x08_dialectB\x14\n\x12_proto_descriptors\"\xbf\x01\n\x1cUpdateCloudDatabaseDdlAction\x12\x13\n\x0binstance_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x61tabase_id\x18\x03 \x01(\t\x12\x15\n\rsdl_statement\x18\x04 \x03(\t\x12\x14\n\x0coperation_id\x18\x05 \x01(\t\x12\x1e\n\x11proto_descriptors\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x42\x14\n\x12_proto_descriptors\"{\n\x19UpdateCloudDatabaseAction\x12\x13\n\x0binstance_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12\x15\n\rdatabase_name\x18\x03 \x01(\t\x12\x1e\n\x16\x65nable_drop_protection\x18\x04 \x01(\x08\"W\n\x17\x44ropCloudDatabaseAction\x12\x13\n\x0binstance_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x61tabase_id\x18\x03 \x01(\t\"h\n\x1f\x43hangeQuorumCloudDatabaseAction\x12\x19\n\x0c\x64\x61tabase_uri\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x11serving_locations\x18\x02 \x03(\tB\x0f\n\r_database_uri\"j\n\x18ListCloudDatabasesAction\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"\x9c\x01\n\x18ListCloudInstancesAction\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x13\n\x06\x66ilter\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tpage_size\x18\x03 \x01(\x05H\x01\x88\x01\x01\x12\x17\n\npage_token\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\t\n\x07_filterB\x0c\n\n_page_sizeB\r\n\x0b_page_token\"A\n\x16GetCloudInstanceAction\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\"\x83\x01\n!ListCloudDatabaseOperationsAction\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x03 \x01(\t\x12\x11\n\tpage_size\x18\x04 \x01(\x05\x12\x12\n\npage_token\x18\x05 \x01(\t\"\xe1\x01\n\x1aRestoreCloudDatabaseAction\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x1a\n\x12\x62\x61\x63kup_instance_id\x18\x02 \x01(\t\x12\x11\n\tbackup_id\x18\x03 \x01(\t\x12\x1c\n\x14\x64\x61tabase_instance_id\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x61tabase_id\x18\x05 \x01(\t\x12M\n\x11\x65ncryption_config\x18\x07 \x01(\x0b\x32\x32.google.spanner.admin.database.v1.EncryptionConfig\"V\n\x16GetCloudDatabaseAction\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x61tabase_id\x18\x03 \x01(\t\"\xb7\x02\n\x17\x43reateCloudBackupAction\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x11\n\tbackup_id\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x61tabase_id\x18\x04 \x01(\t\x12\x34\n\x0b\x65xpire_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x35\n\x0cversion_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12M\n\x11\x65ncryption_config\x18\x07 \x01(\x0b\x32\x32.google.spanner.admin.database.v1.EncryptionConfigB\x0f\n\r_version_time\"\xa0\x01\n\x15\x43opyCloudBackupAction\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x11\n\tbackup_id\x18\x03 \x01(\t\x12\x15\n\rsource_backup\x18\x04 \x01(\t\x12\x34\n\x0b\x65xpire_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"R\n\x14GetCloudBackupAction\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x11\n\tbackup_id\x18\x03 \x01(\t\"\x8b\x01\n\x17UpdateCloudBackupAction\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x11\n\tbackup_id\x18\x03 \x01(\t\x12\x34\n\x0b\x65xpire_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"U\n\x17\x44\x65leteCloudBackupAction\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x11\n\tbackup_id\x18\x03 \x01(\t\"x\n\x16ListCloudBackupsAction\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x03 \x01(\t\x12\x11\n\tpage_size\x18\x04 \x01(\x05\x12\x12\n\npage_token\x18\x05 \x01(\t\"\x81\x01\n\x1fListCloudBackupOperationsAction\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x03 \x01(\t\x12\x11\n\tpage_size\x18\x04 \x01(\x05\x12\x12\n\npage_token\x18\x05 \x01(\t\"\'\n\x12GetOperationAction\x12\x11\n\toperation\x18\x01 \x01(\t\"I\n\x17QueryCancellationAction\x12\x18\n\x10long_running_sql\x18\x01 \x01(\t\x12\x14\n\x0c\x63\x61ncel_query\x18\x02 \x01(\t\"*\n\x15\x43\x61ncelOperationAction\x12\x11\n\toperation\x18\x01 \x01(\t\"\x88\x01\n\x1bStartBatchTransactionAction\x12\x34\n\x0e\x62\x61tch_txn_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\r\n\x03tid\x18\x02 \x01(\x0cH\x00\x12\x1b\n\x13\x63loud_database_role\x18\x03 \x01(\tB\x07\n\x05param\".\n\x1b\x43loseBatchTransactionAction\x12\x0f\n\x07\x63leanup\x18\x01 \x01(\x08\"\x97\x02\n!GenerateDbPartitionsForReadAction\x12\x34\n\x04read\x18\x01 \x01(\x0b\x32&.google.spanner.executor.v1.ReadAction\x12\x38\n\x05table\x18\x02 \x03(\x0b\x32).google.spanner.executor.v1.TableMetadata\x12(\n\x1b\x64\x65sired_bytes_per_partition\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12 \n\x13max_partition_count\x18\x04 \x01(\x03H\x01\x88\x01\x01\x42\x1e\n\x1c_desired_bytes_per_partitionB\x16\n\x14_max_partition_count\"\xa6\x01\n\"GenerateDbPartitionsForQueryAction\x12\x36\n\x05query\x18\x01 \x01(\x0b\x32\'.google.spanner.executor.v1.QueryAction\x12(\n\x1b\x64\x65sired_bytes_per_partition\x18\x02 \x01(\x03H\x00\x88\x01\x01\x42\x1e\n\x1c_desired_bytes_per_partition\"x\n\x0e\x42\x61tchPartition\x12\x11\n\tpartition\x18\x01 \x01(\x0c\x12\x17\n\x0fpartition_token\x18\x02 \x01(\x0c\x12\x12\n\x05table\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05index\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_tableB\x08\n\x06_index\"W\n\x16\x45xecutePartitionAction\x12=\n\tpartition\x18\x01 \x01(\x0b\x32*.google.spanner.executor.v1.BatchPartition\"\x8e\x03\n\x18\x45xecuteChangeStreamQuery\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12\x1c\n\x0fpartition_token\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x0cread_options\x18\x05 \x03(\t\x12#\n\x16heartbeat_milliseconds\x18\x06 \x01(\x05H\x02\x88\x01\x01\x12\x1d\n\x10\x64\x65\x61\x64line_seconds\x18\x07 \x01(\x03H\x03\x88\x01\x01\x12 \n\x13\x63loud_database_role\x18\x08 \x01(\tH\x04\x88\x01\x01\x42\x0b\n\t_end_timeB\x12\n\x10_partition_tokenB\x19\n\x17_heartbeat_millisecondsB\x13\n\x11_deadline_secondsB\x16\n\x14_cloud_database_role\"\xa2\x05\n\x14SpannerActionOutcome\x12\'\n\x06status\x18\x01 \x01(\x0b\x32\x12.google.rpc.StatusH\x00\x88\x01\x01\x12\x34\n\x0b\x63ommit_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12@\n\x0bread_result\x18\x03 \x01(\x0b\x32&.google.spanner.executor.v1.ReadResultH\x02\x88\x01\x01\x12\x42\n\x0cquery_result\x18\x04 \x01(\x0b\x32\'.google.spanner.executor.v1.QueryResultH\x03\x88\x01\x01\x12\"\n\x15transaction_restarted\x18\x05 \x01(\x08H\x04\x88\x01\x01\x12\x19\n\x0c\x62\x61tch_txn_id\x18\x06 \x01(\x0cH\x05\x88\x01\x01\x12@\n\x0c\x64\x62_partition\x18\x07 \x03(\x0b\x32*.google.spanner.executor.v1.BatchPartition\x12\x42\n\x0c\x61\x64min_result\x18\x08 \x01(\x0b\x32\'.google.spanner.executor.v1.AdminResultH\x06\x88\x01\x01\x12\x19\n\x11\x64ml_rows_modified\x18\t \x03(\x03\x12M\n\x15\x63hange_stream_records\x18\n \x03(\x0b\x32..google.spanner.executor.v1.ChangeStreamRecordB\t\n\x07_statusB\x0e\n\x0c_commit_timeB\x0e\n\x0c_read_resultB\x0f\n\r_query_resultB\x18\n\x16_transaction_restartedB\x0f\n\r_batch_txn_idB\x0f\n\r_admin_result\"\x99\x03\n\x0b\x41\x64minResult\x12H\n\x0f\x62\x61\x63kup_response\x18\x01 \x01(\x0b\x32/.google.spanner.executor.v1.CloudBackupResponse\x12I\n\x12operation_response\x18\x02 \x01(\x0b\x32-.google.spanner.executor.v1.OperationResponse\x12L\n\x11\x64\x61tabase_response\x18\x03 \x01(\x0b\x32\x31.google.spanner.executor.v1.CloudDatabaseResponse\x12L\n\x11instance_response\x18\x04 \x01(\x0b\x32\x31.google.spanner.executor.v1.CloudInstanceResponse\x12Y\n\x18instance_config_response\x18\x05 \x01(\x0b\x32\x37.google.spanner.executor.v1.CloudInstanceConfigResponse\"\xeb\x01\n\x13\x43loudBackupResponse\x12@\n\x0elisted_backups\x18\x01 \x03(\x0b\x32(.google.spanner.admin.database.v1.Backup\x12?\n\x18listed_backup_operations\x18\x02 \x03(\x0b\x32\x1d.google.longrunning.Operation\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\t\x12\x38\n\x06\x62\x61\x63kup\x18\x04 \x01(\x0b\x32(.google.spanner.admin.database.v1.Backup\"\x98\x01\n\x11OperationResponse\x12\x38\n\x11listed_operations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.Operation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x30\n\toperation\x18\x03 \x01(\x0b\x32\x1d.google.longrunning.Operation\"\xb4\x01\n\x15\x43loudInstanceResponse\x12\x44\n\x10listed_instances\x18\x01 \x03(\x0b\x32*.google.spanner.admin.instance.v1.Instance\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12<\n\x08instance\x18\x03 \x01(\x0b\x32*.google.spanner.admin.instance.v1.Instance\"\xd4\x01\n\x1b\x43loudInstanceConfigResponse\x12Q\n\x17listed_instance_configs\x18\x01 \x03(\x0b\x32\x30.google.spanner.admin.instance.v1.InstanceConfig\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12I\n\x0finstance_config\x18\x03 \x01(\x0b\x32\x30.google.spanner.admin.instance.v1.InstanceConfig\"\xf7\x01\n\x15\x43loudDatabaseResponse\x12\x44\n\x10listed_databases\x18\x01 \x03(\x0b\x32*.google.spanner.admin.database.v1.Database\x12\x41\n\x1alisted_database_operations\x18\x02 \x03(\x0b\x32\x1d.google.longrunning.Operation\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\t\x12<\n\x08\x64\x61tabase\x18\x04 \x01(\x0b\x32*.google.spanner.admin.database.v1.Database\"\xde\x01\n\nReadResult\x12\r\n\x05table\x18\x01 \x01(\t\x12\x12\n\x05index\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rrequest_index\x18\x03 \x01(\x05H\x01\x88\x01\x01\x12\x32\n\x03row\x18\x04 \x03(\x0b\x32%.google.spanner.executor.v1.ValueList\x12\x34\n\x08row_type\x18\x05 \x01(\x0b\x32\x1d.google.spanner.v1.StructTypeH\x02\x88\x01\x01\x42\x08\n\x06_indexB\x10\n\x0e_request_indexB\x0b\n\t_row_type\"\x84\x01\n\x0bQueryResult\x12\x32\n\x03row\x18\x01 \x03(\x0b\x32%.google.spanner.executor.v1.ValueList\x12\x34\n\x08row_type\x18\x02 \x01(\x0b\x32\x1d.google.spanner.v1.StructTypeH\x00\x88\x01\x01\x42\x0b\n\t_row_type\"\xf3\x01\n\x12\x43hangeStreamRecord\x12\x43\n\x0b\x64\x61ta_change\x18\x01 \x01(\x0b\x32,.google.spanner.executor.v1.DataChangeRecordH\x00\x12L\n\x0f\x63hild_partition\x18\x02 \x01(\x0b\x32\x31.google.spanner.executor.v1.ChildPartitionsRecordH\x00\x12@\n\theartbeat\x18\x03 \x01(\x0b\x32+.google.spanner.executor.v1.HeartbeatRecordH\x00\x42\x08\n\x06record\"\xd8\x04\n\x10\x44\x61taChangeRecord\x12/\n\x0b\x63ommit_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0frecord_sequence\x18\x02 \x01(\t\x12\x16\n\x0etransaction_id\x18\x03 \x01(\t\x12\x16\n\x0eis_last_record\x18\x04 \x01(\x08\x12\r\n\x05table\x18\x05 \x01(\t\x12M\n\x0c\x63olumn_types\x18\x06 \x03(\x0b\x32\x37.google.spanner.executor.v1.DataChangeRecord.ColumnType\x12>\n\x04mods\x18\x07 \x03(\x0b\x32\x30.google.spanner.executor.v1.DataChangeRecord.Mod\x12\x10\n\x08mod_type\x18\x08 \x01(\t\x12\x1a\n\x12value_capture_type\x18\t \x01(\t\x12\x14\n\x0crecord_count\x18\n \x01(\x03\x12\x17\n\x0fpartition_count\x18\x0b \x01(\x03\x12\x17\n\x0ftransaction_tag\x18\x0c \x01(\t\x12\x1d\n\x15is_system_transaction\x18\r \x01(\x08\x1aZ\n\nColumnType\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x16\n\x0eis_primary_key\x18\x03 \x01(\x08\x12\x18\n\x10ordinal_position\x18\x04 \x01(\x03\x1a;\n\x03Mod\x12\x0c\n\x04keys\x18\x01 \x01(\t\x12\x12\n\nnew_values\x18\x02 \x01(\t\x12\x12\n\nold_values\x18\x03 \x01(\t\"\xfe\x01\n\x15\x43hildPartitionsRecord\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0frecord_sequence\x18\x02 \x01(\t\x12Z\n\x10\x63hild_partitions\x18\x03 \x03(\x0b\x32@.google.spanner.executor.v1.ChildPartitionsRecord.ChildPartition\x1a@\n\x0e\x43hildPartition\x12\r\n\x05token\x18\x01 \x01(\t\x12\x1f\n\x17parent_partition_tokens\x18\x02 \x03(\t\"E\n\x0fHeartbeatRecord\x12\x32\n\x0eheartbeat_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"^\n\x0eSpannerOptions\x12L\n\x14session_pool_options\x18\x01 \x01(\x0b\x32..google.spanner.executor.v1.SessionPoolOptions\"-\n\x12SessionPoolOptions\x12\x17\n\x0fuse_multiplexed\x18\x01 \x01(\x08\x32\xcc\x01\n\x14SpannerExecutorProxy\x12\x89\x01\n\x12\x45xecuteActionAsync\x12\x35.google.spanner.executor.v1.SpannerAsyncActionRequest\x1a\x36.google.spanner.executor.v1.SpannerAsyncActionResponse\"\x00(\x01\x30\x01\x1a(\xca\x41%spanner-cloud-executor.googleapis.comBx\n\x1e\x63om.google.spanner.executor.v1B\x12\x43loudExecutorProtoP\x01Z@cloud.google.com/go/spanner/executor/apiv1/executorpb;executorpbb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.spanner.executor.v1.cloud_executor_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\036com.google.spanner.executor.v1B\022CloudExecutorProtoP\001Z@cloud.google.com/go/spanner/executor/apiv1/executorpb;executorpb' + _globals['_UPDATEUSERINSTANCECONFIGACTION_LABELSENTRY']._options = None + _globals['_UPDATEUSERINSTANCECONFIGACTION_LABELSENTRY']._serialized_options = b'8\001' + _globals['_CREATECLOUDINSTANCEACTION_LABELSENTRY']._options = None + _globals['_CREATECLOUDINSTANCEACTION_LABELSENTRY']._serialized_options = b'8\001' + _globals['_UPDATECLOUDINSTANCEACTION_LABELSENTRY']._options = None + _globals['_UPDATECLOUDINSTANCEACTION_LABELSENTRY']._serialized_options = b'8\001' + _globals['_CREATECLOUDBACKUPACTION'].fields_by_name['expire_time']._options = None + _globals['_CREATECLOUDBACKUPACTION'].fields_by_name['expire_time']._serialized_options = b'\340A\003' + _globals['_COPYCLOUDBACKUPACTION'].fields_by_name['expire_time']._options = None + _globals['_COPYCLOUDBACKUPACTION'].fields_by_name['expire_time']._serialized_options = b'\340A\003' + _globals['_UPDATECLOUDBACKUPACTION'].fields_by_name['expire_time']._options = None + _globals['_UPDATECLOUDBACKUPACTION'].fields_by_name['expire_time']._serialized_options = b'\340A\003' + _globals['_SPANNEREXECUTORPROXY']._options = None + _globals['_SPANNEREXECUTORPROXY']._serialized_options = b'\312A%spanner-cloud-executor.googleapis.com' + _globals['_SPANNERASYNCACTIONREQUEST']._serialized_start=515 + _globals['_SPANNERASYNCACTIONREQUEST']._serialized_end=620 + _globals['_SPANNERASYNCACTIONRESPONSE']._serialized_start=622 + _globals['_SPANNERASYNCACTIONRESPONSE']._serialized_end=736 + _globals['_SPANNERACTION']._serialized_start=739 + _globals['_SPANNERACTION']._serialized_end=2132 + _globals['_READACTION']._serialized_start=2135 + _globals['_READACTION']._serialized_end=2273 + _globals['_QUERYACTION']._serialized_start=2276 + _globals['_QUERYACTION']._serialized_end=2485 + _globals['_QUERYACTION_PARAMETER']._serialized_start=2371 + _globals['_QUERYACTION_PARAMETER']._serialized_end=2485 + _globals['_DMLACTION']._serialized_start=2488 + _globals['_DMLACTION']._serialized_end=2622 + _globals['_BATCHDMLACTION']._serialized_start=2624 + _globals['_BATCHDMLACTION']._serialized_end=2698 + _globals['_VALUE']._serialized_start=2701 + _globals['_VALUE']._serialized_end=3158 + _globals['_KEYRANGE']._serialized_start=3161 + _globals['_KEYRANGE']._serialized_end=3448 + _globals['_KEYRANGE_TYPE']._serialized_start=3343 + _globals['_KEYRANGE_TYPE']._serialized_end=3439 + _globals['_KEYSET']._serialized_start=3451 + _globals['_KEYSET']._serialized_end=3579 + _globals['_VALUELIST']._serialized_start=3581 + _globals['_VALUELIST']._serialized_end=3642 + _globals['_MUTATIONACTION']._serialized_start=3645 + _globals['_MUTATIONACTION']._serialized_end=4345 + _globals['_MUTATIONACTION_INSERTARGS']._serialized_start=3724 + _globals['_MUTATIONACTION_INSERTARGS']._serialized_end=3846 + _globals['_MUTATIONACTION_UPDATEARGS']._serialized_start=3848 + _globals['_MUTATIONACTION_UPDATEARGS']._serialized_end=3970 + _globals['_MUTATIONACTION_MOD']._serialized_start=3973 + _globals['_MUTATIONACTION_MOD']._serialized_end=4345 + _globals['_WRITEMUTATIONSACTION']._serialized_start=4347 + _globals['_WRITEMUTATIONSACTION']._serialized_end=4431 + _globals['_PARTITIONEDUPDATEACTION']._serialized_start=4434 + _globals['_PARTITIONEDUPDATEACTION']._serialized_end=4785 + _globals['_PARTITIONEDUPDATEACTION_EXECUTEPARTITIONEDUPDATEOPTIONS']._serialized_start=4626 + _globals['_PARTITIONEDUPDATEACTION_EXECUTEPARTITIONEDUPDATEOPTIONS']._serialized_end=4773 + _globals['_STARTTRANSACTIONACTION']._serialized_start=4788 + _globals['_STARTTRANSACTIONACTION']._serialized_end=5090 + _globals['_CONCURRENCY']._serialized_start=5093 + _globals['_CONCURRENCY']._serialized_end=5395 + _globals['_TABLEMETADATA']._serialized_start=5398 + _globals['_TABLEMETADATA']._serialized_end=5551 + _globals['_COLUMNMETADATA']._serialized_start=5553 + _globals['_COLUMNMETADATA']._serialized_end=5622 + _globals['_TRANSACTIONEXECUTIONOPTIONS']._serialized_start=5624 + _globals['_TRANSACTIONEXECUTIONOPTIONS']._serialized_end=5673 + _globals['_FINISHTRANSACTIONACTION']._serialized_start=5676 + _globals['_FINISHTRANSACTIONACTION']._serialized_end=5828 + _globals['_FINISHTRANSACTIONACTION_MODE']._serialized_start=5775 + _globals['_FINISHTRANSACTIONACTION_MODE']._serialized_end=5828 + _globals['_ADMINACTION']._serialized_start=5831 + _globals['_ADMINACTION']._serialized_end=8335 + _globals['_CREATEUSERINSTANCECONFIGACTION']._serialized_start=8338 + _globals['_CREATEUSERINSTANCECONFIGACTION']._serialized_end=8503 + _globals['_UPDATEUSERINSTANCECONFIGACTION']._serialized_start=8506 + _globals['_UPDATEUSERINSTANCECONFIGACTION']._serialized_end=8761 + _globals['_UPDATEUSERINSTANCECONFIGACTION_LABELSENTRY']._serialized_start=8699 + _globals['_UPDATEUSERINSTANCECONFIGACTION_LABELSENTRY']._serialized_end=8744 + _globals['_GETCLOUDINSTANCECONFIGACTION']._serialized_start=8763 + _globals['_GETCLOUDINSTANCECONFIGACTION']._serialized_end=8841 + _globals['_DELETEUSERINSTANCECONFIGACTION']._serialized_start=8843 + _globals['_DELETEUSERINSTANCECONFIGACTION']._serialized_end=8919 + _globals['_LISTCLOUDINSTANCECONFIGSACTION']._serialized_start=8922 + _globals['_LISTCLOUDINSTANCECONFIGSACTION']._serialized_end=9052 + _globals['_CREATECLOUDINSTANCEACTION']._serialized_start=9055 + _globals['_CREATECLOUDINSTANCEACTION']._serialized_end=9482 + _globals['_CREATECLOUDINSTANCEACTION_LABELSENTRY']._serialized_start=8699 + _globals['_CREATECLOUDINSTANCEACTION_LABELSENTRY']._serialized_end=8744 + _globals['_UPDATECLOUDINSTANCEACTION']._serialized_start=9485 + _globals['_UPDATECLOUDINSTANCEACTION']._serialized_end=9928 + _globals['_UPDATECLOUDINSTANCEACTION_LABELSENTRY']._serialized_start=8699 + _globals['_UPDATECLOUDINSTANCEACTION_LABELSENTRY']._serialized_end=8744 + _globals['_DELETECLOUDINSTANCEACTION']._serialized_start=9930 + _globals['_DELETECLOUDINSTANCEACTION']._serialized_end=9998 + _globals['_CREATECLOUDDATABASEACTION']._serialized_start=10001 + _globals['_CREATECLOUDDATABASEACTION']._serialized_end=10280 + _globals['_UPDATECLOUDDATABASEDDLACTION']._serialized_start=10283 + _globals['_UPDATECLOUDDATABASEDDLACTION']._serialized_end=10474 + _globals['_UPDATECLOUDDATABASEACTION']._serialized_start=10476 + _globals['_UPDATECLOUDDATABASEACTION']._serialized_end=10599 + _globals['_DROPCLOUDDATABASEACTION']._serialized_start=10601 + _globals['_DROPCLOUDDATABASEACTION']._serialized_end=10688 + _globals['_CHANGEQUORUMCLOUDDATABASEACTION']._serialized_start=10690 + _globals['_CHANGEQUORUMCLOUDDATABASEACTION']._serialized_end=10794 + _globals['_LISTCLOUDDATABASESACTION']._serialized_start=10796 + _globals['_LISTCLOUDDATABASESACTION']._serialized_end=10902 + _globals['_LISTCLOUDINSTANCESACTION']._serialized_start=10905 + _globals['_LISTCLOUDINSTANCESACTION']._serialized_end=11061 + _globals['_GETCLOUDINSTANCEACTION']._serialized_start=11063 + _globals['_GETCLOUDINSTANCEACTION']._serialized_end=11128 + _globals['_LISTCLOUDDATABASEOPERATIONSACTION']._serialized_start=11131 + _globals['_LISTCLOUDDATABASEOPERATIONSACTION']._serialized_end=11262 + _globals['_RESTORECLOUDDATABASEACTION']._serialized_start=11265 + _globals['_RESTORECLOUDDATABASEACTION']._serialized_end=11490 + _globals['_GETCLOUDDATABASEACTION']._serialized_start=11492 + _globals['_GETCLOUDDATABASEACTION']._serialized_end=11578 + _globals['_CREATECLOUDBACKUPACTION']._serialized_start=11581 + _globals['_CREATECLOUDBACKUPACTION']._serialized_end=11892 + _globals['_COPYCLOUDBACKUPACTION']._serialized_start=11895 + _globals['_COPYCLOUDBACKUPACTION']._serialized_end=12055 + _globals['_GETCLOUDBACKUPACTION']._serialized_start=12057 + _globals['_GETCLOUDBACKUPACTION']._serialized_end=12139 + _globals['_UPDATECLOUDBACKUPACTION']._serialized_start=12142 + _globals['_UPDATECLOUDBACKUPACTION']._serialized_end=12281 + _globals['_DELETECLOUDBACKUPACTION']._serialized_start=12283 + _globals['_DELETECLOUDBACKUPACTION']._serialized_end=12368 + _globals['_LISTCLOUDBACKUPSACTION']._serialized_start=12370 + _globals['_LISTCLOUDBACKUPSACTION']._serialized_end=12490 + _globals['_LISTCLOUDBACKUPOPERATIONSACTION']._serialized_start=12493 + _globals['_LISTCLOUDBACKUPOPERATIONSACTION']._serialized_end=12622 + _globals['_GETOPERATIONACTION']._serialized_start=12624 + _globals['_GETOPERATIONACTION']._serialized_end=12663 + _globals['_QUERYCANCELLATIONACTION']._serialized_start=12665 + _globals['_QUERYCANCELLATIONACTION']._serialized_end=12738 + _globals['_CANCELOPERATIONACTION']._serialized_start=12740 + _globals['_CANCELOPERATIONACTION']._serialized_end=12782 + _globals['_STARTBATCHTRANSACTIONACTION']._serialized_start=12785 + _globals['_STARTBATCHTRANSACTIONACTION']._serialized_end=12921 + _globals['_CLOSEBATCHTRANSACTIONACTION']._serialized_start=12923 + _globals['_CLOSEBATCHTRANSACTIONACTION']._serialized_end=12969 + _globals['_GENERATEDBPARTITIONSFORREADACTION']._serialized_start=12972 + _globals['_GENERATEDBPARTITIONSFORREADACTION']._serialized_end=13251 + _globals['_GENERATEDBPARTITIONSFORQUERYACTION']._serialized_start=13254 + _globals['_GENERATEDBPARTITIONSFORQUERYACTION']._serialized_end=13420 + _globals['_BATCHPARTITION']._serialized_start=13422 + _globals['_BATCHPARTITION']._serialized_end=13542 + _globals['_EXECUTEPARTITIONACTION']._serialized_start=13544 + _globals['_EXECUTEPARTITIONACTION']._serialized_end=13631 + _globals['_EXECUTECHANGESTREAMQUERY']._serialized_start=13634 + _globals['_EXECUTECHANGESTREAMQUERY']._serialized_end=14032 + _globals['_SPANNERACTIONOUTCOME']._serialized_start=14035 + _globals['_SPANNERACTIONOUTCOME']._serialized_end=14709 + _globals['_ADMINRESULT']._serialized_start=14712 + _globals['_ADMINRESULT']._serialized_end=15121 + _globals['_CLOUDBACKUPRESPONSE']._serialized_start=15124 + _globals['_CLOUDBACKUPRESPONSE']._serialized_end=15359 + _globals['_OPERATIONRESPONSE']._serialized_start=15362 + _globals['_OPERATIONRESPONSE']._serialized_end=15514 + _globals['_CLOUDINSTANCERESPONSE']._serialized_start=15517 + _globals['_CLOUDINSTANCERESPONSE']._serialized_end=15697 + _globals['_CLOUDINSTANCECONFIGRESPONSE']._serialized_start=15700 + _globals['_CLOUDINSTANCECONFIGRESPONSE']._serialized_end=15912 + _globals['_CLOUDDATABASERESPONSE']._serialized_start=15915 + _globals['_CLOUDDATABASERESPONSE']._serialized_end=16162 + _globals['_READRESULT']._serialized_start=16165 + _globals['_READRESULT']._serialized_end=16387 + _globals['_QUERYRESULT']._serialized_start=16390 + _globals['_QUERYRESULT']._serialized_end=16522 + _globals['_CHANGESTREAMRECORD']._serialized_start=16525 + _globals['_CHANGESTREAMRECORD']._serialized_end=16768 + _globals['_DATACHANGERECORD']._serialized_start=16771 + _globals['_DATACHANGERECORD']._serialized_end=17371 + _globals['_DATACHANGERECORD_COLUMNTYPE']._serialized_start=17220 + _globals['_DATACHANGERECORD_COLUMNTYPE']._serialized_end=17310 + _globals['_DATACHANGERECORD_MOD']._serialized_start=17312 + _globals['_DATACHANGERECORD_MOD']._serialized_end=17371 + _globals['_CHILDPARTITIONSRECORD']._serialized_start=17374 + _globals['_CHILDPARTITIONSRECORD']._serialized_end=17628 + _globals['_CHILDPARTITIONSRECORD_CHILDPARTITION']._serialized_start=17564 + _globals['_CHILDPARTITIONSRECORD_CHILDPARTITION']._serialized_end=17628 + _globals['_HEARTBEATRECORD']._serialized_start=17630 + _globals['_HEARTBEATRECORD']._serialized_end=17699 + _globals['_SPANNEROPTIONS']._serialized_start=17701 + _globals['_SPANNEROPTIONS']._serialized_end=17795 + _globals['_SESSIONPOOLOPTIONS']._serialized_start=17797 + _globals['_SESSIONPOOLOPTIONS']._serialized_end=17842 + _globals['_SPANNEREXECUTORPROXY']._serialized_start=17845 + _globals['_SPANNEREXECUTORPROXY']._serialized_end=18049 +# @@protoc_insertion_point(module_scope) diff --git a/test_proxy/protos/google/spanner/executor/v1/cloud_executor_pb2_grpc.py b/test_proxy/protos/google/spanner/executor/v1/cloud_executor_pb2_grpc.py new file mode 100644 index 0000000000..b214122074 --- /dev/null +++ b/test_proxy/protos/google/spanner/executor/v1/cloud_executor_pb2_grpc.py @@ -0,0 +1,78 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from google.spanner.executor.v1 import cloud_executor_pb2 as google_dot_spanner_dot_executor_dot_v1_dot_cloud__executor__pb2 + + +class SpannerExecutorProxyStub(object): + """Service that executes SpannerActions asynchronously. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.ExecuteActionAsync = channel.stream_stream( + '/google.spanner.executor.v1.SpannerExecutorProxy/ExecuteActionAsync', + request_serializer=google_dot_spanner_dot_executor_dot_v1_dot_cloud__executor__pb2.SpannerAsyncActionRequest.SerializeToString, + response_deserializer=google_dot_spanner_dot_executor_dot_v1_dot_cloud__executor__pb2.SpannerAsyncActionResponse.FromString, + ) + + +class SpannerExecutorProxyServicer(object): + """Service that executes SpannerActions asynchronously. + """ + + def ExecuteActionAsync(self, request_iterator, context): + """ExecuteActionAsync is a streaming call that starts executing a new Spanner + action. + + For each request, the server will reply with one or more responses, but + only the last response will contain status in the outcome. + + Responses can be matched to requests by action_id. It is allowed to have + multiple actions in flight--in that case, actions are be executed in + parallel. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_SpannerExecutorProxyServicer_to_server(servicer, server): + rpc_method_handlers = { + 'ExecuteActionAsync': grpc.stream_stream_rpc_method_handler( + servicer.ExecuteActionAsync, + request_deserializer=google_dot_spanner_dot_executor_dot_v1_dot_cloud__executor__pb2.SpannerAsyncActionRequest.FromString, + response_serializer=google_dot_spanner_dot_executor_dot_v1_dot_cloud__executor__pb2.SpannerAsyncActionResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'google.spanner.executor.v1.SpannerExecutorProxy', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class SpannerExecutorProxy(object): + """Service that executes SpannerActions asynchronously. + """ + + @staticmethod + def ExecuteActionAsync(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_stream(request_iterator, target, '/google.spanner.executor.v1.SpannerExecutorProxy/ExecuteActionAsync', + google_dot_spanner_dot_executor_dot_v1_dot_cloud__executor__pb2.SpannerAsyncActionRequest.SerializeToString, + google_dot_spanner_dot_executor_dot_v1_dot_cloud__executor__pb2.SpannerAsyncActionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/test_proxy/protos/google/spanner/v1/commit_response_pb2.py b/test_proxy/protos/google/spanner/v1/commit_response_pb2.py new file mode 100644 index 0000000000..aacb186c38 --- /dev/null +++ b/test_proxy/protos/google/spanner/v1/commit_response_pb2.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/spanner/v1/commit_response.proto +# Protobuf Python Version: 4.25.3 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'google/spanner/v1/commit_response.proto\x12\x11google.spanner.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb2\x01\n\x0e\x43ommitResponse\x12\x34\n\x10\x63ommit_timestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x0c\x63ommit_stats\x18\x02 \x01(\x0b\x32-.google.spanner.v1.CommitResponse.CommitStats\x1a%\n\x0b\x43ommitStats\x12\x16\n\x0emutation_count\x18\x01 \x01(\x03\x42\xb6\x01\n\x15\x63om.google.spanner.v1B\x13\x43ommitResponseProtoP\x01Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.spanner.v1.commit_response_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.google.spanner.v1B\023CommitResponseProtoP\001Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1\352\002\032Google::Cloud::Spanner::V1' + _globals['_COMMITRESPONSE']._serialized_start=96 + _globals['_COMMITRESPONSE']._serialized_end=274 + _globals['_COMMITRESPONSE_COMMITSTATS']._serialized_start=237 + _globals['_COMMITRESPONSE_COMMITSTATS']._serialized_end=274 +# @@protoc_insertion_point(module_scope) diff --git a/test_proxy/protos/google/spanner/v1/commit_response_pb2_grpc.py b/test_proxy/protos/google/spanner/v1/commit_response_pb2_grpc.py new file mode 100644 index 0000000000..2daafffebf --- /dev/null +++ b/test_proxy/protos/google/spanner/v1/commit_response_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/test_proxy/protos/google/spanner/v1/keys_pb2.py b/test_proxy/protos/google/spanner/v1/keys_pb2.py new file mode 100644 index 0000000000..a58c325ac5 --- /dev/null +++ b/test_proxy/protos/google/spanner/v1/keys_pb2.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/spanner/v1/keys.proto +# Protobuf Python Version: 4.25.3 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cgoogle/spanner/v1/keys.proto\x12\x11google.spanner.v1\x1a\x1cgoogle/protobuf/struct.proto\"\xf4\x01\n\x08KeyRange\x12\x32\n\x0cstart_closed\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.ListValueH\x00\x12\x30\n\nstart_open\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.ListValueH\x00\x12\x30\n\nend_closed\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.ListValueH\x01\x12.\n\x08\x65nd_open\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValueH\x01\x42\x10\n\x0estart_key_typeB\x0e\n\x0c\x65nd_key_type\"l\n\x06KeySet\x12(\n\x04keys\x18\x01 \x03(\x0b\x32\x1a.google.protobuf.ListValue\x12+\n\x06ranges\x18\x02 \x03(\x0b\x32\x1b.google.spanner.v1.KeyRange\x12\x0b\n\x03\x61ll\x18\x03 \x01(\x08\x42\xac\x01\n\x15\x63om.google.spanner.v1B\tKeysProtoP\x01Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.spanner.v1.keys_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.google.spanner.v1B\tKeysProtoP\001Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1\352\002\032Google::Cloud::Spanner::V1' + _globals['_KEYRANGE']._serialized_start=82 + _globals['_KEYRANGE']._serialized_end=326 + _globals['_KEYSET']._serialized_start=328 + _globals['_KEYSET']._serialized_end=436 +# @@protoc_insertion_point(module_scope) diff --git a/test_proxy/protos/google/spanner/v1/keys_pb2_grpc.py b/test_proxy/protos/google/spanner/v1/keys_pb2_grpc.py new file mode 100644 index 0000000000..2daafffebf --- /dev/null +++ b/test_proxy/protos/google/spanner/v1/keys_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/test_proxy/protos/google/spanner/v1/mutation_pb2.py b/test_proxy/protos/google/spanner/v1/mutation_pb2.py new file mode 100644 index 0000000000..8a93e45f68 --- /dev/null +++ b/test_proxy/protos/google/spanner/v1/mutation_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/spanner/v1/mutation.proto +# Protobuf Python Version: 4.25.3 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from google.spanner.v1 import keys_pb2 as google_dot_spanner_dot_v1_dot_keys__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n google/spanner/v1/mutation.proto\x12\x11google.spanner.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/spanner/v1/keys.proto\"\xd5\x03\n\x08Mutation\x12\x33\n\x06insert\x18\x01 \x01(\x0b\x32!.google.spanner.v1.Mutation.WriteH\x00\x12\x33\n\x06update\x18\x02 \x01(\x0b\x32!.google.spanner.v1.Mutation.WriteH\x00\x12=\n\x10insert_or_update\x18\x03 \x01(\x0b\x32!.google.spanner.v1.Mutation.WriteH\x00\x12\x34\n\x07replace\x18\x04 \x01(\x0b\x32!.google.spanner.v1.Mutation.WriteH\x00\x12\x34\n\x06\x64\x65lete\x18\x05 \x01(\x0b\x32\".google.spanner.v1.Mutation.DeleteH\x00\x1aX\n\x05Write\x12\x12\n\x05table\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x0f\n\x07\x63olumns\x18\x02 \x03(\t\x12*\n\x06values\x18\x03 \x03(\x0b\x32\x1a.google.protobuf.ListValue\x1aM\n\x06\x44\x65lete\x12\x12\n\x05table\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12/\n\x07key_set\x18\x02 \x01(\x0b\x32\x19.google.spanner.v1.KeySetB\x03\xe0\x41\x02\x42\x0b\n\toperationB\xb0\x01\n\x15\x63om.google.spanner.v1B\rMutationProtoP\x01Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.spanner.v1.mutation_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.google.spanner.v1B\rMutationProtoP\001Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1\352\002\032Google::Cloud::Spanner::V1' + _globals['_MUTATION_WRITE'].fields_by_name['table']._options = None + _globals['_MUTATION_WRITE'].fields_by_name['table']._serialized_options = b'\340A\002' + _globals['_MUTATION_DELETE'].fields_by_name['table']._options = None + _globals['_MUTATION_DELETE'].fields_by_name['table']._serialized_options = b'\340A\002' + _globals['_MUTATION_DELETE'].fields_by_name['key_set']._options = None + _globals['_MUTATION_DELETE'].fields_by_name['key_set']._serialized_options = b'\340A\002' + _globals['_MUTATION']._serialized_start=149 + _globals['_MUTATION']._serialized_end=618 + _globals['_MUTATION_WRITE']._serialized_start=438 + _globals['_MUTATION_WRITE']._serialized_end=526 + _globals['_MUTATION_DELETE']._serialized_start=528 + _globals['_MUTATION_DELETE']._serialized_end=605 +# @@protoc_insertion_point(module_scope) diff --git a/test_proxy/protos/google/spanner/v1/mutation_pb2_grpc.py b/test_proxy/protos/google/spanner/v1/mutation_pb2_grpc.py new file mode 100644 index 0000000000..2daafffebf --- /dev/null +++ b/test_proxy/protos/google/spanner/v1/mutation_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/test_proxy/protos/google/spanner/v1/query_plan_pb2.py b/test_proxy/protos/google/spanner/v1/query_plan_pb2.py new file mode 100644 index 0000000000..dd287c7b97 --- /dev/null +++ b/test_proxy/protos/google/spanner/v1/query_plan_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/spanner/v1/query_plan.proto +# Protobuf Python Version: 4.25.3 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"google/spanner/v1/query_plan.proto\x12\x11google.spanner.v1\x1a\x1cgoogle/protobuf/struct.proto\"\xf8\x04\n\x08PlanNode\x12\r\n\x05index\x18\x01 \x01(\x05\x12.\n\x04kind\x18\x02 \x01(\x0e\x32 .google.spanner.v1.PlanNode.Kind\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12:\n\x0b\x63hild_links\x18\x04 \x03(\x0b\x32%.google.spanner.v1.PlanNode.ChildLink\x12M\n\x14short_representation\x18\x05 \x01(\x0b\x32/.google.spanner.v1.PlanNode.ShortRepresentation\x12)\n\x08metadata\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x30\n\x0f\x65xecution_stats\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x1a@\n\tChildLink\x12\x13\n\x0b\x63hild_index\x18\x01 \x01(\x05\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x10\n\x08variable\x18\x03 \x01(\t\x1a\xb2\x01\n\x13ShortRepresentation\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12S\n\nsubqueries\x18\x02 \x03(\x0b\x32?.google.spanner.v1.PlanNode.ShortRepresentation.SubqueriesEntry\x1a\x31\n\x0fSubqueriesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"8\n\x04Kind\x12\x14\n\x10KIND_UNSPECIFIED\x10\x00\x12\x0e\n\nRELATIONAL\x10\x01\x12\n\n\x06SCALAR\x10\x02\"<\n\tQueryPlan\x12/\n\nplan_nodes\x18\x01 \x03(\x0b\x32\x1b.google.spanner.v1.PlanNodeB\xb1\x01\n\x15\x63om.google.spanner.v1B\x0eQueryPlanProtoP\x01Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.spanner.v1.query_plan_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.google.spanner.v1B\016QueryPlanProtoP\001Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1\352\002\032Google::Cloud::Spanner::V1' + _globals['_PLANNODE_SHORTREPRESENTATION_SUBQUERIESENTRY']._options = None + _globals['_PLANNODE_SHORTREPRESENTATION_SUBQUERIESENTRY']._serialized_options = b'8\001' + _globals['_PLANNODE']._serialized_start=88 + _globals['_PLANNODE']._serialized_end=720 + _globals['_PLANNODE_CHILDLINK']._serialized_start=417 + _globals['_PLANNODE_CHILDLINK']._serialized_end=481 + _globals['_PLANNODE_SHORTREPRESENTATION']._serialized_start=484 + _globals['_PLANNODE_SHORTREPRESENTATION']._serialized_end=662 + _globals['_PLANNODE_SHORTREPRESENTATION_SUBQUERIESENTRY']._serialized_start=613 + _globals['_PLANNODE_SHORTREPRESENTATION_SUBQUERIESENTRY']._serialized_end=662 + _globals['_PLANNODE_KIND']._serialized_start=664 + _globals['_PLANNODE_KIND']._serialized_end=720 + _globals['_QUERYPLAN']._serialized_start=722 + _globals['_QUERYPLAN']._serialized_end=782 +# @@protoc_insertion_point(module_scope) diff --git a/test_proxy/protos/google/spanner/v1/query_plan_pb2_grpc.py b/test_proxy/protos/google/spanner/v1/query_plan_pb2_grpc.py new file mode 100644 index 0000000000..2daafffebf --- /dev/null +++ b/test_proxy/protos/google/spanner/v1/query_plan_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/test_proxy/protos/google/spanner/v1/result_set_pb2.py b/test_proxy/protos/google/spanner/v1/result_set_pb2.py new file mode 100644 index 0000000000..d39bc84bbb --- /dev/null +++ b/test_proxy/protos/google/spanner/v1/result_set_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/spanner/v1/result_set.proto +# Protobuf Python Version: 4.25.3 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from google.spanner.v1 import query_plan_pb2 as google_dot_spanner_dot_v1_dot_query__plan__pb2 +from google.spanner.v1 import transaction_pb2 as google_dot_spanner_dot_v1_dot_transaction__pb2 +from google.spanner.v1 import type_pb2 as google_dot_spanner_dot_v1_dot_type__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"google/spanner/v1/result_set.proto\x12\x11google.spanner.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\"google/spanner/v1/query_plan.proto\x1a#google/spanner/v1/transaction.proto\x1a\x1cgoogle/spanner/v1/type.proto\"\x9f\x01\n\tResultSet\x12\x36\n\x08metadata\x18\x01 \x01(\x0b\x32$.google.spanner.v1.ResultSetMetadata\x12(\n\x04rows\x18\x02 \x03(\x0b\x32\x1a.google.protobuf.ListValue\x12\x30\n\x05stats\x18\x03 \x01(\x0b\x32!.google.spanner.v1.ResultSetStats\"\xd1\x01\n\x10PartialResultSet\x12\x36\n\x08metadata\x18\x01 \x01(\x0b\x32$.google.spanner.v1.ResultSetMetadata\x12&\n\x06values\x18\x02 \x03(\x0b\x32\x16.google.protobuf.Value\x12\x15\n\rchunked_value\x18\x03 \x01(\x08\x12\x14\n\x0cresume_token\x18\x04 \x01(\x0c\x12\x30\n\x05stats\x18\x05 \x01(\x0b\x32!.google.spanner.v1.ResultSetStats\"\xb7\x01\n\x11ResultSetMetadata\x12/\n\x08row_type\x18\x01 \x01(\x0b\x32\x1d.google.spanner.v1.StructType\x12\x33\n\x0btransaction\x18\x02 \x01(\x0b\x32\x1e.google.spanner.v1.Transaction\x12<\n\x15undeclared_parameters\x18\x03 \x01(\x0b\x32\x1d.google.spanner.v1.StructType\"\xb9\x01\n\x0eResultSetStats\x12\x30\n\nquery_plan\x18\x01 \x01(\x0b\x32\x1c.google.spanner.v1.QueryPlan\x12,\n\x0bquery_stats\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x19\n\x0frow_count_exact\x18\x03 \x01(\x03H\x00\x12\x1f\n\x15row_count_lower_bound\x18\x04 \x01(\x03H\x00\x42\x0b\n\trow_countB\xb4\x01\n\x15\x63om.google.spanner.v1B\x0eResultSetProtoP\x01Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\xf8\x01\x01\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.spanner.v1.result_set_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.google.spanner.v1B\016ResultSetProtoP\001Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\370\001\001\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1\352\002\032Google::Cloud::Spanner::V1' + _globals['_RESULTSET']._serialized_start=191 + _globals['_RESULTSET']._serialized_end=350 + _globals['_PARTIALRESULTSET']._serialized_start=353 + _globals['_PARTIALRESULTSET']._serialized_end=562 + _globals['_RESULTSETMETADATA']._serialized_start=565 + _globals['_RESULTSETMETADATA']._serialized_end=748 + _globals['_RESULTSETSTATS']._serialized_start=751 + _globals['_RESULTSETSTATS']._serialized_end=936 +# @@protoc_insertion_point(module_scope) diff --git a/test_proxy/protos/google/spanner/v1/result_set_pb2_grpc.py b/test_proxy/protos/google/spanner/v1/result_set_pb2_grpc.py new file mode 100644 index 0000000000..2daafffebf --- /dev/null +++ b/test_proxy/protos/google/spanner/v1/result_set_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/test_proxy/protos/google/spanner/v1/spanner_pb2.py b/test_proxy/protos/google/spanner/v1/spanner_pb2.py new file mode 100644 index 0000000000..f576052efd --- /dev/null +++ b/test_proxy/protos/google/spanner/v1/spanner_pb2.py @@ -0,0 +1,243 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/spanner/v1/spanner.proto +# Protobuf Python Version: 4.25.3 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.spanner.v1 import commit_response_pb2 as google_dot_spanner_dot_v1_dot_commit__response__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from google.api import client_pb2 as google_dot_api_dot_client__pb2 +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 +from google.api import resource_pb2 as google_dot_api_dot_resource__pb2 +from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2 +from google.spanner.v1 import keys_pb2 as google_dot_spanner_dot_v1_dot_keys__pb2 +from google.spanner.v1 import mutation_pb2 as google_dot_spanner_dot_v1_dot_mutation__pb2 +from google.spanner.v1 import result_set_pb2 as google_dot_spanner_dot_v1_dot_result__set__pb2 +from google.spanner.v1 import transaction_pb2 as google_dot_spanner_dot_v1_dot_transaction__pb2 +from google.spanner.v1 import type_pb2 as google_dot_spanner_dot_v1_dot_type__pb2 + +from google.spanner.v1.commit_response_pb2 import * + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fgoogle/spanner/v1/spanner.proto\x12\x11google.spanner.v1\x1a\'google/spanner/v1/commit_response.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a\x1cgoogle/spanner/v1/keys.proto\x1a google/spanner/v1/mutation.proto\x1a\"google/spanner/v1/result_set.proto\x1a#google/spanner/v1/transaction.proto\x1a\x1cgoogle/spanner/v1/type.proto\"\x83\x01\n\x14\x43reateSessionRequest\x12\x39\n\x08\x64\x61tabase\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x30\n\x07session\x18\x02 \x01(\x0b\x32\x1a.google.spanner.v1.SessionB\x03\xe0\x41\x02\"\xa9\x01\n\x1a\x42\x61tchCreateSessionsRequest\x12\x39\n\x08\x64\x61tabase\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x34\n\x10session_template\x18\x02 \x01(\x0b\x32\x1a.google.spanner.v1.Session\x12\x1a\n\rsession_count\x18\x03 \x01(\x05\x42\x03\xe0\x41\x02\"J\n\x1b\x42\x61tchCreateSessionsResponse\x12+\n\x07session\x18\x01 \x03(\x0b\x32\x1a.google.spanner.v1.Session\"\xa3\x03\n\x07Session\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x36\n\x06labels\x18\x02 \x03(\x0b\x32&.google.spanner.v1.Session.LabelsEntry\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x42\n\x19\x61pproximate_last_use_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x14\n\x0c\x63reator_role\x18\x05 \x01(\t\x12\x18\n\x0bmultiplexed\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:t\xea\x41q\n\x1espanner.googleapis.com/Session\x12Oprojects/{project}/instances/{instance}/databases/{database}/sessions/{session}\"I\n\x11GetSessionRequest\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\"\x87\x01\n\x13ListSessionsRequest\x12\x39\n\x08\x64\x61tabase\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\"]\n\x14ListSessionsResponse\x12,\n\x08sessions\x18\x01 \x03(\x0b\x32\x1a.google.spanner.v1.Session\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"L\n\x14\x44\x65leteSessionRequest\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\"\xdc\x01\n\x0eRequestOptions\x12<\n\x08priority\x18\x01 \x01(\x0e\x32*.google.spanner.v1.RequestOptions.Priority\x12\x13\n\x0brequest_tag\x18\x02 \x01(\t\x12\x17\n\x0ftransaction_tag\x18\x03 \x01(\t\"^\n\x08Priority\x12\x18\n\x14PRIORITY_UNSPECIFIED\x10\x00\x12\x10\n\x0cPRIORITY_LOW\x10\x01\x12\x13\n\x0fPRIORITY_MEDIUM\x10\x02\x12\x11\n\rPRIORITY_HIGH\x10\x03\"\xea\x04\n\x13\x44irectedReadOptions\x12R\n\x10include_replicas\x18\x01 \x01(\x0b\x32\x36.google.spanner.v1.DirectedReadOptions.IncludeReplicasH\x00\x12R\n\x10\x65xclude_replicas\x18\x02 \x01(\x0b\x32\x36.google.spanner.v1.DirectedReadOptions.ExcludeReplicasH\x00\x1a\xad\x01\n\x10ReplicaSelection\x12\x10\n\x08location\x18\x01 \x01(\t\x12J\n\x04type\x18\x02 \x01(\x0e\x32<.google.spanner.v1.DirectedReadOptions.ReplicaSelection.Type\";\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nREAD_WRITE\x10\x01\x12\r\n\tREAD_ONLY\x10\x02\x1a\x86\x01\n\x0fIncludeReplicas\x12S\n\x12replica_selections\x18\x01 \x03(\x0b\x32\x37.google.spanner.v1.DirectedReadOptions.ReplicaSelection\x12\x1e\n\x16\x61uto_failover_disabled\x18\x02 \x01(\x08\x1a\x66\n\x0f\x45xcludeReplicas\x12S\n\x12replica_selections\x18\x01 \x03(\x0b\x32\x37.google.spanner.v1.DirectedReadOptions.ReplicaSelectionB\n\n\x08replicas\"\xc7\x06\n\x11\x45xecuteSqlRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelector\x12\x10\n\x03sql\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\'\n\x06params\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12I\n\x0bparam_types\x18\x05 \x03(\x0b\x32\x34.google.spanner.v1.ExecuteSqlRequest.ParamTypesEntry\x12\x14\n\x0cresume_token\x18\x06 \x01(\x0c\x12\x42\n\nquery_mode\x18\x07 \x01(\x0e\x32..google.spanner.v1.ExecuteSqlRequest.QueryMode\x12\x17\n\x0fpartition_token\x18\x08 \x01(\x0c\x12\r\n\x05seqno\x18\t \x01(\x03\x12H\n\rquery_options\x18\n \x01(\x0b\x32\x31.google.spanner.v1.ExecuteSqlRequest.QueryOptions\x12:\n\x0frequest_options\x18\x0b \x01(\x0b\x32!.google.spanner.v1.RequestOptions\x12\x45\n\x15\x64irected_read_options\x18\x0f \x01(\x0b\x32&.google.spanner.v1.DirectedReadOptions\x12\x1a\n\x12\x64\x61ta_boost_enabled\x18\x10 \x01(\x08\x1aO\n\x0cQueryOptions\x12\x19\n\x11optimizer_version\x18\x01 \x01(\t\x12$\n\x1coptimizer_statistics_package\x18\x02 \x01(\t\x1aJ\n\x0fParamTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type:\x02\x38\x01\".\n\tQueryMode\x12\n\n\x06NORMAL\x10\x00\x12\x08\n\x04PLAN\x10\x01\x12\x0b\n\x07PROFILE\x10\x02\"\xa0\x04\n\x16\x45xecuteBatchDmlRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12@\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelectorB\x03\xe0\x41\x02\x12L\n\nstatements\x18\x03 \x03(\x0b\x32\x33.google.spanner.v1.ExecuteBatchDmlRequest.StatementB\x03\xe0\x41\x02\x12\x12\n\x05seqno\x18\x04 \x01(\x03\x42\x03\xe0\x41\x02\x12:\n\x0frequest_options\x18\x05 \x01(\x0b\x32!.google.spanner.v1.RequestOptions\x1a\xec\x01\n\tStatement\x12\x10\n\x03sql\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\'\n\x06params\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12X\n\x0bparam_types\x18\x03 \x03(\x0b\x32\x43.google.spanner.v1.ExecuteBatchDmlRequest.Statement.ParamTypesEntry\x1aJ\n\x0fParamTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type:\x02\x38\x01\"p\n\x17\x45xecuteBatchDmlResponse\x12\x31\n\x0bresult_sets\x18\x01 \x03(\x0b\x32\x1c.google.spanner.v1.ResultSet\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\"H\n\x10PartitionOptions\x12\x1c\n\x14partition_size_bytes\x18\x01 \x01(\x03\x12\x16\n\x0emax_partitions\x18\x02 \x01(\x03\"\xa3\x03\n\x15PartitionQueryRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelector\x12\x10\n\x03sql\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\'\n\x06params\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12M\n\x0bparam_types\x18\x05 \x03(\x0b\x32\x38.google.spanner.v1.PartitionQueryRequest.ParamTypesEntry\x12>\n\x11partition_options\x18\x06 \x01(\x0b\x32#.google.spanner.v1.PartitionOptions\x1aJ\n\x0fParamTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type:\x02\x38\x01\"\xb1\x02\n\x14PartitionReadRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelector\x12\x12\n\x05table\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\r\n\x05index\x18\x04 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x05 \x03(\t\x12/\n\x07key_set\x18\x06 \x01(\x0b\x32\x19.google.spanner.v1.KeySetB\x03\xe0\x41\x02\x12>\n\x11partition_options\x18\t \x01(\x0b\x32#.google.spanner.v1.PartitionOptions\"$\n\tPartition\x12\x17\n\x0fpartition_token\x18\x01 \x01(\x0c\"z\n\x11PartitionResponse\x12\x30\n\npartitions\x18\x01 \x03(\x0b\x32\x1c.google.spanner.v1.Partition\x12\x33\n\x0btransaction\x18\x02 \x01(\x0b\x32\x1e.google.spanner.v1.Transaction\"\xf6\x05\n\x0bReadRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x0btransaction\x18\x02 \x01(\x0b\x32&.google.spanner.v1.TransactionSelector\x12\x12\n\x05table\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\r\n\x05index\x18\x04 \x01(\t\x12\x14\n\x07\x63olumns\x18\x05 \x03(\tB\x03\xe0\x41\x02\x12/\n\x07key_set\x18\x06 \x01(\x0b\x32\x19.google.spanner.v1.KeySetB\x03\xe0\x41\x02\x12\r\n\x05limit\x18\x08 \x01(\x03\x12\x14\n\x0cresume_token\x18\t \x01(\x0c\x12\x17\n\x0fpartition_token\x18\n \x01(\x0c\x12:\n\x0frequest_options\x18\x0b \x01(\x0b\x32!.google.spanner.v1.RequestOptions\x12\x45\n\x15\x64irected_read_options\x18\x0e \x01(\x0b\x32&.google.spanner.v1.DirectedReadOptions\x12\x1a\n\x12\x64\x61ta_boost_enabled\x18\x0f \x01(\x08\x12=\n\x08order_by\x18\x10 \x01(\x0e\x32&.google.spanner.v1.ReadRequest.OrderByB\x03\xe0\x41\x01\x12?\n\tlock_hint\x18\x11 \x01(\x0e\x32\'.google.spanner.v1.ReadRequest.LockHintB\x03\xe0\x41\x01\"T\n\x07OrderBy\x12\x18\n\x14ORDER_BY_UNSPECIFIED\x10\x00\x12\x18\n\x14ORDER_BY_PRIMARY_KEY\x10\x01\x12\x15\n\x11ORDER_BY_NO_ORDER\x10\x02\"T\n\x08LockHint\x12\x19\n\x15LOCK_HINT_UNSPECIFIED\x10\x00\x12\x14\n\x10LOCK_HINT_SHARED\x10\x01\x12\x17\n\x13LOCK_HINT_EXCLUSIVE\x10\x02\"\xcb\x01\n\x17\x42\x65ginTransactionRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12;\n\x07options\x18\x02 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsB\x03\xe0\x41\x02\x12:\n\x0frequest_options\x18\x03 \x01(\x0b\x32!.google.spanner.v1.RequestOptions\"\xfd\x02\n\rCommitRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12\x18\n\x0etransaction_id\x18\x02 \x01(\x0cH\x00\x12G\n\x16single_use_transaction\x18\x03 \x01(\x0b\x32%.google.spanner.v1.TransactionOptionsH\x00\x12.\n\tmutations\x18\x04 \x03(\x0b\x32\x1b.google.spanner.v1.Mutation\x12\x1b\n\x13return_commit_stats\x18\x05 \x01(\x08\x12\x38\n\x10max_commit_delay\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12:\n\x0frequest_options\x18\x06 \x01(\x0b\x32!.google.spanner.v1.RequestOptionsB\r\n\x0btransaction\"g\n\x0fRollbackRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12\x1b\n\x0etransaction_id\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\"\xce\x02\n\x11\x42\x61tchWriteRequest\x12\x37\n\x07session\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1espanner.googleapis.com/Session\x12:\n\x0frequest_options\x18\x03 \x01(\x0b\x32!.google.spanner.v1.RequestOptions\x12P\n\x0fmutation_groups\x18\x04 \x03(\x0b\x32\x32.google.spanner.v1.BatchWriteRequest.MutationGroupB\x03\xe0\x41\x02\x12,\n\x1f\x65xclude_txn_from_change_streams\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\x1a\x44\n\rMutationGroup\x12\x33\n\tmutations\x18\x01 \x03(\x0b\x32\x1b.google.spanner.v1.MutationB\x03\xe0\x41\x02\"\x7f\n\x12\x42\x61tchWriteResponse\x12\x0f\n\x07indexes\x18\x01 \x03(\x05\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\x12\x34\n\x10\x63ommit_timestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp2\x8b\x18\n\x07Spanner\x12\xa6\x01\n\rCreateSession\x12\'.google.spanner.v1.CreateSessionRequest\x1a\x1a.google.spanner.v1.Session\"P\xda\x41\x08\x64\x61tabase\x82\xd3\xe4\x93\x02?\":/v1/{database=projects/*/instances/*/databases/*}/sessions:\x01*\x12\xe0\x01\n\x13\x42\x61tchCreateSessions\x12-.google.spanner.v1.BatchCreateSessionsRequest\x1a..google.spanner.v1.BatchCreateSessionsResponse\"j\xda\x41\x16\x64\x61tabase,session_count\x82\xd3\xe4\x93\x02K\"F/v1/{database=projects/*/instances/*/databases/*}/sessions:batchCreate:\x01*\x12\x97\x01\n\nGetSession\x12$.google.spanner.v1.GetSessionRequest\x1a\x1a.google.spanner.v1.Session\"G\xda\x41\x04name\x82\xd3\xe4\x93\x02:\x12\x38/v1/{name=projects/*/instances/*/databases/*/sessions/*}\x12\xae\x01\n\x0cListSessions\x12&.google.spanner.v1.ListSessionsRequest\x1a\'.google.spanner.v1.ListSessionsResponse\"M\xda\x41\x08\x64\x61tabase\x82\xd3\xe4\x93\x02<\x12:/v1/{database=projects/*/instances/*/databases/*}/sessions\x12\x99\x01\n\rDeleteSession\x12\'.google.spanner.v1.DeleteSessionRequest\x1a\x16.google.protobuf.Empty\"G\xda\x41\x04name\x82\xd3\xe4\x93\x02:*8/v1/{name=projects/*/instances/*/databases/*/sessions/*}\x12\xa3\x01\n\nExecuteSql\x12$.google.spanner.v1.ExecuteSqlRequest\x1a\x1c.google.spanner.v1.ResultSet\"Q\x82\xd3\xe4\x93\x02K\"F/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeSql:\x01*\x12\xbe\x01\n\x13\x45xecuteStreamingSql\x12$.google.spanner.v1.ExecuteSqlRequest\x1a#.google.spanner.v1.PartialResultSet\"Z\x82\xd3\xe4\x93\x02T\"O/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeStreamingSql:\x01*0\x01\x12\xc0\x01\n\x0f\x45xecuteBatchDml\x12).google.spanner.v1.ExecuteBatchDmlRequest\x1a*.google.spanner.v1.ExecuteBatchDmlResponse\"V\x82\xd3\xe4\x93\x02P\"K/v1/{session=projects/*/instances/*/databases/*/sessions/*}:executeBatchDml:\x01*\x12\x91\x01\n\x04Read\x12\x1e.google.spanner.v1.ReadRequest\x1a\x1c.google.spanner.v1.ResultSet\"K\x82\xd3\xe4\x93\x02\x45\"@/v1/{session=projects/*/instances/*/databases/*/sessions/*}:read:\x01*\x12\xac\x01\n\rStreamingRead\x12\x1e.google.spanner.v1.ReadRequest\x1a#.google.spanner.v1.PartialResultSet\"T\x82\xd3\xe4\x93\x02N\"I/v1/{session=projects/*/instances/*/databases/*/sessions/*}:streamingRead:\x01*0\x01\x12\xc9\x01\n\x10\x42\x65ginTransaction\x12*.google.spanner.v1.BeginTransactionRequest\x1a\x1e.google.spanner.v1.Transaction\"i\xda\x41\x0fsession,options\x82\xd3\xe4\x93\x02Q\"L/v1/{session=projects/*/instances/*/databases/*/sessions/*}:beginTransaction:\x01*\x12\xeb\x01\n\x06\x43ommit\x12 .google.spanner.v1.CommitRequest\x1a!.google.spanner.v1.CommitResponse\"\x9b\x01\xda\x41 session,transaction_id,mutations\xda\x41(session,single_use_transaction,mutations\x82\xd3\xe4\x93\x02G\"B/v1/{session=projects/*/instances/*/databases/*/sessions/*}:commit:\x01*\x12\xb0\x01\n\x08Rollback\x12\".google.spanner.v1.RollbackRequest\x1a\x16.google.protobuf.Empty\"h\xda\x41\x16session,transaction_id\x82\xd3\xe4\x93\x02I\"D/v1/{session=projects/*/instances/*/databases/*/sessions/*}:rollback:\x01*\x12\xb7\x01\n\x0ePartitionQuery\x12(.google.spanner.v1.PartitionQueryRequest\x1a$.google.spanner.v1.PartitionResponse\"U\x82\xd3\xe4\x93\x02O\"J/v1/{session=projects/*/instances/*/databases/*/sessions/*}:partitionQuery:\x01*\x12\xb4\x01\n\rPartitionRead\x12\'.google.spanner.v1.PartitionReadRequest\x1a$.google.spanner.v1.PartitionResponse\"T\x82\xd3\xe4\x93\x02N\"I/v1/{session=projects/*/instances/*/databases/*/sessions/*}:partitionRead:\x01*\x12\xc8\x01\n\nBatchWrite\x12$.google.spanner.v1.BatchWriteRequest\x1a%.google.spanner.v1.BatchWriteResponse\"k\xda\x41\x17session,mutation_groups\x82\xd3\xe4\x93\x02K\"F/v1/{session=projects/*/instances/*/databases/*/sessions/*}:batchWrite:\x01*0\x01\x1aw\xca\x41\x16spanner.googleapis.com\xd2\x41[https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.dataB\x91\x02\n\x15\x63om.google.spanner.v1B\x0cSpannerProtoP\x01Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1\xea\x41_\n\x1fspanner.googleapis.com/Database\x12\n\x0ftype_annotation\x18\x04 \x01(\x0e\x32%.google.spanner.v1.TypeAnnotationCode\x12\x16\n\x0eproto_type_fqn\x18\x05 \x01(\t\"\x7f\n\nStructType\x12\x33\n\x06\x66ields\x18\x01 \x03(\x0b\x32#.google.spanner.v1.StructType.Field\x1a<\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12%\n\x04type\x18\x02 \x01(\x0b\x32\x17.google.spanner.v1.Type*\xc7\x01\n\x08TypeCode\x12\x19\n\x15TYPE_CODE_UNSPECIFIED\x10\x00\x12\x08\n\x04\x42OOL\x10\x01\x12\t\n\x05INT64\x10\x02\x12\x0b\n\x07\x46LOAT64\x10\x03\x12\x0b\n\x07\x46LOAT32\x10\x0f\x12\r\n\tTIMESTAMP\x10\x04\x12\x08\n\x04\x44\x41TE\x10\x05\x12\n\n\x06STRING\x10\x06\x12\t\n\x05\x42YTES\x10\x07\x12\t\n\x05\x41RRAY\x10\x08\x12\n\n\x06STRUCT\x10\t\x12\x0b\n\x07NUMERIC\x10\n\x12\x08\n\x04JSON\x10\x0b\x12\t\n\x05PROTO\x10\r\x12\x08\n\x04\x45NUM\x10\x0e*d\n\x12TypeAnnotationCode\x12$\n TYPE_ANNOTATION_CODE_UNSPECIFIED\x10\x00\x12\x0e\n\nPG_NUMERIC\x10\x02\x12\x0c\n\x08PG_JSONB\x10\x03\x12\n\n\x06PG_OID\x10\x04\x42\xac\x01\n\x15\x63om.google.spanner.v1B\tTypeProtoP\x01Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\xaa\x02\x17Google.Cloud.Spanner.V1\xca\x02\x17Google\\Cloud\\Spanner\\V1\xea\x02\x1aGoogle::Cloud::Spanner::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.spanner.v1.type_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.google.spanner.v1B\tTypeProtoP\001Z5cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1\352\002\032Google::Cloud::Spanner::V1' + _globals['_TYPE'].fields_by_name['code']._options = None + _globals['_TYPE'].fields_by_name['code']._serialized_options = b'\340A\002' + _globals['_TYPECODE']._serialized_start=464 + _globals['_TYPECODE']._serialized_end=663 + _globals['_TYPEANNOTATIONCODE']._serialized_start=665 + _globals['_TYPEANNOTATIONCODE']._serialized_end=765 + _globals['_TYPE']._serialized_start=85 + _globals['_TYPE']._serialized_end=332 + _globals['_STRUCTTYPE']._serialized_start=334 + _globals['_STRUCTTYPE']._serialized_end=461 + _globals['_STRUCTTYPE_FIELD']._serialized_start=401 + _globals['_STRUCTTYPE_FIELD']._serialized_end=461 +# @@protoc_insertion_point(module_scope) diff --git a/test_proxy/protos/google/spanner/v1/type_pb2_grpc.py b/test_proxy/protos/google/spanner/v1/type_pb2_grpc.py new file mode 100644 index 0000000000..2daafffebf --- /dev/null +++ b/test_proxy/protos/google/spanner/v1/type_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc +