From bcfeb6fe30ae258b0952b37c3dc10c05528b4658 Mon Sep 17 00:00:00 2001 From: Shuo Wu Date: Wed, 24 Jul 2024 23:35:36 +0000 Subject: [PATCH] spdkrpc: Add snapshot purge APIs Longhorn 7199 Signed-off-by: Shuo Wu --- generated-py/spdkrpc/spdk_pb2.py | 4 +- generated-py/spdkrpc/spdk_pb2_grpc.py | 66 +++ pkg/generated/spdkrpc/spdk.pb.go | 685 +++++++++++++------------- pkg/generated/spdkrpc/spdk_grpc.pb.go | 74 +++ protobuf/spdkrpc/spdk.proto | 2 + 5 files changed, 493 insertions(+), 338 deletions(-) diff --git a/generated-py/spdkrpc/spdk_pb2.py b/generated-py/spdkrpc/spdk_pb2.py index b38cf9b..42b799b 100644 --- a/generated-py/spdkrpc/spdk_pb2.py +++ b/generated-py/spdkrpc/spdk_pb2.py @@ -14,7 +14,7 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12spdkrpc/spdk.proto\x12\x07spdkrpc\x1a\x1bgoogle/protobuf/empty.proto\"\x83\x02\n\x04Lvol\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04uuid\x18\x02 \x01(\t\x12\x11\n\tspec_size\x18\x03 \x01(\x04\x12\x13\n\x0b\x61\x63tual_size\x18\x04 \x01(\x04\x12\x0e\n\x06parent\x18\x05 \x01(\t\x12-\n\x08\x63hildren\x18\x06 \x03(\x0b\x32\x1b.spdkrpc.Lvol.ChildrenEntry\x12\x15\n\rcreation_time\x18\x07 \x01(\t\x12\x14\n\x0cuser_created\x18\x08 \x01(\x08\x12\x1a\n\x12snapshot_timestamp\x18\t \x01(\t\x1a/\n\rChildrenEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\"\xdd\x02\n\x07Replica\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08lvs_name\x18\x02 \x01(\t\x12\x10\n\x08lvs_uuid\x18\x03 \x01(\t\x12\x11\n\tspec_size\x18\x04 \x01(\x04\x12\x13\n\x0b\x61\x63tual_size\x18\x05 \x01(\x04\x12\n\n\x02ip\x18\x06 \x01(\t\x12\x12\n\nport_start\x18\x07 \x01(\x05\x12\x10\n\x08port_end\x18\x08 \x01(\x05\x12\x1b\n\x04head\x18\t \x01(\x0b\x32\r.spdkrpc.Lvol\x12\x32\n\tsnapshots\x18\n \x03(\x0b\x32\x1f.spdkrpc.Replica.SnapshotsEntry\x12\x12\n\nrebuilding\x18\x0b \x01(\x08\x12\r\n\x05state\x18\x0c \x01(\t\x12\x11\n\terror_msg\x18\r \x01(\t\x1a?\n\x0eSnapshotsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.spdkrpc.Lvol:\x02\x38\x01\"o\n\x14ReplicaCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08lvs_name\x18\x02 \x01(\t\x12\x10\n\x08lvs_uuid\x18\x03 \x01(\t\x12\x11\n\tspec_size\x18\x04 \x01(\x04\x12\x12\n\nport_count\x18\x05 \x01(\x05\">\n\x14ReplicaDeleteRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x63leanup_required\x18\x02 \x01(\x08\"!\n\x11ReplicaGetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x96\x01\n\x13ReplicaListResponse\x12<\n\x08replicas\x18\x01 \x03(\x0b\x32*.spdkrpc.ReplicaListResponse.ReplicasEntry\x1a\x41\n\rReplicasEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.spdkrpc.Replica:\x02\x38\x01\"\x86\x01\n ReplicaRebuildingSrcStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\x12\x1b\n\x13\x64st_replica_address\x18\x03 \x01(\t\x12\x1d\n\x15\x65xposed_snapshot_name\x18\x04 \x01(\t\"J\n!ReplicaRebuildingSrcStartResponse\x12%\n\x1d\x65xposed_snapshot_lvol_address\x18\x01 \x01(\t\"K\n!ReplicaRebuildingSrcFinishRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\"p\n!ReplicaRebuildingSrcAttachRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\x12#\n\x1b\x64st_rebuilding_lvol_address\x18\x03 \x01(\t\"K\n!ReplicaRebuildingSrcDetachRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\"R\n+ReplicaRebuildingSrcShallowCopyStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\"J\n,ReplicaRebuildingSrcShallowCopyStartResponse\x12\x1a\n\x12shallow_copy_op_id\x18\x01 \x01(\r\"\x88\x01\n+ReplicaRebuildingSrcShallowCopyCheckRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\x12\x1a\n\x12shallow_copy_op_id\x18\x04 \x01(\r\"\x81\x01\n,ReplicaRebuildingSrcShallowCopyCheckResponse\x12\r\n\x05state\x18\x01 \x01(\t\x12\x17\n\x0f\x63opied_clusters\x18\x02 \x01(\x04\x12\x16\n\x0etotal_clusters\x18\x03 \x01(\x04\x12\x11\n\terror_msg\x18\x04 \x01(\t\"\xdb\x01\n ReplicaRebuildingDstStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10src_replica_name\x18\x02 \x01(\t\x12\x1b\n\x13src_replica_address\x18\x03 \x01(\t\x12\x1e\n\x16\x65xternal_snapshot_name\x18\x04 \x01(\t\x12!\n\x19\x65xternal_snapshot_address\x18\x05 \x01(\t\x12/\n\x18rebuilding_snapshot_list\x18\x06 \x03(\x0b\x32\r.spdkrpc.Lvol\"B\n!ReplicaRebuildingDstStartResponse\x12\x1d\n\x15\x64st_head_lvol_address\x18\x01 \x01(\t\"1\n!ReplicaRebuildingDstFinishRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"R\n+ReplicaRebuildingDstShallowCopyStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\";\n+ReplicaRebuildingDstShallowCopyCheckRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xd9\x01\n,ReplicaRebuildingDstShallowCopyCheckResponse\x12\x18\n\x10src_replica_name\x18\x01 \x01(\t\x12\x1b\n\x13src_replica_address\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\x12\r\n\x05state\x18\x04 \x01(\t\x12\x10\n\x08progress\x18\x05 \x01(\r\x12\x13\n\x0btotal_state\x18\x06 \x01(\t\x12\x16\n\x0etotal_progress\x18\x07 \x01(\r\x12\r\n\x05\x65rror\x18\x08 \x01(\t\"Q\n*ReplicaRebuildingDstSnapshotRevertResponse\x12#\n\x1b\x64st_rebuilding_lvol_address\x18\x01 \x01(\t\"\xf7\x04\n\x06\x45ngine\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bvolume_name\x18\x02 \x01(\t\x12\x11\n\tspec_size\x18\x03 \x01(\x04\x12\x13\n\x0b\x61\x63tual_size\x18\x04 \x01(\x04\x12\n\n\x02ip\x18\x05 \x01(\t\x12\x0c\n\x04port\x18\x06 \x01(\x05\x12\x43\n\x13replica_address_map\x18\x07 \x03(\x0b\x32&.spdkrpc.Engine.ReplicaAddressMapEntry\x12=\n\x10replica_mode_map\x18\x08 \x03(\x0b\x32#.spdkrpc.Engine.ReplicaModeMapEntry\x12\x1b\n\x04head\x18\t \x01(\x0b\x32\r.spdkrpc.Lvol\x12\x31\n\tsnapshots\x18\n \x03(\x0b\x32\x1e.spdkrpc.Engine.SnapshotsEntry\x12\x10\n\x08\x66rontend\x18\x0b \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x0c \x01(\t\x12\r\n\x05state\x18\r \x01(\t\x12\x11\n\terror_msg\x18\x0e \x01(\t\x12\x11\n\ttarget_ip\x18\x0f \x01(\t\x12\x13\n\x0btarget_port\x18\x10 \x01(\x05\x1a\x38\n\x16ReplicaAddressMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1aK\n\x13ReplicaModeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0e\x32\x14.spdkrpc.ReplicaMode:\x02\x38\x01\x1a?\n\x0eSnapshotsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.spdkrpc.Lvol:\x02\x38\x01\"\xca\x02\n\x13\x45ngineCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bvolume_name\x18\x02 \x01(\t\x12\x11\n\tspec_size\x18\x03 \x01(\x04\x12P\n\x13replica_address_map\x18\x04 \x03(\x0b\x32\x33.spdkrpc.EngineCreateRequest.ReplicaAddressMapEntry\x12\x10\n\x08\x66rontend\x18\x05 \x01(\t\x12\x12\n\nport_count\x18\x06 \x01(\x05\x12\x18\n\x10upgrade_required\x18\x07 \x01(\x08\x12\x19\n\x11initiator_address\x18\x08 \x01(\t\x12\x16\n\x0etarget_address\x18\t \x01(\t\x1a\x38\n\x16ReplicaAddressMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"#\n\x13\x45ngineDeleteRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\" \n\x10\x45ngineGetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"$\n\x14\x45ngineSuspendRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"#\n\x13\x45ngineResumeRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"E\n\x1d\x45ngineSwitchOverTargetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0etarget_address\x18\x02 \x01(\t\")\n\x19\x45ngineDeleteTargetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x90\x01\n\x12\x45ngineListResponse\x12\x39\n\x07\x65ngines\x18\x01 \x03(\x0b\x32(.spdkrpc.EngineListResponse.EnginesEntry\x1a?\n\x0c\x45nginesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1e\n\x05value\x18\x02 \x01(\x0b\x32\x0f.spdkrpc.Engine:\x02\x38\x01\"]\n\x17\x45ngineReplicaAddRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\"/\n\x18\x45ngineReplicaListRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\"\xa2\x01\n\x19\x45ngineReplicaListResponse\x12\x42\n\x08replicas\x18\x01 \x03(\x0b\x32\x30.spdkrpc.EngineReplicaListResponse.ReplicasEntry\x1a\x41\n\rReplicasEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.spdkrpc.Replica:\x02\x38\x01\"`\n\x1a\x45ngineReplicaDeleteRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\"N\n!EngineReplicaRebuildStatusRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\"\xb8\x01\n\"EngineReplicaRebuildStatusResponse\x12\x14\n\x0creplica_name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\t\x12\x10\n\x08progress\x18\x04 \x01(\x05\x12\r\n\x05\x65rror\x18\x05 \x01(\t\x12\x18\n\x10src_replica_name\x18\x06 \x01(\t\x12\x1b\n\x13src_replica_address\x18\x07 \x01(\t\"h\n\x0fSnapshotRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x14\n\x0cuser_created\x18\x03 \x01(\x08\x12\x1a\n\x12snapshot_timestamp\x18\x04 \x01(\t\")\n\x10SnapshotResponse\x12\x15\n\rsnapshot_name\x18\x01 \x01(\t\"\xef\x01\n\rVersionOutput\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x11\n\tgitCommit\x18\x02 \x01(\t\x12\x11\n\tbuildDate\x18\x03 \x01(\t\x12\x15\n\rcliAPIVersion\x18\x04 \x01(\x03\x12\x18\n\x10\x63liAPIMinVersion\x18\x05 \x01(\x03\x12\x1c\n\x14\x63ontrollerAPIVersion\x18\x06 \x01(\x03\x12\x1f\n\x17\x63ontrollerAPIMinVersion\x18\x07 \x01(\x03\x12\x19\n\x11\x64\x61taFormatVersion\x18\x08 \x01(\x03\x12\x1c\n\x14\x64\x61taFormatMinVersion\x18\t \x01(\x03\"@\n\x15VersionDetailGetReply\x12\'\n\x07version\x18\x01 \x01(\x0b\x32\x16.spdkrpc.VersionOutput\"\xb9\x03\n\x13\x42\x61\x63kupCreateRequest\x12\x15\n\rsnapshot_name\x18\x01 \x01(\t\x12\x15\n\rbackup_target\x18\x02 \x01(\t\x12\x13\n\x0bvolume_name\x18\x03 \x01(\t\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x13\n\x0b\x65ngine_name\x18\x05 \x01(\t\x12\x14\n\x0creplica_name\x18\x06 \x01(\t\x12\x0e\n\x06labels\x18\x07 \x03(\t\x12@\n\ncredential\x18\x08 \x03(\x0b\x32,.spdkrpc.BackupCreateRequest.CredentialEntry\x12\x1a\n\x12\x62\x61\x63king_image_name\x18\t \x01(\t\x12\x1e\n\x16\x62\x61\x63king_image_checksum\x18\n \x01(\t\x12\x13\n\x0b\x62\x61\x63kup_name\x18\x0b \x01(\t\x12\x1a\n\x12\x63ompression_method\x18\x0c \x01(\t\x12\x18\n\x10\x63oncurrent_limit\x18\r \x01(\x05\x12\x1a\n\x12storage_class_name\x18\x0e \x01(\t\x1a\x31\n\x0f\x43redentialEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"W\n\x14\x42\x61\x63kupCreateResponse\x12\x0e\n\x06\x62\x61\x63kup\x18\x01 \x01(\t\x12\x16\n\x0eis_incremental\x18\x02 \x01(\x08\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\"S\n\x13\x42\x61\x63kupStatusRequest\x12\x0e\n\x06\x62\x61\x63kup\x18\x01 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x02 \x01(\t\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\"\x8a\x01\n\x14\x42\x61\x63kupStatusResponse\x12\x10\n\x08progress\x18\x01 \x01(\x05\x12\x12\n\nbackup_url\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\x12\x15\n\rsnapshot_name\x18\x04 \x01(\t\x12\r\n\x05state\x18\x05 \x01(\t\x12\x17\n\x0freplica_address\x18\x06 \x01(\t\"\xf2\x01\n\x1a\x45ngineBackupRestoreRequest\x12\x12\n\nbackup_url\x18\x01 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\x12G\n\ncredential\x18\x04 \x03(\x0b\x32\x33.spdkrpc.EngineBackupRestoreRequest.CredentialEntry\x12\x18\n\x10\x63oncurrent_limit\x18\x05 \x01(\x05\x1a\x31\n\x0f\x43redentialEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8e\x01\n\x1b\x45ngineBackupRestoreResponse\x12@\n\x06\x65rrors\x18\x04 \x03(\x0b\x32\x30.spdkrpc.EngineBackupRestoreResponse.ErrorsEntry\x1a-\n\x0b\x45rrorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"7\n EngineBackupRestoreFinishRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\"\xf5\x01\n\x1bReplicaBackupRestoreRequest\x12\x12\n\nbackup_url\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\x12H\n\ncredential\x18\x04 \x03(\x0b\x32\x34.spdkrpc.ReplicaBackupRestoreRequest.CredentialEntry\x12\x18\n\x10\x63oncurrent_limit\x18\x05 \x01(\x05\x1a\x31\n\x0f\x43redentialEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"+\n\x14RestoreStatusRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\"3\n\x1bReplicaRestoreStatusRequest\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\"\xf8\x01\n\x1cReplicaRestoreStatusResponse\x12\x14\n\x0creplica_name\x18\x01 \x01(\t\x12\x17\n\x0freplica_address\x18\x02 \x01(\t\x12\x14\n\x0cis_restoring\x18\x03 \x01(\x08\x12\x15\n\rlast_restored\x18\x04 \x01(\t\x12\x10\n\x08progress\x18\x05 \x01(\x05\x12\r\n\x05\x65rror\x18\x06 \x01(\t\x12\x16\n\x0e\x64\x65st_file_name\x18\x07 \x01(\t\x12\r\n\x05state\x18\x08 \x01(\t\x12\x12\n\nbackup_url\x18\t \x01(\t\x12 \n\x18\x63urrent_restoring_backup\x18\n \x01(\t\"\xa9\x01\n\x15RestoreStatusResponse\x12:\n\x06status\x18\x01 \x03(\x0b\x32*.spdkrpc.RestoreStatusResponse.StatusEntry\x1aT\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32%.spdkrpc.ReplicaRestoreStatusResponse:\x02\x38\x01\"\xd6\x01\n\x04\x44isk\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04uuid\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\x12\x0c\n\x04type\x18\x04 \x01(\t\x12\x12\n\ntotal_size\x18\x05 \x01(\x03\x12\x11\n\tfree_size\x18\x06 \x01(\x03\x12\x14\n\x0ctotal_blocks\x18\x07 \x01(\x03\x12\x13\n\x0b\x66ree_blocks\x18\x08 \x01(\x03\x12\x12\n\nblock_size\x18\t \x01(\x03\x12\x14\n\x0c\x63luster_size\x18\n \x01(\x03\x12\x0e\n\x06\x64river\x18\x0b \x01(\t\x12\x0c\n\x04name\x18\x0c \x01(\t\"u\n\x11\x44iskCreateRequest\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x11\n\tdisk_uuid\x18\x02 \x01(\t\x12\x11\n\tdisk_path\x18\x03 \x01(\t\x12\x12\n\nblock_size\x18\x04 \x01(\x03\x12\x13\n\x0b\x64isk_driver\x18\x05 \x01(\t\"K\n\x0e\x44iskGetRequest\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x13\n\x0b\x64isk_driver\x18\x02 \x01(\t\x12\x11\n\tdisk_path\x18\x03 \x01(\t\"a\n\x11\x44iskDeleteRequest\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x11\n\tdisk_uuid\x18\x02 \x01(\t\x12\x11\n\tdisk_path\x18\x03 \x01(\t\x12\x13\n\x0b\x64isk_driver\x18\x04 \x01(\t\"#\n\x12LogSetLevelRequest\x12\r\n\x05level\x18\x01 \x01(\t\"#\n\x12LogSetFlagsRequest\x12\r\n\x05\x66lags\x18\x01 \x01(\t\"$\n\x13LogGetLevelResponse\x12\r\n\x05level\x18\x01 \x01(\t\"$\n\x13LogGetFlagsResponse\x12\r\n\x05\x66lags\x18\x01 \x01(\t*&\n\x0bReplicaMode\x12\x06\n\x02WO\x10\x00\x12\x06\n\x02RW\x10\x01\x12\x07\n\x03\x45RR\x10\x02\x32\xe0\"\n\x0bSPDKService\x12@\n\rReplicaCreate\x12\x1d.spdkrpc.ReplicaCreateRequest\x1a\x10.spdkrpc.Replica\x12\x46\n\rReplicaDelete\x12\x1d.spdkrpc.ReplicaDeleteRequest\x1a\x16.google.protobuf.Empty\x12:\n\nReplicaGet\x12\x1a.spdkrpc.ReplicaGetRequest\x1a\x10.spdkrpc.Replica\x12\x43\n\x15ReplicaSnapshotCreate\x12\x18.spdkrpc.SnapshotRequest\x1a\x10.spdkrpc.Replica\x12I\n\x15ReplicaSnapshotDelete\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12I\n\x15ReplicaSnapshotRevert\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12\x43\n\x0bReplicaList\x12\x16.google.protobuf.Empty\x1a\x1c.spdkrpc.ReplicaListResponse\x12\x42\n\x0cReplicaWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12t\n\x19ReplicaRebuildingSrcStart\x12).spdkrpc.ReplicaRebuildingSrcStartRequest\x1a*.spdkrpc.ReplicaRebuildingSrcStartResponse\"\x00\x12\x62\n\x1aReplicaRebuildingSrcFinish\x12*.spdkrpc.ReplicaRebuildingSrcFinishRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x62\n\x1aReplicaRebuildingSrcAttach\x12*.spdkrpc.ReplicaRebuildingSrcAttachRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x62\n\x1aReplicaRebuildingSrcDetach\x12*.spdkrpc.ReplicaRebuildingSrcDetachRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x93\x01\n$ReplicaRebuildingSrcShallowCopyStart\x12\x34.spdkrpc.ReplicaRebuildingSrcShallowCopyStartRequest\x1a\x35.spdkrpc.ReplicaRebuildingSrcShallowCopyStartResponse\x12\x95\x01\n$ReplicaRebuildingSrcShallowCopyCheck\x12\x34.spdkrpc.ReplicaRebuildingSrcShallowCopyCheckRequest\x1a\x35.spdkrpc.ReplicaRebuildingSrcShallowCopyCheckResponse\"\x00\x12t\n\x19ReplicaRebuildingDstStart\x12).spdkrpc.ReplicaRebuildingDstStartRequest\x1a*.spdkrpc.ReplicaRebuildingDstStartResponse\"\x00\x12\x62\n\x1aReplicaRebuildingDstFinish\x12*.spdkrpc.ReplicaRebuildingDstFinishRequest\x1a\x16.google.protobuf.Empty\"\x00\x12t\n$ReplicaRebuildingDstShallowCopyStart\x12\x34.spdkrpc.ReplicaRebuildingDstShallowCopyStartRequest\x1a\x16.google.protobuf.Empty\x12\x95\x01\n$ReplicaRebuildingDstShallowCopyCheck\x12\x34.spdkrpc.ReplicaRebuildingDstShallowCopyCheckRequest\x1a\x35.spdkrpc.ReplicaRebuildingDstShallowCopyCheckResponse\"\x00\x12V\n\"ReplicaRebuildingDstSnapshotCreate\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12u\n\"ReplicaRebuildingDstSnapshotRevert\x12\x18.spdkrpc.SnapshotRequest\x1a\x33.spdkrpc.ReplicaRebuildingDstSnapshotRevertResponse\"\x00\x12T\n\x13ReplicaBackupCreate\x12\x1c.spdkrpc.BackupCreateRequest\x1a\x1d.spdkrpc.BackupCreateResponse\"\x00\x12T\n\x13ReplicaBackupStatus\x12\x1c.spdkrpc.BackupStatusRequest\x1a\x1d.spdkrpc.BackupStatusResponse\"\x00\x12V\n\x14ReplicaBackupRestore\x12$.spdkrpc.ReplicaBackupRestoreRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x65\n\x14ReplicaRestoreStatus\x12$.spdkrpc.ReplicaRestoreStatusRequest\x1a%.spdkrpc.ReplicaRestoreStatusResponse\"\x00\x12=\n\x0c\x45ngineCreate\x12\x1c.spdkrpc.EngineCreateRequest\x1a\x0f.spdkrpc.Engine\x12\x44\n\x0c\x45ngineDelete\x12\x1c.spdkrpc.EngineDeleteRequest\x1a\x16.google.protobuf.Empty\x12\x37\n\tEngineGet\x12\x19.spdkrpc.EngineGetRequest\x1a\x0f.spdkrpc.Engine\x12\x46\n\rEngineSuspend\x12\x1d.spdkrpc.EngineSuspendRequest\x1a\x16.google.protobuf.Empty\x12\x44\n\x0c\x45ngineResume\x12\x1c.spdkrpc.EngineResumeRequest\x1a\x16.google.protobuf.Empty\x12X\n\x16\x45ngineSwitchOverTarget\x12&.spdkrpc.EngineSwitchOverTargetRequest\x1a\x16.google.protobuf.Empty\x12P\n\x12\x45ngineDeleteTarget\x12\".spdkrpc.EngineDeleteTargetRequest\x1a\x16.google.protobuf.Empty\x12K\n\x14\x45ngineSnapshotCreate\x12\x18.spdkrpc.SnapshotRequest\x1a\x19.spdkrpc.SnapshotResponse\x12H\n\x14\x45ngineSnapshotDelete\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12H\n\x14\x45ngineSnapshotRevert\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12\x41\n\nEngineList\x12\x16.google.protobuf.Empty\x1a\x1b.spdkrpc.EngineListResponse\x12\x41\n\x0b\x45ngineWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12\\\n\x11\x45ngineReplicaList\x12!.spdkrpc.EngineReplicaListRequest\x1a\".spdkrpc.EngineReplicaListResponse\"\x00\x12N\n\x10\x45ngineReplicaAdd\x12 .spdkrpc.EngineReplicaAddRequest\x1a\x16.google.protobuf.Empty\"\x00\x12T\n\x13\x45ngineReplicaDelete\x12#.spdkrpc.EngineReplicaDeleteRequest\x1a\x16.google.protobuf.Empty\"\x00\x12S\n\x12\x45ngineBackupCreate\x12\x1c.spdkrpc.BackupCreateRequest\x1a\x1d.spdkrpc.BackupCreateResponse\"\x00\x12S\n\x12\x45ngineBackupStatus\x12\x1c.spdkrpc.BackupStatusRequest\x1a\x1d.spdkrpc.BackupStatusResponse\"\x00\x12\x62\n\x13\x45ngineBackupRestore\x12#.spdkrpc.EngineBackupRestoreRequest\x1a$.spdkrpc.EngineBackupRestoreResponse\"\x00\x12`\n\x19\x45ngineBackupRestoreFinish\x12).spdkrpc.EngineBackupRestoreFinishRequest\x1a\x16.google.protobuf.Empty\"\x00\x12V\n\x13\x45ngineRestoreStatus\x12\x1d.spdkrpc.RestoreStatusRequest\x1a\x1e.spdkrpc.RestoreStatusResponse\"\x00\x12\x37\n\nDiskCreate\x12\x1a.spdkrpc.DiskCreateRequest\x1a\r.spdkrpc.Disk\x12@\n\nDiskDelete\x12\x1a.spdkrpc.DiskDeleteRequest\x1a\x16.google.protobuf.Empty\x12\x31\n\x07\x44iskGet\x12\x17.spdkrpc.DiskGetRequest\x1a\r.spdkrpc.Disk\x12\x42\n\x0bLogSetLevel\x12\x1b.spdkrpc.LogSetLevelRequest\x1a\x16.google.protobuf.Empty\x12\x42\n\x0bLogSetFlags\x12\x1b.spdkrpc.LogSetFlagsRequest\x1a\x16.google.protobuf.Empty\x12\x43\n\x0bLogGetLevel\x12\x16.google.protobuf.Empty\x1a\x1c.spdkrpc.LogGetLevelResponse\x12\x43\n\x0bLogGetFlags\x12\x16.google.protobuf.Empty\x1a\x1c.spdkrpc.LogGetFlagsResponse\x12J\n\x10VersionDetailGet\x12\x16.google.protobuf.Empty\x1a\x1e.spdkrpc.VersionDetailGetReplyB1Z/github.com/longhorn/types/pkg/generated/spdkrpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12spdkrpc/spdk.proto\x12\x07spdkrpc\x1a\x1bgoogle/protobuf/empty.proto\"\x83\x02\n\x04Lvol\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04uuid\x18\x02 \x01(\t\x12\x11\n\tspec_size\x18\x03 \x01(\x04\x12\x13\n\x0b\x61\x63tual_size\x18\x04 \x01(\x04\x12\x0e\n\x06parent\x18\x05 \x01(\t\x12-\n\x08\x63hildren\x18\x06 \x03(\x0b\x32\x1b.spdkrpc.Lvol.ChildrenEntry\x12\x15\n\rcreation_time\x18\x07 \x01(\t\x12\x14\n\x0cuser_created\x18\x08 \x01(\x08\x12\x1a\n\x12snapshot_timestamp\x18\t \x01(\t\x1a/\n\rChildrenEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\"\xdd\x02\n\x07Replica\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08lvs_name\x18\x02 \x01(\t\x12\x10\n\x08lvs_uuid\x18\x03 \x01(\t\x12\x11\n\tspec_size\x18\x04 \x01(\x04\x12\x13\n\x0b\x61\x63tual_size\x18\x05 \x01(\x04\x12\n\n\x02ip\x18\x06 \x01(\t\x12\x12\n\nport_start\x18\x07 \x01(\x05\x12\x10\n\x08port_end\x18\x08 \x01(\x05\x12\x1b\n\x04head\x18\t \x01(\x0b\x32\r.spdkrpc.Lvol\x12\x32\n\tsnapshots\x18\n \x03(\x0b\x32\x1f.spdkrpc.Replica.SnapshotsEntry\x12\x12\n\nrebuilding\x18\x0b \x01(\x08\x12\r\n\x05state\x18\x0c \x01(\t\x12\x11\n\terror_msg\x18\r \x01(\t\x1a?\n\x0eSnapshotsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.spdkrpc.Lvol:\x02\x38\x01\"o\n\x14ReplicaCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08lvs_name\x18\x02 \x01(\t\x12\x10\n\x08lvs_uuid\x18\x03 \x01(\t\x12\x11\n\tspec_size\x18\x04 \x01(\x04\x12\x12\n\nport_count\x18\x05 \x01(\x05\">\n\x14ReplicaDeleteRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x63leanup_required\x18\x02 \x01(\x08\"!\n\x11ReplicaGetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x96\x01\n\x13ReplicaListResponse\x12<\n\x08replicas\x18\x01 \x03(\x0b\x32*.spdkrpc.ReplicaListResponse.ReplicasEntry\x1a\x41\n\rReplicasEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.spdkrpc.Replica:\x02\x38\x01\"\x86\x01\n ReplicaRebuildingSrcStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\x12\x1b\n\x13\x64st_replica_address\x18\x03 \x01(\t\x12\x1d\n\x15\x65xposed_snapshot_name\x18\x04 \x01(\t\"J\n!ReplicaRebuildingSrcStartResponse\x12%\n\x1d\x65xposed_snapshot_lvol_address\x18\x01 \x01(\t\"K\n!ReplicaRebuildingSrcFinishRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\"p\n!ReplicaRebuildingSrcAttachRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\x12#\n\x1b\x64st_rebuilding_lvol_address\x18\x03 \x01(\t\"K\n!ReplicaRebuildingSrcDetachRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\"R\n+ReplicaRebuildingSrcShallowCopyStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\"J\n,ReplicaRebuildingSrcShallowCopyStartResponse\x12\x1a\n\x12shallow_copy_op_id\x18\x01 \x01(\r\"\x88\x01\n+ReplicaRebuildingSrcShallowCopyCheckRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x64st_replica_name\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\x12\x1a\n\x12shallow_copy_op_id\x18\x04 \x01(\r\"\x81\x01\n,ReplicaRebuildingSrcShallowCopyCheckResponse\x12\r\n\x05state\x18\x01 \x01(\t\x12\x17\n\x0f\x63opied_clusters\x18\x02 \x01(\x04\x12\x16\n\x0etotal_clusters\x18\x03 \x01(\x04\x12\x11\n\terror_msg\x18\x04 \x01(\t\"\xdb\x01\n ReplicaRebuildingDstStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10src_replica_name\x18\x02 \x01(\t\x12\x1b\n\x13src_replica_address\x18\x03 \x01(\t\x12\x1e\n\x16\x65xternal_snapshot_name\x18\x04 \x01(\t\x12!\n\x19\x65xternal_snapshot_address\x18\x05 \x01(\t\x12/\n\x18rebuilding_snapshot_list\x18\x06 \x03(\x0b\x32\r.spdkrpc.Lvol\"B\n!ReplicaRebuildingDstStartResponse\x12\x1d\n\x15\x64st_head_lvol_address\x18\x01 \x01(\t\"1\n!ReplicaRebuildingDstFinishRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"R\n+ReplicaRebuildingDstShallowCopyStartRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\";\n+ReplicaRebuildingDstShallowCopyCheckRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xd9\x01\n,ReplicaRebuildingDstShallowCopyCheckResponse\x12\x18\n\x10src_replica_name\x18\x01 \x01(\t\x12\x1b\n\x13src_replica_address\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\x12\r\n\x05state\x18\x04 \x01(\t\x12\x10\n\x08progress\x18\x05 \x01(\r\x12\x13\n\x0btotal_state\x18\x06 \x01(\t\x12\x16\n\x0etotal_progress\x18\x07 \x01(\r\x12\r\n\x05\x65rror\x18\x08 \x01(\t\"Q\n*ReplicaRebuildingDstSnapshotRevertResponse\x12#\n\x1b\x64st_rebuilding_lvol_address\x18\x01 \x01(\t\"\xf7\x04\n\x06\x45ngine\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bvolume_name\x18\x02 \x01(\t\x12\x11\n\tspec_size\x18\x03 \x01(\x04\x12\x13\n\x0b\x61\x63tual_size\x18\x04 \x01(\x04\x12\n\n\x02ip\x18\x05 \x01(\t\x12\x0c\n\x04port\x18\x06 \x01(\x05\x12\x43\n\x13replica_address_map\x18\x07 \x03(\x0b\x32&.spdkrpc.Engine.ReplicaAddressMapEntry\x12=\n\x10replica_mode_map\x18\x08 \x03(\x0b\x32#.spdkrpc.Engine.ReplicaModeMapEntry\x12\x1b\n\x04head\x18\t \x01(\x0b\x32\r.spdkrpc.Lvol\x12\x31\n\tsnapshots\x18\n \x03(\x0b\x32\x1e.spdkrpc.Engine.SnapshotsEntry\x12\x10\n\x08\x66rontend\x18\x0b \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x0c \x01(\t\x12\r\n\x05state\x18\r \x01(\t\x12\x11\n\terror_msg\x18\x0e \x01(\t\x12\x11\n\ttarget_ip\x18\x0f \x01(\t\x12\x13\n\x0btarget_port\x18\x10 \x01(\x05\x1a\x38\n\x16ReplicaAddressMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1aK\n\x13ReplicaModeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0e\x32\x14.spdkrpc.ReplicaMode:\x02\x38\x01\x1a?\n\x0eSnapshotsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.spdkrpc.Lvol:\x02\x38\x01\"\xca\x02\n\x13\x45ngineCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bvolume_name\x18\x02 \x01(\t\x12\x11\n\tspec_size\x18\x03 \x01(\x04\x12P\n\x13replica_address_map\x18\x04 \x03(\x0b\x32\x33.spdkrpc.EngineCreateRequest.ReplicaAddressMapEntry\x12\x10\n\x08\x66rontend\x18\x05 \x01(\t\x12\x12\n\nport_count\x18\x06 \x01(\x05\x12\x18\n\x10upgrade_required\x18\x07 \x01(\x08\x12\x19\n\x11initiator_address\x18\x08 \x01(\t\x12\x16\n\x0etarget_address\x18\t \x01(\t\x1a\x38\n\x16ReplicaAddressMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"#\n\x13\x45ngineDeleteRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\" \n\x10\x45ngineGetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"$\n\x14\x45ngineSuspendRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"#\n\x13\x45ngineResumeRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"E\n\x1d\x45ngineSwitchOverTargetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0etarget_address\x18\x02 \x01(\t\")\n\x19\x45ngineDeleteTargetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x90\x01\n\x12\x45ngineListResponse\x12\x39\n\x07\x65ngines\x18\x01 \x03(\x0b\x32(.spdkrpc.EngineListResponse.EnginesEntry\x1a?\n\x0c\x45nginesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1e\n\x05value\x18\x02 \x01(\x0b\x32\x0f.spdkrpc.Engine:\x02\x38\x01\"]\n\x17\x45ngineReplicaAddRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\"/\n\x18\x45ngineReplicaListRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\"\xa2\x01\n\x19\x45ngineReplicaListResponse\x12\x42\n\x08replicas\x18\x01 \x03(\x0b\x32\x30.spdkrpc.EngineReplicaListResponse.ReplicasEntry\x1a\x41\n\rReplicasEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.spdkrpc.Replica:\x02\x38\x01\"`\n\x1a\x45ngineReplicaDeleteRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\"N\n!EngineReplicaRebuildStatusRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\"\xb8\x01\n\"EngineReplicaRebuildStatusResponse\x12\x14\n\x0creplica_name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\t\x12\x10\n\x08progress\x18\x04 \x01(\x05\x12\r\n\x05\x65rror\x18\x05 \x01(\t\x12\x18\n\x10src_replica_name\x18\x06 \x01(\t\x12\x1b\n\x13src_replica_address\x18\x07 \x01(\t\"h\n\x0fSnapshotRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x14\n\x0cuser_created\x18\x03 \x01(\x08\x12\x1a\n\x12snapshot_timestamp\x18\x04 \x01(\t\")\n\x10SnapshotResponse\x12\x15\n\rsnapshot_name\x18\x01 \x01(\t\"\xef\x01\n\rVersionOutput\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x11\n\tgitCommit\x18\x02 \x01(\t\x12\x11\n\tbuildDate\x18\x03 \x01(\t\x12\x15\n\rcliAPIVersion\x18\x04 \x01(\x03\x12\x18\n\x10\x63liAPIMinVersion\x18\x05 \x01(\x03\x12\x1c\n\x14\x63ontrollerAPIVersion\x18\x06 \x01(\x03\x12\x1f\n\x17\x63ontrollerAPIMinVersion\x18\x07 \x01(\x03\x12\x19\n\x11\x64\x61taFormatVersion\x18\x08 \x01(\x03\x12\x1c\n\x14\x64\x61taFormatMinVersion\x18\t \x01(\x03\"@\n\x15VersionDetailGetReply\x12\'\n\x07version\x18\x01 \x01(\x0b\x32\x16.spdkrpc.VersionOutput\"\xb9\x03\n\x13\x42\x61\x63kupCreateRequest\x12\x15\n\rsnapshot_name\x18\x01 \x01(\t\x12\x15\n\rbackup_target\x18\x02 \x01(\t\x12\x13\n\x0bvolume_name\x18\x03 \x01(\t\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x13\n\x0b\x65ngine_name\x18\x05 \x01(\t\x12\x14\n\x0creplica_name\x18\x06 \x01(\t\x12\x0e\n\x06labels\x18\x07 \x03(\t\x12@\n\ncredential\x18\x08 \x03(\x0b\x32,.spdkrpc.BackupCreateRequest.CredentialEntry\x12\x1a\n\x12\x62\x61\x63king_image_name\x18\t \x01(\t\x12\x1e\n\x16\x62\x61\x63king_image_checksum\x18\n \x01(\t\x12\x13\n\x0b\x62\x61\x63kup_name\x18\x0b \x01(\t\x12\x1a\n\x12\x63ompression_method\x18\x0c \x01(\t\x12\x18\n\x10\x63oncurrent_limit\x18\r \x01(\x05\x12\x1a\n\x12storage_class_name\x18\x0e \x01(\t\x1a\x31\n\x0f\x43redentialEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"W\n\x14\x42\x61\x63kupCreateResponse\x12\x0e\n\x06\x62\x61\x63kup\x18\x01 \x01(\t\x12\x16\n\x0eis_incremental\x18\x02 \x01(\x08\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\"S\n\x13\x42\x61\x63kupStatusRequest\x12\x0e\n\x06\x62\x61\x63kup\x18\x01 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x02 \x01(\t\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\"\x8a\x01\n\x14\x42\x61\x63kupStatusResponse\x12\x10\n\x08progress\x18\x01 \x01(\x05\x12\x12\n\nbackup_url\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\x12\x15\n\rsnapshot_name\x18\x04 \x01(\t\x12\r\n\x05state\x18\x05 \x01(\t\x12\x17\n\x0freplica_address\x18\x06 \x01(\t\"\xf2\x01\n\x1a\x45ngineBackupRestoreRequest\x12\x12\n\nbackup_url\x18\x01 \x01(\t\x12\x13\n\x0b\x65ngine_name\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\x12G\n\ncredential\x18\x04 \x03(\x0b\x32\x33.spdkrpc.EngineBackupRestoreRequest.CredentialEntry\x12\x18\n\x10\x63oncurrent_limit\x18\x05 \x01(\x05\x1a\x31\n\x0f\x43redentialEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8e\x01\n\x1b\x45ngineBackupRestoreResponse\x12@\n\x06\x65rrors\x18\x04 \x03(\x0b\x32\x30.spdkrpc.EngineBackupRestoreResponse.ErrorsEntry\x1a-\n\x0b\x45rrorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"7\n EngineBackupRestoreFinishRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\"\xf5\x01\n\x1bReplicaBackupRestoreRequest\x12\x12\n\nbackup_url\x18\x01 \x01(\t\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\x12H\n\ncredential\x18\x04 \x03(\x0b\x32\x34.spdkrpc.ReplicaBackupRestoreRequest.CredentialEntry\x12\x18\n\x10\x63oncurrent_limit\x18\x05 \x01(\x05\x1a\x31\n\x0f\x43redentialEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"+\n\x14RestoreStatusRequest\x12\x13\n\x0b\x65ngine_name\x18\x01 \x01(\t\"3\n\x1bReplicaRestoreStatusRequest\x12\x14\n\x0creplica_name\x18\x02 \x01(\t\"\xf8\x01\n\x1cReplicaRestoreStatusResponse\x12\x14\n\x0creplica_name\x18\x01 \x01(\t\x12\x17\n\x0freplica_address\x18\x02 \x01(\t\x12\x14\n\x0cis_restoring\x18\x03 \x01(\x08\x12\x15\n\rlast_restored\x18\x04 \x01(\t\x12\x10\n\x08progress\x18\x05 \x01(\x05\x12\r\n\x05\x65rror\x18\x06 \x01(\t\x12\x16\n\x0e\x64\x65st_file_name\x18\x07 \x01(\t\x12\r\n\x05state\x18\x08 \x01(\t\x12\x12\n\nbackup_url\x18\t \x01(\t\x12 \n\x18\x63urrent_restoring_backup\x18\n \x01(\t\"\xa9\x01\n\x15RestoreStatusResponse\x12:\n\x06status\x18\x01 \x03(\x0b\x32*.spdkrpc.RestoreStatusResponse.StatusEntry\x1aT\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32%.spdkrpc.ReplicaRestoreStatusResponse:\x02\x38\x01\"\xd6\x01\n\x04\x44isk\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04uuid\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\x12\x0c\n\x04type\x18\x04 \x01(\t\x12\x12\n\ntotal_size\x18\x05 \x01(\x03\x12\x11\n\tfree_size\x18\x06 \x01(\x03\x12\x14\n\x0ctotal_blocks\x18\x07 \x01(\x03\x12\x13\n\x0b\x66ree_blocks\x18\x08 \x01(\x03\x12\x12\n\nblock_size\x18\t \x01(\x03\x12\x14\n\x0c\x63luster_size\x18\n \x01(\x03\x12\x0e\n\x06\x64river\x18\x0b \x01(\t\x12\x0c\n\x04name\x18\x0c \x01(\t\"u\n\x11\x44iskCreateRequest\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x11\n\tdisk_uuid\x18\x02 \x01(\t\x12\x11\n\tdisk_path\x18\x03 \x01(\t\x12\x12\n\nblock_size\x18\x04 \x01(\x03\x12\x13\n\x0b\x64isk_driver\x18\x05 \x01(\t\"K\n\x0e\x44iskGetRequest\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x13\n\x0b\x64isk_driver\x18\x02 \x01(\t\x12\x11\n\tdisk_path\x18\x03 \x01(\t\"a\n\x11\x44iskDeleteRequest\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x11\n\tdisk_uuid\x18\x02 \x01(\t\x12\x11\n\tdisk_path\x18\x03 \x01(\t\x12\x13\n\x0b\x64isk_driver\x18\x04 \x01(\t\"#\n\x12LogSetLevelRequest\x12\r\n\x05level\x18\x01 \x01(\t\"#\n\x12LogSetFlagsRequest\x12\r\n\x05\x66lags\x18\x01 \x01(\t\"$\n\x13LogGetLevelResponse\x12\r\n\x05level\x18\x01 \x01(\t\"$\n\x13LogGetFlagsResponse\x12\r\n\x05\x66lags\x18\x01 \x01(\t*&\n\x0bReplicaMode\x12\x06\n\x02WO\x10\x00\x12\x06\n\x02RW\x10\x01\x12\x07\n\x03\x45RR\x10\x02\x32\xf3#\n\x0bSPDKService\x12@\n\rReplicaCreate\x12\x1d.spdkrpc.ReplicaCreateRequest\x1a\x10.spdkrpc.Replica\x12\x46\n\rReplicaDelete\x12\x1d.spdkrpc.ReplicaDeleteRequest\x1a\x16.google.protobuf.Empty\x12:\n\nReplicaGet\x12\x1a.spdkrpc.ReplicaGetRequest\x1a\x10.spdkrpc.Replica\x12\x43\n\x15ReplicaSnapshotCreate\x12\x18.spdkrpc.SnapshotRequest\x1a\x10.spdkrpc.Replica\x12I\n\x15ReplicaSnapshotDelete\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12I\n\x15ReplicaSnapshotRevert\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12H\n\x14ReplicaSnapshotPurge\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12\x43\n\x0bReplicaList\x12\x16.google.protobuf.Empty\x1a\x1c.spdkrpc.ReplicaListResponse\x12\x42\n\x0cReplicaWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12t\n\x19ReplicaRebuildingSrcStart\x12).spdkrpc.ReplicaRebuildingSrcStartRequest\x1a*.spdkrpc.ReplicaRebuildingSrcStartResponse\"\x00\x12\x62\n\x1aReplicaRebuildingSrcFinish\x12*.spdkrpc.ReplicaRebuildingSrcFinishRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x62\n\x1aReplicaRebuildingSrcAttach\x12*.spdkrpc.ReplicaRebuildingSrcAttachRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x62\n\x1aReplicaRebuildingSrcDetach\x12*.spdkrpc.ReplicaRebuildingSrcDetachRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x93\x01\n$ReplicaRebuildingSrcShallowCopyStart\x12\x34.spdkrpc.ReplicaRebuildingSrcShallowCopyStartRequest\x1a\x35.spdkrpc.ReplicaRebuildingSrcShallowCopyStartResponse\x12\x95\x01\n$ReplicaRebuildingSrcShallowCopyCheck\x12\x34.spdkrpc.ReplicaRebuildingSrcShallowCopyCheckRequest\x1a\x35.spdkrpc.ReplicaRebuildingSrcShallowCopyCheckResponse\"\x00\x12t\n\x19ReplicaRebuildingDstStart\x12).spdkrpc.ReplicaRebuildingDstStartRequest\x1a*.spdkrpc.ReplicaRebuildingDstStartResponse\"\x00\x12\x62\n\x1aReplicaRebuildingDstFinish\x12*.spdkrpc.ReplicaRebuildingDstFinishRequest\x1a\x16.google.protobuf.Empty\"\x00\x12t\n$ReplicaRebuildingDstShallowCopyStart\x12\x34.spdkrpc.ReplicaRebuildingDstShallowCopyStartRequest\x1a\x16.google.protobuf.Empty\x12\x95\x01\n$ReplicaRebuildingDstShallowCopyCheck\x12\x34.spdkrpc.ReplicaRebuildingDstShallowCopyCheckRequest\x1a\x35.spdkrpc.ReplicaRebuildingDstShallowCopyCheckResponse\"\x00\x12V\n\"ReplicaRebuildingDstSnapshotCreate\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12u\n\"ReplicaRebuildingDstSnapshotRevert\x12\x18.spdkrpc.SnapshotRequest\x1a\x33.spdkrpc.ReplicaRebuildingDstSnapshotRevertResponse\"\x00\x12T\n\x13ReplicaBackupCreate\x12\x1c.spdkrpc.BackupCreateRequest\x1a\x1d.spdkrpc.BackupCreateResponse\"\x00\x12T\n\x13ReplicaBackupStatus\x12\x1c.spdkrpc.BackupStatusRequest\x1a\x1d.spdkrpc.BackupStatusResponse\"\x00\x12V\n\x14ReplicaBackupRestore\x12$.spdkrpc.ReplicaBackupRestoreRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x65\n\x14ReplicaRestoreStatus\x12$.spdkrpc.ReplicaRestoreStatusRequest\x1a%.spdkrpc.ReplicaRestoreStatusResponse\"\x00\x12=\n\x0c\x45ngineCreate\x12\x1c.spdkrpc.EngineCreateRequest\x1a\x0f.spdkrpc.Engine\x12\x44\n\x0c\x45ngineDelete\x12\x1c.spdkrpc.EngineDeleteRequest\x1a\x16.google.protobuf.Empty\x12\x37\n\tEngineGet\x12\x19.spdkrpc.EngineGetRequest\x1a\x0f.spdkrpc.Engine\x12\x46\n\rEngineSuspend\x12\x1d.spdkrpc.EngineSuspendRequest\x1a\x16.google.protobuf.Empty\x12\x44\n\x0c\x45ngineResume\x12\x1c.spdkrpc.EngineResumeRequest\x1a\x16.google.protobuf.Empty\x12X\n\x16\x45ngineSwitchOverTarget\x12&.spdkrpc.EngineSwitchOverTargetRequest\x1a\x16.google.protobuf.Empty\x12P\n\x12\x45ngineDeleteTarget\x12\".spdkrpc.EngineDeleteTargetRequest\x1a\x16.google.protobuf.Empty\x12K\n\x14\x45ngineSnapshotCreate\x12\x18.spdkrpc.SnapshotRequest\x1a\x19.spdkrpc.SnapshotResponse\x12H\n\x14\x45ngineSnapshotDelete\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12H\n\x14\x45ngineSnapshotRevert\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12G\n\x13\x45ngineSnapshotPurge\x12\x18.spdkrpc.SnapshotRequest\x1a\x16.google.protobuf.Empty\x12\x41\n\nEngineList\x12\x16.google.protobuf.Empty\x1a\x1b.spdkrpc.EngineListResponse\x12\x41\n\x0b\x45ngineWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12\\\n\x11\x45ngineReplicaList\x12!.spdkrpc.EngineReplicaListRequest\x1a\".spdkrpc.EngineReplicaListResponse\"\x00\x12N\n\x10\x45ngineReplicaAdd\x12 .spdkrpc.EngineReplicaAddRequest\x1a\x16.google.protobuf.Empty\"\x00\x12T\n\x13\x45ngineReplicaDelete\x12#.spdkrpc.EngineReplicaDeleteRequest\x1a\x16.google.protobuf.Empty\"\x00\x12S\n\x12\x45ngineBackupCreate\x12\x1c.spdkrpc.BackupCreateRequest\x1a\x1d.spdkrpc.BackupCreateResponse\"\x00\x12S\n\x12\x45ngineBackupStatus\x12\x1c.spdkrpc.BackupStatusRequest\x1a\x1d.spdkrpc.BackupStatusResponse\"\x00\x12\x62\n\x13\x45ngineBackupRestore\x12#.spdkrpc.EngineBackupRestoreRequest\x1a$.spdkrpc.EngineBackupRestoreResponse\"\x00\x12`\n\x19\x45ngineBackupRestoreFinish\x12).spdkrpc.EngineBackupRestoreFinishRequest\x1a\x16.google.protobuf.Empty\"\x00\x12V\n\x13\x45ngineRestoreStatus\x12\x1d.spdkrpc.RestoreStatusRequest\x1a\x1e.spdkrpc.RestoreStatusResponse\"\x00\x12\x37\n\nDiskCreate\x12\x1a.spdkrpc.DiskCreateRequest\x1a\r.spdkrpc.Disk\x12@\n\nDiskDelete\x12\x1a.spdkrpc.DiskDeleteRequest\x1a\x16.google.protobuf.Empty\x12\x31\n\x07\x44iskGet\x12\x17.spdkrpc.DiskGetRequest\x1a\r.spdkrpc.Disk\x12\x42\n\x0bLogSetLevel\x12\x1b.spdkrpc.LogSetLevelRequest\x1a\x16.google.protobuf.Empty\x12\x42\n\x0bLogSetFlags\x12\x1b.spdkrpc.LogSetFlagsRequest\x1a\x16.google.protobuf.Empty\x12\x43\n\x0bLogGetLevel\x12\x16.google.protobuf.Empty\x1a\x1c.spdkrpc.LogGetLevelResponse\x12\x43\n\x0bLogGetFlags\x12\x16.google.protobuf.Empty\x1a\x1c.spdkrpc.LogGetFlagsResponse\x12J\n\x10VersionDetailGet\x12\x16.google.protobuf.Empty\x1a\x1e.spdkrpc.VersionDetailGetReplyB1Z/github.com/longhorn/types/pkg/generated/spdkrpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -204,5 +204,5 @@ _globals['_LOGGETFLAGSRESPONSE']._serialized_start=7844 _globals['_LOGGETFLAGSRESPONSE']._serialized_end=7880 _globals['_SPDKSERVICE']._serialized_start=7923 - _globals['_SPDKSERVICE']._serialized_end=12371 + _globals['_SPDKSERVICE']._serialized_end=12518 # @@protoc_insertion_point(module_scope) diff --git a/generated-py/spdkrpc/spdk_pb2_grpc.py b/generated-py/spdkrpc/spdk_pb2_grpc.py index 3e649c7..661fd2b 100644 --- a/generated-py/spdkrpc/spdk_pb2_grpc.py +++ b/generated-py/spdkrpc/spdk_pb2_grpc.py @@ -45,6 +45,11 @@ def __init__(self, channel): request_serializer=spdkrpc_dot_spdk__pb2.SnapshotRequest.SerializeToString, response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, ) + self.ReplicaSnapshotPurge = channel.unary_unary( + '/spdkrpc.SPDKService/ReplicaSnapshotPurge', + request_serializer=spdkrpc_dot_spdk__pb2.SnapshotRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) self.ReplicaList = channel.unary_unary( '/spdkrpc.SPDKService/ReplicaList', request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, @@ -185,6 +190,11 @@ def __init__(self, channel): request_serializer=spdkrpc_dot_spdk__pb2.SnapshotRequest.SerializeToString, response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, ) + self.EngineSnapshotPurge = channel.unary_unary( + '/spdkrpc.SPDKService/EngineSnapshotPurge', + request_serializer=spdkrpc_dot_spdk__pb2.SnapshotRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) self.EngineList = channel.unary_unary( '/spdkrpc.SPDKService/EngineList', request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, @@ -316,6 +326,12 @@ def ReplicaSnapshotRevert(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def ReplicaSnapshotPurge(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def ReplicaList(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) @@ -484,6 +500,12 @@ def EngineSnapshotRevert(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def EngineSnapshotPurge(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def EngineList(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) @@ -625,6 +647,11 @@ def add_SPDKServiceServicer_to_server(servicer, server): request_deserializer=spdkrpc_dot_spdk__pb2.SnapshotRequest.FromString, response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, ), + 'ReplicaSnapshotPurge': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaSnapshotPurge, + request_deserializer=spdkrpc_dot_spdk__pb2.SnapshotRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), 'ReplicaList': grpc.unary_unary_rpc_method_handler( servicer.ReplicaList, request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, @@ -765,6 +792,11 @@ def add_SPDKServiceServicer_to_server(servicer, server): request_deserializer=spdkrpc_dot_spdk__pb2.SnapshotRequest.FromString, response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, ), + 'EngineSnapshotPurge': grpc.unary_unary_rpc_method_handler( + servicer.EngineSnapshotPurge, + request_deserializer=spdkrpc_dot_spdk__pb2.SnapshotRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), 'EngineList': grpc.unary_unary_rpc_method_handler( servicer.EngineList, request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, @@ -967,6 +999,23 @@ def ReplicaSnapshotRevert(request, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod + def ReplicaSnapshotPurge(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, '/spdkrpc.SPDKService/ReplicaSnapshotPurge', + spdkrpc_dot_spdk__pb2.SnapshotRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod def ReplicaList(request, target, @@ -1443,6 +1492,23 @@ def EngineSnapshotRevert(request, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod + def EngineSnapshotPurge(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, '/spdkrpc.SPDKService/EngineSnapshotPurge', + spdkrpc_dot_spdk__pb2.SnapshotRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod def EngineList(request, target, diff --git a/pkg/generated/spdkrpc/spdk.pb.go b/pkg/generated/spdkrpc/spdk.pb.go index 3b4e3de..02b475a 100644 --- a/pkg/generated/spdkrpc/spdk.pb.go +++ b/pkg/generated/spdkrpc/spdk.pb.go @@ -4864,7 +4864,7 @@ var file_spdkrpc_spdk_proto_rawDesc = []byte{ 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x2a, 0x26, 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x57, 0x4f, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x52, 0x57, 0x10, 0x01, - 0x12, 0x07, 0x0a, 0x03, 0x45, 0x52, 0x52, 0x10, 0x02, 0x32, 0xe0, 0x22, 0x0a, 0x0b, 0x53, 0x50, + 0x12, 0x07, 0x0a, 0x03, 0x45, 0x52, 0x52, 0x10, 0x02, 0x32, 0xf3, 0x23, 0x0a, 0x0b, 0x53, 0x50, 0x44, 0x4b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x40, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x72, 0x65, 0x61, @@ -4891,262 +4891,271 @@ var file_spdkrpc_spdk_proto_rawDesc = []byte{ 0x6f, 0x74, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x12, 0x18, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x0b, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x48, 0x0a, 0x14, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x75, 0x72, + 0x67, 0x65, 0x12, 0x18, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x73, 0x70, + 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0c, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x1a, 0x1c, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x42, 0x0a, 0x0c, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, - 0x00, 0x30, 0x01, 0x12, 0x74, 0x0a, 0x19, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x12, 0x29, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x73, 0x70, - 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, - 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x1a, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, - 0x63, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x2a, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, - 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x62, 0x0a, - 0x1a, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, - 0x6e, 0x67, 0x53, 0x72, 0x63, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x12, 0x2a, 0x2e, 0x73, 0x70, - 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, - 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, - 0x00, 0x12, 0x62, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, - 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x12, - 0x2a, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x44, 0x65, - 0x74, 0x61, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x93, 0x01, 0x0a, 0x24, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x30, 0x01, 0x12, 0x74, 0x0a, + 0x19, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, + 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x29, 0x2e, 0x73, 0x70, 0x64, + 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, + 0x67, 0x53, 0x72, 0x63, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x46, 0x69, 0x6e, 0x69, 0x73, + 0x68, 0x12, 0x2a, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x41, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x12, 0x2a, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, + 0x67, 0x53, 0x72, 0x63, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x1a, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, + 0x53, 0x72, 0x63, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x12, 0x2a, 0x2e, 0x73, 0x70, 0x64, 0x6b, + 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, + 0x93, 0x01, 0x0a, 0x24, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, + 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x34, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, + 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, + 0x70, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, + 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x68, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x24, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x68, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x34, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x34, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x68, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, - 0x53, 0x72, 0x63, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x24, - 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, - 0x67, 0x53, 0x72, 0x63, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x12, 0x34, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x73, 0x70, 0x64, + 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x74, 0x0a, + 0x19, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, + 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x29, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, - 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x72, 0x63, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x43, 0x6f, 0x70, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x74, 0x0a, 0x19, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x12, 0x29, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, + 0x67, 0x44, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, + 0x68, 0x12, 0x2a, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x74, 0x0a, 0x24, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x73, 0x70, - 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, - 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x1a, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, - 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x2a, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, - 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x74, 0x0a, - 0x24, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, + 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, + 0x34, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x68, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x95, 0x01, + 0x0a, 0x24, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, + 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x34, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, + 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x34, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, - 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, - 0x67, 0x44, 0x73, 0x74, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x12, 0x95, 0x01, 0x0a, 0x24, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, - 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x68, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x34, 0x2e, 0x73, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x68, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, - 0x74, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x22, 0x52, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, - 0x44, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x12, 0x18, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x12, 0x75, 0x0a, 0x22, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x12, 0x18, 0x2e, 0x73, 0x70, 0x64, 0x6b, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, - 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, + 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x22, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x73, 0x70, + 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x75, 0x0a, + 0x22, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, + 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x76, + 0x65, 0x72, 0x74, 0x12, 0x18, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, + 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, + 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x73, 0x70, + 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x70, 0x64, 0x6b, + 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x13, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x12, 0x1c, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x1c, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x54, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, - 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x24, - 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x65, - 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x56, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, + 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x24, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x73, - 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, - 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x45, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x47, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, - 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x75, 0x73, - 0x70, 0x65, 0x6e, 0x64, 0x12, 0x1d, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x0c, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x73, 0x70, - 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, - 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x12, 0x58, 0x0a, 0x16, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, - 0x68, 0x4f, 0x76, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x73, 0x70, - 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x77, 0x69, 0x74, - 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x50, 0x0a, 0x12, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x12, 0x22, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4b, 0x0a, - 0x14, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x19, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x14, 0x45, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x12, 0x18, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x3d, 0x0a, 0x0c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, + 0x1c, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, + 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x44, + 0x0a, 0x0c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1c, + 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x12, 0x48, 0x0a, 0x14, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x12, 0x18, 0x2e, 0x73, + 0x6d, 0x70, 0x74, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x47, 0x65, + 0x74, 0x12, 0x19, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x73, + 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x46, 0x0a, + 0x0d, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x1d, + 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, + 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x0c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, + 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x58, 0x0a, 0x16, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x50, 0x0a, 0x12, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x73, 0x70, + 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4b, 0x0a, 0x14, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, + 0x18, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x73, 0x70, 0x64, 0x6b, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x14, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x41, - 0x0a, 0x0a, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, - 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x22, 0x00, 0x30, 0x01, 0x12, 0x5c, 0x0a, 0x11, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x73, 0x70, 0x64, 0x6b, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x48, + 0x0a, 0x14, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x12, 0x18, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x13, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x75, 0x72, 0x67, 0x65, 0x12, + 0x18, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x12, 0x41, 0x0a, 0x0a, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, + 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x57, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x22, 0x00, 0x30, 0x01, 0x12, 0x5c, 0x0a, 0x11, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x73, + 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x10, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x12, 0x20, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, + 0x61, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x13, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x10, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x12, 0x20, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, - 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x6c, 0x69, 0x63, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x12, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x12, 0x1c, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1d, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x53, 0x0a, 0x12, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, + 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x13, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x2e, 0x73, + 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x19, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x29, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, + 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x13, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1d, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1e, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x37, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x12, 0x1a, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, + 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x40, 0x0a, 0x0a, + 0x44, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1a, 0x2e, 0x73, 0x70, 0x64, + 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x31, + 0x0a, 0x07, 0x44, 0x69, 0x73, 0x6b, 0x47, 0x65, 0x74, 0x12, 0x17, 0x2e, 0x73, 0x70, 0x64, 0x6b, + 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, + 0x6b, 0x12, 0x42, 0x0a, 0x0b, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x12, 0x1b, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x65, + 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0b, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x74, 0x46, + 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x4c, + 0x6f, 0x67, 0x53, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x0b, 0x4c, 0x6f, 0x67, + 0x47, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x22, 0x00, 0x12, 0x54, 0x0a, 0x13, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x73, 0x70, 0x64, 0x6b, - 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x12, 0x45, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1c, - 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, - 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, - 0x12, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x1c, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x62, 0x0a, 0x13, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x2e, 0x73, 0x70, 0x64, 0x6b, - 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, - 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x19, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x12, 0x29, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x13, 0x45, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x1d, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, - 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x37, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1a, - 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x70, 0x64, - 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x40, 0x0a, 0x0a, 0x44, 0x69, 0x73, - 0x6b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1a, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, - 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x31, 0x0a, 0x07, 0x44, - 0x69, 0x73, 0x6b, 0x47, 0x65, 0x74, 0x12, 0x17, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, - 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x0d, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x42, - 0x0a, 0x0b, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1b, 0x2e, - 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x74, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0b, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x12, 0x1b, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x53, - 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x0b, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, - 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x4c, - 0x6f, 0x67, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, - 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4a, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x47, 0x65, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x73, - 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42, 0x31, 0x5a, 0x2f, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x68, - 0x6f, 0x72, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x1a, 0x1c, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x47, 0x65, + 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, + 0x0a, 0x0b, 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, + 0x4c, 0x6f, 0x67, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x47, 0x65, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, + 0x1e, 0x2e, 0x73, 0x70, 0x64, 0x6b, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42, + 0x31, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x6f, + 0x6e, 0x67, 0x68, 0x6f, 0x72, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70, 0x6b, 0x67, + 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x73, 0x70, 0x64, 0x6b, 0x72, + 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -5274,106 +5283,110 @@ var file_spdkrpc_spdk_proto_depIdxs = []int32{ 38, // 28: spdkrpc.SPDKService.ReplicaSnapshotCreate:input_type -> spdkrpc.SnapshotRequest 38, // 29: spdkrpc.SPDKService.ReplicaSnapshotDelete:input_type -> spdkrpc.SnapshotRequest 38, // 30: spdkrpc.SPDKService.ReplicaSnapshotRevert:input_type -> spdkrpc.SnapshotRequest - 76, // 31: spdkrpc.SPDKService.ReplicaList:input_type -> google.protobuf.Empty - 76, // 32: spdkrpc.SPDKService.ReplicaWatch:input_type -> google.protobuf.Empty - 7, // 33: spdkrpc.SPDKService.ReplicaRebuildingSrcStart:input_type -> spdkrpc.ReplicaRebuildingSrcStartRequest - 9, // 34: spdkrpc.SPDKService.ReplicaRebuildingSrcFinish:input_type -> spdkrpc.ReplicaRebuildingSrcFinishRequest - 10, // 35: spdkrpc.SPDKService.ReplicaRebuildingSrcAttach:input_type -> spdkrpc.ReplicaRebuildingSrcAttachRequest - 11, // 36: spdkrpc.SPDKService.ReplicaRebuildingSrcDetach:input_type -> spdkrpc.ReplicaRebuildingSrcDetachRequest - 12, // 37: spdkrpc.SPDKService.ReplicaRebuildingSrcShallowCopyStart:input_type -> spdkrpc.ReplicaRebuildingSrcShallowCopyStartRequest - 14, // 38: spdkrpc.SPDKService.ReplicaRebuildingSrcShallowCopyCheck:input_type -> spdkrpc.ReplicaRebuildingSrcShallowCopyCheckRequest - 16, // 39: spdkrpc.SPDKService.ReplicaRebuildingDstStart:input_type -> spdkrpc.ReplicaRebuildingDstStartRequest - 18, // 40: spdkrpc.SPDKService.ReplicaRebuildingDstFinish:input_type -> spdkrpc.ReplicaRebuildingDstFinishRequest - 19, // 41: spdkrpc.SPDKService.ReplicaRebuildingDstShallowCopyStart:input_type -> spdkrpc.ReplicaRebuildingDstShallowCopyStartRequest - 20, // 42: spdkrpc.SPDKService.ReplicaRebuildingDstShallowCopyCheck:input_type -> spdkrpc.ReplicaRebuildingDstShallowCopyCheckRequest - 38, // 43: spdkrpc.SPDKService.ReplicaRebuildingDstSnapshotCreate:input_type -> spdkrpc.SnapshotRequest - 38, // 44: spdkrpc.SPDKService.ReplicaRebuildingDstSnapshotRevert:input_type -> spdkrpc.SnapshotRequest - 42, // 45: spdkrpc.SPDKService.ReplicaBackupCreate:input_type -> spdkrpc.BackupCreateRequest - 44, // 46: spdkrpc.SPDKService.ReplicaBackupStatus:input_type -> spdkrpc.BackupStatusRequest - 49, // 47: spdkrpc.SPDKService.ReplicaBackupRestore:input_type -> spdkrpc.ReplicaBackupRestoreRequest - 51, // 48: spdkrpc.SPDKService.ReplicaRestoreStatus:input_type -> spdkrpc.ReplicaRestoreStatusRequest - 24, // 49: spdkrpc.SPDKService.EngineCreate:input_type -> spdkrpc.EngineCreateRequest - 25, // 50: spdkrpc.SPDKService.EngineDelete:input_type -> spdkrpc.EngineDeleteRequest - 26, // 51: spdkrpc.SPDKService.EngineGet:input_type -> spdkrpc.EngineGetRequest - 27, // 52: spdkrpc.SPDKService.EngineSuspend:input_type -> spdkrpc.EngineSuspendRequest - 28, // 53: spdkrpc.SPDKService.EngineResume:input_type -> spdkrpc.EngineResumeRequest - 29, // 54: spdkrpc.SPDKService.EngineSwitchOverTarget:input_type -> spdkrpc.EngineSwitchOverTargetRequest - 30, // 55: spdkrpc.SPDKService.EngineDeleteTarget:input_type -> spdkrpc.EngineDeleteTargetRequest - 38, // 56: spdkrpc.SPDKService.EngineSnapshotCreate:input_type -> spdkrpc.SnapshotRequest - 38, // 57: spdkrpc.SPDKService.EngineSnapshotDelete:input_type -> spdkrpc.SnapshotRequest - 38, // 58: spdkrpc.SPDKService.EngineSnapshotRevert:input_type -> spdkrpc.SnapshotRequest - 76, // 59: spdkrpc.SPDKService.EngineList:input_type -> google.protobuf.Empty - 76, // 60: spdkrpc.SPDKService.EngineWatch:input_type -> google.protobuf.Empty - 33, // 61: spdkrpc.SPDKService.EngineReplicaList:input_type -> spdkrpc.EngineReplicaListRequest - 32, // 62: spdkrpc.SPDKService.EngineReplicaAdd:input_type -> spdkrpc.EngineReplicaAddRequest - 35, // 63: spdkrpc.SPDKService.EngineReplicaDelete:input_type -> spdkrpc.EngineReplicaDeleteRequest - 42, // 64: spdkrpc.SPDKService.EngineBackupCreate:input_type -> spdkrpc.BackupCreateRequest - 44, // 65: spdkrpc.SPDKService.EngineBackupStatus:input_type -> spdkrpc.BackupStatusRequest - 46, // 66: spdkrpc.SPDKService.EngineBackupRestore:input_type -> spdkrpc.EngineBackupRestoreRequest - 48, // 67: spdkrpc.SPDKService.EngineBackupRestoreFinish:input_type -> spdkrpc.EngineBackupRestoreFinishRequest - 50, // 68: spdkrpc.SPDKService.EngineRestoreStatus:input_type -> spdkrpc.RestoreStatusRequest - 55, // 69: spdkrpc.SPDKService.DiskCreate:input_type -> spdkrpc.DiskCreateRequest - 57, // 70: spdkrpc.SPDKService.DiskDelete:input_type -> spdkrpc.DiskDeleteRequest - 56, // 71: spdkrpc.SPDKService.DiskGet:input_type -> spdkrpc.DiskGetRequest - 58, // 72: spdkrpc.SPDKService.LogSetLevel:input_type -> spdkrpc.LogSetLevelRequest - 59, // 73: spdkrpc.SPDKService.LogSetFlags:input_type -> spdkrpc.LogSetFlagsRequest - 76, // 74: spdkrpc.SPDKService.LogGetLevel:input_type -> google.protobuf.Empty - 76, // 75: spdkrpc.SPDKService.LogGetFlags:input_type -> google.protobuf.Empty - 76, // 76: spdkrpc.SPDKService.VersionDetailGet:input_type -> google.protobuf.Empty - 2, // 77: spdkrpc.SPDKService.ReplicaCreate:output_type -> spdkrpc.Replica - 76, // 78: spdkrpc.SPDKService.ReplicaDelete:output_type -> google.protobuf.Empty - 2, // 79: spdkrpc.SPDKService.ReplicaGet:output_type -> spdkrpc.Replica - 2, // 80: spdkrpc.SPDKService.ReplicaSnapshotCreate:output_type -> spdkrpc.Replica - 76, // 81: spdkrpc.SPDKService.ReplicaSnapshotDelete:output_type -> google.protobuf.Empty - 76, // 82: spdkrpc.SPDKService.ReplicaSnapshotRevert:output_type -> google.protobuf.Empty - 6, // 83: spdkrpc.SPDKService.ReplicaList:output_type -> spdkrpc.ReplicaListResponse - 76, // 84: spdkrpc.SPDKService.ReplicaWatch:output_type -> google.protobuf.Empty - 8, // 85: spdkrpc.SPDKService.ReplicaRebuildingSrcStart:output_type -> spdkrpc.ReplicaRebuildingSrcStartResponse - 76, // 86: spdkrpc.SPDKService.ReplicaRebuildingSrcFinish:output_type -> google.protobuf.Empty - 76, // 87: spdkrpc.SPDKService.ReplicaRebuildingSrcAttach:output_type -> google.protobuf.Empty - 76, // 88: spdkrpc.SPDKService.ReplicaRebuildingSrcDetach:output_type -> google.protobuf.Empty - 13, // 89: spdkrpc.SPDKService.ReplicaRebuildingSrcShallowCopyStart:output_type -> spdkrpc.ReplicaRebuildingSrcShallowCopyStartResponse - 15, // 90: spdkrpc.SPDKService.ReplicaRebuildingSrcShallowCopyCheck:output_type -> spdkrpc.ReplicaRebuildingSrcShallowCopyCheckResponse - 17, // 91: spdkrpc.SPDKService.ReplicaRebuildingDstStart:output_type -> spdkrpc.ReplicaRebuildingDstStartResponse - 76, // 92: spdkrpc.SPDKService.ReplicaRebuildingDstFinish:output_type -> google.protobuf.Empty - 76, // 93: spdkrpc.SPDKService.ReplicaRebuildingDstShallowCopyStart:output_type -> google.protobuf.Empty - 21, // 94: spdkrpc.SPDKService.ReplicaRebuildingDstShallowCopyCheck:output_type -> spdkrpc.ReplicaRebuildingDstShallowCopyCheckResponse - 76, // 95: spdkrpc.SPDKService.ReplicaRebuildingDstSnapshotCreate:output_type -> google.protobuf.Empty - 22, // 96: spdkrpc.SPDKService.ReplicaRebuildingDstSnapshotRevert:output_type -> spdkrpc.ReplicaRebuildingDstSnapshotRevertResponse - 43, // 97: spdkrpc.SPDKService.ReplicaBackupCreate:output_type -> spdkrpc.BackupCreateResponse - 45, // 98: spdkrpc.SPDKService.ReplicaBackupStatus:output_type -> spdkrpc.BackupStatusResponse - 76, // 99: spdkrpc.SPDKService.ReplicaBackupRestore:output_type -> google.protobuf.Empty - 52, // 100: spdkrpc.SPDKService.ReplicaRestoreStatus:output_type -> spdkrpc.ReplicaRestoreStatusResponse - 23, // 101: spdkrpc.SPDKService.EngineCreate:output_type -> spdkrpc.Engine - 76, // 102: spdkrpc.SPDKService.EngineDelete:output_type -> google.protobuf.Empty - 23, // 103: spdkrpc.SPDKService.EngineGet:output_type -> spdkrpc.Engine - 76, // 104: spdkrpc.SPDKService.EngineSuspend:output_type -> google.protobuf.Empty - 76, // 105: spdkrpc.SPDKService.EngineResume:output_type -> google.protobuf.Empty - 76, // 106: spdkrpc.SPDKService.EngineSwitchOverTarget:output_type -> google.protobuf.Empty - 76, // 107: spdkrpc.SPDKService.EngineDeleteTarget:output_type -> google.protobuf.Empty - 39, // 108: spdkrpc.SPDKService.EngineSnapshotCreate:output_type -> spdkrpc.SnapshotResponse - 76, // 109: spdkrpc.SPDKService.EngineSnapshotDelete:output_type -> google.protobuf.Empty - 76, // 110: spdkrpc.SPDKService.EngineSnapshotRevert:output_type -> google.protobuf.Empty - 31, // 111: spdkrpc.SPDKService.EngineList:output_type -> spdkrpc.EngineListResponse - 76, // 112: spdkrpc.SPDKService.EngineWatch:output_type -> google.protobuf.Empty - 34, // 113: spdkrpc.SPDKService.EngineReplicaList:output_type -> spdkrpc.EngineReplicaListResponse - 76, // 114: spdkrpc.SPDKService.EngineReplicaAdd:output_type -> google.protobuf.Empty - 76, // 115: spdkrpc.SPDKService.EngineReplicaDelete:output_type -> google.protobuf.Empty - 43, // 116: spdkrpc.SPDKService.EngineBackupCreate:output_type -> spdkrpc.BackupCreateResponse - 45, // 117: spdkrpc.SPDKService.EngineBackupStatus:output_type -> spdkrpc.BackupStatusResponse - 47, // 118: spdkrpc.SPDKService.EngineBackupRestore:output_type -> spdkrpc.EngineBackupRestoreResponse - 76, // 119: spdkrpc.SPDKService.EngineBackupRestoreFinish:output_type -> google.protobuf.Empty - 53, // 120: spdkrpc.SPDKService.EngineRestoreStatus:output_type -> spdkrpc.RestoreStatusResponse - 54, // 121: spdkrpc.SPDKService.DiskCreate:output_type -> spdkrpc.Disk - 76, // 122: spdkrpc.SPDKService.DiskDelete:output_type -> google.protobuf.Empty - 54, // 123: spdkrpc.SPDKService.DiskGet:output_type -> spdkrpc.Disk - 76, // 124: spdkrpc.SPDKService.LogSetLevel:output_type -> google.protobuf.Empty - 76, // 125: spdkrpc.SPDKService.LogSetFlags:output_type -> google.protobuf.Empty - 60, // 126: spdkrpc.SPDKService.LogGetLevel:output_type -> spdkrpc.LogGetLevelResponse - 61, // 127: spdkrpc.SPDKService.LogGetFlags:output_type -> spdkrpc.LogGetFlagsResponse - 41, // 128: spdkrpc.SPDKService.VersionDetailGet:output_type -> spdkrpc.VersionDetailGetReply - 77, // [77:129] is the sub-list for method output_type - 25, // [25:77] is the sub-list for method input_type + 38, // 31: spdkrpc.SPDKService.ReplicaSnapshotPurge:input_type -> spdkrpc.SnapshotRequest + 76, // 32: spdkrpc.SPDKService.ReplicaList:input_type -> google.protobuf.Empty + 76, // 33: spdkrpc.SPDKService.ReplicaWatch:input_type -> google.protobuf.Empty + 7, // 34: spdkrpc.SPDKService.ReplicaRebuildingSrcStart:input_type -> spdkrpc.ReplicaRebuildingSrcStartRequest + 9, // 35: spdkrpc.SPDKService.ReplicaRebuildingSrcFinish:input_type -> spdkrpc.ReplicaRebuildingSrcFinishRequest + 10, // 36: spdkrpc.SPDKService.ReplicaRebuildingSrcAttach:input_type -> spdkrpc.ReplicaRebuildingSrcAttachRequest + 11, // 37: spdkrpc.SPDKService.ReplicaRebuildingSrcDetach:input_type -> spdkrpc.ReplicaRebuildingSrcDetachRequest + 12, // 38: spdkrpc.SPDKService.ReplicaRebuildingSrcShallowCopyStart:input_type -> spdkrpc.ReplicaRebuildingSrcShallowCopyStartRequest + 14, // 39: spdkrpc.SPDKService.ReplicaRebuildingSrcShallowCopyCheck:input_type -> spdkrpc.ReplicaRebuildingSrcShallowCopyCheckRequest + 16, // 40: spdkrpc.SPDKService.ReplicaRebuildingDstStart:input_type -> spdkrpc.ReplicaRebuildingDstStartRequest + 18, // 41: spdkrpc.SPDKService.ReplicaRebuildingDstFinish:input_type -> spdkrpc.ReplicaRebuildingDstFinishRequest + 19, // 42: spdkrpc.SPDKService.ReplicaRebuildingDstShallowCopyStart:input_type -> spdkrpc.ReplicaRebuildingDstShallowCopyStartRequest + 20, // 43: spdkrpc.SPDKService.ReplicaRebuildingDstShallowCopyCheck:input_type -> spdkrpc.ReplicaRebuildingDstShallowCopyCheckRequest + 38, // 44: spdkrpc.SPDKService.ReplicaRebuildingDstSnapshotCreate:input_type -> spdkrpc.SnapshotRequest + 38, // 45: spdkrpc.SPDKService.ReplicaRebuildingDstSnapshotRevert:input_type -> spdkrpc.SnapshotRequest + 42, // 46: spdkrpc.SPDKService.ReplicaBackupCreate:input_type -> spdkrpc.BackupCreateRequest + 44, // 47: spdkrpc.SPDKService.ReplicaBackupStatus:input_type -> spdkrpc.BackupStatusRequest + 49, // 48: spdkrpc.SPDKService.ReplicaBackupRestore:input_type -> spdkrpc.ReplicaBackupRestoreRequest + 51, // 49: spdkrpc.SPDKService.ReplicaRestoreStatus:input_type -> spdkrpc.ReplicaRestoreStatusRequest + 24, // 50: spdkrpc.SPDKService.EngineCreate:input_type -> spdkrpc.EngineCreateRequest + 25, // 51: spdkrpc.SPDKService.EngineDelete:input_type -> spdkrpc.EngineDeleteRequest + 26, // 52: spdkrpc.SPDKService.EngineGet:input_type -> spdkrpc.EngineGetRequest + 27, // 53: spdkrpc.SPDKService.EngineSuspend:input_type -> spdkrpc.EngineSuspendRequest + 28, // 54: spdkrpc.SPDKService.EngineResume:input_type -> spdkrpc.EngineResumeRequest + 29, // 55: spdkrpc.SPDKService.EngineSwitchOverTarget:input_type -> spdkrpc.EngineSwitchOverTargetRequest + 30, // 56: spdkrpc.SPDKService.EngineDeleteTarget:input_type -> spdkrpc.EngineDeleteTargetRequest + 38, // 57: spdkrpc.SPDKService.EngineSnapshotCreate:input_type -> spdkrpc.SnapshotRequest + 38, // 58: spdkrpc.SPDKService.EngineSnapshotDelete:input_type -> spdkrpc.SnapshotRequest + 38, // 59: spdkrpc.SPDKService.EngineSnapshotRevert:input_type -> spdkrpc.SnapshotRequest + 38, // 60: spdkrpc.SPDKService.EngineSnapshotPurge:input_type -> spdkrpc.SnapshotRequest + 76, // 61: spdkrpc.SPDKService.EngineList:input_type -> google.protobuf.Empty + 76, // 62: spdkrpc.SPDKService.EngineWatch:input_type -> google.protobuf.Empty + 33, // 63: spdkrpc.SPDKService.EngineReplicaList:input_type -> spdkrpc.EngineReplicaListRequest + 32, // 64: spdkrpc.SPDKService.EngineReplicaAdd:input_type -> spdkrpc.EngineReplicaAddRequest + 35, // 65: spdkrpc.SPDKService.EngineReplicaDelete:input_type -> spdkrpc.EngineReplicaDeleteRequest + 42, // 66: spdkrpc.SPDKService.EngineBackupCreate:input_type -> spdkrpc.BackupCreateRequest + 44, // 67: spdkrpc.SPDKService.EngineBackupStatus:input_type -> spdkrpc.BackupStatusRequest + 46, // 68: spdkrpc.SPDKService.EngineBackupRestore:input_type -> spdkrpc.EngineBackupRestoreRequest + 48, // 69: spdkrpc.SPDKService.EngineBackupRestoreFinish:input_type -> spdkrpc.EngineBackupRestoreFinishRequest + 50, // 70: spdkrpc.SPDKService.EngineRestoreStatus:input_type -> spdkrpc.RestoreStatusRequest + 55, // 71: spdkrpc.SPDKService.DiskCreate:input_type -> spdkrpc.DiskCreateRequest + 57, // 72: spdkrpc.SPDKService.DiskDelete:input_type -> spdkrpc.DiskDeleteRequest + 56, // 73: spdkrpc.SPDKService.DiskGet:input_type -> spdkrpc.DiskGetRequest + 58, // 74: spdkrpc.SPDKService.LogSetLevel:input_type -> spdkrpc.LogSetLevelRequest + 59, // 75: spdkrpc.SPDKService.LogSetFlags:input_type -> spdkrpc.LogSetFlagsRequest + 76, // 76: spdkrpc.SPDKService.LogGetLevel:input_type -> google.protobuf.Empty + 76, // 77: spdkrpc.SPDKService.LogGetFlags:input_type -> google.protobuf.Empty + 76, // 78: spdkrpc.SPDKService.VersionDetailGet:input_type -> google.protobuf.Empty + 2, // 79: spdkrpc.SPDKService.ReplicaCreate:output_type -> spdkrpc.Replica + 76, // 80: spdkrpc.SPDKService.ReplicaDelete:output_type -> google.protobuf.Empty + 2, // 81: spdkrpc.SPDKService.ReplicaGet:output_type -> spdkrpc.Replica + 2, // 82: spdkrpc.SPDKService.ReplicaSnapshotCreate:output_type -> spdkrpc.Replica + 76, // 83: spdkrpc.SPDKService.ReplicaSnapshotDelete:output_type -> google.protobuf.Empty + 76, // 84: spdkrpc.SPDKService.ReplicaSnapshotRevert:output_type -> google.protobuf.Empty + 76, // 85: spdkrpc.SPDKService.ReplicaSnapshotPurge:output_type -> google.protobuf.Empty + 6, // 86: spdkrpc.SPDKService.ReplicaList:output_type -> spdkrpc.ReplicaListResponse + 76, // 87: spdkrpc.SPDKService.ReplicaWatch:output_type -> google.protobuf.Empty + 8, // 88: spdkrpc.SPDKService.ReplicaRebuildingSrcStart:output_type -> spdkrpc.ReplicaRebuildingSrcStartResponse + 76, // 89: spdkrpc.SPDKService.ReplicaRebuildingSrcFinish:output_type -> google.protobuf.Empty + 76, // 90: spdkrpc.SPDKService.ReplicaRebuildingSrcAttach:output_type -> google.protobuf.Empty + 76, // 91: spdkrpc.SPDKService.ReplicaRebuildingSrcDetach:output_type -> google.protobuf.Empty + 13, // 92: spdkrpc.SPDKService.ReplicaRebuildingSrcShallowCopyStart:output_type -> spdkrpc.ReplicaRebuildingSrcShallowCopyStartResponse + 15, // 93: spdkrpc.SPDKService.ReplicaRebuildingSrcShallowCopyCheck:output_type -> spdkrpc.ReplicaRebuildingSrcShallowCopyCheckResponse + 17, // 94: spdkrpc.SPDKService.ReplicaRebuildingDstStart:output_type -> spdkrpc.ReplicaRebuildingDstStartResponse + 76, // 95: spdkrpc.SPDKService.ReplicaRebuildingDstFinish:output_type -> google.protobuf.Empty + 76, // 96: spdkrpc.SPDKService.ReplicaRebuildingDstShallowCopyStart:output_type -> google.protobuf.Empty + 21, // 97: spdkrpc.SPDKService.ReplicaRebuildingDstShallowCopyCheck:output_type -> spdkrpc.ReplicaRebuildingDstShallowCopyCheckResponse + 76, // 98: spdkrpc.SPDKService.ReplicaRebuildingDstSnapshotCreate:output_type -> google.protobuf.Empty + 22, // 99: spdkrpc.SPDKService.ReplicaRebuildingDstSnapshotRevert:output_type -> spdkrpc.ReplicaRebuildingDstSnapshotRevertResponse + 43, // 100: spdkrpc.SPDKService.ReplicaBackupCreate:output_type -> spdkrpc.BackupCreateResponse + 45, // 101: spdkrpc.SPDKService.ReplicaBackupStatus:output_type -> spdkrpc.BackupStatusResponse + 76, // 102: spdkrpc.SPDKService.ReplicaBackupRestore:output_type -> google.protobuf.Empty + 52, // 103: spdkrpc.SPDKService.ReplicaRestoreStatus:output_type -> spdkrpc.ReplicaRestoreStatusResponse + 23, // 104: spdkrpc.SPDKService.EngineCreate:output_type -> spdkrpc.Engine + 76, // 105: spdkrpc.SPDKService.EngineDelete:output_type -> google.protobuf.Empty + 23, // 106: spdkrpc.SPDKService.EngineGet:output_type -> spdkrpc.Engine + 76, // 107: spdkrpc.SPDKService.EngineSuspend:output_type -> google.protobuf.Empty + 76, // 108: spdkrpc.SPDKService.EngineResume:output_type -> google.protobuf.Empty + 76, // 109: spdkrpc.SPDKService.EngineSwitchOverTarget:output_type -> google.protobuf.Empty + 76, // 110: spdkrpc.SPDKService.EngineDeleteTarget:output_type -> google.protobuf.Empty + 39, // 111: spdkrpc.SPDKService.EngineSnapshotCreate:output_type -> spdkrpc.SnapshotResponse + 76, // 112: spdkrpc.SPDKService.EngineSnapshotDelete:output_type -> google.protobuf.Empty + 76, // 113: spdkrpc.SPDKService.EngineSnapshotRevert:output_type -> google.protobuf.Empty + 76, // 114: spdkrpc.SPDKService.EngineSnapshotPurge:output_type -> google.protobuf.Empty + 31, // 115: spdkrpc.SPDKService.EngineList:output_type -> spdkrpc.EngineListResponse + 76, // 116: spdkrpc.SPDKService.EngineWatch:output_type -> google.protobuf.Empty + 34, // 117: spdkrpc.SPDKService.EngineReplicaList:output_type -> spdkrpc.EngineReplicaListResponse + 76, // 118: spdkrpc.SPDKService.EngineReplicaAdd:output_type -> google.protobuf.Empty + 76, // 119: spdkrpc.SPDKService.EngineReplicaDelete:output_type -> google.protobuf.Empty + 43, // 120: spdkrpc.SPDKService.EngineBackupCreate:output_type -> spdkrpc.BackupCreateResponse + 45, // 121: spdkrpc.SPDKService.EngineBackupStatus:output_type -> spdkrpc.BackupStatusResponse + 47, // 122: spdkrpc.SPDKService.EngineBackupRestore:output_type -> spdkrpc.EngineBackupRestoreResponse + 76, // 123: spdkrpc.SPDKService.EngineBackupRestoreFinish:output_type -> google.protobuf.Empty + 53, // 124: spdkrpc.SPDKService.EngineRestoreStatus:output_type -> spdkrpc.RestoreStatusResponse + 54, // 125: spdkrpc.SPDKService.DiskCreate:output_type -> spdkrpc.Disk + 76, // 126: spdkrpc.SPDKService.DiskDelete:output_type -> google.protobuf.Empty + 54, // 127: spdkrpc.SPDKService.DiskGet:output_type -> spdkrpc.Disk + 76, // 128: spdkrpc.SPDKService.LogSetLevel:output_type -> google.protobuf.Empty + 76, // 129: spdkrpc.SPDKService.LogSetFlags:output_type -> google.protobuf.Empty + 60, // 130: spdkrpc.SPDKService.LogGetLevel:output_type -> spdkrpc.LogGetLevelResponse + 61, // 131: spdkrpc.SPDKService.LogGetFlags:output_type -> spdkrpc.LogGetFlagsResponse + 41, // 132: spdkrpc.SPDKService.VersionDetailGet:output_type -> spdkrpc.VersionDetailGetReply + 79, // [79:133] is the sub-list for method output_type + 25, // [25:79] is the sub-list for method input_type 25, // [25:25] is the sub-list for extension type_name 25, // [25:25] is the sub-list for extension extendee 0, // [0:25] is the sub-list for field type_name diff --git a/pkg/generated/spdkrpc/spdk_grpc.pb.go b/pkg/generated/spdkrpc/spdk_grpc.pb.go index ad2c8e6..7d28026 100644 --- a/pkg/generated/spdkrpc/spdk_grpc.pb.go +++ b/pkg/generated/spdkrpc/spdk_grpc.pb.go @@ -26,6 +26,7 @@ const ( SPDKService_ReplicaSnapshotCreate_FullMethodName = "/spdkrpc.SPDKService/ReplicaSnapshotCreate" SPDKService_ReplicaSnapshotDelete_FullMethodName = "/spdkrpc.SPDKService/ReplicaSnapshotDelete" SPDKService_ReplicaSnapshotRevert_FullMethodName = "/spdkrpc.SPDKService/ReplicaSnapshotRevert" + SPDKService_ReplicaSnapshotPurge_FullMethodName = "/spdkrpc.SPDKService/ReplicaSnapshotPurge" SPDKService_ReplicaList_FullMethodName = "/spdkrpc.SPDKService/ReplicaList" SPDKService_ReplicaWatch_FullMethodName = "/spdkrpc.SPDKService/ReplicaWatch" SPDKService_ReplicaRebuildingSrcStart_FullMethodName = "/spdkrpc.SPDKService/ReplicaRebuildingSrcStart" @@ -54,6 +55,7 @@ const ( SPDKService_EngineSnapshotCreate_FullMethodName = "/spdkrpc.SPDKService/EngineSnapshotCreate" SPDKService_EngineSnapshotDelete_FullMethodName = "/spdkrpc.SPDKService/EngineSnapshotDelete" SPDKService_EngineSnapshotRevert_FullMethodName = "/spdkrpc.SPDKService/EngineSnapshotRevert" + SPDKService_EngineSnapshotPurge_FullMethodName = "/spdkrpc.SPDKService/EngineSnapshotPurge" SPDKService_EngineList_FullMethodName = "/spdkrpc.SPDKService/EngineList" SPDKService_EngineWatch_FullMethodName = "/spdkrpc.SPDKService/EngineWatch" SPDKService_EngineReplicaList_FullMethodName = "/spdkrpc.SPDKService/EngineReplicaList" @@ -84,6 +86,7 @@ type SPDKServiceClient interface { ReplicaSnapshotCreate(ctx context.Context, in *SnapshotRequest, opts ...grpc.CallOption) (*Replica, error) ReplicaSnapshotDelete(ctx context.Context, in *SnapshotRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) ReplicaSnapshotRevert(ctx context.Context, in *SnapshotRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ReplicaSnapshotPurge(ctx context.Context, in *SnapshotRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) ReplicaList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ReplicaListResponse, error) ReplicaWatch(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (SPDKService_ReplicaWatchClient, error) ReplicaRebuildingSrcStart(ctx context.Context, in *ReplicaRebuildingSrcStartRequest, opts ...grpc.CallOption) (*ReplicaRebuildingSrcStartResponse, error) @@ -112,6 +115,7 @@ type SPDKServiceClient interface { EngineSnapshotCreate(ctx context.Context, in *SnapshotRequest, opts ...grpc.CallOption) (*SnapshotResponse, error) EngineSnapshotDelete(ctx context.Context, in *SnapshotRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) EngineSnapshotRevert(ctx context.Context, in *SnapshotRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + EngineSnapshotPurge(ctx context.Context, in *SnapshotRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) EngineList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*EngineListResponse, error) EngineWatch(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (SPDKService_EngineWatchClient, error) EngineReplicaList(ctx context.Context, in *EngineReplicaListRequest, opts ...grpc.CallOption) (*EngineReplicaListResponse, error) @@ -194,6 +198,15 @@ func (c *sPDKServiceClient) ReplicaSnapshotRevert(ctx context.Context, in *Snaps return out, nil } +func (c *sPDKServiceClient) ReplicaSnapshotPurge(ctx context.Context, in *SnapshotRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, SPDKService_ReplicaSnapshotPurge_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *sPDKServiceClient) ReplicaList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ReplicaListResponse, error) { out := new(ReplicaListResponse) err := c.cc.Invoke(ctx, SPDKService_ReplicaList_FullMethodName, in, out, opts...) @@ -469,6 +482,15 @@ func (c *sPDKServiceClient) EngineSnapshotRevert(ctx context.Context, in *Snapsh return out, nil } +func (c *sPDKServiceClient) EngineSnapshotPurge(ctx context.Context, in *SnapshotRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, SPDKService_EngineSnapshotPurge_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *sPDKServiceClient) EngineList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*EngineListResponse, error) { out := new(EngineListResponse) err := c.cc.Invoke(ctx, SPDKService_EngineList_FullMethodName, in, out, opts...) @@ -664,6 +686,7 @@ type SPDKServiceServer interface { ReplicaSnapshotCreate(context.Context, *SnapshotRequest) (*Replica, error) ReplicaSnapshotDelete(context.Context, *SnapshotRequest) (*emptypb.Empty, error) ReplicaSnapshotRevert(context.Context, *SnapshotRequest) (*emptypb.Empty, error) + ReplicaSnapshotPurge(context.Context, *SnapshotRequest) (*emptypb.Empty, error) ReplicaList(context.Context, *emptypb.Empty) (*ReplicaListResponse, error) ReplicaWatch(*emptypb.Empty, SPDKService_ReplicaWatchServer) error ReplicaRebuildingSrcStart(context.Context, *ReplicaRebuildingSrcStartRequest) (*ReplicaRebuildingSrcStartResponse, error) @@ -692,6 +715,7 @@ type SPDKServiceServer interface { EngineSnapshotCreate(context.Context, *SnapshotRequest) (*SnapshotResponse, error) EngineSnapshotDelete(context.Context, *SnapshotRequest) (*emptypb.Empty, error) EngineSnapshotRevert(context.Context, *SnapshotRequest) (*emptypb.Empty, error) + EngineSnapshotPurge(context.Context, *SnapshotRequest) (*emptypb.Empty, error) EngineList(context.Context, *emptypb.Empty) (*EngineListResponse, error) EngineWatch(*emptypb.Empty, SPDKService_EngineWatchServer) error EngineReplicaList(context.Context, *EngineReplicaListRequest) (*EngineReplicaListResponse, error) @@ -735,6 +759,9 @@ func (UnimplementedSPDKServiceServer) ReplicaSnapshotDelete(context.Context, *Sn func (UnimplementedSPDKServiceServer) ReplicaSnapshotRevert(context.Context, *SnapshotRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method ReplicaSnapshotRevert not implemented") } +func (UnimplementedSPDKServiceServer) ReplicaSnapshotPurge(context.Context, *SnapshotRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaSnapshotPurge not implemented") +} func (UnimplementedSPDKServiceServer) ReplicaList(context.Context, *emptypb.Empty) (*ReplicaListResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ReplicaList not implemented") } @@ -819,6 +846,9 @@ func (UnimplementedSPDKServiceServer) EngineSnapshotDelete(context.Context, *Sna func (UnimplementedSPDKServiceServer) EngineSnapshotRevert(context.Context, *SnapshotRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method EngineSnapshotRevert not implemented") } +func (UnimplementedSPDKServiceServer) EngineSnapshotPurge(context.Context, *SnapshotRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method EngineSnapshotPurge not implemented") +} func (UnimplementedSPDKServiceServer) EngineList(context.Context, *emptypb.Empty) (*EngineListResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EngineList not implemented") } @@ -994,6 +1024,24 @@ func _SPDKService_ReplicaSnapshotRevert_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } +func _SPDKService_ReplicaSnapshotPurge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SnapshotRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SPDKServiceServer).ReplicaSnapshotPurge(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SPDKService_ReplicaSnapshotPurge_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SPDKServiceServer).ReplicaSnapshotPurge(ctx, req.(*SnapshotRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _SPDKService_ReplicaList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { @@ -1501,6 +1549,24 @@ func _SPDKService_EngineSnapshotRevert_Handler(srv interface{}, ctx context.Cont return interceptor(ctx, in, info, handler) } +func _SPDKService_EngineSnapshotPurge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SnapshotRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SPDKServiceServer).EngineSnapshotPurge(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SPDKService_EngineSnapshotPurge_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SPDKServiceServer).EngineSnapshotPurge(ctx, req.(*SnapshotRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _SPDKService_EngineList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { @@ -1859,6 +1925,10 @@ var SPDKService_ServiceDesc = grpc.ServiceDesc{ MethodName: "ReplicaSnapshotRevert", Handler: _SPDKService_ReplicaSnapshotRevert_Handler, }, + { + MethodName: "ReplicaSnapshotPurge", + Handler: _SPDKService_ReplicaSnapshotPurge_Handler, + }, { MethodName: "ReplicaList", Handler: _SPDKService_ReplicaList_Handler, @@ -1967,6 +2037,10 @@ var SPDKService_ServiceDesc = grpc.ServiceDesc{ MethodName: "EngineSnapshotRevert", Handler: _SPDKService_EngineSnapshotRevert_Handler, }, + { + MethodName: "EngineSnapshotPurge", + Handler: _SPDKService_EngineSnapshotPurge_Handler, + }, { MethodName: "EngineList", Handler: _SPDKService_EngineList_Handler, diff --git a/protobuf/spdkrpc/spdk.proto b/protobuf/spdkrpc/spdk.proto index c6cb396..e6ae6da 100644 --- a/protobuf/spdkrpc/spdk.proto +++ b/protobuf/spdkrpc/spdk.proto @@ -13,6 +13,7 @@ service SPDKService { rpc ReplicaSnapshotCreate(SnapshotRequest) returns (Replica); rpc ReplicaSnapshotDelete(SnapshotRequest) returns (google.protobuf.Empty); rpc ReplicaSnapshotRevert(SnapshotRequest) returns (google.protobuf.Empty); + rpc ReplicaSnapshotPurge(SnapshotRequest) returns (google.protobuf.Empty); rpc ReplicaList(google.protobuf.Empty) returns (ReplicaListResponse); rpc ReplicaWatch(google.protobuf.Empty) returns (stream google.protobuf.Empty) {} rpc ReplicaRebuildingSrcStart(ReplicaRebuildingSrcStartRequest) returns (ReplicaRebuildingSrcStartResponse) {}; @@ -42,6 +43,7 @@ service SPDKService { rpc EngineSnapshotCreate(SnapshotRequest) returns (SnapshotResponse); rpc EngineSnapshotDelete(SnapshotRequest) returns (google.protobuf.Empty); rpc EngineSnapshotRevert(SnapshotRequest) returns (google.protobuf.Empty); + rpc EngineSnapshotPurge(SnapshotRequest) returns (google.protobuf.Empty); rpc EngineList(google.protobuf.Empty) returns (EngineListResponse); rpc EngineWatch(google.protobuf.Empty) returns (stream google.protobuf.Empty) {} rpc EngineReplicaList(EngineReplicaListRequest) returns (EngineReplicaListResponse) {}