diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9ca0421 --- /dev/null +++ b/.gitignore @@ -0,0 +1,27 @@ +/.dapper +/.trash-cache +/bin +*.pyc +*.pyo +*.swp +Dockerfile.dapper* +.python-version + +integration/.tox/ +integration/.venv/ +integration/MANIFEST + +# Test binary, build with `go test -c` +*.test + +# Output of the go coverage tool, specifically when used with LiteIDE +*.out + +# ignores all goland project folders and files +.idea/ +*.iml +*.ipr + +# build folders +.pyprotobuild/ +.goprotobuild/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f433b1a --- /dev/null +++ b/LICENSE @@ -0,0 +1,177 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..78839b9 --- /dev/null +++ b/Makefile @@ -0,0 +1,15 @@ +TARGETS := $(shell ls scripts) + +.dapper: + @echo Downloading dapper + @curl -sL https://releases.rancher.com/dapper/latest/dapper-`uname -s`-`uname -m` > .dapper.tmp + @@chmod +x .dapper.tmp + @./.dapper.tmp -v + @mv .dapper.tmp .dapper + +$(TARGETS): .dapper + ./.dapper $@ + +.DEFAULT_GOAL := ci + +.PHONY: $(TARGETS) diff --git a/README.md b/README.md index 2b40412..1c07764 100644 --- a/README.md +++ b/README.md @@ -1 +1,14 @@ -# types \ No newline at end of file +# longhorn types + +## Dependencies + +* protoc 24.3 +* protoc-gen-go 1.31.0 +* protoc-gen-go-grpc 1.3.0 +* python protobuf 4.24.3 + +## Generate protobuf files + +``` +make generate_grpc +``` diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..ba51963 --- /dev/null +++ b/go.mod @@ -0,0 +1,16 @@ +module github.com/longhorn/types + +go 1.21.7 + +require ( + google.golang.org/grpc v1.61.1 + google.golang.org/protobuf v1.32.0 +) + +require ( + github.com/golang/protobuf v1.5.3 // indirect + golang.org/x/net v0.18.0 // indirect + golang.org/x/sys v0.14.0 // indirect + golang.org/x/text v0.14.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..27ee041 --- /dev/null +++ b/go.sum @@ -0,0 +1,21 @@ +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg= +golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= +golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= +golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 h1:Jyp0Hsi0bmHXG6k9eATXoYtjd6e2UzZ1SCn/wIupY14= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA= +google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= +google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= +google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= diff --git a/pkg/bimrpc/bimrpc.pb.go b/pkg/bimrpc/bimrpc.pb.go new file mode 100644 index 0000000..106dde3 --- /dev/null +++ b/pkg/bimrpc/bimrpc.pb.go @@ -0,0 +1,1443 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: pkg/bimrpc/bimrpc.proto + +package bimrpc + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type BackingImageSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"` + Size int64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"` + Checksum string `protobuf:"bytes,4,opt,name=checksum,proto3" json:"checksum,omitempty"` +} + +func (x *BackingImageSpec) Reset() { + *x = BackingImageSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackingImageSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackingImageSpec) ProtoMessage() {} + +func (x *BackingImageSpec) ProtoReflect() protoreflect.Message { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackingImageSpec.ProtoReflect.Descriptor instead. +func (*BackingImageSpec) Descriptor() ([]byte, []int) { + return file_pkg_bimrpc_bimrpc_proto_rawDescGZIP(), []int{0} +} + +func (x *BackingImageSpec) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *BackingImageSpec) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *BackingImageSpec) GetSize() int64 { + if x != nil { + return x.Size + } + return 0 +} + +func (x *BackingImageSpec) GetChecksum() string { + if x != nil { + return x.Checksum + } + return "" +} + +type BackingImageStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` + ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` + SendingReference int32 `protobuf:"varint,3,opt,name=sending_reference,json=sendingReference,proto3" json:"sending_reference,omitempty"` + SenderManagerAddress string `protobuf:"bytes,4,opt,name=sender_manager_address,json=senderManagerAddress,proto3" json:"sender_manager_address,omitempty"` + Progress int32 `protobuf:"varint,5,opt,name=progress,proto3" json:"progress,omitempty"` + Checksum string `protobuf:"bytes,6,opt,name=checksum,proto3" json:"checksum,omitempty"` +} + +func (x *BackingImageStatus) Reset() { + *x = BackingImageStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackingImageStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackingImageStatus) ProtoMessage() {} + +func (x *BackingImageStatus) ProtoReflect() protoreflect.Message { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackingImageStatus.ProtoReflect.Descriptor instead. +func (*BackingImageStatus) Descriptor() ([]byte, []int) { + return file_pkg_bimrpc_bimrpc_proto_rawDescGZIP(), []int{1} +} + +func (x *BackingImageStatus) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *BackingImageStatus) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +func (x *BackingImageStatus) GetSendingReference() int32 { + if x != nil { + return x.SendingReference + } + return 0 +} + +func (x *BackingImageStatus) GetSenderManagerAddress() string { + if x != nil { + return x.SenderManagerAddress + } + return "" +} + +func (x *BackingImageStatus) GetProgress() int32 { + if x != nil { + return x.Progress + } + return 0 +} + +func (x *BackingImageStatus) GetChecksum() string { + if x != nil { + return x.Checksum + } + return "" +} + +type BackingImageResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Spec *BackingImageSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` + Status *BackingImageStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *BackingImageResponse) Reset() { + *x = BackingImageResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackingImageResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackingImageResponse) ProtoMessage() {} + +func (x *BackingImageResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackingImageResponse.ProtoReflect.Descriptor instead. +func (*BackingImageResponse) Descriptor() ([]byte, []int) { + return file_pkg_bimrpc_bimrpc_proto_rawDescGZIP(), []int{2} +} + +func (x *BackingImageResponse) GetSpec() *BackingImageSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *BackingImageResponse) GetStatus() *BackingImageStatus { + if x != nil { + return x.Status + } + return nil +} + +type DeleteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"` +} + +func (x *DeleteRequest) Reset() { + *x = DeleteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteRequest) ProtoMessage() {} + +func (x *DeleteRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteRequest.ProtoReflect.Descriptor instead. +func (*DeleteRequest) Descriptor() ([]byte, []int) { + return file_pkg_bimrpc_bimrpc_proto_rawDescGZIP(), []int{3} +} + +func (x *DeleteRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteRequest) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type GetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"` +} + +func (x *GetRequest) Reset() { + *x = GetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRequest) ProtoMessage() {} + +func (x *GetRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRequest.ProtoReflect.Descriptor instead. +func (*GetRequest) Descriptor() ([]byte, []int) { + return file_pkg_bimrpc_bimrpc_proto_rawDescGZIP(), []int{4} +} + +func (x *GetRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetRequest) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type ListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BackingImages map[string]*BackingImageResponse `protobuf:"bytes,1,rep,name=backing_images,json=backingImages,proto3" json:"backing_images,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ListResponse) Reset() { + *x = ListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListResponse) ProtoMessage() {} + +func (x *ListResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListResponse.ProtoReflect.Descriptor instead. +func (*ListResponse) Descriptor() ([]byte, []int) { + return file_pkg_bimrpc_bimrpc_proto_rawDescGZIP(), []int{5} +} + +func (x *ListResponse) GetBackingImages() map[string]*BackingImageResponse { + if x != nil { + return x.BackingImages + } + return nil +} + +type VersionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + GitCommit string `protobuf:"bytes,2,opt,name=gitCommit,proto3" json:"gitCommit,omitempty"` + BuildDate string `protobuf:"bytes,3,opt,name=buildDate,proto3" json:"buildDate,omitempty"` + BackingImageManagerApiVersion int64 `protobuf:"varint,4,opt,name=backing_image_manager_api_version,json=backingImageManagerApiVersion,proto3" json:"backing_image_manager_api_version,omitempty"` + BackingImageManagerApiMinVersion int64 `protobuf:"varint,5,opt,name=backing_image_manager_api_min_version,json=backingImageManagerApiMinVersion,proto3" json:"backing_image_manager_api_min_version,omitempty"` +} + +func (x *VersionResponse) Reset() { + *x = VersionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VersionResponse) ProtoMessage() {} + +func (x *VersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VersionResponse.ProtoReflect.Descriptor instead. +func (*VersionResponse) Descriptor() ([]byte, []int) { + return file_pkg_bimrpc_bimrpc_proto_rawDescGZIP(), []int{6} +} + +func (x *VersionResponse) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *VersionResponse) GetGitCommit() string { + if x != nil { + return x.GitCommit + } + return "" +} + +func (x *VersionResponse) GetBuildDate() string { + if x != nil { + return x.BuildDate + } + return "" +} + +func (x *VersionResponse) GetBackingImageManagerApiVersion() int64 { + if x != nil { + return x.BackingImageManagerApiVersion + } + return 0 +} + +func (x *VersionResponse) GetBackingImageManagerApiMinVersion() int64 { + if x != nil { + return x.BackingImageManagerApiMinVersion + } + return 0 +} + +type SyncRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Spec *BackingImageSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` + FromAddress string `protobuf:"bytes,2,opt,name=from_address,json=fromAddress,proto3" json:"from_address,omitempty"` +} + +func (x *SyncRequest) Reset() { + *x = SyncRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SyncRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncRequest) ProtoMessage() {} + +func (x *SyncRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SyncRequest.ProtoReflect.Descriptor instead. +func (*SyncRequest) Descriptor() ([]byte, []int) { + return file_pkg_bimrpc_bimrpc_proto_rawDescGZIP(), []int{7} +} + +func (x *SyncRequest) GetSpec() *BackingImageSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *SyncRequest) GetFromAddress() string { + if x != nil { + return x.FromAddress + } + return "" +} + +type SendRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"` + ToAddress string `protobuf:"bytes,3,opt,name=to_address,json=toAddress,proto3" json:"to_address,omitempty"` +} + +func (x *SendRequest) Reset() { + *x = SendRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendRequest) ProtoMessage() {} + +func (x *SendRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SendRequest.ProtoReflect.Descriptor instead. +func (*SendRequest) Descriptor() ([]byte, []int) { + return file_pkg_bimrpc_bimrpc_proto_rawDescGZIP(), []int{8} +} + +func (x *SendRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *SendRequest) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *SendRequest) GetToAddress() string { + if x != nil { + return x.ToAddress + } + return "" +} + +type FetchRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Spec *BackingImageSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` + DataSourceAddress string `protobuf:"bytes,2,opt,name=data_source_address,json=dataSourceAddress,proto3" json:"data_source_address,omitempty"` +} + +func (x *FetchRequest) Reset() { + *x = FetchRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FetchRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FetchRequest) ProtoMessage() {} + +func (x *FetchRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FetchRequest.ProtoReflect.Descriptor instead. +func (*FetchRequest) Descriptor() ([]byte, []int) { + return file_pkg_bimrpc_bimrpc_proto_rawDescGZIP(), []int{9} +} + +func (x *FetchRequest) GetSpec() *BackingImageSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *FetchRequest) GetDataSourceAddress() string { + if x != nil { + return x.DataSourceAddress + } + return "" +} + +type PrepareDownloadRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"` +} + +func (x *PrepareDownloadRequest) Reset() { + *x = PrepareDownloadRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrepareDownloadRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrepareDownloadRequest) ProtoMessage() {} + +func (x *PrepareDownloadRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrepareDownloadRequest.ProtoReflect.Descriptor instead. +func (*PrepareDownloadRequest) Descriptor() ([]byte, []int) { + return file_pkg_bimrpc_bimrpc_proto_rawDescGZIP(), []int{10} +} + +func (x *PrepareDownloadRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PrepareDownloadRequest) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type PrepareDownloadResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SrcFilePath string `protobuf:"bytes,1,opt,name=src_file_path,json=srcFilePath,proto3" json:"src_file_path,omitempty"` + Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` +} + +func (x *PrepareDownloadResponse) Reset() { + *x = PrepareDownloadResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrepareDownloadResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrepareDownloadResponse) ProtoMessage() {} + +func (x *PrepareDownloadResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrepareDownloadResponse.ProtoReflect.Descriptor instead. +func (*PrepareDownloadResponse) Descriptor() ([]byte, []int) { + return file_pkg_bimrpc_bimrpc_proto_rawDescGZIP(), []int{11} +} + +func (x *PrepareDownloadResponse) GetSrcFilePath() string { + if x != nil { + return x.SrcFilePath + } + return "" +} + +func (x *PrepareDownloadResponse) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +type BackupCreateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"` + Checksum string `protobuf:"bytes,3,opt,name=checksum,proto3" json:"checksum,omitempty"` + BackupTarget string `protobuf:"bytes,4,opt,name=backup_target,json=backupTarget,proto3" json:"backup_target,omitempty"` + Labels []string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty"` + Credential map[string]string `protobuf:"bytes,6,rep,name=credential,proto3" json:"credential,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + CompressionMethod string `protobuf:"bytes,7,opt,name=compression_method,json=compressionMethod,proto3" json:"compression_method,omitempty"` + ConcurrentLimit int32 `protobuf:"varint,8,opt,name=concurrent_limit,json=concurrentLimit,proto3" json:"concurrent_limit,omitempty"` +} + +func (x *BackupCreateRequest) Reset() { + *x = BackupCreateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackupCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupCreateRequest) ProtoMessage() {} + +func (x *BackupCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupCreateRequest.ProtoReflect.Descriptor instead. +func (*BackupCreateRequest) Descriptor() ([]byte, []int) { + return file_pkg_bimrpc_bimrpc_proto_rawDescGZIP(), []int{12} +} + +func (x *BackupCreateRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *BackupCreateRequest) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *BackupCreateRequest) GetChecksum() string { + if x != nil { + return x.Checksum + } + return "" +} + +func (x *BackupCreateRequest) GetBackupTarget() string { + if x != nil { + return x.BackupTarget + } + return "" +} + +func (x *BackupCreateRequest) GetLabels() []string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *BackupCreateRequest) GetCredential() map[string]string { + if x != nil { + return x.Credential + } + return nil +} + +func (x *BackupCreateRequest) GetCompressionMethod() string { + if x != nil { + return x.CompressionMethod + } + return "" +} + +func (x *BackupCreateRequest) GetConcurrentLimit() int32 { + if x != nil { + return x.ConcurrentLimit + } + return 0 +} + +type BackupStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *BackupStatusRequest) Reset() { + *x = BackupStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackupStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupStatusRequest) ProtoMessage() {} + +func (x *BackupStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupStatusRequest.ProtoReflect.Descriptor instead. +func (*BackupStatusRequest) Descriptor() ([]byte, []int) { + return file_pkg_bimrpc_bimrpc_proto_rawDescGZIP(), []int{13} +} + +func (x *BackupStatusRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type BackupStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Progress int32 `protobuf:"varint,1,opt,name=progress,proto3" json:"progress,omitempty"` + BackupUrl string `protobuf:"bytes,2,opt,name=backup_url,json=backupUrl,proto3" json:"backup_url,omitempty"` + Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` + State string `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"` +} + +func (x *BackupStatusResponse) Reset() { + *x = BackupStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackupStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupStatusResponse) ProtoMessage() {} + +func (x *BackupStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_bimrpc_bimrpc_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupStatusResponse.ProtoReflect.Descriptor instead. +func (*BackupStatusResponse) Descriptor() ([]byte, []int) { + return file_pkg_bimrpc_bimrpc_proto_rawDescGZIP(), []int{14} +} + +func (x *BackupStatusResponse) GetProgress() int32 { + if x != nil { + return x.Progress + } + return 0 +} + +func (x *BackupStatusResponse) GetBackupUrl() string { + if x != nil { + return x.BackupUrl + } + return "" +} + +func (x *BackupStatusResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *BackupStatusResponse) GetState() string { + if x != nil { + return x.State + } + return "" +} + +var File_pkg_bimrpc_bimrpc_proto protoreflect.FileDescriptor + +var file_pkg_bimrpc_bimrpc_proto_rawDesc = []byte{ + 0x0a, 0x17, 0x70, 0x6b, 0x67, 0x2f, 0x62, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2f, 0x62, 0x69, 0x6d, + 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x70, 0x6b, 0x67, 0x2e, 0x62, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x10, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, + 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0xe2, + 0x01, 0x0a, 0x12, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x73, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x73, 0x75, 0x6d, 0x22, 0x80, 0x01, 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, + 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x62, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x36, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x62, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, + 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x37, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, + 0x34, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xc6, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, + 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x62, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x62, 0x61, 0x63, + 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x62, 0x0a, 0x12, 0x42, 0x61, + 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x62, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, + 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x82, + 0x02, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, + 0x67, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x67, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x21, 0x62, 0x61, 0x63, 0x6b, + 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x1d, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x25, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, + 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x70, 0x69, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x22, 0x62, 0x0a, 0x0b, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x62, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, + 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, + 0x73, 0x70, 0x65, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x6f, 0x6d, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x54, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x70, 0x0a, + 0x0c, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, + 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x62, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, + 0x2e, 0x0a, 0x13, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x61, + 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, + 0x40, 0x0a, 0x16, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x22, 0x57, 0x0a, 0x17, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0d, + 0x73, 0x72, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x72, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x80, 0x03, 0x0a, 0x13, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x4f, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x62, 0x69, + 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, + 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x3d, + 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x29, 0x0a, + 0x13, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x7d, 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, + 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x32, 0x9f, 0x06, 0x0a, 0x1a, 0x42, 0x61, 0x63, 0x6b, + 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x12, 0x19, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x62, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 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, 0x41, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x16, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x62, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x62, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x04, 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, 0x18, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x62, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x1b, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x62, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x04, 0x53, 0x79, 0x6e, 0x63, 0x12, + 0x17, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x62, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x79, 0x6e, + 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x62, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x04, + 0x53, 0x65, 0x6e, 0x64, 0x12, 0x17, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x62, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x53, 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, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x05, 0x46, 0x65, 0x74, 0x63, 0x68, + 0x12, 0x18, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x62, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x62, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, + 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x22, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x62, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x62, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0c, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x62, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x43, 0x72, 0x65, 0x61, 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, 0x0c, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x62, 0x69, + 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x62, + 0x69, 0x6d, 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, 0x3b, 0x0a, 0x05, + 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, 0x42, 0x26, 0x5a, 0x24, 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, 0x62, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_bimrpc_bimrpc_proto_rawDescOnce sync.Once + file_pkg_bimrpc_bimrpc_proto_rawDescData = file_pkg_bimrpc_bimrpc_proto_rawDesc +) + +func file_pkg_bimrpc_bimrpc_proto_rawDescGZIP() []byte { + file_pkg_bimrpc_bimrpc_proto_rawDescOnce.Do(func() { + file_pkg_bimrpc_bimrpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_bimrpc_bimrpc_proto_rawDescData) + }) + return file_pkg_bimrpc_bimrpc_proto_rawDescData +} + +var file_pkg_bimrpc_bimrpc_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_pkg_bimrpc_bimrpc_proto_goTypes = []interface{}{ + (*BackingImageSpec)(nil), // 0: pkg.bimrpc.BackingImageSpec + (*BackingImageStatus)(nil), // 1: pkg.bimrpc.BackingImageStatus + (*BackingImageResponse)(nil), // 2: pkg.bimrpc.BackingImageResponse + (*DeleteRequest)(nil), // 3: pkg.bimrpc.DeleteRequest + (*GetRequest)(nil), // 4: pkg.bimrpc.GetRequest + (*ListResponse)(nil), // 5: pkg.bimrpc.ListResponse + (*VersionResponse)(nil), // 6: pkg.bimrpc.VersionResponse + (*SyncRequest)(nil), // 7: pkg.bimrpc.SyncRequest + (*SendRequest)(nil), // 8: pkg.bimrpc.SendRequest + (*FetchRequest)(nil), // 9: pkg.bimrpc.FetchRequest + (*PrepareDownloadRequest)(nil), // 10: pkg.bimrpc.PrepareDownloadRequest + (*PrepareDownloadResponse)(nil), // 11: pkg.bimrpc.PrepareDownloadResponse + (*BackupCreateRequest)(nil), // 12: pkg.bimrpc.BackupCreateRequest + (*BackupStatusRequest)(nil), // 13: pkg.bimrpc.BackupStatusRequest + (*BackupStatusResponse)(nil), // 14: pkg.bimrpc.BackupStatusResponse + nil, // 15: pkg.bimrpc.ListResponse.BackingImagesEntry + nil, // 16: pkg.bimrpc.BackupCreateRequest.CredentialEntry + (*emptypb.Empty)(nil), // 17: google.protobuf.Empty +} +var file_pkg_bimrpc_bimrpc_proto_depIdxs = []int32{ + 0, // 0: pkg.bimrpc.BackingImageResponse.spec:type_name -> pkg.bimrpc.BackingImageSpec + 1, // 1: pkg.bimrpc.BackingImageResponse.status:type_name -> pkg.bimrpc.BackingImageStatus + 15, // 2: pkg.bimrpc.ListResponse.backing_images:type_name -> pkg.bimrpc.ListResponse.BackingImagesEntry + 0, // 3: pkg.bimrpc.SyncRequest.spec:type_name -> pkg.bimrpc.BackingImageSpec + 0, // 4: pkg.bimrpc.FetchRequest.spec:type_name -> pkg.bimrpc.BackingImageSpec + 16, // 5: pkg.bimrpc.BackupCreateRequest.credential:type_name -> pkg.bimrpc.BackupCreateRequest.CredentialEntry + 2, // 6: pkg.bimrpc.ListResponse.BackingImagesEntry.value:type_name -> pkg.bimrpc.BackingImageResponse + 3, // 7: pkg.bimrpc.BackingImageManagerService.Delete:input_type -> pkg.bimrpc.DeleteRequest + 4, // 8: pkg.bimrpc.BackingImageManagerService.Get:input_type -> pkg.bimrpc.GetRequest + 17, // 9: pkg.bimrpc.BackingImageManagerService.List:input_type -> google.protobuf.Empty + 17, // 10: pkg.bimrpc.BackingImageManagerService.VersionGet:input_type -> google.protobuf.Empty + 7, // 11: pkg.bimrpc.BackingImageManagerService.Sync:input_type -> pkg.bimrpc.SyncRequest + 8, // 12: pkg.bimrpc.BackingImageManagerService.Send:input_type -> pkg.bimrpc.SendRequest + 9, // 13: pkg.bimrpc.BackingImageManagerService.Fetch:input_type -> pkg.bimrpc.FetchRequest + 10, // 14: pkg.bimrpc.BackingImageManagerService.PrepareDownload:input_type -> pkg.bimrpc.PrepareDownloadRequest + 12, // 15: pkg.bimrpc.BackingImageManagerService.BackupCreate:input_type -> pkg.bimrpc.BackupCreateRequest + 13, // 16: pkg.bimrpc.BackingImageManagerService.BackupStatus:input_type -> pkg.bimrpc.BackupStatusRequest + 17, // 17: pkg.bimrpc.BackingImageManagerService.Watch:input_type -> google.protobuf.Empty + 17, // 18: pkg.bimrpc.BackingImageManagerService.Delete:output_type -> google.protobuf.Empty + 2, // 19: pkg.bimrpc.BackingImageManagerService.Get:output_type -> pkg.bimrpc.BackingImageResponse + 5, // 20: pkg.bimrpc.BackingImageManagerService.List:output_type -> pkg.bimrpc.ListResponse + 6, // 21: pkg.bimrpc.BackingImageManagerService.VersionGet:output_type -> pkg.bimrpc.VersionResponse + 2, // 22: pkg.bimrpc.BackingImageManagerService.Sync:output_type -> pkg.bimrpc.BackingImageResponse + 17, // 23: pkg.bimrpc.BackingImageManagerService.Send:output_type -> google.protobuf.Empty + 2, // 24: pkg.bimrpc.BackingImageManagerService.Fetch:output_type -> pkg.bimrpc.BackingImageResponse + 11, // 25: pkg.bimrpc.BackingImageManagerService.PrepareDownload:output_type -> pkg.bimrpc.PrepareDownloadResponse + 17, // 26: pkg.bimrpc.BackingImageManagerService.BackupCreate:output_type -> google.protobuf.Empty + 14, // 27: pkg.bimrpc.BackingImageManagerService.BackupStatus:output_type -> pkg.bimrpc.BackupStatusResponse + 17, // 28: pkg.bimrpc.BackingImageManagerService.Watch:output_type -> google.protobuf.Empty + 18, // [18:29] is the sub-list for method output_type + 7, // [7:18] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_pkg_bimrpc_bimrpc_proto_init() } +func file_pkg_bimrpc_bimrpc_proto_init() { + if File_pkg_bimrpc_bimrpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pkg_bimrpc_bimrpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackingImageSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_bimrpc_bimrpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackingImageStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_bimrpc_bimrpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackingImageResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_bimrpc_bimrpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_bimrpc_bimrpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_bimrpc_bimrpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_bimrpc_bimrpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VersionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_bimrpc_bimrpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SyncRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_bimrpc_bimrpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_bimrpc_bimrpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FetchRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_bimrpc_bimrpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrepareDownloadRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_bimrpc_bimrpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrepareDownloadResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_bimrpc_bimrpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackupCreateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_bimrpc_bimrpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackupStatusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_bimrpc_bimrpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackupStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_bimrpc_bimrpc_proto_rawDesc, + NumEnums: 0, + NumMessages: 17, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_pkg_bimrpc_bimrpc_proto_goTypes, + DependencyIndexes: file_pkg_bimrpc_bimrpc_proto_depIdxs, + MessageInfos: file_pkg_bimrpc_bimrpc_proto_msgTypes, + }.Build() + File_pkg_bimrpc_bimrpc_proto = out.File + file_pkg_bimrpc_bimrpc_proto_rawDesc = nil + file_pkg_bimrpc_bimrpc_proto_goTypes = nil + file_pkg_bimrpc_bimrpc_proto_depIdxs = nil +} diff --git a/pkg/bimrpc/bimrpc.proto b/pkg/bimrpc/bimrpc.proto new file mode 100644 index 0000000..4c6cc3a --- /dev/null +++ b/pkg/bimrpc/bimrpc.proto @@ -0,0 +1,114 @@ +syntax="proto3"; + +package pkg.bimrpc; + +option go_package = "github.com/longhorn/types/pkg/bimrpc"; + +import "google/protobuf/empty.proto"; + +service BackingImageManagerService { + rpc Delete(DeleteRequest) returns (google.protobuf.Empty) {} + rpc Get(GetRequest) returns (BackingImageResponse) {} + rpc List(google.protobuf.Empty) returns (ListResponse) {} + rpc VersionGet(google.protobuf.Empty) returns(VersionResponse); + rpc Sync(SyncRequest) returns (BackingImageResponse) {} + rpc Send(SendRequest) returns (google.protobuf.Empty) {} + rpc Fetch(FetchRequest) returns (BackingImageResponse) {} + rpc PrepareDownload(PrepareDownloadRequest) returns (PrepareDownloadResponse) {} + rpc BackupCreate(BackupCreateRequest) returns (google.protobuf.Empty) {} + rpc BackupStatus(BackupStatusRequest) returns (BackupStatusResponse) {} + + rpc Watch(google.protobuf.Empty) returns (stream google.protobuf.Empty) {} +} + +message BackingImageSpec { + string name = 1; + string uuid = 2; + int64 size = 3; + string checksum = 4; +} + +message BackingImageStatus { + string state = 1; + string error_msg = 2; + int32 sending_reference = 3; + string sender_manager_address = 4; + int32 progress = 5; + string checksum = 6; +} + +message BackingImageResponse { + BackingImageSpec spec = 1; + BackingImageStatus status = 2; +} + +message DeleteRequest { + string name = 1; + string uuid = 2; +} + +message GetRequest { + string name = 1; + string uuid = 2; +} + +message ListResponse{ + map backing_images = 1; +} + +message VersionResponse { + string version = 1; + string gitCommit = 2; + string buildDate = 3; + + int64 backing_image_manager_api_version = 4; + int64 backing_image_manager_api_min_version = 5; +} + +message SyncRequest { + BackingImageSpec spec = 1; + string from_address = 2; +} + +message SendRequest { + string name = 1; + string uuid = 2; + string to_address = 3; +} + +message FetchRequest { + BackingImageSpec spec = 1; + string data_source_address = 2; +} + +message PrepareDownloadRequest { + string name = 1; + string uuid = 2; +} + +message PrepareDownloadResponse { + string src_file_path = 1; + string address = 2; +} + +message BackupCreateRequest { + string name = 1; + string uuid = 2; + string checksum = 3; + string backup_target = 4; + repeated string labels = 5; + map credential = 6; + string compression_method = 7; + int32 concurrent_limit = 8; +} + +message BackupStatusRequest { + string name = 1; +} + +message BackupStatusResponse { + int32 progress = 1; + string backup_url = 2; + string error = 3; + string state = 4; +} diff --git a/pkg/bimrpc/bimrpc_grpc.pb.go b/pkg/bimrpc/bimrpc_grpc.pb.go new file mode 100644 index 0000000..3709b8c --- /dev/null +++ b/pkg/bimrpc/bimrpc_grpc.pb.go @@ -0,0 +1,509 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.24.3 +// source: pkg/bimrpc/bimrpc.proto + +package bimrpc + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + BackingImageManagerService_Delete_FullMethodName = "/pkg.bimrpc.BackingImageManagerService/Delete" + BackingImageManagerService_Get_FullMethodName = "/pkg.bimrpc.BackingImageManagerService/Get" + BackingImageManagerService_List_FullMethodName = "/pkg.bimrpc.BackingImageManagerService/List" + BackingImageManagerService_VersionGet_FullMethodName = "/pkg.bimrpc.BackingImageManagerService/VersionGet" + BackingImageManagerService_Sync_FullMethodName = "/pkg.bimrpc.BackingImageManagerService/Sync" + BackingImageManagerService_Send_FullMethodName = "/pkg.bimrpc.BackingImageManagerService/Send" + BackingImageManagerService_Fetch_FullMethodName = "/pkg.bimrpc.BackingImageManagerService/Fetch" + BackingImageManagerService_PrepareDownload_FullMethodName = "/pkg.bimrpc.BackingImageManagerService/PrepareDownload" + BackingImageManagerService_BackupCreate_FullMethodName = "/pkg.bimrpc.BackingImageManagerService/BackupCreate" + BackingImageManagerService_BackupStatus_FullMethodName = "/pkg.bimrpc.BackingImageManagerService/BackupStatus" + BackingImageManagerService_Watch_FullMethodName = "/pkg.bimrpc.BackingImageManagerService/Watch" +) + +// BackingImageManagerServiceClient is the client API for BackingImageManagerService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type BackingImageManagerServiceClient interface { + Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*BackingImageResponse, error) + List(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListResponse, error) + VersionGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*VersionResponse, error) + Sync(ctx context.Context, in *SyncRequest, opts ...grpc.CallOption) (*BackingImageResponse, error) + Send(ctx context.Context, in *SendRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + Fetch(ctx context.Context, in *FetchRequest, opts ...grpc.CallOption) (*BackingImageResponse, error) + PrepareDownload(ctx context.Context, in *PrepareDownloadRequest, opts ...grpc.CallOption) (*PrepareDownloadResponse, error) + BackupCreate(ctx context.Context, in *BackupCreateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + BackupStatus(ctx context.Context, in *BackupStatusRequest, opts ...grpc.CallOption) (*BackupStatusResponse, error) + Watch(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (BackingImageManagerService_WatchClient, error) +} + +type backingImageManagerServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewBackingImageManagerServiceClient(cc grpc.ClientConnInterface) BackingImageManagerServiceClient { + return &backingImageManagerServiceClient{cc} +} + +func (c *backingImageManagerServiceClient) Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, BackingImageManagerService_Delete_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *backingImageManagerServiceClient) Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*BackingImageResponse, error) { + out := new(BackingImageResponse) + err := c.cc.Invoke(ctx, BackingImageManagerService_Get_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *backingImageManagerServiceClient) List(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListResponse, error) { + out := new(ListResponse) + err := c.cc.Invoke(ctx, BackingImageManagerService_List_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *backingImageManagerServiceClient) VersionGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*VersionResponse, error) { + out := new(VersionResponse) + err := c.cc.Invoke(ctx, BackingImageManagerService_VersionGet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *backingImageManagerServiceClient) Sync(ctx context.Context, in *SyncRequest, opts ...grpc.CallOption) (*BackingImageResponse, error) { + out := new(BackingImageResponse) + err := c.cc.Invoke(ctx, BackingImageManagerService_Sync_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *backingImageManagerServiceClient) Send(ctx context.Context, in *SendRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, BackingImageManagerService_Send_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *backingImageManagerServiceClient) Fetch(ctx context.Context, in *FetchRequest, opts ...grpc.CallOption) (*BackingImageResponse, error) { + out := new(BackingImageResponse) + err := c.cc.Invoke(ctx, BackingImageManagerService_Fetch_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *backingImageManagerServiceClient) PrepareDownload(ctx context.Context, in *PrepareDownloadRequest, opts ...grpc.CallOption) (*PrepareDownloadResponse, error) { + out := new(PrepareDownloadResponse) + err := c.cc.Invoke(ctx, BackingImageManagerService_PrepareDownload_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *backingImageManagerServiceClient) BackupCreate(ctx context.Context, in *BackupCreateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, BackingImageManagerService_BackupCreate_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *backingImageManagerServiceClient) BackupStatus(ctx context.Context, in *BackupStatusRequest, opts ...grpc.CallOption) (*BackupStatusResponse, error) { + out := new(BackupStatusResponse) + err := c.cc.Invoke(ctx, BackingImageManagerService_BackupStatus_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *backingImageManagerServiceClient) Watch(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (BackingImageManagerService_WatchClient, error) { + stream, err := c.cc.NewStream(ctx, &BackingImageManagerService_ServiceDesc.Streams[0], BackingImageManagerService_Watch_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &backingImageManagerServiceWatchClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type BackingImageManagerService_WatchClient interface { + Recv() (*emptypb.Empty, error) + grpc.ClientStream +} + +type backingImageManagerServiceWatchClient struct { + grpc.ClientStream +} + +func (x *backingImageManagerServiceWatchClient) Recv() (*emptypb.Empty, error) { + m := new(emptypb.Empty) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// BackingImageManagerServiceServer is the server API for BackingImageManagerService service. +// All implementations must embed UnimplementedBackingImageManagerServiceServer +// for forward compatibility +type BackingImageManagerServiceServer interface { + Delete(context.Context, *DeleteRequest) (*emptypb.Empty, error) + Get(context.Context, *GetRequest) (*BackingImageResponse, error) + List(context.Context, *emptypb.Empty) (*ListResponse, error) + VersionGet(context.Context, *emptypb.Empty) (*VersionResponse, error) + Sync(context.Context, *SyncRequest) (*BackingImageResponse, error) + Send(context.Context, *SendRequest) (*emptypb.Empty, error) + Fetch(context.Context, *FetchRequest) (*BackingImageResponse, error) + PrepareDownload(context.Context, *PrepareDownloadRequest) (*PrepareDownloadResponse, error) + BackupCreate(context.Context, *BackupCreateRequest) (*emptypb.Empty, error) + BackupStatus(context.Context, *BackupStatusRequest) (*BackupStatusResponse, error) + Watch(*emptypb.Empty, BackingImageManagerService_WatchServer) error + mustEmbedUnimplementedBackingImageManagerServiceServer() +} + +// UnimplementedBackingImageManagerServiceServer must be embedded to have forward compatible implementations. +type UnimplementedBackingImageManagerServiceServer struct { +} + +func (UnimplementedBackingImageManagerServiceServer) Delete(context.Context, *DeleteRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") +} +func (UnimplementedBackingImageManagerServiceServer) Get(context.Context, *GetRequest) (*BackingImageResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Get not implemented") +} +func (UnimplementedBackingImageManagerServiceServer) List(context.Context, *emptypb.Empty) (*ListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method List not implemented") +} +func (UnimplementedBackingImageManagerServiceServer) VersionGet(context.Context, *emptypb.Empty) (*VersionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method VersionGet not implemented") +} +func (UnimplementedBackingImageManagerServiceServer) Sync(context.Context, *SyncRequest) (*BackingImageResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Sync not implemented") +} +func (UnimplementedBackingImageManagerServiceServer) Send(context.Context, *SendRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Send not implemented") +} +func (UnimplementedBackingImageManagerServiceServer) Fetch(context.Context, *FetchRequest) (*BackingImageResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Fetch not implemented") +} +func (UnimplementedBackingImageManagerServiceServer) PrepareDownload(context.Context, *PrepareDownloadRequest) (*PrepareDownloadResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PrepareDownload not implemented") +} +func (UnimplementedBackingImageManagerServiceServer) BackupCreate(context.Context, *BackupCreateRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method BackupCreate not implemented") +} +func (UnimplementedBackingImageManagerServiceServer) BackupStatus(context.Context, *BackupStatusRequest) (*BackupStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BackupStatus not implemented") +} +func (UnimplementedBackingImageManagerServiceServer) Watch(*emptypb.Empty, BackingImageManagerService_WatchServer) error { + return status.Errorf(codes.Unimplemented, "method Watch not implemented") +} +func (UnimplementedBackingImageManagerServiceServer) mustEmbedUnimplementedBackingImageManagerServiceServer() { +} + +// UnsafeBackingImageManagerServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to BackingImageManagerServiceServer will +// result in compilation errors. +type UnsafeBackingImageManagerServiceServer interface { + mustEmbedUnimplementedBackingImageManagerServiceServer() +} + +func RegisterBackingImageManagerServiceServer(s grpc.ServiceRegistrar, srv BackingImageManagerServiceServer) { + s.RegisterService(&BackingImageManagerService_ServiceDesc, srv) +} + +func _BackingImageManagerService_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackingImageManagerServiceServer).Delete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BackingImageManagerService_Delete_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackingImageManagerServiceServer).Delete(ctx, req.(*DeleteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BackingImageManagerService_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackingImageManagerServiceServer).Get(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BackingImageManagerService_Get_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackingImageManagerServiceServer).Get(ctx, req.(*GetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BackingImageManagerService_List_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 { + return nil, err + } + if interceptor == nil { + return srv.(BackingImageManagerServiceServer).List(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BackingImageManagerService_List_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackingImageManagerServiceServer).List(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _BackingImageManagerService_VersionGet_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 { + return nil, err + } + if interceptor == nil { + return srv.(BackingImageManagerServiceServer).VersionGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BackingImageManagerService_VersionGet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackingImageManagerServiceServer).VersionGet(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _BackingImageManagerService_Sync_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SyncRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackingImageManagerServiceServer).Sync(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BackingImageManagerService_Sync_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackingImageManagerServiceServer).Sync(ctx, req.(*SyncRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BackingImageManagerService_Send_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SendRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackingImageManagerServiceServer).Send(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BackingImageManagerService_Send_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackingImageManagerServiceServer).Send(ctx, req.(*SendRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BackingImageManagerService_Fetch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FetchRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackingImageManagerServiceServer).Fetch(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BackingImageManagerService_Fetch_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackingImageManagerServiceServer).Fetch(ctx, req.(*FetchRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BackingImageManagerService_PrepareDownload_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PrepareDownloadRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackingImageManagerServiceServer).PrepareDownload(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BackingImageManagerService_PrepareDownload_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackingImageManagerServiceServer).PrepareDownload(ctx, req.(*PrepareDownloadRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BackingImageManagerService_BackupCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BackupCreateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackingImageManagerServiceServer).BackupCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BackingImageManagerService_BackupCreate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackingImageManagerServiceServer).BackupCreate(ctx, req.(*BackupCreateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BackingImageManagerService_BackupStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BackupStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackingImageManagerServiceServer).BackupStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BackingImageManagerService_BackupStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackingImageManagerServiceServer).BackupStatus(ctx, req.(*BackupStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BackingImageManagerService_Watch_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(emptypb.Empty) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(BackingImageManagerServiceServer).Watch(m, &backingImageManagerServiceWatchServer{stream}) +} + +type BackingImageManagerService_WatchServer interface { + Send(*emptypb.Empty) error + grpc.ServerStream +} + +type backingImageManagerServiceWatchServer struct { + grpc.ServerStream +} + +func (x *backingImageManagerServiceWatchServer) Send(m *emptypb.Empty) error { + return x.ServerStream.SendMsg(m) +} + +// BackingImageManagerService_ServiceDesc is the grpc.ServiceDesc for BackingImageManagerService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var BackingImageManagerService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "pkg.bimrpc.BackingImageManagerService", + HandlerType: (*BackingImageManagerServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Delete", + Handler: _BackingImageManagerService_Delete_Handler, + }, + { + MethodName: "Get", + Handler: _BackingImageManagerService_Get_Handler, + }, + { + MethodName: "List", + Handler: _BackingImageManagerService_List_Handler, + }, + { + MethodName: "VersionGet", + Handler: _BackingImageManagerService_VersionGet_Handler, + }, + { + MethodName: "Sync", + Handler: _BackingImageManagerService_Sync_Handler, + }, + { + MethodName: "Send", + Handler: _BackingImageManagerService_Send_Handler, + }, + { + MethodName: "Fetch", + Handler: _BackingImageManagerService_Fetch_Handler, + }, + { + MethodName: "PrepareDownload", + Handler: _BackingImageManagerService_PrepareDownload_Handler, + }, + { + MethodName: "BackupCreate", + Handler: _BackingImageManagerService_BackupCreate_Handler, + }, + { + MethodName: "BackupStatus", + Handler: _BackingImageManagerService_BackupStatus_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "Watch", + Handler: _BackingImageManagerService_Watch_Handler, + ServerStreams: true, + }, + }, + Metadata: "pkg/bimrpc/bimrpc.proto", +} diff --git a/pkg/bimrpc/bimrpc_pb2.py b/pkg/bimrpc/bimrpc_pb2.py new file mode 100644 index 0000000..bc21b7a --- /dev/null +++ b/pkg/bimrpc/bimrpc_pb2.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: pkg/bimrpc/bimrpc.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17pkg/bimrpc/bimrpc.proto\x12\npkg.bimrpc\x1a\x1bgoogle/protobuf/empty.proto\"N\n\x10\x42\x61\x63kingImageSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04uuid\x18\x02 \x01(\t\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x10\n\x08\x63hecksum\x18\x04 \x01(\t\"\x95\x01\n\x12\x42\x61\x63kingImageStatus\x12\r\n\x05state\x18\x01 \x01(\t\x12\x11\n\terror_msg\x18\x02 \x01(\t\x12\x19\n\x11sending_reference\x18\x03 \x01(\x05\x12\x1e\n\x16sender_manager_address\x18\x04 \x01(\t\x12\x10\n\x08progress\x18\x05 \x01(\x05\x12\x10\n\x08\x63hecksum\x18\x06 \x01(\t\"r\n\x14\x42\x61\x63kingImageResponse\x12*\n\x04spec\x18\x01 \x01(\x0b\x32\x1c.pkg.bimrpc.BackingImageSpec\x12.\n\x06status\x18\x02 \x01(\x0b\x32\x1e.pkg.bimrpc.BackingImageStatus\"+\n\rDeleteRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04uuid\x18\x02 \x01(\t\"(\n\nGetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04uuid\x18\x02 \x01(\t\"\xab\x01\n\x0cListResponse\x12\x43\n\x0e\x62\x61\x63king_images\x18\x01 \x03(\x0b\x32+.pkg.bimrpc.ListResponse.BackingImagesEntry\x1aV\n\x12\x42\x61\x63kingImagesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .pkg.bimrpc.BackingImageResponse:\x02\x38\x01\"\xa2\x01\n\x0fVersionResponse\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)\n!backing_image_manager_api_version\x18\x04 \x01(\x03\x12-\n%backing_image_manager_api_min_version\x18\x05 \x01(\x03\"O\n\x0bSyncRequest\x12*\n\x04spec\x18\x01 \x01(\x0b\x32\x1c.pkg.bimrpc.BackingImageSpec\x12\x14\n\x0c\x66rom_address\x18\x02 \x01(\t\"=\n\x0bSendRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04uuid\x18\x02 \x01(\t\x12\x12\n\nto_address\x18\x03 \x01(\t\"W\n\x0c\x46\x65tchRequest\x12*\n\x04spec\x18\x01 \x01(\x0b\x32\x1c.pkg.bimrpc.BackingImageSpec\x12\x1b\n\x13\x64\x61ta_source_address\x18\x02 \x01(\t\"4\n\x16PrepareDownloadRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04uuid\x18\x02 \x01(\t\"A\n\x17PrepareDownloadResponse\x12\x15\n\rsrc_file_path\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\"\x98\x02\n\x13\x42\x61\x63kupCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04uuid\x18\x02 \x01(\t\x12\x10\n\x08\x63hecksum\x18\x03 \x01(\t\x12\x15\n\rbackup_target\x18\x04 \x01(\t\x12\x0e\n\x06labels\x18\x05 \x03(\t\x12\x43\n\ncredential\x18\x06 \x03(\x0b\x32/.pkg.bimrpc.BackupCreateRequest.CredentialEntry\x12\x1a\n\x12\x63ompression_method\x18\x07 \x01(\t\x12\x18\n\x10\x63oncurrent_limit\x18\x08 \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\x13\x42\x61\x63kupStatusRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"Z\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\r\n\x05state\x18\x04 \x01(\t2\x9f\x06\n\x1a\x42\x61\x63kingImageManagerService\x12=\n\x06\x44\x65lete\x12\x19.pkg.bimrpc.DeleteRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x41\n\x03Get\x12\x16.pkg.bimrpc.GetRequest\x1a .pkg.bimrpc.BackingImageResponse\"\x00\x12:\n\x04List\x12\x16.google.protobuf.Empty\x1a\x18.pkg.bimrpc.ListResponse\"\x00\x12\x41\n\nVersionGet\x12\x16.google.protobuf.Empty\x1a\x1b.pkg.bimrpc.VersionResponse\x12\x43\n\x04Sync\x12\x17.pkg.bimrpc.SyncRequest\x1a .pkg.bimrpc.BackingImageResponse\"\x00\x12\x39\n\x04Send\x12\x17.pkg.bimrpc.SendRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x45\n\x05\x46\x65tch\x12\x18.pkg.bimrpc.FetchRequest\x1a .pkg.bimrpc.BackingImageResponse\"\x00\x12\\\n\x0fPrepareDownload\x12\".pkg.bimrpc.PrepareDownloadRequest\x1a#.pkg.bimrpc.PrepareDownloadResponse\"\x00\x12I\n\x0c\x42\x61\x63kupCreate\x12\x1f.pkg.bimrpc.BackupCreateRequest\x1a\x16.google.protobuf.Empty\"\x00\x12S\n\x0c\x42\x61\x63kupStatus\x12\x1f.pkg.bimrpc.BackupStatusRequest\x1a .pkg.bimrpc.BackupStatusResponse\"\x00\x12;\n\x05Watch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x42&Z$github.com/longhorn/types/pkg/bimrpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pkg.bimrpc.bimrpc_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z$github.com/longhorn/types/pkg/bimrpc' + _LISTRESPONSE_BACKINGIMAGESENTRY._options = None + _LISTRESPONSE_BACKINGIMAGESENTRY._serialized_options = b'8\001' + _BACKUPCREATEREQUEST_CREDENTIALENTRY._options = None + _BACKUPCREATEREQUEST_CREDENTIALENTRY._serialized_options = b'8\001' + _globals['_BACKINGIMAGESPEC']._serialized_start=68 + _globals['_BACKINGIMAGESPEC']._serialized_end=146 + _globals['_BACKINGIMAGESTATUS']._serialized_start=149 + _globals['_BACKINGIMAGESTATUS']._serialized_end=298 + _globals['_BACKINGIMAGERESPONSE']._serialized_start=300 + _globals['_BACKINGIMAGERESPONSE']._serialized_end=414 + _globals['_DELETEREQUEST']._serialized_start=416 + _globals['_DELETEREQUEST']._serialized_end=459 + _globals['_GETREQUEST']._serialized_start=461 + _globals['_GETREQUEST']._serialized_end=501 + _globals['_LISTRESPONSE']._serialized_start=504 + _globals['_LISTRESPONSE']._serialized_end=675 + _globals['_LISTRESPONSE_BACKINGIMAGESENTRY']._serialized_start=589 + _globals['_LISTRESPONSE_BACKINGIMAGESENTRY']._serialized_end=675 + _globals['_VERSIONRESPONSE']._serialized_start=678 + _globals['_VERSIONRESPONSE']._serialized_end=840 + _globals['_SYNCREQUEST']._serialized_start=842 + _globals['_SYNCREQUEST']._serialized_end=921 + _globals['_SENDREQUEST']._serialized_start=923 + _globals['_SENDREQUEST']._serialized_end=984 + _globals['_FETCHREQUEST']._serialized_start=986 + _globals['_FETCHREQUEST']._serialized_end=1073 + _globals['_PREPAREDOWNLOADREQUEST']._serialized_start=1075 + _globals['_PREPAREDOWNLOADREQUEST']._serialized_end=1127 + _globals['_PREPAREDOWNLOADRESPONSE']._serialized_start=1129 + _globals['_PREPAREDOWNLOADRESPONSE']._serialized_end=1194 + _globals['_BACKUPCREATEREQUEST']._serialized_start=1197 + _globals['_BACKUPCREATEREQUEST']._serialized_end=1477 + _globals['_BACKUPCREATEREQUEST_CREDENTIALENTRY']._serialized_start=1428 + _globals['_BACKUPCREATEREQUEST_CREDENTIALENTRY']._serialized_end=1477 + _globals['_BACKUPSTATUSREQUEST']._serialized_start=1479 + _globals['_BACKUPSTATUSREQUEST']._serialized_end=1514 + _globals['_BACKUPSTATUSRESPONSE']._serialized_start=1516 + _globals['_BACKUPSTATUSRESPONSE']._serialized_end=1606 + _globals['_BACKINGIMAGEMANAGERSERVICE']._serialized_start=1609 + _globals['_BACKINGIMAGEMANAGERSERVICE']._serialized_end=2408 +# @@protoc_insertion_point(module_scope) diff --git a/pkg/bimrpc/bimrpc_pb2_grpc.py b/pkg/bimrpc/bimrpc_pb2_grpc.py new file mode 100644 index 0000000..a8807a1 --- /dev/null +++ b/pkg/bimrpc/bimrpc_pb2_grpc.py @@ -0,0 +1,397 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from pkg.bimrpc import bimrpc_pb2 as pkg_dot_bimrpc_dot_bimrpc__pb2 + + +class BackingImageManagerServiceStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Delete = channel.unary_unary( + '/pkg.bimrpc.BackingImageManagerService/Delete', + request_serializer=pkg_dot_bimrpc_dot_bimrpc__pb2.DeleteRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.Get = channel.unary_unary( + '/pkg.bimrpc.BackingImageManagerService/Get', + request_serializer=pkg_dot_bimrpc_dot_bimrpc__pb2.GetRequest.SerializeToString, + response_deserializer=pkg_dot_bimrpc_dot_bimrpc__pb2.BackingImageResponse.FromString, + ) + self.List = channel.unary_unary( + '/pkg.bimrpc.BackingImageManagerService/List', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_bimrpc_dot_bimrpc__pb2.ListResponse.FromString, + ) + self.VersionGet = channel.unary_unary( + '/pkg.bimrpc.BackingImageManagerService/VersionGet', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_bimrpc_dot_bimrpc__pb2.VersionResponse.FromString, + ) + self.Sync = channel.unary_unary( + '/pkg.bimrpc.BackingImageManagerService/Sync', + request_serializer=pkg_dot_bimrpc_dot_bimrpc__pb2.SyncRequest.SerializeToString, + response_deserializer=pkg_dot_bimrpc_dot_bimrpc__pb2.BackingImageResponse.FromString, + ) + self.Send = channel.unary_unary( + '/pkg.bimrpc.BackingImageManagerService/Send', + request_serializer=pkg_dot_bimrpc_dot_bimrpc__pb2.SendRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.Fetch = channel.unary_unary( + '/pkg.bimrpc.BackingImageManagerService/Fetch', + request_serializer=pkg_dot_bimrpc_dot_bimrpc__pb2.FetchRequest.SerializeToString, + response_deserializer=pkg_dot_bimrpc_dot_bimrpc__pb2.BackingImageResponse.FromString, + ) + self.PrepareDownload = channel.unary_unary( + '/pkg.bimrpc.BackingImageManagerService/PrepareDownload', + request_serializer=pkg_dot_bimrpc_dot_bimrpc__pb2.PrepareDownloadRequest.SerializeToString, + response_deserializer=pkg_dot_bimrpc_dot_bimrpc__pb2.PrepareDownloadResponse.FromString, + ) + self.BackupCreate = channel.unary_unary( + '/pkg.bimrpc.BackingImageManagerService/BackupCreate', + request_serializer=pkg_dot_bimrpc_dot_bimrpc__pb2.BackupCreateRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.BackupStatus = channel.unary_unary( + '/pkg.bimrpc.BackingImageManagerService/BackupStatus', + request_serializer=pkg_dot_bimrpc_dot_bimrpc__pb2.BackupStatusRequest.SerializeToString, + response_deserializer=pkg_dot_bimrpc_dot_bimrpc__pb2.BackupStatusResponse.FromString, + ) + self.Watch = channel.unary_stream( + '/pkg.bimrpc.BackingImageManagerService/Watch', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + + +class BackingImageManagerServiceServicer(object): + """Missing associated documentation comment in .proto file.""" + + def Delete(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 Get(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 List(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 VersionGet(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 Sync(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 Send(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 Fetch(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 PrepareDownload(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 BackupCreate(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 BackupStatus(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 Watch(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 add_BackingImageManagerServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Delete': grpc.unary_unary_rpc_method_handler( + servicer.Delete, + request_deserializer=pkg_dot_bimrpc_dot_bimrpc__pb2.DeleteRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'Get': grpc.unary_unary_rpc_method_handler( + servicer.Get, + request_deserializer=pkg_dot_bimrpc_dot_bimrpc__pb2.GetRequest.FromString, + response_serializer=pkg_dot_bimrpc_dot_bimrpc__pb2.BackingImageResponse.SerializeToString, + ), + 'List': grpc.unary_unary_rpc_method_handler( + servicer.List, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_bimrpc_dot_bimrpc__pb2.ListResponse.SerializeToString, + ), + 'VersionGet': grpc.unary_unary_rpc_method_handler( + servicer.VersionGet, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_bimrpc_dot_bimrpc__pb2.VersionResponse.SerializeToString, + ), + 'Sync': grpc.unary_unary_rpc_method_handler( + servicer.Sync, + request_deserializer=pkg_dot_bimrpc_dot_bimrpc__pb2.SyncRequest.FromString, + response_serializer=pkg_dot_bimrpc_dot_bimrpc__pb2.BackingImageResponse.SerializeToString, + ), + 'Send': grpc.unary_unary_rpc_method_handler( + servicer.Send, + request_deserializer=pkg_dot_bimrpc_dot_bimrpc__pb2.SendRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'Fetch': grpc.unary_unary_rpc_method_handler( + servicer.Fetch, + request_deserializer=pkg_dot_bimrpc_dot_bimrpc__pb2.FetchRequest.FromString, + response_serializer=pkg_dot_bimrpc_dot_bimrpc__pb2.BackingImageResponse.SerializeToString, + ), + 'PrepareDownload': grpc.unary_unary_rpc_method_handler( + servicer.PrepareDownload, + request_deserializer=pkg_dot_bimrpc_dot_bimrpc__pb2.PrepareDownloadRequest.FromString, + response_serializer=pkg_dot_bimrpc_dot_bimrpc__pb2.PrepareDownloadResponse.SerializeToString, + ), + 'BackupCreate': grpc.unary_unary_rpc_method_handler( + servicer.BackupCreate, + request_deserializer=pkg_dot_bimrpc_dot_bimrpc__pb2.BackupCreateRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'BackupStatus': grpc.unary_unary_rpc_method_handler( + servicer.BackupStatus, + request_deserializer=pkg_dot_bimrpc_dot_bimrpc__pb2.BackupStatusRequest.FromString, + response_serializer=pkg_dot_bimrpc_dot_bimrpc__pb2.BackupStatusResponse.SerializeToString, + ), + 'Watch': grpc.unary_stream_rpc_method_handler( + servicer.Watch, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'pkg.bimrpc.BackingImageManagerService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class BackingImageManagerService(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def Delete(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, '/pkg.bimrpc.BackingImageManagerService/Delete', + pkg_dot_bimrpc_dot_bimrpc__pb2.DeleteRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Get(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, '/pkg.bimrpc.BackingImageManagerService/Get', + pkg_dot_bimrpc_dot_bimrpc__pb2.GetRequest.SerializeToString, + pkg_dot_bimrpc_dot_bimrpc__pb2.BackingImageResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def List(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, '/pkg.bimrpc.BackingImageManagerService/List', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_bimrpc_dot_bimrpc__pb2.ListResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VersionGet(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, '/pkg.bimrpc.BackingImageManagerService/VersionGet', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_bimrpc_dot_bimrpc__pb2.VersionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Sync(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, '/pkg.bimrpc.BackingImageManagerService/Sync', + pkg_dot_bimrpc_dot_bimrpc__pb2.SyncRequest.SerializeToString, + pkg_dot_bimrpc_dot_bimrpc__pb2.BackingImageResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Send(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, '/pkg.bimrpc.BackingImageManagerService/Send', + pkg_dot_bimrpc_dot_bimrpc__pb2.SendRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Fetch(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, '/pkg.bimrpc.BackingImageManagerService/Fetch', + pkg_dot_bimrpc_dot_bimrpc__pb2.FetchRequest.SerializeToString, + pkg_dot_bimrpc_dot_bimrpc__pb2.BackingImageResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PrepareDownload(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, '/pkg.bimrpc.BackingImageManagerService/PrepareDownload', + pkg_dot_bimrpc_dot_bimrpc__pb2.PrepareDownloadRequest.SerializeToString, + pkg_dot_bimrpc_dot_bimrpc__pb2.PrepareDownloadResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def BackupCreate(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, '/pkg.bimrpc.BackingImageManagerService/BackupCreate', + pkg_dot_bimrpc_dot_bimrpc__pb2.BackupCreateRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def BackupStatus(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, '/pkg.bimrpc.BackingImageManagerService/BackupStatus', + pkg_dot_bimrpc_dot_bimrpc__pb2.BackupStatusRequest.SerializeToString, + pkg_dot_bimrpc_dot_bimrpc__pb2.BackupStatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Watch(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_stream(request, target, '/pkg.bimrpc.BackingImageManagerService/Watch', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/pkg/enginerpc/common.pb.go b/pkg/enginerpc/common.pb.go new file mode 100644 index 0000000..c22fa8b --- /dev/null +++ b/pkg/enginerpc/common.pb.go @@ -0,0 +1,166 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: pkg/enginerpc/common.proto + +package enginerpc + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type SyncFileInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FromFileName string `protobuf:"bytes,1,opt,name=from_file_name,json=fromFileName,proto3" json:"from_file_name,omitempty"` + ToFileName string `protobuf:"bytes,2,opt,name=to_file_name,json=toFileName,proto3" json:"to_file_name,omitempty"` + ActualSize int64 `protobuf:"varint,3,opt,name=actual_size,json=actualSize,proto3" json:"actual_size,omitempty"` +} + +func (x *SyncFileInfo) Reset() { + *x = SyncFileInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_common_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SyncFileInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncFileInfo) ProtoMessage() {} + +func (x *SyncFileInfo) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_common_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SyncFileInfo.ProtoReflect.Descriptor instead. +func (*SyncFileInfo) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_common_proto_rawDescGZIP(), []int{0} +} + +func (x *SyncFileInfo) GetFromFileName() string { + if x != nil { + return x.FromFileName + } + return "" +} + +func (x *SyncFileInfo) GetToFileName() string { + if x != nil { + return x.ToFileName + } + return "" +} + +func (x *SyncFileInfo) GetActualSize() int64 { + if x != nil { + return x.ActualSize + } + return 0 +} + +var File_pkg_enginerpc_common_proto protoreflect.FileDescriptor + +var file_pkg_enginerpc_common_proto_rawDesc = []byte{ + 0x0a, 0x1a, 0x70, 0x6b, 0x67, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x70, 0x6b, + 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x22, 0x77, 0x0a, 0x0c, 0x53, + 0x79, 0x6e, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x66, + 0x72, 0x6f, 0x6d, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, + 0x53, 0x69, 0x7a, 0x65, 0x42, 0x29, 0x5a, 0x27, 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, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_enginerpc_common_proto_rawDescOnce sync.Once + file_pkg_enginerpc_common_proto_rawDescData = file_pkg_enginerpc_common_proto_rawDesc +) + +func file_pkg_enginerpc_common_proto_rawDescGZIP() []byte { + file_pkg_enginerpc_common_proto_rawDescOnce.Do(func() { + file_pkg_enginerpc_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_enginerpc_common_proto_rawDescData) + }) + return file_pkg_enginerpc_common_proto_rawDescData +} + +var file_pkg_enginerpc_common_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_pkg_enginerpc_common_proto_goTypes = []interface{}{ + (*SyncFileInfo)(nil), // 0: pkg.enginerpc.SyncFileInfo +} +var file_pkg_enginerpc_common_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_pkg_enginerpc_common_proto_init() } +func file_pkg_enginerpc_common_proto_init() { + if File_pkg_enginerpc_common_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pkg_enginerpc_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SyncFileInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_enginerpc_common_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_pkg_enginerpc_common_proto_goTypes, + DependencyIndexes: file_pkg_enginerpc_common_proto_depIdxs, + MessageInfos: file_pkg_enginerpc_common_proto_msgTypes, + }.Build() + File_pkg_enginerpc_common_proto = out.File + file_pkg_enginerpc_common_proto_rawDesc = nil + file_pkg_enginerpc_common_proto_goTypes = nil + file_pkg_enginerpc_common_proto_depIdxs = nil +} diff --git a/pkg/enginerpc/common.proto b/pkg/enginerpc/common.proto new file mode 100644 index 0000000..6b842f0 --- /dev/null +++ b/pkg/enginerpc/common.proto @@ -0,0 +1,11 @@ +syntax="proto3"; + +package pkg.enginerpc; + +option go_package = "github.com/longhorn/types/pkg/enginerpc"; + +message SyncFileInfo { + string from_file_name = 1; + string to_file_name = 2; + int64 actual_size = 3; +} diff --git a/pkg/enginerpc/common_pb2.py b/pkg/enginerpc/common_pb2.py new file mode 100644 index 0000000..d484b84 --- /dev/null +++ b/pkg/enginerpc/common_pb2.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: pkg/enginerpc/common.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1apkg/enginerpc/common.proto\x12\rpkg.enginerpc\"Q\n\x0cSyncFileInfo\x12\x16\n\x0e\x66rom_file_name\x18\x01 \x01(\t\x12\x14\n\x0cto_file_name\x18\x02 \x01(\t\x12\x13\n\x0b\x61\x63tual_size\x18\x03 \x01(\x03\x42)Z\'github.com/longhorn/types/pkg/enginerpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pkg.enginerpc.common_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z\'github.com/longhorn/types/pkg/enginerpc' + _globals['_SYNCFILEINFO']._serialized_start=45 + _globals['_SYNCFILEINFO']._serialized_end=126 +# @@protoc_insertion_point(module_scope) diff --git a/pkg/enginerpc/common_pb2_grpc.py b/pkg/enginerpc/common_pb2_grpc.py new file mode 100644 index 0000000..2daafff --- /dev/null +++ b/pkg/enginerpc/common_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pkg/enginerpc/controller.pb.go b/pkg/enginerpc/controller.pb.go new file mode 100644 index 0000000..2347055 --- /dev/null +++ b/pkg/enginerpc/controller.pb.go @@ -0,0 +1,2053 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: pkg/enginerpc/controller.proto + +package enginerpc + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ReplicaMode int32 + +const ( + ReplicaMode_WO ReplicaMode = 0 + ReplicaMode_RW ReplicaMode = 1 + ReplicaMode_ERR ReplicaMode = 2 +) + +// Enum value maps for ReplicaMode. +var ( + ReplicaMode_name = map[int32]string{ + 0: "WO", + 1: "RW", + 2: "ERR", + } + ReplicaMode_value = map[string]int32{ + "WO": 0, + "RW": 1, + "ERR": 2, + } +) + +func (x ReplicaMode) Enum() *ReplicaMode { + p := new(ReplicaMode) + *p = x + return p +} + +func (x ReplicaMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ReplicaMode) Descriptor() protoreflect.EnumDescriptor { + return file_pkg_enginerpc_controller_proto_enumTypes[0].Descriptor() +} + +func (ReplicaMode) Type() protoreflect.EnumType { + return &file_pkg_enginerpc_controller_proto_enumTypes[0] +} + +func (x ReplicaMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ReplicaMode.Descriptor instead. +func (ReplicaMode) EnumDescriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{0} +} + +type Volume struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` + ReplicaCount int32 `protobuf:"varint,3,opt,name=replicaCount,proto3" json:"replicaCount,omitempty"` + Endpoint string `protobuf:"bytes,4,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + Frontend string `protobuf:"bytes,5,opt,name=frontend,proto3" json:"frontend,omitempty"` + FrontendState string `protobuf:"bytes,6,opt,name=frontendState,proto3" json:"frontendState,omitempty"` + IsExpanding bool `protobuf:"varint,7,opt,name=isExpanding,proto3" json:"isExpanding,omitempty"` + LastExpansionError string `protobuf:"bytes,8,opt,name=last_expansion_error,json=lastExpansionError,proto3" json:"last_expansion_error,omitempty"` + LastExpansionFailedAt string `protobuf:"bytes,9,opt,name=last_expansion_failed_at,json=lastExpansionFailedAt,proto3" json:"last_expansion_failed_at,omitempty"` + UnmapMarkSnapChainRemoved bool `protobuf:"varint,10,opt,name=unmap_mark_snap_chain_removed,json=unmapMarkSnapChainRemoved,proto3" json:"unmap_mark_snap_chain_removed,omitempty"` + SnapshotMaxCount int32 `protobuf:"varint,11,opt,name=snapshot_max_count,json=snapshotMaxCount,proto3" json:"snapshot_max_count,omitempty"` + SnapshotMaxSize int64 `protobuf:"varint,12,opt,name=snapshot_max_size,json=snapshotMaxSize,proto3" json:"snapshot_max_size,omitempty"` +} + +func (x *Volume) Reset() { + *x = Volume{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Volume) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Volume) ProtoMessage() {} + +func (x *Volume) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Volume.ProtoReflect.Descriptor instead. +func (*Volume) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{0} +} + +func (x *Volume) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Volume) GetSize() int64 { + if x != nil { + return x.Size + } + return 0 +} + +func (x *Volume) GetReplicaCount() int32 { + if x != nil { + return x.ReplicaCount + } + return 0 +} + +func (x *Volume) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *Volume) GetFrontend() string { + if x != nil { + return x.Frontend + } + return "" +} + +func (x *Volume) GetFrontendState() string { + if x != nil { + return x.FrontendState + } + return "" +} + +func (x *Volume) GetIsExpanding() bool { + if x != nil { + return x.IsExpanding + } + return false +} + +func (x *Volume) GetLastExpansionError() string { + if x != nil { + return x.LastExpansionError + } + return "" +} + +func (x *Volume) GetLastExpansionFailedAt() string { + if x != nil { + return x.LastExpansionFailedAt + } + return "" +} + +func (x *Volume) GetUnmapMarkSnapChainRemoved() bool { + if x != nil { + return x.UnmapMarkSnapChainRemoved + } + return false +} + +func (x *Volume) GetSnapshotMaxCount() int32 { + if x != nil { + return x.SnapshotMaxCount + } + return 0 +} + +func (x *Volume) GetSnapshotMaxSize() int64 { + if x != nil { + return x.SnapshotMaxSize + } + return 0 +} + +type ReplicaAddress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + InstanceName string `protobuf:"bytes,2,opt,name=instanceName,proto3" json:"instanceName,omitempty"` +} + +func (x *ReplicaAddress) Reset() { + *x = ReplicaAddress{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaAddress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaAddress) ProtoMessage() {} + +func (x *ReplicaAddress) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaAddress.ProtoReflect.Descriptor instead. +func (*ReplicaAddress) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{1} +} + +func (x *ReplicaAddress) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *ReplicaAddress) GetInstanceName() string { + if x != nil { + return x.InstanceName + } + return "" +} + +type ControllerReplica struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address *ReplicaAddress `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Mode ReplicaMode `protobuf:"varint,2,opt,name=mode,proto3,enum=pkg.enginerpc.ReplicaMode" json:"mode,omitempty"` +} + +func (x *ControllerReplica) Reset() { + *x = ControllerReplica{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ControllerReplica) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ControllerReplica) ProtoMessage() {} + +func (x *ControllerReplica) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ControllerReplica.ProtoReflect.Descriptor instead. +func (*ControllerReplica) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{2} +} + +func (x *ControllerReplica) GetAddress() *ReplicaAddress { + if x != nil { + return x.Address + } + return nil +} + +func (x *ControllerReplica) GetMode() ReplicaMode { + if x != nil { + return x.Mode + } + return ReplicaMode_WO +} + +type VolumeStartRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReplicaAddresses []string `protobuf:"bytes,1,rep,name=replicaAddresses,proto3" json:"replicaAddresses,omitempty"` + Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` + CurrentSize int64 `protobuf:"varint,3,opt,name=currentSize,proto3" json:"currentSize,omitempty"` +} + +func (x *VolumeStartRequest) Reset() { + *x = VolumeStartRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VolumeStartRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VolumeStartRequest) ProtoMessage() {} + +func (x *VolumeStartRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VolumeStartRequest.ProtoReflect.Descriptor instead. +func (*VolumeStartRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{3} +} + +func (x *VolumeStartRequest) GetReplicaAddresses() []string { + if x != nil { + return x.ReplicaAddresses + } + return nil +} + +func (x *VolumeStartRequest) GetSize() int64 { + if x != nil { + return x.Size + } + return 0 +} + +func (x *VolumeStartRequest) GetCurrentSize() int64 { + if x != nil { + return x.CurrentSize + } + return 0 +} + +type VolumeSnapshotRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *VolumeSnapshotRequest) Reset() { + *x = VolumeSnapshotRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VolumeSnapshotRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VolumeSnapshotRequest) ProtoMessage() {} + +func (x *VolumeSnapshotRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VolumeSnapshotRequest.ProtoReflect.Descriptor instead. +func (*VolumeSnapshotRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{4} +} + +func (x *VolumeSnapshotRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *VolumeSnapshotRequest) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +type VolumeSnapshotReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *VolumeSnapshotReply) Reset() { + *x = VolumeSnapshotReply{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VolumeSnapshotReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VolumeSnapshotReply) ProtoMessage() {} + +func (x *VolumeSnapshotReply) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VolumeSnapshotReply.ProtoReflect.Descriptor instead. +func (*VolumeSnapshotReply) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{5} +} + +func (x *VolumeSnapshotReply) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type VolumeRevertRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *VolumeRevertRequest) Reset() { + *x = VolumeRevertRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VolumeRevertRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VolumeRevertRequest) ProtoMessage() {} + +func (x *VolumeRevertRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VolumeRevertRequest.ProtoReflect.Descriptor instead. +func (*VolumeRevertRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{6} +} + +func (x *VolumeRevertRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type VolumeExpandRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Size int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` +} + +func (x *VolumeExpandRequest) Reset() { + *x = VolumeExpandRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VolumeExpandRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VolumeExpandRequest) ProtoMessage() {} + +func (x *VolumeExpandRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VolumeExpandRequest.ProtoReflect.Descriptor instead. +func (*VolumeExpandRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{7} +} + +func (x *VolumeExpandRequest) GetSize() int64 { + if x != nil { + return x.Size + } + return 0 +} + +type VolumeFrontendStartRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Frontend string `protobuf:"bytes,1,opt,name=frontend,proto3" json:"frontend,omitempty"` +} + +func (x *VolumeFrontendStartRequest) Reset() { + *x = VolumeFrontendStartRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VolumeFrontendStartRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VolumeFrontendStartRequest) ProtoMessage() {} + +func (x *VolumeFrontendStartRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VolumeFrontendStartRequest.ProtoReflect.Descriptor instead. +func (*VolumeFrontendStartRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{8} +} + +func (x *VolumeFrontendStartRequest) GetFrontend() string { + if x != nil { + return x.Frontend + } + return "" +} + +type VolumeUnmapMarkSnapChainRemovedSetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` +} + +func (x *VolumeUnmapMarkSnapChainRemovedSetRequest) Reset() { + *x = VolumeUnmapMarkSnapChainRemovedSetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VolumeUnmapMarkSnapChainRemovedSetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VolumeUnmapMarkSnapChainRemovedSetRequest) ProtoMessage() {} + +func (x *VolumeUnmapMarkSnapChainRemovedSetRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VolumeUnmapMarkSnapChainRemovedSetRequest.ProtoReflect.Descriptor instead. +func (*VolumeUnmapMarkSnapChainRemovedSetRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{9} +} + +func (x *VolumeUnmapMarkSnapChainRemovedSetRequest) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +type VolumeSnapshotMaxCountSetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count int32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` +} + +func (x *VolumeSnapshotMaxCountSetRequest) Reset() { + *x = VolumeSnapshotMaxCountSetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VolumeSnapshotMaxCountSetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VolumeSnapshotMaxCountSetRequest) ProtoMessage() {} + +func (x *VolumeSnapshotMaxCountSetRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VolumeSnapshotMaxCountSetRequest.ProtoReflect.Descriptor instead. +func (*VolumeSnapshotMaxCountSetRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{10} +} + +func (x *VolumeSnapshotMaxCountSetRequest) GetCount() int32 { + if x != nil { + return x.Count + } + return 0 +} + +type VolumeSnapshotMaxSizeSetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Size int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` +} + +func (x *VolumeSnapshotMaxSizeSetRequest) Reset() { + *x = VolumeSnapshotMaxSizeSetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VolumeSnapshotMaxSizeSetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VolumeSnapshotMaxSizeSetRequest) ProtoMessage() {} + +func (x *VolumeSnapshotMaxSizeSetRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VolumeSnapshotMaxSizeSetRequest.ProtoReflect.Descriptor instead. +func (*VolumeSnapshotMaxSizeSetRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{11} +} + +func (x *VolumeSnapshotMaxSizeSetRequest) GetSize() int64 { + if x != nil { + return x.Size + } + return 0 +} + +type VolumePrepareRestoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LastRestored string `protobuf:"bytes,1,opt,name=lastRestored,proto3" json:"lastRestored,omitempty"` +} + +func (x *VolumePrepareRestoreRequest) Reset() { + *x = VolumePrepareRestoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VolumePrepareRestoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VolumePrepareRestoreRequest) ProtoMessage() {} + +func (x *VolumePrepareRestoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VolumePrepareRestoreRequest.ProtoReflect.Descriptor instead. +func (*VolumePrepareRestoreRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{12} +} + +func (x *VolumePrepareRestoreRequest) GetLastRestored() string { + if x != nil { + return x.LastRestored + } + return "" +} + +type VolumeFinishRestoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CurrentRestored string `protobuf:"bytes,1,opt,name=currentRestored,proto3" json:"currentRestored,omitempty"` +} + +func (x *VolumeFinishRestoreRequest) Reset() { + *x = VolumeFinishRestoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VolumeFinishRestoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VolumeFinishRestoreRequest) ProtoMessage() {} + +func (x *VolumeFinishRestoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VolumeFinishRestoreRequest.ProtoReflect.Descriptor instead. +func (*VolumeFinishRestoreRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{13} +} + +func (x *VolumeFinishRestoreRequest) GetCurrentRestored() string { + if x != nil { + return x.CurrentRestored + } + return "" +} + +type ReplicaListReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replicas []*ControllerReplica `protobuf:"bytes,1,rep,name=replicas,proto3" json:"replicas,omitempty"` +} + +func (x *ReplicaListReply) Reset() { + *x = ReplicaListReply{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaListReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaListReply) ProtoMessage() {} + +func (x *ReplicaListReply) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaListReply.ProtoReflect.Descriptor instead. +func (*ReplicaListReply) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{14} +} + +func (x *ReplicaListReply) GetReplicas() []*ControllerReplica { + if x != nil { + return x.Replicas + } + return nil +} + +type ControllerReplicaCreateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + SnapshotRequired bool `protobuf:"varint,2,opt,name=snapshot_required,json=snapshotRequired,proto3" json:"snapshot_required,omitempty"` + Mode ReplicaMode `protobuf:"varint,3,opt,name=mode,proto3,enum=pkg.enginerpc.ReplicaMode" json:"mode,omitempty"` +} + +func (x *ControllerReplicaCreateRequest) Reset() { + *x = ControllerReplicaCreateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ControllerReplicaCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ControllerReplicaCreateRequest) ProtoMessage() {} + +func (x *ControllerReplicaCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ControllerReplicaCreateRequest.ProtoReflect.Descriptor instead. +func (*ControllerReplicaCreateRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{15} +} + +func (x *ControllerReplicaCreateRequest) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *ControllerReplicaCreateRequest) GetSnapshotRequired() bool { + if x != nil { + return x.SnapshotRequired + } + return false +} + +func (x *ControllerReplicaCreateRequest) GetMode() ReplicaMode { + if x != nil { + return x.Mode + } + return ReplicaMode_WO +} + +type ReplicaPrepareRebuildReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *ControllerReplica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` + SyncFileInfoList []*SyncFileInfo `protobuf:"bytes,2,rep,name=sync_file_info_list,json=syncFileInfoList,proto3" json:"sync_file_info_list,omitempty"` +} + +func (x *ReplicaPrepareRebuildReply) Reset() { + *x = ReplicaPrepareRebuildReply{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaPrepareRebuildReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaPrepareRebuildReply) ProtoMessage() {} + +func (x *ReplicaPrepareRebuildReply) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaPrepareRebuildReply.ProtoReflect.Descriptor instead. +func (*ReplicaPrepareRebuildReply) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{16} +} + +func (x *ReplicaPrepareRebuildReply) GetReplica() *ControllerReplica { + if x != nil { + return x.Replica + } + return nil +} + +func (x *ReplicaPrepareRebuildReply) GetSyncFileInfoList() []*SyncFileInfo { + if x != nil { + return x.SyncFileInfoList + } + return nil +} + +type JournalListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Limit int64 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` +} + +func (x *JournalListRequest) Reset() { + *x = JournalListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JournalListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JournalListRequest) ProtoMessage() {} + +func (x *JournalListRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JournalListRequest.ProtoReflect.Descriptor instead. +func (*JournalListRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{17} +} + +func (x *JournalListRequest) GetLimit() int64 { + if x != nil { + return x.Limit + } + return 0 +} + +type VersionOutput struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + GitCommit string `protobuf:"bytes,2,opt,name=gitCommit,proto3" json:"gitCommit,omitempty"` + BuildDate string `protobuf:"bytes,3,opt,name=buildDate,proto3" json:"buildDate,omitempty"` + CliAPIVersion int64 `protobuf:"varint,4,opt,name=cliAPIVersion,proto3" json:"cliAPIVersion,omitempty"` + CliAPIMinVersion int64 `protobuf:"varint,5,opt,name=cliAPIMinVersion,proto3" json:"cliAPIMinVersion,omitempty"` + ControllerAPIVersion int64 `protobuf:"varint,6,opt,name=controllerAPIVersion,proto3" json:"controllerAPIVersion,omitempty"` + ControllerAPIMinVersion int64 `protobuf:"varint,7,opt,name=controllerAPIMinVersion,proto3" json:"controllerAPIMinVersion,omitempty"` + DataFormatVersion int64 `protobuf:"varint,8,opt,name=dataFormatVersion,proto3" json:"dataFormatVersion,omitempty"` + DataFormatMinVersion int64 `protobuf:"varint,9,opt,name=dataFormatMinVersion,proto3" json:"dataFormatMinVersion,omitempty"` +} + +func (x *VersionOutput) Reset() { + *x = VersionOutput{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VersionOutput) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VersionOutput) ProtoMessage() {} + +func (x *VersionOutput) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VersionOutput.ProtoReflect.Descriptor instead. +func (*VersionOutput) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{18} +} + +func (x *VersionOutput) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *VersionOutput) GetGitCommit() string { + if x != nil { + return x.GitCommit + } + return "" +} + +func (x *VersionOutput) GetBuildDate() string { + if x != nil { + return x.BuildDate + } + return "" +} + +func (x *VersionOutput) GetCliAPIVersion() int64 { + if x != nil { + return x.CliAPIVersion + } + return 0 +} + +func (x *VersionOutput) GetCliAPIMinVersion() int64 { + if x != nil { + return x.CliAPIMinVersion + } + return 0 +} + +func (x *VersionOutput) GetControllerAPIVersion() int64 { + if x != nil { + return x.ControllerAPIVersion + } + return 0 +} + +func (x *VersionOutput) GetControllerAPIMinVersion() int64 { + if x != nil { + return x.ControllerAPIMinVersion + } + return 0 +} + +func (x *VersionOutput) GetDataFormatVersion() int64 { + if x != nil { + return x.DataFormatVersion + } + return 0 +} + +func (x *VersionOutput) GetDataFormatMinVersion() int64 { + if x != nil { + return x.DataFormatMinVersion + } + return 0 +} + +type VersionDetailGetReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version *VersionOutput `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *VersionDetailGetReply) Reset() { + *x = VersionDetailGetReply{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VersionDetailGetReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VersionDetailGetReply) ProtoMessage() {} + +func (x *VersionDetailGetReply) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VersionDetailGetReply.ProtoReflect.Descriptor instead. +func (*VersionDetailGetReply) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{19} +} + +func (x *VersionDetailGetReply) GetVersion() *VersionOutput { + if x != nil { + return x.Version + } + return nil +} + +type Metrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReadThroughput uint64 `protobuf:"varint,1,opt,name=readThroughput,proto3" json:"readThroughput,omitempty"` + WriteThroughput uint64 `protobuf:"varint,2,opt,name=writeThroughput,proto3" json:"writeThroughput,omitempty"` + ReadLatency uint64 `protobuf:"varint,3,opt,name=readLatency,proto3" json:"readLatency,omitempty"` + WriteLatency uint64 `protobuf:"varint,4,opt,name=writeLatency,proto3" json:"writeLatency,omitempty"` + ReadIOPS uint64 `protobuf:"varint,5,opt,name=readIOPS,proto3" json:"readIOPS,omitempty"` + WriteIOPS uint64 `protobuf:"varint,6,opt,name=writeIOPS,proto3" json:"writeIOPS,omitempty"` +} + +func (x *Metrics) Reset() { + *x = Metrics{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Metrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Metrics) ProtoMessage() {} + +func (x *Metrics) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Metrics.ProtoReflect.Descriptor instead. +func (*Metrics) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{20} +} + +func (x *Metrics) GetReadThroughput() uint64 { + if x != nil { + return x.ReadThroughput + } + return 0 +} + +func (x *Metrics) GetWriteThroughput() uint64 { + if x != nil { + return x.WriteThroughput + } + return 0 +} + +func (x *Metrics) GetReadLatency() uint64 { + if x != nil { + return x.ReadLatency + } + return 0 +} + +func (x *Metrics) GetWriteLatency() uint64 { + if x != nil { + return x.WriteLatency + } + return 0 +} + +func (x *Metrics) GetReadIOPS() uint64 { + if x != nil { + return x.ReadIOPS + } + return 0 +} + +func (x *Metrics) GetWriteIOPS() uint64 { + if x != nil { + return x.WriteIOPS + } + return 0 +} + +type MetricsGetReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Metrics *Metrics `protobuf:"bytes,1,opt,name=metrics,proto3" json:"metrics,omitempty"` +} + +func (x *MetricsGetReply) Reset() { + *x = MetricsGetReply{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetricsGetReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetricsGetReply) ProtoMessage() {} + +func (x *MetricsGetReply) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_controller_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MetricsGetReply.ProtoReflect.Descriptor instead. +func (*MetricsGetReply) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_controller_proto_rawDescGZIP(), []int{21} +} + +func (x *MetricsGetReply) GetMetrics() *Metrics { + if x != nil { + return x.Metrics + } + return nil +} + +var File_pkg_enginerpc_controller_proto protoreflect.FileDescriptor + +var file_pkg_enginerpc_controller_proto_rawDesc = []byte{ + 0x0a, 0x1e, 0x70, 0x6b, 0x67, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x0d, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x1a, + 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x70, 0x6b, + 0x67, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x03, 0x0a, 0x06, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, + 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, + 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x72, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x69, 0x73, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, + 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6c, + 0x61, 0x73, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x12, 0x37, 0x0a, 0x18, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, 0x74, 0x12, 0x40, 0x0a, 0x1d, 0x75, 0x6e, + 0x6d, 0x61, 0x70, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x19, 0x75, 0x6e, 0x6d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x53, 0x6e, 0x61, 0x70, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, + 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x4e, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x7c, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x12, 0x37, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, + 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, + 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x76, 0x0a, 0x12, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xb0, 0x01, 0x0a, + 0x15, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x29, 0x0a, 0x13, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x29, 0x0a, 0x13, 0x56, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x29, 0x0a, 0x13, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, + 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x22, 0x38, 0x0a, 0x1a, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x22, 0x45, 0x0a, 0x29, 0x56, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x53, 0x6e, 0x61, + 0x70, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x22, 0x38, 0x0a, 0x20, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x35, 0x0a, 0x1f, 0x56, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, + 0x53, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, + 0x7a, 0x65, 0x22, 0x41, 0x0a, 0x1b, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x70, + 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x64, 0x22, 0x46, 0x0a, 0x1a, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x46, + 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x22, 0x50, 0x0a, + 0x10, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x22, + 0x97, 0x01, 0x0a, 0x1e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2b, 0x0a, 0x11, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x6f, 0x64, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4d, + 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x1a, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3a, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x07, 0x72, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x69, 0x6c, + 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, + 0x73, 0x79, 0x6e, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, + 0x22, 0x2a, 0x0a, 0x12, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x87, 0x03, 0x0a, + 0x0d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x69, 0x74, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x69, 0x74, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x44, + 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x44, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x41, 0x50, 0x49, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6c, 0x69, + 0x41, 0x50, 0x49, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6c, + 0x69, 0x41, 0x50, 0x49, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 0x6c, 0x69, 0x41, 0x50, 0x49, 0x4d, 0x69, 0x6e, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x41, 0x50, 0x49, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, + 0x41, 0x50, 0x49, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x17, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x41, 0x50, 0x49, 0x4d, 0x69, 0x6e, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x41, 0x50, 0x49, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x11, 0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x14, 0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4d, 0x69, 0x6e, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x4f, 0x0a, 0x15, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x36, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, + 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xdb, 0x01, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x54, 0x68, 0x72, 0x6f, 0x75, + 0x67, 0x68, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x72, 0x65, 0x61, + 0x64, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x75, + 0x67, 0x68, 0x70, 0x75, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x61, 0x74, + 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, + 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, + 0x65, 0x61, 0x64, 0x49, 0x4f, 0x50, 0x53, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, + 0x65, 0x61, 0x64, 0x49, 0x4f, 0x50, 0x53, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x49, 0x4f, 0x50, 0x53, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x49, 0x4f, 0x50, 0x53, 0x22, 0x43, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 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, 0xea, 0x0d, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x56, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 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, 0x15, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x12, 0x21, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x3f, 0x0a, + 0x0e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 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, 0x15, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x5a, + 0x0a, 0x0e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x12, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, + 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x49, 0x0a, 0x0c, 0x56, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x12, 0x22, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0c, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, + 0x78, 0x70, 0x61, 0x6e, 0x64, 0x12, 0x22, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x61, + 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x12, 0x57, 0x0a, 0x13, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x29, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x46, 0x72, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, + 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x16, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x53, 0x68, 0x75, 0x74, 0x64, + 0x6f, 0x77, 0x6e, 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, 0x15, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x12, 0x75, 0x0a, 0x22, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x55, 0x6e, 0x6d, 0x61, + 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x53, 0x6e, 0x61, 0x70, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x53, 0x65, 0x74, 0x12, 0x38, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x55, + 0x6e, 0x6d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x53, 0x6e, 0x61, 0x70, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, + 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x63, 0x0a, 0x19, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x12, 0x2f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x61, + 0x0a, 0x18, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x74, 0x12, 0x2e, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x12, 0x46, 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, 0x1f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x4d, 0x0a, 0x0a, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x47, 0x65, 0x74, 0x12, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x12, 0x6a, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, + 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x12, 0x46, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 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, 0x53, 0x0a, 0x0d, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x20, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x1a, + 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x12, 0x61, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x50, 0x72, 0x65, 0x70, + 0x61, 0x72, 0x65, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x1d, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x29, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x12, 0x57, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x1d, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x20, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x12, 0x48, 0x0a, + 0x0b, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x4a, 0x6f, 0x75, + 0x72, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x73, 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, 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, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 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, 0x12, 0x44, 0x0a, 0x0a, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 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, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42, + 0x29, 0x5a, 0x27, 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, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_pkg_enginerpc_controller_proto_rawDescOnce sync.Once + file_pkg_enginerpc_controller_proto_rawDescData = file_pkg_enginerpc_controller_proto_rawDesc +) + +func file_pkg_enginerpc_controller_proto_rawDescGZIP() []byte { + file_pkg_enginerpc_controller_proto_rawDescOnce.Do(func() { + file_pkg_enginerpc_controller_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_enginerpc_controller_proto_rawDescData) + }) + return file_pkg_enginerpc_controller_proto_rawDescData +} + +var file_pkg_enginerpc_controller_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_pkg_enginerpc_controller_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_pkg_enginerpc_controller_proto_goTypes = []interface{}{ + (ReplicaMode)(0), // 0: pkg.enginerpc.ReplicaMode + (*Volume)(nil), // 1: pkg.enginerpc.Volume + (*ReplicaAddress)(nil), // 2: pkg.enginerpc.ReplicaAddress + (*ControllerReplica)(nil), // 3: pkg.enginerpc.ControllerReplica + (*VolumeStartRequest)(nil), // 4: pkg.enginerpc.VolumeStartRequest + (*VolumeSnapshotRequest)(nil), // 5: pkg.enginerpc.VolumeSnapshotRequest + (*VolumeSnapshotReply)(nil), // 6: pkg.enginerpc.VolumeSnapshotReply + (*VolumeRevertRequest)(nil), // 7: pkg.enginerpc.VolumeRevertRequest + (*VolumeExpandRequest)(nil), // 8: pkg.enginerpc.VolumeExpandRequest + (*VolumeFrontendStartRequest)(nil), // 9: pkg.enginerpc.VolumeFrontendStartRequest + (*VolumeUnmapMarkSnapChainRemovedSetRequest)(nil), // 10: pkg.enginerpc.VolumeUnmapMarkSnapChainRemovedSetRequest + (*VolumeSnapshotMaxCountSetRequest)(nil), // 11: pkg.enginerpc.VolumeSnapshotMaxCountSetRequest + (*VolumeSnapshotMaxSizeSetRequest)(nil), // 12: pkg.enginerpc.VolumeSnapshotMaxSizeSetRequest + (*VolumePrepareRestoreRequest)(nil), // 13: pkg.enginerpc.VolumePrepareRestoreRequest + (*VolumeFinishRestoreRequest)(nil), // 14: pkg.enginerpc.VolumeFinishRestoreRequest + (*ReplicaListReply)(nil), // 15: pkg.enginerpc.ReplicaListReply + (*ControllerReplicaCreateRequest)(nil), // 16: pkg.enginerpc.ControllerReplicaCreateRequest + (*ReplicaPrepareRebuildReply)(nil), // 17: pkg.enginerpc.ReplicaPrepareRebuildReply + (*JournalListRequest)(nil), // 18: pkg.enginerpc.JournalListRequest + (*VersionOutput)(nil), // 19: pkg.enginerpc.VersionOutput + (*VersionDetailGetReply)(nil), // 20: pkg.enginerpc.VersionDetailGetReply + (*Metrics)(nil), // 21: pkg.enginerpc.Metrics + (*MetricsGetReply)(nil), // 22: pkg.enginerpc.MetricsGetReply + nil, // 23: pkg.enginerpc.VolumeSnapshotRequest.LabelsEntry + (*SyncFileInfo)(nil), // 24: pkg.enginerpc.SyncFileInfo + (*emptypb.Empty)(nil), // 25: google.protobuf.Empty +} +var file_pkg_enginerpc_controller_proto_depIdxs = []int32{ + 2, // 0: pkg.enginerpc.ControllerReplica.address:type_name -> pkg.enginerpc.ReplicaAddress + 0, // 1: pkg.enginerpc.ControllerReplica.mode:type_name -> pkg.enginerpc.ReplicaMode + 23, // 2: pkg.enginerpc.VolumeSnapshotRequest.labels:type_name -> pkg.enginerpc.VolumeSnapshotRequest.LabelsEntry + 3, // 3: pkg.enginerpc.ReplicaListReply.replicas:type_name -> pkg.enginerpc.ControllerReplica + 0, // 4: pkg.enginerpc.ControllerReplicaCreateRequest.mode:type_name -> pkg.enginerpc.ReplicaMode + 3, // 5: pkg.enginerpc.ReplicaPrepareRebuildReply.replica:type_name -> pkg.enginerpc.ControllerReplica + 24, // 6: pkg.enginerpc.ReplicaPrepareRebuildReply.sync_file_info_list:type_name -> pkg.enginerpc.SyncFileInfo + 19, // 7: pkg.enginerpc.VersionDetailGetReply.version:type_name -> pkg.enginerpc.VersionOutput + 21, // 8: pkg.enginerpc.MetricsGetReply.metrics:type_name -> pkg.enginerpc.Metrics + 25, // 9: pkg.enginerpc.ControllerService.VolumeGet:input_type -> google.protobuf.Empty + 4, // 10: pkg.enginerpc.ControllerService.VolumeStart:input_type -> pkg.enginerpc.VolumeStartRequest + 25, // 11: pkg.enginerpc.ControllerService.VolumeShutdown:input_type -> google.protobuf.Empty + 5, // 12: pkg.enginerpc.ControllerService.VolumeSnapshot:input_type -> pkg.enginerpc.VolumeSnapshotRequest + 7, // 13: pkg.enginerpc.ControllerService.VolumeRevert:input_type -> pkg.enginerpc.VolumeRevertRequest + 8, // 14: pkg.enginerpc.ControllerService.VolumeExpand:input_type -> pkg.enginerpc.VolumeExpandRequest + 9, // 15: pkg.enginerpc.ControllerService.VolumeFrontendStart:input_type -> pkg.enginerpc.VolumeFrontendStartRequest + 25, // 16: pkg.enginerpc.ControllerService.VolumeFrontendShutdown:input_type -> google.protobuf.Empty + 10, // 17: pkg.enginerpc.ControllerService.VolumeUnmapMarkSnapChainRemovedSet:input_type -> pkg.enginerpc.VolumeUnmapMarkSnapChainRemovedSetRequest + 11, // 18: pkg.enginerpc.ControllerService.VolumeSnapshotMaxCountSet:input_type -> pkg.enginerpc.VolumeSnapshotMaxCountSetRequest + 12, // 19: pkg.enginerpc.ControllerService.VolumeSnapshotMaxSizeSet:input_type -> pkg.enginerpc.VolumeSnapshotMaxSizeSetRequest + 25, // 20: pkg.enginerpc.ControllerService.ReplicaList:input_type -> google.protobuf.Empty + 2, // 21: pkg.enginerpc.ControllerService.ReplicaGet:input_type -> pkg.enginerpc.ReplicaAddress + 16, // 22: pkg.enginerpc.ControllerService.ControllerReplicaCreate:input_type -> pkg.enginerpc.ControllerReplicaCreateRequest + 2, // 23: pkg.enginerpc.ControllerService.ReplicaDelete:input_type -> pkg.enginerpc.ReplicaAddress + 3, // 24: pkg.enginerpc.ControllerService.ReplicaUpdate:input_type -> pkg.enginerpc.ControllerReplica + 2, // 25: pkg.enginerpc.ControllerService.ReplicaPrepareRebuild:input_type -> pkg.enginerpc.ReplicaAddress + 2, // 26: pkg.enginerpc.ControllerService.ReplicaVerifyRebuild:input_type -> pkg.enginerpc.ReplicaAddress + 18, // 27: pkg.enginerpc.ControllerService.JournalList:input_type -> pkg.enginerpc.JournalListRequest + 25, // 28: pkg.enginerpc.ControllerService.VersionDetailGet:input_type -> google.protobuf.Empty + 25, // 29: pkg.enginerpc.ControllerService.MetricsGet:input_type -> google.protobuf.Empty + 1, // 30: pkg.enginerpc.ControllerService.VolumeGet:output_type -> pkg.enginerpc.Volume + 1, // 31: pkg.enginerpc.ControllerService.VolumeStart:output_type -> pkg.enginerpc.Volume + 1, // 32: pkg.enginerpc.ControllerService.VolumeShutdown:output_type -> pkg.enginerpc.Volume + 6, // 33: pkg.enginerpc.ControllerService.VolumeSnapshot:output_type -> pkg.enginerpc.VolumeSnapshotReply + 1, // 34: pkg.enginerpc.ControllerService.VolumeRevert:output_type -> pkg.enginerpc.Volume + 1, // 35: pkg.enginerpc.ControllerService.VolumeExpand:output_type -> pkg.enginerpc.Volume + 1, // 36: pkg.enginerpc.ControllerService.VolumeFrontendStart:output_type -> pkg.enginerpc.Volume + 1, // 37: pkg.enginerpc.ControllerService.VolumeFrontendShutdown:output_type -> pkg.enginerpc.Volume + 1, // 38: pkg.enginerpc.ControllerService.VolumeUnmapMarkSnapChainRemovedSet:output_type -> pkg.enginerpc.Volume + 1, // 39: pkg.enginerpc.ControllerService.VolumeSnapshotMaxCountSet:output_type -> pkg.enginerpc.Volume + 1, // 40: pkg.enginerpc.ControllerService.VolumeSnapshotMaxSizeSet:output_type -> pkg.enginerpc.Volume + 15, // 41: pkg.enginerpc.ControllerService.ReplicaList:output_type -> pkg.enginerpc.ReplicaListReply + 3, // 42: pkg.enginerpc.ControllerService.ReplicaGet:output_type -> pkg.enginerpc.ControllerReplica + 3, // 43: pkg.enginerpc.ControllerService.ControllerReplicaCreate:output_type -> pkg.enginerpc.ControllerReplica + 25, // 44: pkg.enginerpc.ControllerService.ReplicaDelete:output_type -> google.protobuf.Empty + 3, // 45: pkg.enginerpc.ControllerService.ReplicaUpdate:output_type -> pkg.enginerpc.ControllerReplica + 17, // 46: pkg.enginerpc.ControllerService.ReplicaPrepareRebuild:output_type -> pkg.enginerpc.ReplicaPrepareRebuildReply + 3, // 47: pkg.enginerpc.ControllerService.ReplicaVerifyRebuild:output_type -> pkg.enginerpc.ControllerReplica + 25, // 48: pkg.enginerpc.ControllerService.JournalList:output_type -> google.protobuf.Empty + 20, // 49: pkg.enginerpc.ControllerService.VersionDetailGet:output_type -> pkg.enginerpc.VersionDetailGetReply + 22, // 50: pkg.enginerpc.ControllerService.MetricsGet:output_type -> pkg.enginerpc.MetricsGetReply + 30, // [30:51] is the sub-list for method output_type + 9, // [9:30] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { file_pkg_enginerpc_controller_proto_init() } +func file_pkg_enginerpc_controller_proto_init() { + if File_pkg_enginerpc_controller_proto != nil { + return + } + file_pkg_enginerpc_common_proto_init() + if !protoimpl.UnsafeEnabled { + file_pkg_enginerpc_controller_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Volume); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaAddress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ControllerReplica); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VolumeStartRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VolumeSnapshotRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VolumeSnapshotReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VolumeRevertRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VolumeExpandRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VolumeFrontendStartRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VolumeUnmapMarkSnapChainRemovedSetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VolumeSnapshotMaxCountSetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VolumeSnapshotMaxSizeSetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VolumePrepareRestoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VolumeFinishRestoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaListReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ControllerReplicaCreateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaPrepareRebuildReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JournalListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VersionOutput); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VersionDetailGetReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Metrics); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_controller_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricsGetReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_enginerpc_controller_proto_rawDesc, + NumEnums: 1, + NumMessages: 23, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_pkg_enginerpc_controller_proto_goTypes, + DependencyIndexes: file_pkg_enginerpc_controller_proto_depIdxs, + EnumInfos: file_pkg_enginerpc_controller_proto_enumTypes, + MessageInfos: file_pkg_enginerpc_controller_proto_msgTypes, + }.Build() + File_pkg_enginerpc_controller_proto = out.File + file_pkg_enginerpc_controller_proto_rawDesc = nil + file_pkg_enginerpc_controller_proto_goTypes = nil + file_pkg_enginerpc_controller_proto_depIdxs = nil +} diff --git a/pkg/enginerpc/controller.proto b/pkg/enginerpc/controller.proto new file mode 100644 index 0000000..0b53b4f --- /dev/null +++ b/pkg/enginerpc/controller.proto @@ -0,0 +1,165 @@ +syntax="proto3"; + +package pkg.enginerpc; + +option go_package = "github.com/longhorn/types/pkg/enginerpc"; + +import "google/protobuf/empty.proto"; +import "pkg/enginerpc/common.proto"; + +service ControllerService { + rpc VolumeGet(google.protobuf.Empty) returns (Volume); + rpc VolumeStart(VolumeStartRequest) returns (Volume); + rpc VolumeShutdown(google.protobuf.Empty) returns (Volume); + rpc VolumeSnapshot(VolumeSnapshotRequest) returns (VolumeSnapshotReply); + rpc VolumeRevert(VolumeRevertRequest) returns (Volume); + rpc VolumeExpand(VolumeExpandRequest) returns (Volume); + rpc VolumeFrontendStart(VolumeFrontendStartRequest) returns (Volume); + rpc VolumeFrontendShutdown(google.protobuf.Empty) returns (Volume); + rpc VolumeUnmapMarkSnapChainRemovedSet(VolumeUnmapMarkSnapChainRemovedSetRequest) returns (Volume); + rpc VolumeSnapshotMaxCountSet(VolumeSnapshotMaxCountSetRequest) returns (Volume); + rpc VolumeSnapshotMaxSizeSet(VolumeSnapshotMaxSizeSetRequest) returns (Volume); + + rpc ReplicaList(google.protobuf.Empty) returns (ReplicaListReply); + rpc ReplicaGet(ReplicaAddress) returns (ControllerReplica); + rpc ControllerReplicaCreate(ControllerReplicaCreateRequest) returns (ControllerReplica); + rpc ReplicaDelete(ReplicaAddress) returns (google.protobuf.Empty); + rpc ReplicaUpdate(ControllerReplica) returns (ControllerReplica); + rpc ReplicaPrepareRebuild(ReplicaAddress) returns (ReplicaPrepareRebuildReply); + rpc ReplicaVerifyRebuild(ReplicaAddress) returns (ControllerReplica); + + rpc JournalList(JournalListRequest) returns (google.protobuf.Empty); + + rpc VersionDetailGet(google.protobuf.Empty) returns(VersionDetailGetReply); + + rpc MetricsGet(google.protobuf.Empty) returns(MetricsGetReply); +} + +message Volume { + string name = 1; + int64 size = 2; + int32 replicaCount = 3; + string endpoint = 4; + string frontend = 5; + string frontendState = 6; + bool isExpanding = 7; + + string last_expansion_error = 8; + string last_expansion_failed_at = 9; + + bool unmap_mark_snap_chain_removed = 10; + int32 snapshot_max_count = 11; + int64 snapshot_max_size = 12; +} + +message ReplicaAddress { + string address = 1; + string instanceName = 2; +} + +enum ReplicaMode { + WO = 0; + RW = 1; + ERR = 2; +} + +message ControllerReplica { + ReplicaAddress address = 1; + ReplicaMode mode = 2; +} + +message VolumeStartRequest { + repeated string replicaAddresses = 1; + int64 size = 2; + int64 currentSize = 3; +} + +message VolumeSnapshotRequest { + string name = 1; + map labels = 2; +} + +message VolumeSnapshotReply { + string name = 1; +} + +message VolumeRevertRequest { + string name = 1; +} + +message VolumeExpandRequest { + int64 size = 1; +} + +message VolumeFrontendStartRequest { + string frontend = 1; +} + +message VolumeUnmapMarkSnapChainRemovedSetRequest { + bool enabled = 1; +} + +message VolumeSnapshotMaxCountSetRequest { + int32 count = 1; +} + +message VolumeSnapshotMaxSizeSetRequest { + int64 size = 1; +} + +message VolumePrepareRestoreRequest { + string lastRestored = 1; +} + +message VolumeFinishRestoreRequest { + string currentRestored = 1; +} + +message ReplicaListReply { + repeated ControllerReplica replicas = 1; +} + +message ControllerReplicaCreateRequest { + string address = 1; + bool snapshot_required = 2; + ReplicaMode mode = 3; +} + +message ReplicaPrepareRebuildReply { + ControllerReplica replica = 1; + repeated SyncFileInfo sync_file_info_list = 2; +} + +message JournalListRequest { + int64 limit = 1; +} + +message VersionOutput { + string version = 1; + string gitCommit = 2; + string buildDate = 3; + + int64 cliAPIVersion = 4; + int64 cliAPIMinVersion = 5; + int64 controllerAPIVersion = 6; + int64 controllerAPIMinVersion = 7; + int64 dataFormatVersion = 8; + int64 dataFormatMinVersion = 9; +} + +message VersionDetailGetReply { + VersionOutput version = 1; +} + +message Metrics { + uint64 readThroughput = 1; + uint64 writeThroughput = 2; + uint64 readLatency = 3; + uint64 writeLatency = 4; + uint64 readIOPS = 5; + uint64 writeIOPS = 6; +} + +message MetricsGetReply { + Metrics metrics = 1; +} diff --git a/pkg/enginerpc/controller_grpc.pb.go b/pkg/enginerpc/controller_grpc.pb.go new file mode 100644 index 0000000..85bcd28 --- /dev/null +++ b/pkg/enginerpc/controller_grpc.pb.go @@ -0,0 +1,850 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.24.3 +// source: pkg/enginerpc/controller.proto + +package enginerpc + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + ControllerService_VolumeGet_FullMethodName = "/pkg.enginerpc.ControllerService/VolumeGet" + ControllerService_VolumeStart_FullMethodName = "/pkg.enginerpc.ControllerService/VolumeStart" + ControllerService_VolumeShutdown_FullMethodName = "/pkg.enginerpc.ControllerService/VolumeShutdown" + ControllerService_VolumeSnapshot_FullMethodName = "/pkg.enginerpc.ControllerService/VolumeSnapshot" + ControllerService_VolumeRevert_FullMethodName = "/pkg.enginerpc.ControllerService/VolumeRevert" + ControllerService_VolumeExpand_FullMethodName = "/pkg.enginerpc.ControllerService/VolumeExpand" + ControllerService_VolumeFrontendStart_FullMethodName = "/pkg.enginerpc.ControllerService/VolumeFrontendStart" + ControllerService_VolumeFrontendShutdown_FullMethodName = "/pkg.enginerpc.ControllerService/VolumeFrontendShutdown" + ControllerService_VolumeUnmapMarkSnapChainRemovedSet_FullMethodName = "/pkg.enginerpc.ControllerService/VolumeUnmapMarkSnapChainRemovedSet" + ControllerService_VolumeSnapshotMaxCountSet_FullMethodName = "/pkg.enginerpc.ControllerService/VolumeSnapshotMaxCountSet" + ControllerService_VolumeSnapshotMaxSizeSet_FullMethodName = "/pkg.enginerpc.ControllerService/VolumeSnapshotMaxSizeSet" + ControllerService_ReplicaList_FullMethodName = "/pkg.enginerpc.ControllerService/ReplicaList" + ControllerService_ReplicaGet_FullMethodName = "/pkg.enginerpc.ControllerService/ReplicaGet" + ControllerService_ControllerReplicaCreate_FullMethodName = "/pkg.enginerpc.ControllerService/ControllerReplicaCreate" + ControllerService_ReplicaDelete_FullMethodName = "/pkg.enginerpc.ControllerService/ReplicaDelete" + ControllerService_ReplicaUpdate_FullMethodName = "/pkg.enginerpc.ControllerService/ReplicaUpdate" + ControllerService_ReplicaPrepareRebuild_FullMethodName = "/pkg.enginerpc.ControllerService/ReplicaPrepareRebuild" + ControllerService_ReplicaVerifyRebuild_FullMethodName = "/pkg.enginerpc.ControllerService/ReplicaVerifyRebuild" + ControllerService_JournalList_FullMethodName = "/pkg.enginerpc.ControllerService/JournalList" + ControllerService_VersionDetailGet_FullMethodName = "/pkg.enginerpc.ControllerService/VersionDetailGet" + ControllerService_MetricsGet_FullMethodName = "/pkg.enginerpc.ControllerService/MetricsGet" +) + +// ControllerServiceClient is the client API for ControllerService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ControllerServiceClient interface { + VolumeGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Volume, error) + VolumeStart(ctx context.Context, in *VolumeStartRequest, opts ...grpc.CallOption) (*Volume, error) + VolumeShutdown(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Volume, error) + VolumeSnapshot(ctx context.Context, in *VolumeSnapshotRequest, opts ...grpc.CallOption) (*VolumeSnapshotReply, error) + VolumeRevert(ctx context.Context, in *VolumeRevertRequest, opts ...grpc.CallOption) (*Volume, error) + VolumeExpand(ctx context.Context, in *VolumeExpandRequest, opts ...grpc.CallOption) (*Volume, error) + VolumeFrontendStart(ctx context.Context, in *VolumeFrontendStartRequest, opts ...grpc.CallOption) (*Volume, error) + VolumeFrontendShutdown(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Volume, error) + VolumeUnmapMarkSnapChainRemovedSet(ctx context.Context, in *VolumeUnmapMarkSnapChainRemovedSetRequest, opts ...grpc.CallOption) (*Volume, error) + VolumeSnapshotMaxCountSet(ctx context.Context, in *VolumeSnapshotMaxCountSetRequest, opts ...grpc.CallOption) (*Volume, error) + VolumeSnapshotMaxSizeSet(ctx context.Context, in *VolumeSnapshotMaxSizeSetRequest, opts ...grpc.CallOption) (*Volume, error) + ReplicaList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ReplicaListReply, error) + ReplicaGet(ctx context.Context, in *ReplicaAddress, opts ...grpc.CallOption) (*ControllerReplica, error) + ControllerReplicaCreate(ctx context.Context, in *ControllerReplicaCreateRequest, opts ...grpc.CallOption) (*ControllerReplica, error) + ReplicaDelete(ctx context.Context, in *ReplicaAddress, opts ...grpc.CallOption) (*emptypb.Empty, error) + ReplicaUpdate(ctx context.Context, in *ControllerReplica, opts ...grpc.CallOption) (*ControllerReplica, error) + ReplicaPrepareRebuild(ctx context.Context, in *ReplicaAddress, opts ...grpc.CallOption) (*ReplicaPrepareRebuildReply, error) + ReplicaVerifyRebuild(ctx context.Context, in *ReplicaAddress, opts ...grpc.CallOption) (*ControllerReplica, error) + JournalList(ctx context.Context, in *JournalListRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + VersionDetailGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*VersionDetailGetReply, error) + MetricsGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*MetricsGetReply, error) +} + +type controllerServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewControllerServiceClient(cc grpc.ClientConnInterface) ControllerServiceClient { + return &controllerServiceClient{cc} +} + +func (c *controllerServiceClient) VolumeGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Volume, error) { + out := new(Volume) + err := c.cc.Invoke(ctx, ControllerService_VolumeGet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) VolumeStart(ctx context.Context, in *VolumeStartRequest, opts ...grpc.CallOption) (*Volume, error) { + out := new(Volume) + err := c.cc.Invoke(ctx, ControllerService_VolumeStart_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) VolumeShutdown(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Volume, error) { + out := new(Volume) + err := c.cc.Invoke(ctx, ControllerService_VolumeShutdown_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) VolumeSnapshot(ctx context.Context, in *VolumeSnapshotRequest, opts ...grpc.CallOption) (*VolumeSnapshotReply, error) { + out := new(VolumeSnapshotReply) + err := c.cc.Invoke(ctx, ControllerService_VolumeSnapshot_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) VolumeRevert(ctx context.Context, in *VolumeRevertRequest, opts ...grpc.CallOption) (*Volume, error) { + out := new(Volume) + err := c.cc.Invoke(ctx, ControllerService_VolumeRevert_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) VolumeExpand(ctx context.Context, in *VolumeExpandRequest, opts ...grpc.CallOption) (*Volume, error) { + out := new(Volume) + err := c.cc.Invoke(ctx, ControllerService_VolumeExpand_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) VolumeFrontendStart(ctx context.Context, in *VolumeFrontendStartRequest, opts ...grpc.CallOption) (*Volume, error) { + out := new(Volume) + err := c.cc.Invoke(ctx, ControllerService_VolumeFrontendStart_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) VolumeFrontendShutdown(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Volume, error) { + out := new(Volume) + err := c.cc.Invoke(ctx, ControllerService_VolumeFrontendShutdown_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) VolumeUnmapMarkSnapChainRemovedSet(ctx context.Context, in *VolumeUnmapMarkSnapChainRemovedSetRequest, opts ...grpc.CallOption) (*Volume, error) { + out := new(Volume) + err := c.cc.Invoke(ctx, ControllerService_VolumeUnmapMarkSnapChainRemovedSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) VolumeSnapshotMaxCountSet(ctx context.Context, in *VolumeSnapshotMaxCountSetRequest, opts ...grpc.CallOption) (*Volume, error) { + out := new(Volume) + err := c.cc.Invoke(ctx, ControllerService_VolumeSnapshotMaxCountSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) VolumeSnapshotMaxSizeSet(ctx context.Context, in *VolumeSnapshotMaxSizeSetRequest, opts ...grpc.CallOption) (*Volume, error) { + out := new(Volume) + err := c.cc.Invoke(ctx, ControllerService_VolumeSnapshotMaxSizeSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) ReplicaList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ReplicaListReply, error) { + out := new(ReplicaListReply) + err := c.cc.Invoke(ctx, ControllerService_ReplicaList_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) ReplicaGet(ctx context.Context, in *ReplicaAddress, opts ...grpc.CallOption) (*ControllerReplica, error) { + out := new(ControllerReplica) + err := c.cc.Invoke(ctx, ControllerService_ReplicaGet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) ControllerReplicaCreate(ctx context.Context, in *ControllerReplicaCreateRequest, opts ...grpc.CallOption) (*ControllerReplica, error) { + out := new(ControllerReplica) + err := c.cc.Invoke(ctx, ControllerService_ControllerReplicaCreate_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) ReplicaDelete(ctx context.Context, in *ReplicaAddress, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ControllerService_ReplicaDelete_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) ReplicaUpdate(ctx context.Context, in *ControllerReplica, opts ...grpc.CallOption) (*ControllerReplica, error) { + out := new(ControllerReplica) + err := c.cc.Invoke(ctx, ControllerService_ReplicaUpdate_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) ReplicaPrepareRebuild(ctx context.Context, in *ReplicaAddress, opts ...grpc.CallOption) (*ReplicaPrepareRebuildReply, error) { + out := new(ReplicaPrepareRebuildReply) + err := c.cc.Invoke(ctx, ControllerService_ReplicaPrepareRebuild_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) ReplicaVerifyRebuild(ctx context.Context, in *ReplicaAddress, opts ...grpc.CallOption) (*ControllerReplica, error) { + out := new(ControllerReplica) + err := c.cc.Invoke(ctx, ControllerService_ReplicaVerifyRebuild_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) JournalList(ctx context.Context, in *JournalListRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ControllerService_JournalList_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) VersionDetailGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*VersionDetailGetReply, error) { + out := new(VersionDetailGetReply) + err := c.cc.Invoke(ctx, ControllerService_VersionDetailGet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *controllerServiceClient) MetricsGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*MetricsGetReply, error) { + out := new(MetricsGetReply) + err := c.cc.Invoke(ctx, ControllerService_MetricsGet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ControllerServiceServer is the server API for ControllerService service. +// All implementations must embed UnimplementedControllerServiceServer +// for forward compatibility +type ControllerServiceServer interface { + VolumeGet(context.Context, *emptypb.Empty) (*Volume, error) + VolumeStart(context.Context, *VolumeStartRequest) (*Volume, error) + VolumeShutdown(context.Context, *emptypb.Empty) (*Volume, error) + VolumeSnapshot(context.Context, *VolumeSnapshotRequest) (*VolumeSnapshotReply, error) + VolumeRevert(context.Context, *VolumeRevertRequest) (*Volume, error) + VolumeExpand(context.Context, *VolumeExpandRequest) (*Volume, error) + VolumeFrontendStart(context.Context, *VolumeFrontendStartRequest) (*Volume, error) + VolumeFrontendShutdown(context.Context, *emptypb.Empty) (*Volume, error) + VolumeUnmapMarkSnapChainRemovedSet(context.Context, *VolumeUnmapMarkSnapChainRemovedSetRequest) (*Volume, error) + VolumeSnapshotMaxCountSet(context.Context, *VolumeSnapshotMaxCountSetRequest) (*Volume, error) + VolumeSnapshotMaxSizeSet(context.Context, *VolumeSnapshotMaxSizeSetRequest) (*Volume, error) + ReplicaList(context.Context, *emptypb.Empty) (*ReplicaListReply, error) + ReplicaGet(context.Context, *ReplicaAddress) (*ControllerReplica, error) + ControllerReplicaCreate(context.Context, *ControllerReplicaCreateRequest) (*ControllerReplica, error) + ReplicaDelete(context.Context, *ReplicaAddress) (*emptypb.Empty, error) + ReplicaUpdate(context.Context, *ControllerReplica) (*ControllerReplica, error) + ReplicaPrepareRebuild(context.Context, *ReplicaAddress) (*ReplicaPrepareRebuildReply, error) + ReplicaVerifyRebuild(context.Context, *ReplicaAddress) (*ControllerReplica, error) + JournalList(context.Context, *JournalListRequest) (*emptypb.Empty, error) + VersionDetailGet(context.Context, *emptypb.Empty) (*VersionDetailGetReply, error) + MetricsGet(context.Context, *emptypb.Empty) (*MetricsGetReply, error) + mustEmbedUnimplementedControllerServiceServer() +} + +// UnimplementedControllerServiceServer must be embedded to have forward compatible implementations. +type UnimplementedControllerServiceServer struct { +} + +func (UnimplementedControllerServiceServer) VolumeGet(context.Context, *emptypb.Empty) (*Volume, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeGet not implemented") +} +func (UnimplementedControllerServiceServer) VolumeStart(context.Context, *VolumeStartRequest) (*Volume, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeStart not implemented") +} +func (UnimplementedControllerServiceServer) VolumeShutdown(context.Context, *emptypb.Empty) (*Volume, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeShutdown not implemented") +} +func (UnimplementedControllerServiceServer) VolumeSnapshot(context.Context, *VolumeSnapshotRequest) (*VolumeSnapshotReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeSnapshot not implemented") +} +func (UnimplementedControllerServiceServer) VolumeRevert(context.Context, *VolumeRevertRequest) (*Volume, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeRevert not implemented") +} +func (UnimplementedControllerServiceServer) VolumeExpand(context.Context, *VolumeExpandRequest) (*Volume, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeExpand not implemented") +} +func (UnimplementedControllerServiceServer) VolumeFrontendStart(context.Context, *VolumeFrontendStartRequest) (*Volume, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeFrontendStart not implemented") +} +func (UnimplementedControllerServiceServer) VolumeFrontendShutdown(context.Context, *emptypb.Empty) (*Volume, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeFrontendShutdown not implemented") +} +func (UnimplementedControllerServiceServer) VolumeUnmapMarkSnapChainRemovedSet(context.Context, *VolumeUnmapMarkSnapChainRemovedSetRequest) (*Volume, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeUnmapMarkSnapChainRemovedSet not implemented") +} +func (UnimplementedControllerServiceServer) VolumeSnapshotMaxCountSet(context.Context, *VolumeSnapshotMaxCountSetRequest) (*Volume, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeSnapshotMaxCountSet not implemented") +} +func (UnimplementedControllerServiceServer) VolumeSnapshotMaxSizeSet(context.Context, *VolumeSnapshotMaxSizeSetRequest) (*Volume, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeSnapshotMaxSizeSet not implemented") +} +func (UnimplementedControllerServiceServer) ReplicaList(context.Context, *emptypb.Empty) (*ReplicaListReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaList not implemented") +} +func (UnimplementedControllerServiceServer) ReplicaGet(context.Context, *ReplicaAddress) (*ControllerReplica, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaGet not implemented") +} +func (UnimplementedControllerServiceServer) ControllerReplicaCreate(context.Context, *ControllerReplicaCreateRequest) (*ControllerReplica, error) { + return nil, status.Errorf(codes.Unimplemented, "method ControllerReplicaCreate not implemented") +} +func (UnimplementedControllerServiceServer) ReplicaDelete(context.Context, *ReplicaAddress) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaDelete not implemented") +} +func (UnimplementedControllerServiceServer) ReplicaUpdate(context.Context, *ControllerReplica) (*ControllerReplica, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaUpdate not implemented") +} +func (UnimplementedControllerServiceServer) ReplicaPrepareRebuild(context.Context, *ReplicaAddress) (*ReplicaPrepareRebuildReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaPrepareRebuild not implemented") +} +func (UnimplementedControllerServiceServer) ReplicaVerifyRebuild(context.Context, *ReplicaAddress) (*ControllerReplica, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaVerifyRebuild not implemented") +} +func (UnimplementedControllerServiceServer) JournalList(context.Context, *JournalListRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method JournalList not implemented") +} +func (UnimplementedControllerServiceServer) VersionDetailGet(context.Context, *emptypb.Empty) (*VersionDetailGetReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method VersionDetailGet not implemented") +} +func (UnimplementedControllerServiceServer) MetricsGet(context.Context, *emptypb.Empty) (*MetricsGetReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method MetricsGet not implemented") +} +func (UnimplementedControllerServiceServer) mustEmbedUnimplementedControllerServiceServer() {} + +// UnsafeControllerServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ControllerServiceServer will +// result in compilation errors. +type UnsafeControllerServiceServer interface { + mustEmbedUnimplementedControllerServiceServer() +} + +func RegisterControllerServiceServer(s grpc.ServiceRegistrar, srv ControllerServiceServer) { + s.RegisterService(&ControllerService_ServiceDesc, srv) +} + +func _ControllerService_VolumeGet_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 { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).VolumeGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_VolumeGet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).VolumeGet(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_VolumeStart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VolumeStartRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).VolumeStart(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_VolumeStart_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).VolumeStart(ctx, req.(*VolumeStartRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_VolumeShutdown_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 { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).VolumeShutdown(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_VolumeShutdown_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).VolumeShutdown(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_VolumeSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VolumeSnapshotRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).VolumeSnapshot(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_VolumeSnapshot_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).VolumeSnapshot(ctx, req.(*VolumeSnapshotRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_VolumeRevert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VolumeRevertRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).VolumeRevert(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_VolumeRevert_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).VolumeRevert(ctx, req.(*VolumeRevertRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_VolumeExpand_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VolumeExpandRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).VolumeExpand(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_VolumeExpand_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).VolumeExpand(ctx, req.(*VolumeExpandRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_VolumeFrontendStart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VolumeFrontendStartRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).VolumeFrontendStart(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_VolumeFrontendStart_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).VolumeFrontendStart(ctx, req.(*VolumeFrontendStartRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_VolumeFrontendShutdown_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 { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).VolumeFrontendShutdown(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_VolumeFrontendShutdown_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).VolumeFrontendShutdown(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_VolumeUnmapMarkSnapChainRemovedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VolumeUnmapMarkSnapChainRemovedSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).VolumeUnmapMarkSnapChainRemovedSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_VolumeUnmapMarkSnapChainRemovedSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).VolumeUnmapMarkSnapChainRemovedSet(ctx, req.(*VolumeUnmapMarkSnapChainRemovedSetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_VolumeSnapshotMaxCountSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VolumeSnapshotMaxCountSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).VolumeSnapshotMaxCountSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_VolumeSnapshotMaxCountSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).VolumeSnapshotMaxCountSet(ctx, req.(*VolumeSnapshotMaxCountSetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_VolumeSnapshotMaxSizeSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VolumeSnapshotMaxSizeSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).VolumeSnapshotMaxSizeSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_VolumeSnapshotMaxSizeSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).VolumeSnapshotMaxSizeSet(ctx, req.(*VolumeSnapshotMaxSizeSetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_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 { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).ReplicaList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_ReplicaList_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).ReplicaList(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_ReplicaGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReplicaAddress) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).ReplicaGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_ReplicaGet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).ReplicaGet(ctx, req.(*ReplicaAddress)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_ControllerReplicaCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ControllerReplicaCreateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).ControllerReplicaCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_ControllerReplicaCreate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).ControllerReplicaCreate(ctx, req.(*ControllerReplicaCreateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_ReplicaDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReplicaAddress) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).ReplicaDelete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_ReplicaDelete_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).ReplicaDelete(ctx, req.(*ReplicaAddress)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_ReplicaUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ControllerReplica) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).ReplicaUpdate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_ReplicaUpdate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).ReplicaUpdate(ctx, req.(*ControllerReplica)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_ReplicaPrepareRebuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReplicaAddress) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).ReplicaPrepareRebuild(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_ReplicaPrepareRebuild_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).ReplicaPrepareRebuild(ctx, req.(*ReplicaAddress)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_ReplicaVerifyRebuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReplicaAddress) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).ReplicaVerifyRebuild(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_ReplicaVerifyRebuild_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).ReplicaVerifyRebuild(ctx, req.(*ReplicaAddress)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_JournalList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(JournalListRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).JournalList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_JournalList_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).JournalList(ctx, req.(*JournalListRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_VersionDetailGet_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 { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).VersionDetailGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_VersionDetailGet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).VersionDetailGet(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _ControllerService_MetricsGet_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 { + return nil, err + } + if interceptor == nil { + return srv.(ControllerServiceServer).MetricsGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ControllerService_MetricsGet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControllerServiceServer).MetricsGet(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +// ControllerService_ServiceDesc is the grpc.ServiceDesc for ControllerService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ControllerService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "pkg.enginerpc.ControllerService", + HandlerType: (*ControllerServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "VolumeGet", + Handler: _ControllerService_VolumeGet_Handler, + }, + { + MethodName: "VolumeStart", + Handler: _ControllerService_VolumeStart_Handler, + }, + { + MethodName: "VolumeShutdown", + Handler: _ControllerService_VolumeShutdown_Handler, + }, + { + MethodName: "VolumeSnapshot", + Handler: _ControllerService_VolumeSnapshot_Handler, + }, + { + MethodName: "VolumeRevert", + Handler: _ControllerService_VolumeRevert_Handler, + }, + { + MethodName: "VolumeExpand", + Handler: _ControllerService_VolumeExpand_Handler, + }, + { + MethodName: "VolumeFrontendStart", + Handler: _ControllerService_VolumeFrontendStart_Handler, + }, + { + MethodName: "VolumeFrontendShutdown", + Handler: _ControllerService_VolumeFrontendShutdown_Handler, + }, + { + MethodName: "VolumeUnmapMarkSnapChainRemovedSet", + Handler: _ControllerService_VolumeUnmapMarkSnapChainRemovedSet_Handler, + }, + { + MethodName: "VolumeSnapshotMaxCountSet", + Handler: _ControllerService_VolumeSnapshotMaxCountSet_Handler, + }, + { + MethodName: "VolumeSnapshotMaxSizeSet", + Handler: _ControllerService_VolumeSnapshotMaxSizeSet_Handler, + }, + { + MethodName: "ReplicaList", + Handler: _ControllerService_ReplicaList_Handler, + }, + { + MethodName: "ReplicaGet", + Handler: _ControllerService_ReplicaGet_Handler, + }, + { + MethodName: "ControllerReplicaCreate", + Handler: _ControllerService_ControllerReplicaCreate_Handler, + }, + { + MethodName: "ReplicaDelete", + Handler: _ControllerService_ReplicaDelete_Handler, + }, + { + MethodName: "ReplicaUpdate", + Handler: _ControllerService_ReplicaUpdate_Handler, + }, + { + MethodName: "ReplicaPrepareRebuild", + Handler: _ControllerService_ReplicaPrepareRebuild_Handler, + }, + { + MethodName: "ReplicaVerifyRebuild", + Handler: _ControllerService_ReplicaVerifyRebuild_Handler, + }, + { + MethodName: "JournalList", + Handler: _ControllerService_JournalList_Handler, + }, + { + MethodName: "VersionDetailGet", + Handler: _ControllerService_VersionDetailGet_Handler, + }, + { + MethodName: "MetricsGet", + Handler: _ControllerService_MetricsGet_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "pkg/enginerpc/controller.proto", +} diff --git a/pkg/enginerpc/controller_pb2.py b/pkg/enginerpc/controller_pb2.py new file mode 100644 index 0000000..d709694 --- /dev/null +++ b/pkg/enginerpc/controller_pb2.py @@ -0,0 +1,79 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: pkg/enginerpc/controller.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from pkg.enginerpc import common_pb2 as pkg_dot_enginerpc_dot_common__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1epkg/enginerpc/controller.proto\x12\rpkg.enginerpc\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1apkg/enginerpc/common.proto\"\xa8\x02\n\x06Volume\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x14\n\x0creplicaCount\x18\x03 \x01(\x05\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x10\n\x08\x66rontend\x18\x05 \x01(\t\x12\x15\n\rfrontendState\x18\x06 \x01(\t\x12\x13\n\x0bisExpanding\x18\x07 \x01(\x08\x12\x1c\n\x14last_expansion_error\x18\x08 \x01(\t\x12 \n\x18last_expansion_failed_at\x18\t \x01(\t\x12%\n\x1dunmap_mark_snap_chain_removed\x18\n \x01(\x08\x12\x1a\n\x12snapshot_max_count\x18\x0b \x01(\x05\x12\x19\n\x11snapshot_max_size\x18\x0c \x01(\x03\"7\n\x0eReplicaAddress\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x14\n\x0cinstanceName\x18\x02 \x01(\t\"m\n\x11\x43ontrollerReplica\x12.\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x1d.pkg.enginerpc.ReplicaAddress\x12(\n\x04mode\x18\x02 \x01(\x0e\x32\x1a.pkg.enginerpc.ReplicaMode\"Q\n\x12VolumeStartRequest\x12\x18\n\x10replicaAddresses\x18\x01 \x03(\t\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x13\n\x0b\x63urrentSize\x18\x03 \x01(\x03\"\x96\x01\n\x15VolumeSnapshotRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x06labels\x18\x02 \x03(\x0b\x32\x30.pkg.enginerpc.VolumeSnapshotRequest.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"#\n\x13VolumeSnapshotReply\x12\x0c\n\x04name\x18\x01 \x01(\t\"#\n\x13VolumeRevertRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"#\n\x13VolumeExpandRequest\x12\x0c\n\x04size\x18\x01 \x01(\x03\".\n\x1aVolumeFrontendStartRequest\x12\x10\n\x08\x66rontend\x18\x01 \x01(\t\"<\n)VolumeUnmapMarkSnapChainRemovedSetRequest\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\"1\n VolumeSnapshotMaxCountSetRequest\x12\r\n\x05\x63ount\x18\x01 \x01(\x05\"/\n\x1fVolumeSnapshotMaxSizeSetRequest\x12\x0c\n\x04size\x18\x01 \x01(\x03\"3\n\x1bVolumePrepareRestoreRequest\x12\x14\n\x0clastRestored\x18\x01 \x01(\t\"5\n\x1aVolumeFinishRestoreRequest\x12\x17\n\x0f\x63urrentRestored\x18\x01 \x01(\t\"F\n\x10ReplicaListReply\x12\x32\n\x08replicas\x18\x01 \x03(\x0b\x32 .pkg.enginerpc.ControllerReplica\"v\n\x1e\x43ontrollerReplicaCreateRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x19\n\x11snapshot_required\x18\x02 \x01(\x08\x12(\n\x04mode\x18\x03 \x01(\x0e\x32\x1a.pkg.enginerpc.ReplicaMode\"\x89\x01\n\x1aReplicaPrepareRebuildReply\x12\x31\n\x07replica\x18\x01 \x01(\x0b\x32 .pkg.enginerpc.ControllerReplica\x12\x38\n\x13sync_file_info_list\x18\x02 \x03(\x0b\x32\x1b.pkg.enginerpc.SyncFileInfo\"#\n\x12JournalListRequest\x12\r\n\x05limit\x18\x01 \x01(\x03\"\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\"F\n\x15VersionDetailGetReply\x12-\n\x07version\x18\x01 \x01(\x0b\x32\x1c.pkg.enginerpc.VersionOutput\"\x8a\x01\n\x07Metrics\x12\x16\n\x0ereadThroughput\x18\x01 \x01(\x04\x12\x17\n\x0fwriteThroughput\x18\x02 \x01(\x04\x12\x13\n\x0breadLatency\x18\x03 \x01(\x04\x12\x14\n\x0cwriteLatency\x18\x04 \x01(\x04\x12\x10\n\x08readIOPS\x18\x05 \x01(\x04\x12\x11\n\twriteIOPS\x18\x06 \x01(\x04\":\n\x0fMetricsGetReply\x12\'\n\x07metrics\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Metrics*&\n\x0bReplicaMode\x12\x06\n\x02WO\x10\x00\x12\x06\n\x02RW\x10\x01\x12\x07\n\x03\x45RR\x10\x02\x32\xea\r\n\x11\x43ontrollerService\x12:\n\tVolumeGet\x12\x16.google.protobuf.Empty\x1a\x15.pkg.enginerpc.Volume\x12G\n\x0bVolumeStart\x12!.pkg.enginerpc.VolumeStartRequest\x1a\x15.pkg.enginerpc.Volume\x12?\n\x0eVolumeShutdown\x12\x16.google.protobuf.Empty\x1a\x15.pkg.enginerpc.Volume\x12Z\n\x0eVolumeSnapshot\x12$.pkg.enginerpc.VolumeSnapshotRequest\x1a\".pkg.enginerpc.VolumeSnapshotReply\x12I\n\x0cVolumeRevert\x12\".pkg.enginerpc.VolumeRevertRequest\x1a\x15.pkg.enginerpc.Volume\x12I\n\x0cVolumeExpand\x12\".pkg.enginerpc.VolumeExpandRequest\x1a\x15.pkg.enginerpc.Volume\x12W\n\x13VolumeFrontendStart\x12).pkg.enginerpc.VolumeFrontendStartRequest\x1a\x15.pkg.enginerpc.Volume\x12G\n\x16VolumeFrontendShutdown\x12\x16.google.protobuf.Empty\x1a\x15.pkg.enginerpc.Volume\x12u\n\"VolumeUnmapMarkSnapChainRemovedSet\x12\x38.pkg.enginerpc.VolumeUnmapMarkSnapChainRemovedSetRequest\x1a\x15.pkg.enginerpc.Volume\x12\x63\n\x19VolumeSnapshotMaxCountSet\x12/.pkg.enginerpc.VolumeSnapshotMaxCountSetRequest\x1a\x15.pkg.enginerpc.Volume\x12\x61\n\x18VolumeSnapshotMaxSizeSet\x12..pkg.enginerpc.VolumeSnapshotMaxSizeSetRequest\x1a\x15.pkg.enginerpc.Volume\x12\x46\n\x0bReplicaList\x12\x16.google.protobuf.Empty\x1a\x1f.pkg.enginerpc.ReplicaListReply\x12M\n\nReplicaGet\x12\x1d.pkg.enginerpc.ReplicaAddress\x1a .pkg.enginerpc.ControllerReplica\x12j\n\x17\x43ontrollerReplicaCreate\x12-.pkg.enginerpc.ControllerReplicaCreateRequest\x1a .pkg.enginerpc.ControllerReplica\x12\x46\n\rReplicaDelete\x12\x1d.pkg.enginerpc.ReplicaAddress\x1a\x16.google.protobuf.Empty\x12S\n\rReplicaUpdate\x12 .pkg.enginerpc.ControllerReplica\x1a .pkg.enginerpc.ControllerReplica\x12\x61\n\x15ReplicaPrepareRebuild\x12\x1d.pkg.enginerpc.ReplicaAddress\x1a).pkg.enginerpc.ReplicaPrepareRebuildReply\x12W\n\x14ReplicaVerifyRebuild\x12\x1d.pkg.enginerpc.ReplicaAddress\x1a .pkg.enginerpc.ControllerReplica\x12H\n\x0bJournalList\x12!.pkg.enginerpc.JournalListRequest\x1a\x16.google.protobuf.Empty\x12P\n\x10VersionDetailGet\x12\x16.google.protobuf.Empty\x1a$.pkg.enginerpc.VersionDetailGetReply\x12\x44\n\nMetricsGet\x12\x16.google.protobuf.Empty\x1a\x1e.pkg.enginerpc.MetricsGetReplyB)Z\'github.com/longhorn/types/pkg/enginerpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pkg.enginerpc.controller_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z\'github.com/longhorn/types/pkg/enginerpc' + _VOLUMESNAPSHOTREQUEST_LABELSENTRY._options = None + _VOLUMESNAPSHOTREQUEST_LABELSENTRY._serialized_options = b'8\001' + _globals['_REPLICAMODE']._serialized_start=2122 + _globals['_REPLICAMODE']._serialized_end=2160 + _globals['_VOLUME']._serialized_start=107 + _globals['_VOLUME']._serialized_end=403 + _globals['_REPLICAADDRESS']._serialized_start=405 + _globals['_REPLICAADDRESS']._serialized_end=460 + _globals['_CONTROLLERREPLICA']._serialized_start=462 + _globals['_CONTROLLERREPLICA']._serialized_end=571 + _globals['_VOLUMESTARTREQUEST']._serialized_start=573 + _globals['_VOLUMESTARTREQUEST']._serialized_end=654 + _globals['_VOLUMESNAPSHOTREQUEST']._serialized_start=657 + _globals['_VOLUMESNAPSHOTREQUEST']._serialized_end=807 + _globals['_VOLUMESNAPSHOTREQUEST_LABELSENTRY']._serialized_start=762 + _globals['_VOLUMESNAPSHOTREQUEST_LABELSENTRY']._serialized_end=807 + _globals['_VOLUMESNAPSHOTREPLY']._serialized_start=809 + _globals['_VOLUMESNAPSHOTREPLY']._serialized_end=844 + _globals['_VOLUMEREVERTREQUEST']._serialized_start=846 + _globals['_VOLUMEREVERTREQUEST']._serialized_end=881 + _globals['_VOLUMEEXPANDREQUEST']._serialized_start=883 + _globals['_VOLUMEEXPANDREQUEST']._serialized_end=918 + _globals['_VOLUMEFRONTENDSTARTREQUEST']._serialized_start=920 + _globals['_VOLUMEFRONTENDSTARTREQUEST']._serialized_end=966 + _globals['_VOLUMEUNMAPMARKSNAPCHAINREMOVEDSETREQUEST']._serialized_start=968 + _globals['_VOLUMEUNMAPMARKSNAPCHAINREMOVEDSETREQUEST']._serialized_end=1028 + _globals['_VOLUMESNAPSHOTMAXCOUNTSETREQUEST']._serialized_start=1030 + _globals['_VOLUMESNAPSHOTMAXCOUNTSETREQUEST']._serialized_end=1079 + _globals['_VOLUMESNAPSHOTMAXSIZESETREQUEST']._serialized_start=1081 + _globals['_VOLUMESNAPSHOTMAXSIZESETREQUEST']._serialized_end=1128 + _globals['_VOLUMEPREPARERESTOREREQUEST']._serialized_start=1130 + _globals['_VOLUMEPREPARERESTOREREQUEST']._serialized_end=1181 + _globals['_VOLUMEFINISHRESTOREREQUEST']._serialized_start=1183 + _globals['_VOLUMEFINISHRESTOREREQUEST']._serialized_end=1236 + _globals['_REPLICALISTREPLY']._serialized_start=1238 + _globals['_REPLICALISTREPLY']._serialized_end=1308 + _globals['_CONTROLLERREPLICACREATEREQUEST']._serialized_start=1310 + _globals['_CONTROLLERREPLICACREATEREQUEST']._serialized_end=1428 + _globals['_REPLICAPREPAREREBUILDREPLY']._serialized_start=1431 + _globals['_REPLICAPREPAREREBUILDREPLY']._serialized_end=1568 + _globals['_JOURNALLISTREQUEST']._serialized_start=1570 + _globals['_JOURNALLISTREQUEST']._serialized_end=1605 + _globals['_VERSIONOUTPUT']._serialized_start=1608 + _globals['_VERSIONOUTPUT']._serialized_end=1847 + _globals['_VERSIONDETAILGETREPLY']._serialized_start=1849 + _globals['_VERSIONDETAILGETREPLY']._serialized_end=1919 + _globals['_METRICS']._serialized_start=1922 + _globals['_METRICS']._serialized_end=2060 + _globals['_METRICSGETREPLY']._serialized_start=2062 + _globals['_METRICSGETREPLY']._serialized_end=2120 + _globals['_CONTROLLERSERVICE']._serialized_start=2163 + _globals['_CONTROLLERSERVICE']._serialized_end=3933 +# @@protoc_insertion_point(module_scope) diff --git a/pkg/enginerpc/controller_pb2_grpc.py b/pkg/enginerpc/controller_pb2_grpc.py new file mode 100644 index 0000000..519cae0 --- /dev/null +++ b/pkg/enginerpc/controller_pb2_grpc.py @@ -0,0 +1,727 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from pkg.enginerpc import controller_pb2 as pkg_dot_enginerpc_dot_controller__pb2 + + +class ControllerServiceStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.VolumeGet = channel.unary_unary( + '/pkg.enginerpc.ControllerService/VolumeGet', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + ) + self.VolumeStart = channel.unary_unary( + '/pkg.enginerpc.ControllerService/VolumeStart', + request_serializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeStartRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + ) + self.VolumeShutdown = channel.unary_unary( + '/pkg.enginerpc.ControllerService/VolumeShutdown', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + ) + self.VolumeSnapshot = channel.unary_unary( + '/pkg.enginerpc.ControllerService/VolumeSnapshot', + request_serializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeSnapshotRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeSnapshotReply.FromString, + ) + self.VolumeRevert = channel.unary_unary( + '/pkg.enginerpc.ControllerService/VolumeRevert', + request_serializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeRevertRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + ) + self.VolumeExpand = channel.unary_unary( + '/pkg.enginerpc.ControllerService/VolumeExpand', + request_serializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeExpandRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + ) + self.VolumeFrontendStart = channel.unary_unary( + '/pkg.enginerpc.ControllerService/VolumeFrontendStart', + request_serializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeFrontendStartRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + ) + self.VolumeFrontendShutdown = channel.unary_unary( + '/pkg.enginerpc.ControllerService/VolumeFrontendShutdown', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + ) + self.VolumeUnmapMarkSnapChainRemovedSet = channel.unary_unary( + '/pkg.enginerpc.ControllerService/VolumeUnmapMarkSnapChainRemovedSet', + request_serializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeUnmapMarkSnapChainRemovedSetRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + ) + self.VolumeSnapshotMaxCountSet = channel.unary_unary( + '/pkg.enginerpc.ControllerService/VolumeSnapshotMaxCountSet', + request_serializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeSnapshotMaxCountSetRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + ) + self.VolumeSnapshotMaxSizeSet = channel.unary_unary( + '/pkg.enginerpc.ControllerService/VolumeSnapshotMaxSizeSet', + request_serializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeSnapshotMaxSizeSetRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + ) + self.ReplicaList = channel.unary_unary( + '/pkg.enginerpc.ControllerService/ReplicaList', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.ReplicaListReply.FromString, + ) + self.ReplicaGet = channel.unary_unary( + '/pkg.enginerpc.ControllerService/ReplicaGet', + request_serializer=pkg_dot_enginerpc_dot_controller__pb2.ReplicaAddress.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.ControllerReplica.FromString, + ) + self.ControllerReplicaCreate = channel.unary_unary( + '/pkg.enginerpc.ControllerService/ControllerReplicaCreate', + request_serializer=pkg_dot_enginerpc_dot_controller__pb2.ControllerReplicaCreateRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.ControllerReplica.FromString, + ) + self.ReplicaDelete = channel.unary_unary( + '/pkg.enginerpc.ControllerService/ReplicaDelete', + request_serializer=pkg_dot_enginerpc_dot_controller__pb2.ReplicaAddress.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.ReplicaUpdate = channel.unary_unary( + '/pkg.enginerpc.ControllerService/ReplicaUpdate', + request_serializer=pkg_dot_enginerpc_dot_controller__pb2.ControllerReplica.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.ControllerReplica.FromString, + ) + self.ReplicaPrepareRebuild = channel.unary_unary( + '/pkg.enginerpc.ControllerService/ReplicaPrepareRebuild', + request_serializer=pkg_dot_enginerpc_dot_controller__pb2.ReplicaAddress.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.ReplicaPrepareRebuildReply.FromString, + ) + self.ReplicaVerifyRebuild = channel.unary_unary( + '/pkg.enginerpc.ControllerService/ReplicaVerifyRebuild', + request_serializer=pkg_dot_enginerpc_dot_controller__pb2.ReplicaAddress.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.ControllerReplica.FromString, + ) + self.JournalList = channel.unary_unary( + '/pkg.enginerpc.ControllerService/JournalList', + request_serializer=pkg_dot_enginerpc_dot_controller__pb2.JournalListRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.VersionDetailGet = channel.unary_unary( + '/pkg.enginerpc.ControllerService/VersionDetailGet', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.VersionDetailGetReply.FromString, + ) + self.MetricsGet = channel.unary_unary( + '/pkg.enginerpc.ControllerService/MetricsGet', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_controller__pb2.MetricsGetReply.FromString, + ) + + +class ControllerServiceServicer(object): + """Missing associated documentation comment in .proto file.""" + + def VolumeGet(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 VolumeStart(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 VolumeShutdown(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 VolumeSnapshot(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 VolumeRevert(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 VolumeExpand(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 VolumeFrontendStart(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 VolumeFrontendShutdown(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 VolumeUnmapMarkSnapChainRemovedSet(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 VolumeSnapshotMaxCountSet(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 VolumeSnapshotMaxSizeSet(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) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ReplicaGet(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 ControllerReplicaCreate(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 ReplicaDelete(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 ReplicaUpdate(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 ReplicaPrepareRebuild(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 ReplicaVerifyRebuild(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 JournalList(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 VersionDetailGet(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 MetricsGet(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 add_ControllerServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'VolumeGet': grpc.unary_unary_rpc_method_handler( + servicer.VolumeGet, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.SerializeToString, + ), + 'VolumeStart': grpc.unary_unary_rpc_method_handler( + servicer.VolumeStart, + request_deserializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeStartRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.SerializeToString, + ), + 'VolumeShutdown': grpc.unary_unary_rpc_method_handler( + servicer.VolumeShutdown, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.SerializeToString, + ), + 'VolumeSnapshot': grpc.unary_unary_rpc_method_handler( + servicer.VolumeSnapshot, + request_deserializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeSnapshotRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeSnapshotReply.SerializeToString, + ), + 'VolumeRevert': grpc.unary_unary_rpc_method_handler( + servicer.VolumeRevert, + request_deserializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeRevertRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.SerializeToString, + ), + 'VolumeExpand': grpc.unary_unary_rpc_method_handler( + servicer.VolumeExpand, + request_deserializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeExpandRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.SerializeToString, + ), + 'VolumeFrontendStart': grpc.unary_unary_rpc_method_handler( + servicer.VolumeFrontendStart, + request_deserializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeFrontendStartRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.SerializeToString, + ), + 'VolumeFrontendShutdown': grpc.unary_unary_rpc_method_handler( + servicer.VolumeFrontendShutdown, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.SerializeToString, + ), + 'VolumeUnmapMarkSnapChainRemovedSet': grpc.unary_unary_rpc_method_handler( + servicer.VolumeUnmapMarkSnapChainRemovedSet, + request_deserializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeUnmapMarkSnapChainRemovedSetRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.SerializeToString, + ), + 'VolumeSnapshotMaxCountSet': grpc.unary_unary_rpc_method_handler( + servicer.VolumeSnapshotMaxCountSet, + request_deserializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeSnapshotMaxCountSetRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.SerializeToString, + ), + 'VolumeSnapshotMaxSizeSet': grpc.unary_unary_rpc_method_handler( + servicer.VolumeSnapshotMaxSizeSet, + request_deserializer=pkg_dot_enginerpc_dot_controller__pb2.VolumeSnapshotMaxSizeSetRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.Volume.SerializeToString, + ), + 'ReplicaList': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaList, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.ReplicaListReply.SerializeToString, + ), + 'ReplicaGet': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaGet, + request_deserializer=pkg_dot_enginerpc_dot_controller__pb2.ReplicaAddress.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.ControllerReplica.SerializeToString, + ), + 'ControllerReplicaCreate': grpc.unary_unary_rpc_method_handler( + servicer.ControllerReplicaCreate, + request_deserializer=pkg_dot_enginerpc_dot_controller__pb2.ControllerReplicaCreateRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.ControllerReplica.SerializeToString, + ), + 'ReplicaDelete': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaDelete, + request_deserializer=pkg_dot_enginerpc_dot_controller__pb2.ReplicaAddress.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'ReplicaUpdate': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaUpdate, + request_deserializer=pkg_dot_enginerpc_dot_controller__pb2.ControllerReplica.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.ControllerReplica.SerializeToString, + ), + 'ReplicaPrepareRebuild': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaPrepareRebuild, + request_deserializer=pkg_dot_enginerpc_dot_controller__pb2.ReplicaAddress.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.ReplicaPrepareRebuildReply.SerializeToString, + ), + 'ReplicaVerifyRebuild': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaVerifyRebuild, + request_deserializer=pkg_dot_enginerpc_dot_controller__pb2.ReplicaAddress.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.ControllerReplica.SerializeToString, + ), + 'JournalList': grpc.unary_unary_rpc_method_handler( + servicer.JournalList, + request_deserializer=pkg_dot_enginerpc_dot_controller__pb2.JournalListRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'VersionDetailGet': grpc.unary_unary_rpc_method_handler( + servicer.VersionDetailGet, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.VersionDetailGetReply.SerializeToString, + ), + 'MetricsGet': grpc.unary_unary_rpc_method_handler( + servicer.MetricsGet, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_enginerpc_dot_controller__pb2.MetricsGetReply.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'pkg.enginerpc.ControllerService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class ControllerService(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def VolumeGet(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, '/pkg.enginerpc.ControllerService/VolumeGet', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeStart(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, '/pkg.enginerpc.ControllerService/VolumeStart', + pkg_dot_enginerpc_dot_controller__pb2.VolumeStartRequest.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeShutdown(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, '/pkg.enginerpc.ControllerService/VolumeShutdown', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeSnapshot(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, '/pkg.enginerpc.ControllerService/VolumeSnapshot', + pkg_dot_enginerpc_dot_controller__pb2.VolumeSnapshotRequest.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.VolumeSnapshotReply.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeRevert(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, '/pkg.enginerpc.ControllerService/VolumeRevert', + pkg_dot_enginerpc_dot_controller__pb2.VolumeRevertRequest.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeExpand(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, '/pkg.enginerpc.ControllerService/VolumeExpand', + pkg_dot_enginerpc_dot_controller__pb2.VolumeExpandRequest.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeFrontendStart(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, '/pkg.enginerpc.ControllerService/VolumeFrontendStart', + pkg_dot_enginerpc_dot_controller__pb2.VolumeFrontendStartRequest.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeFrontendShutdown(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, '/pkg.enginerpc.ControllerService/VolumeFrontendShutdown', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeUnmapMarkSnapChainRemovedSet(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, '/pkg.enginerpc.ControllerService/VolumeUnmapMarkSnapChainRemovedSet', + pkg_dot_enginerpc_dot_controller__pb2.VolumeUnmapMarkSnapChainRemovedSetRequest.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeSnapshotMaxCountSet(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, '/pkg.enginerpc.ControllerService/VolumeSnapshotMaxCountSet', + pkg_dot_enginerpc_dot_controller__pb2.VolumeSnapshotMaxCountSetRequest.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeSnapshotMaxSizeSet(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, '/pkg.enginerpc.ControllerService/VolumeSnapshotMaxSizeSet', + pkg_dot_enginerpc_dot_controller__pb2.VolumeSnapshotMaxSizeSetRequest.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.Volume.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaList(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, '/pkg.enginerpc.ControllerService/ReplicaList', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.ReplicaListReply.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaGet(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, '/pkg.enginerpc.ControllerService/ReplicaGet', + pkg_dot_enginerpc_dot_controller__pb2.ReplicaAddress.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.ControllerReplica.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ControllerReplicaCreate(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, '/pkg.enginerpc.ControllerService/ControllerReplicaCreate', + pkg_dot_enginerpc_dot_controller__pb2.ControllerReplicaCreateRequest.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.ControllerReplica.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaDelete(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, '/pkg.enginerpc.ControllerService/ReplicaDelete', + pkg_dot_enginerpc_dot_controller__pb2.ReplicaAddress.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaUpdate(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, '/pkg.enginerpc.ControllerService/ReplicaUpdate', + pkg_dot_enginerpc_dot_controller__pb2.ControllerReplica.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.ControllerReplica.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaPrepareRebuild(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, '/pkg.enginerpc.ControllerService/ReplicaPrepareRebuild', + pkg_dot_enginerpc_dot_controller__pb2.ReplicaAddress.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.ReplicaPrepareRebuildReply.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaVerifyRebuild(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, '/pkg.enginerpc.ControllerService/ReplicaVerifyRebuild', + pkg_dot_enginerpc_dot_controller__pb2.ReplicaAddress.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.ControllerReplica.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def JournalList(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, '/pkg.enginerpc.ControllerService/JournalList', + pkg_dot_enginerpc_dot_controller__pb2.JournalListRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VersionDetailGet(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, '/pkg.enginerpc.ControllerService/VersionDetailGet', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.VersionDetailGetReply.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def MetricsGet(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, '/pkg.enginerpc.ControllerService/MetricsGet', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_enginerpc_dot_controller__pb2.MetricsGetReply.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/pkg/enginerpc/replica.pb.go b/pkg/enginerpc/replica.pb.go new file mode 100644 index 0000000..a2763d4 --- /dev/null +++ b/pkg/enginerpc/replica.pb.go @@ -0,0 +1,2712 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: pkg/enginerpc/replica.proto + +package enginerpc + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ReplicaCreateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Size string `protobuf:"bytes,1,opt,name=size,proto3" json:"size,omitempty"` +} + +func (x *ReplicaCreateRequest) Reset() { + *x = ReplicaCreateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaCreateRequest) ProtoMessage() {} + +func (x *ReplicaCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaCreateRequest.ProtoReflect.Descriptor instead. +func (*ReplicaCreateRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{0} +} + +func (x *ReplicaCreateRequest) GetSize() string { + if x != nil { + return x.Size + } + return "" +} + +type ReplicaCreateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *Replica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` +} + +func (x *ReplicaCreateResponse) Reset() { + *x = ReplicaCreateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaCreateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaCreateResponse) ProtoMessage() {} + +func (x *ReplicaCreateResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaCreateResponse.ProtoReflect.Descriptor instead. +func (*ReplicaCreateResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{1} +} + +func (x *ReplicaCreateResponse) GetReplica() *Replica { + if x != nil { + return x.Replica + } + return nil +} + +type ReplicaGetResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *Replica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` +} + +func (x *ReplicaGetResponse) Reset() { + *x = ReplicaGetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaGetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaGetResponse) ProtoMessage() {} + +func (x *ReplicaGetResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaGetResponse.ProtoReflect.Descriptor instead. +func (*ReplicaGetResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{2} +} + +func (x *ReplicaGetResponse) GetReplica() *Replica { + if x != nil { + return x.Replica + } + return nil +} + +type ReplicaOpenResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *Replica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` +} + +func (x *ReplicaOpenResponse) Reset() { + *x = ReplicaOpenResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaOpenResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaOpenResponse) ProtoMessage() {} + +func (x *ReplicaOpenResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaOpenResponse.ProtoReflect.Descriptor instead. +func (*ReplicaOpenResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{3} +} + +func (x *ReplicaOpenResponse) GetReplica() *Replica { + if x != nil { + return x.Replica + } + return nil +} + +type ReplicaCloseResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *Replica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` +} + +func (x *ReplicaCloseResponse) Reset() { + *x = ReplicaCloseResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaCloseResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaCloseResponse) ProtoMessage() {} + +func (x *ReplicaCloseResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaCloseResponse.ProtoReflect.Descriptor instead. +func (*ReplicaCloseResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{4} +} + +func (x *ReplicaCloseResponse) GetReplica() *Replica { + if x != nil { + return x.Replica + } + return nil +} + +type ReplicaReloadResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *Replica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` +} + +func (x *ReplicaReloadResponse) Reset() { + *x = ReplicaReloadResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaReloadResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaReloadResponse) ProtoMessage() {} + +func (x *ReplicaReloadResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaReloadResponse.ProtoReflect.Descriptor instead. +func (*ReplicaReloadResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{5} +} + +func (x *ReplicaReloadResponse) GetReplica() *Replica { + if x != nil { + return x.Replica + } + return nil +} + +type ReplicaRevertRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Created string `protobuf:"bytes,2,opt,name=created,proto3" json:"created,omitempty"` +} + +func (x *ReplicaRevertRequest) Reset() { + *x = ReplicaRevertRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaRevertRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaRevertRequest) ProtoMessage() {} + +func (x *ReplicaRevertRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaRevertRequest.ProtoReflect.Descriptor instead. +func (*ReplicaRevertRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{6} +} + +func (x *ReplicaRevertRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ReplicaRevertRequest) GetCreated() string { + if x != nil { + return x.Created + } + return "" +} + +type ReplicaRevertResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *Replica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` +} + +func (x *ReplicaRevertResponse) Reset() { + *x = ReplicaRevertResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaRevertResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaRevertResponse) ProtoMessage() {} + +func (x *ReplicaRevertResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaRevertResponse.ProtoReflect.Descriptor instead. +func (*ReplicaRevertResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{7} +} + +func (x *ReplicaRevertResponse) GetReplica() *Replica { + if x != nil { + return x.Replica + } + return nil +} + +type ReplicaSnapshotRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + UserCreated bool `protobuf:"varint,2,opt,name=user_created,json=userCreated,proto3" json:"user_created,omitempty"` + Created string `protobuf:"bytes,3,opt,name=created,proto3" json:"created,omitempty"` + Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ReplicaSnapshotRequest) Reset() { + *x = ReplicaSnapshotRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaSnapshotRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaSnapshotRequest) ProtoMessage() {} + +func (x *ReplicaSnapshotRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaSnapshotRequest.ProtoReflect.Descriptor instead. +func (*ReplicaSnapshotRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{8} +} + +func (x *ReplicaSnapshotRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ReplicaSnapshotRequest) GetUserCreated() bool { + if x != nil { + return x.UserCreated + } + return false +} + +func (x *ReplicaSnapshotRequest) GetCreated() string { + if x != nil { + return x.Created + } + return "" +} + +func (x *ReplicaSnapshotRequest) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +type ReplicaSnapshotResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *Replica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` +} + +func (x *ReplicaSnapshotResponse) Reset() { + *x = ReplicaSnapshotResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaSnapshotResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaSnapshotResponse) ProtoMessage() {} + +func (x *ReplicaSnapshotResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaSnapshotResponse.ProtoReflect.Descriptor instead. +func (*ReplicaSnapshotResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{9} +} + +func (x *ReplicaSnapshotResponse) GetReplica() *Replica { + if x != nil { + return x.Replica + } + return nil +} + +type ReplicaExpandRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Size int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` +} + +func (x *ReplicaExpandRequest) Reset() { + *x = ReplicaExpandRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaExpandRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaExpandRequest) ProtoMessage() {} + +func (x *ReplicaExpandRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaExpandRequest.ProtoReflect.Descriptor instead. +func (*ReplicaExpandRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{10} +} + +func (x *ReplicaExpandRequest) GetSize() int64 { + if x != nil { + return x.Size + } + return 0 +} + +type ReplicaExpandResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *Replica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` +} + +func (x *ReplicaExpandResponse) Reset() { + *x = ReplicaExpandResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaExpandResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaExpandResponse) ProtoMessage() {} + +func (x *ReplicaExpandResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaExpandResponse.ProtoReflect.Descriptor instead. +func (*ReplicaExpandResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{11} +} + +func (x *ReplicaExpandResponse) GetReplica() *Replica { + if x != nil { + return x.Replica + } + return nil +} + +type DiskRemoveRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *DiskRemoveRequest) Reset() { + *x = DiskRemoveRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskRemoveRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskRemoveRequest) ProtoMessage() {} + +func (x *DiskRemoveRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskRemoveRequest.ProtoReflect.Descriptor instead. +func (*DiskRemoveRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{12} +} + +func (x *DiskRemoveRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DiskRemoveRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +type DiskRemoveResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *Replica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` +} + +func (x *DiskRemoveResponse) Reset() { + *x = DiskRemoveResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskRemoveResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskRemoveResponse) ProtoMessage() {} + +func (x *DiskRemoveResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskRemoveResponse.ProtoReflect.Descriptor instead. +func (*DiskRemoveResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{13} +} + +func (x *DiskRemoveResponse) GetReplica() *Replica { + if x != nil { + return x.Replica + } + return nil +} + +type DiskReplaceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *DiskReplaceRequest) Reset() { + *x = DiskReplaceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskReplaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskReplaceRequest) ProtoMessage() {} + +func (x *DiskReplaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskReplaceRequest.ProtoReflect.Descriptor instead. +func (*DiskReplaceRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{14} +} + +func (x *DiskReplaceRequest) GetTarget() string { + if x != nil { + return x.Target + } + return "" +} + +func (x *DiskReplaceRequest) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type DiskReplaceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *Replica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` +} + +func (x *DiskReplaceResponse) Reset() { + *x = DiskReplaceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskReplaceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskReplaceResponse) ProtoMessage() {} + +func (x *DiskReplaceResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskReplaceResponse.ProtoReflect.Descriptor instead. +func (*DiskReplaceResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{15} +} + +func (x *DiskReplaceResponse) GetReplica() *Replica { + if x != nil { + return x.Replica + } + return nil +} + +type DiskPrepareRemoveRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DiskPrepareRemoveRequest) Reset() { + *x = DiskPrepareRemoveRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskPrepareRemoveRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskPrepareRemoveRequest) ProtoMessage() {} + +func (x *DiskPrepareRemoveRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskPrepareRemoveRequest.ProtoReflect.Descriptor instead. +func (*DiskPrepareRemoveRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{16} +} + +func (x *DiskPrepareRemoveRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type DiskPrepareRemoveResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Operations []*PrepareRemoveAction `protobuf:"bytes,1,rep,name=operations,proto3" json:"operations,omitempty"` +} + +func (x *DiskPrepareRemoveResponse) Reset() { + *x = DiskPrepareRemoveResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskPrepareRemoveResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskPrepareRemoveResponse) ProtoMessage() {} + +func (x *DiskPrepareRemoveResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskPrepareRemoveResponse.ProtoReflect.Descriptor instead. +func (*DiskPrepareRemoveResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{17} +} + +func (x *DiskPrepareRemoveResponse) GetOperations() []*PrepareRemoveAction { + if x != nil { + return x.Operations + } + return nil +} + +type DiskMarkAsRemovedRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DiskMarkAsRemovedRequest) Reset() { + *x = DiskMarkAsRemovedRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskMarkAsRemovedRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskMarkAsRemovedRequest) ProtoMessage() {} + +func (x *DiskMarkAsRemovedRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskMarkAsRemovedRequest.ProtoReflect.Descriptor instead. +func (*DiskMarkAsRemovedRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{18} +} + +func (x *DiskMarkAsRemovedRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type DiskMarkAsRemovedResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *Replica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` +} + +func (x *DiskMarkAsRemovedResponse) Reset() { + *x = DiskMarkAsRemovedResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskMarkAsRemovedResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskMarkAsRemovedResponse) ProtoMessage() {} + +func (x *DiskMarkAsRemovedResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskMarkAsRemovedResponse.ProtoReflect.Descriptor instead. +func (*DiskMarkAsRemovedResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{19} +} + +func (x *DiskMarkAsRemovedResponse) GetReplica() *Replica { + if x != nil { + return x.Replica + } + return nil +} + +type RebuildingSetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rebuilding bool `protobuf:"varint,1,opt,name=rebuilding,proto3" json:"rebuilding,omitempty"` +} + +func (x *RebuildingSetRequest) Reset() { + *x = RebuildingSetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RebuildingSetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RebuildingSetRequest) ProtoMessage() {} + +func (x *RebuildingSetRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RebuildingSetRequest.ProtoReflect.Descriptor instead. +func (*RebuildingSetRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{20} +} + +func (x *RebuildingSetRequest) GetRebuilding() bool { + if x != nil { + return x.Rebuilding + } + return false +} + +type RebuildingSetResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *Replica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` +} + +func (x *RebuildingSetResponse) Reset() { + *x = RebuildingSetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RebuildingSetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RebuildingSetResponse) ProtoMessage() {} + +func (x *RebuildingSetResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RebuildingSetResponse.ProtoReflect.Descriptor instead. +func (*RebuildingSetResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{21} +} + +func (x *RebuildingSetResponse) GetReplica() *Replica { + if x != nil { + return x.Replica + } + return nil +} + +type RevisionCounterSetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Counter int64 `protobuf:"varint,1,opt,name=counter,proto3" json:"counter,omitempty"` +} + +func (x *RevisionCounterSetRequest) Reset() { + *x = RevisionCounterSetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RevisionCounterSetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RevisionCounterSetRequest) ProtoMessage() {} + +func (x *RevisionCounterSetRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RevisionCounterSetRequest.ProtoReflect.Descriptor instead. +func (*RevisionCounterSetRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{22} +} + +func (x *RevisionCounterSetRequest) GetCounter() int64 { + if x != nil { + return x.Counter + } + return 0 +} + +type RevisionCounterSetResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *Replica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` +} + +func (x *RevisionCounterSetResponse) Reset() { + *x = RevisionCounterSetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RevisionCounterSetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RevisionCounterSetResponse) ProtoMessage() {} + +func (x *RevisionCounterSetResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RevisionCounterSetResponse.ProtoReflect.Descriptor instead. +func (*RevisionCounterSetResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{23} +} + +func (x *RevisionCounterSetResponse) GetReplica() *Replica { + if x != nil { + return x.Replica + } + return nil +} + +type UnmapMarkDiskChainRemovedSetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` +} + +func (x *UnmapMarkDiskChainRemovedSetRequest) Reset() { + *x = UnmapMarkDiskChainRemovedSetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnmapMarkDiskChainRemovedSetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnmapMarkDiskChainRemovedSetRequest) ProtoMessage() {} + +func (x *UnmapMarkDiskChainRemovedSetRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnmapMarkDiskChainRemovedSetRequest.ProtoReflect.Descriptor instead. +func (*UnmapMarkDiskChainRemovedSetRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{24} +} + +func (x *UnmapMarkDiskChainRemovedSetRequest) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +type UnmapMarkDiskChainRemovedSetResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *Replica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` +} + +func (x *UnmapMarkDiskChainRemovedSetResponse) Reset() { + *x = UnmapMarkDiskChainRemovedSetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnmapMarkDiskChainRemovedSetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnmapMarkDiskChainRemovedSetResponse) ProtoMessage() {} + +func (x *UnmapMarkDiskChainRemovedSetResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnmapMarkDiskChainRemovedSetResponse.ProtoReflect.Descriptor instead. +func (*UnmapMarkDiskChainRemovedSetResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{25} +} + +func (x *UnmapMarkDiskChainRemovedSetResponse) GetReplica() *Replica { + if x != nil { + return x.Replica + } + return nil +} + +type SnapshotMaxCountSetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count int32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` +} + +func (x *SnapshotMaxCountSetRequest) Reset() { + *x = SnapshotMaxCountSetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SnapshotMaxCountSetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SnapshotMaxCountSetRequest) ProtoMessage() {} + +func (x *SnapshotMaxCountSetRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SnapshotMaxCountSetRequest.ProtoReflect.Descriptor instead. +func (*SnapshotMaxCountSetRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{26} +} + +func (x *SnapshotMaxCountSetRequest) GetCount() int32 { + if x != nil { + return x.Count + } + return 0 +} + +type SnapshotMaxCountSetResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *Replica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` +} + +func (x *SnapshotMaxCountSetResponse) Reset() { + *x = SnapshotMaxCountSetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SnapshotMaxCountSetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SnapshotMaxCountSetResponse) ProtoMessage() {} + +func (x *SnapshotMaxCountSetResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SnapshotMaxCountSetResponse.ProtoReflect.Descriptor instead. +func (*SnapshotMaxCountSetResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{27} +} + +func (x *SnapshotMaxCountSetResponse) GetReplica() *Replica { + if x != nil { + return x.Replica + } + return nil +} + +type SnapshotMaxSizeSetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Size int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` +} + +func (x *SnapshotMaxSizeSetRequest) Reset() { + *x = SnapshotMaxSizeSetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SnapshotMaxSizeSetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SnapshotMaxSizeSetRequest) ProtoMessage() {} + +func (x *SnapshotMaxSizeSetRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SnapshotMaxSizeSetRequest.ProtoReflect.Descriptor instead. +func (*SnapshotMaxSizeSetRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{28} +} + +func (x *SnapshotMaxSizeSetRequest) GetSize() int64 { + if x != nil { + return x.Size + } + return 0 +} + +type SnapshotMaxSizeSetResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replica *Replica `protobuf:"bytes,1,opt,name=replica,proto3" json:"replica,omitempty"` +} + +func (x *SnapshotMaxSizeSetResponse) Reset() { + *x = SnapshotMaxSizeSetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SnapshotMaxSizeSetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SnapshotMaxSizeSetResponse) ProtoMessage() {} + +func (x *SnapshotMaxSizeSetResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SnapshotMaxSizeSetResponse.ProtoReflect.Descriptor instead. +func (*SnapshotMaxSizeSetResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{29} +} + +func (x *SnapshotMaxSizeSetResponse) GetReplica() *Replica { + if x != nil { + return x.Replica + } + return nil +} + +type DiskInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"` + Children map[string]bool `protobuf:"bytes,3,rep,name=children,proto3" json:"children,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + Removed bool `protobuf:"varint,4,opt,name=removed,proto3" json:"removed,omitempty"` + UserCreated bool `protobuf:"varint,5,opt,name=user_created,json=userCreated,proto3" json:"user_created,omitempty"` + Created string `protobuf:"bytes,6,opt,name=created,proto3" json:"created,omitempty"` + Size string `protobuf:"bytes,7,opt,name=size,proto3" json:"size,omitempty"` + Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *DiskInfo) Reset() { + *x = DiskInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskInfo) ProtoMessage() {} + +func (x *DiskInfo) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskInfo.ProtoReflect.Descriptor instead. +func (*DiskInfo) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{30} +} + +func (x *DiskInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DiskInfo) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *DiskInfo) GetChildren() map[string]bool { + if x != nil { + return x.Children + } + return nil +} + +func (x *DiskInfo) GetRemoved() bool { + if x != nil { + return x.Removed + } + return false +} + +func (x *DiskInfo) GetUserCreated() bool { + if x != nil { + return x.UserCreated + } + return false +} + +func (x *DiskInfo) GetCreated() string { + if x != nil { + return x.Created + } + return "" +} + +func (x *DiskInfo) GetSize() string { + if x != nil { + return x.Size + } + return "" +} + +func (x *DiskInfo) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +type Replica struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Dirty bool `protobuf:"varint,1,opt,name=dirty,proto3" json:"dirty,omitempty"` + Rebuilding bool `protobuf:"varint,2,opt,name=rebuilding,proto3" json:"rebuilding,omitempty"` + Head string `protobuf:"bytes,3,opt,name=head,proto3" json:"head,omitempty"` + Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"` + Size string `protobuf:"bytes,5,opt,name=size,proto3" json:"size,omitempty"` + SectorSize int64 `protobuf:"varint,6,opt,name=sector_size,json=sectorSize,proto3" json:"sector_size,omitempty"` + BackingFile string `protobuf:"bytes,7,opt,name=backing_file,json=backingFile,proto3" json:"backing_file,omitempty"` + State string `protobuf:"bytes,8,opt,name=state,proto3" json:"state,omitempty"` + Chain []string `protobuf:"bytes,9,rep,name=chain,proto3" json:"chain,omitempty"` + Disks map[string]*DiskInfo `protobuf:"bytes,10,rep,name=disks,proto3" json:"disks,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + RemainSnapshots int32 `protobuf:"varint,11,opt,name=remain_snapshots,json=remainSnapshots,proto3" json:"remain_snapshots,omitempty"` + RevisionCounter int64 `protobuf:"varint,12,opt,name=revision_counter,json=revisionCounter,proto3" json:"revision_counter,omitempty"` + LastModifyTime int64 `protobuf:"varint,13,opt,name=last_modify_time,json=lastModifyTime,proto3" json:"last_modify_time,omitempty"` + HeadFileSize int64 `protobuf:"varint,14,opt,name=head_file_size,json=headFileSize,proto3" json:"head_file_size,omitempty"` + RevisionCounterDisabled bool `protobuf:"varint,15,opt,name=revision_counter_disabled,json=revisionCounterDisabled,proto3" json:"revision_counter_disabled,omitempty"` + UnmapMarkDiskChainRemoved bool `protobuf:"varint,16,opt,name=unmap_mark_disk_chain_removed,json=unmapMarkDiskChainRemoved,proto3" json:"unmap_mark_disk_chain_removed,omitempty"` + SnapshotCountUsage int32 `protobuf:"varint,17,opt,name=snapshot_count_usage,json=snapshotCountUsage,proto3" json:"snapshot_count_usage,omitempty"` + SnapshotSizeUsage int64 `protobuf:"varint,18,opt,name=snapshot_size_usage,json=snapshotSizeUsage,proto3" json:"snapshot_size_usage,omitempty"` +} + +func (x *Replica) Reset() { + *x = Replica{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Replica) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Replica) ProtoMessage() {} + +func (x *Replica) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Replica.ProtoReflect.Descriptor instead. +func (*Replica) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{31} +} + +func (x *Replica) GetDirty() bool { + if x != nil { + return x.Dirty + } + return false +} + +func (x *Replica) GetRebuilding() bool { + if x != nil { + return x.Rebuilding + } + return false +} + +func (x *Replica) GetHead() string { + if x != nil { + return x.Head + } + return "" +} + +func (x *Replica) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *Replica) GetSize() string { + if x != nil { + return x.Size + } + return "" +} + +func (x *Replica) GetSectorSize() int64 { + if x != nil { + return x.SectorSize + } + return 0 +} + +func (x *Replica) GetBackingFile() string { + if x != nil { + return x.BackingFile + } + return "" +} + +func (x *Replica) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *Replica) GetChain() []string { + if x != nil { + return x.Chain + } + return nil +} + +func (x *Replica) GetDisks() map[string]*DiskInfo { + if x != nil { + return x.Disks + } + return nil +} + +func (x *Replica) GetRemainSnapshots() int32 { + if x != nil { + return x.RemainSnapshots + } + return 0 +} + +func (x *Replica) GetRevisionCounter() int64 { + if x != nil { + return x.RevisionCounter + } + return 0 +} + +func (x *Replica) GetLastModifyTime() int64 { + if x != nil { + return x.LastModifyTime + } + return 0 +} + +func (x *Replica) GetHeadFileSize() int64 { + if x != nil { + return x.HeadFileSize + } + return 0 +} + +func (x *Replica) GetRevisionCounterDisabled() bool { + if x != nil { + return x.RevisionCounterDisabled + } + return false +} + +func (x *Replica) GetUnmapMarkDiskChainRemoved() bool { + if x != nil { + return x.UnmapMarkDiskChainRemoved + } + return false +} + +func (x *Replica) GetSnapshotCountUsage() int32 { + if x != nil { + return x.SnapshotCountUsage + } + return 0 +} + +func (x *Replica) GetSnapshotSizeUsage() int64 { + if x != nil { + return x.SnapshotSizeUsage + } + return 0 +} + +type PrepareRemoveAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Action string `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` + Target string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"` +} + +func (x *PrepareRemoveAction) Reset() { + *x = PrepareRemoveAction{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrepareRemoveAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrepareRemoveAction) ProtoMessage() {} + +func (x *PrepareRemoveAction) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_replica_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrepareRemoveAction.ProtoReflect.Descriptor instead. +func (*PrepareRemoveAction) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_replica_proto_rawDescGZIP(), []int{32} +} + +func (x *PrepareRemoveAction) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *PrepareRemoveAction) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *PrepareRemoveAction) GetTarget() string { + if x != nil { + return x.Target + } + return "" +} + +var File_pkg_enginerpc_replica_proto protoreflect.FileDescriptor + +var file_pkg_enginerpc_replica_proto_rawDesc = []byte{ + 0x0a, 0x1b, 0x70, 0x6b, 0x67, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2f, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x70, + 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x1a, 0x1b, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, + 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2a, 0x0a, 0x14, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x49, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, + 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x22, 0x46, 0x0a, 0x12, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x47, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, + 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x22, 0x47, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x30, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, + 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x22, 0x48, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6c, 0x6f, 0x73, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x72, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x22, 0x49, 0x0a, 0x15, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x07, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x22, 0x44, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x49, 0x0a, 0x15, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x07, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x22, 0xef, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x73, + 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x12, 0x49, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, + 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4b, 0x0a, 0x17, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x07, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x22, 0x2a, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, + 0x7a, 0x65, 0x22, 0x49, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x45, 0x78, 0x70, + 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x22, 0x3d, 0x0a, + 0x11, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x46, 0x0a, 0x12, + 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x07, 0x72, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x22, 0x44, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x47, 0x0a, 0x13, 0x44, 0x69, + 0x73, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x30, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, + 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x22, 0x2e, 0x0a, 0x18, 0x44, 0x69, 0x73, 0x6b, 0x50, 0x72, 0x65, 0x70, 0x61, + 0x72, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x6b, 0x50, 0x72, 0x65, 0x70, 0x61, + 0x72, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x42, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2e, 0x0a, 0x18, 0x44, 0x69, 0x73, 0x6b, 0x4d, 0x61, 0x72, 0x6b, + 0x41, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4d, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x6b, 0x4d, 0x61, 0x72, 0x6b, + 0x41, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x30, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, + 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x22, 0x36, 0x0a, 0x14, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, + 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x72, + 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0a, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x49, 0x0a, 0x15, 0x52, + 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x07, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x22, 0x35, 0x0a, 0x19, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x4e, 0x0a, + 0x1a, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x22, 0x3f, 0x0a, + 0x23, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x58, + 0x0a, 0x24, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x44, 0x69, 0x73, 0x6b, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, + 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x22, 0x32, 0x0a, 0x1a, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4f, 0x0a, 0x1b, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x22, 0x2f, 0x0a, + 0x19, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4e, + 0x0a, 0x1a, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, + 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x07, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x22, 0x99, + 0x03, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, + 0x72, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, + 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x81, 0x06, 0x0a, 0x07, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x69, 0x72, 0x74, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x69, 0x72, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, + 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x68, 0x65, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0b, + 0x73, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0a, 0x73, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, + 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, + 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x37, 0x0a, 0x05, + 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, + 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x5f, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, + 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, + 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x68, + 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3a, 0x0a, 0x19, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, + 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x1d, 0x75, 0x6e, 0x6d, 0x61, 0x70, + 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, + 0x75, 0x6e, 0x6d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x75, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x51, 0x0a, 0x0a, 0x44, + 0x69, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5d, + 0x0a, 0x13, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x32, 0xbe, 0x0d, + 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x5c, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x12, 0x23, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, + 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, + 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 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, 0x12, 0x49, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 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, 0x21, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0b, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4f, 0x70, 0x65, 0x6e, 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, 0x22, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4f, 0x70, 0x65, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6c, 0x6f, 0x73, 0x65, 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, 0x23, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, + 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 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, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, + 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0d, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x0f, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x25, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, + 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0d, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x12, 0x23, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, + 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0a, 0x44, 0x69, 0x73, + 0x6b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, + 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x21, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, + 0x73, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, + 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x6b, 0x50, 0x72, + 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x27, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, + 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x68, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x6b, 0x4d, 0x61, 0x72, 0x6b, 0x41, 0x73, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x27, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x4d, 0x61, 0x72, 0x6b, 0x41, 0x73, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x44, + 0x69, 0x73, 0x6b, 0x4d, 0x61, 0x72, 0x6b, 0x41, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x0d, 0x52, 0x65, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x12, 0x23, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, + 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x12, 0x52, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x12, 0x28, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x89, 0x01, 0x0a, 0x1c, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x4d, + 0x61, 0x72, 0x6b, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x64, 0x53, 0x65, 0x74, 0x12, 0x32, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, + 0x44, 0x69, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x6d, 0x61, 0x70, + 0x4d, 0x61, 0x72, 0x6b, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x6e, 0x0a, 0x13, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x6b, 0x0a, 0x12, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, + 0x53, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x74, 0x12, 0x28, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, + 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x29, + 0x5a, 0x27, 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, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_pkg_enginerpc_replica_proto_rawDescOnce sync.Once + file_pkg_enginerpc_replica_proto_rawDescData = file_pkg_enginerpc_replica_proto_rawDesc +) + +func file_pkg_enginerpc_replica_proto_rawDescGZIP() []byte { + file_pkg_enginerpc_replica_proto_rawDescOnce.Do(func() { + file_pkg_enginerpc_replica_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_enginerpc_replica_proto_rawDescData) + }) + return file_pkg_enginerpc_replica_proto_rawDescData +} + +var file_pkg_enginerpc_replica_proto_msgTypes = make([]protoimpl.MessageInfo, 37) +var file_pkg_enginerpc_replica_proto_goTypes = []interface{}{ + (*ReplicaCreateRequest)(nil), // 0: pkg.enginerpc.ReplicaCreateRequest + (*ReplicaCreateResponse)(nil), // 1: pkg.enginerpc.ReplicaCreateResponse + (*ReplicaGetResponse)(nil), // 2: pkg.enginerpc.ReplicaGetResponse + (*ReplicaOpenResponse)(nil), // 3: pkg.enginerpc.ReplicaOpenResponse + (*ReplicaCloseResponse)(nil), // 4: pkg.enginerpc.ReplicaCloseResponse + (*ReplicaReloadResponse)(nil), // 5: pkg.enginerpc.ReplicaReloadResponse + (*ReplicaRevertRequest)(nil), // 6: pkg.enginerpc.ReplicaRevertRequest + (*ReplicaRevertResponse)(nil), // 7: pkg.enginerpc.ReplicaRevertResponse + (*ReplicaSnapshotRequest)(nil), // 8: pkg.enginerpc.ReplicaSnapshotRequest + (*ReplicaSnapshotResponse)(nil), // 9: pkg.enginerpc.ReplicaSnapshotResponse + (*ReplicaExpandRequest)(nil), // 10: pkg.enginerpc.ReplicaExpandRequest + (*ReplicaExpandResponse)(nil), // 11: pkg.enginerpc.ReplicaExpandResponse + (*DiskRemoveRequest)(nil), // 12: pkg.enginerpc.DiskRemoveRequest + (*DiskRemoveResponse)(nil), // 13: pkg.enginerpc.DiskRemoveResponse + (*DiskReplaceRequest)(nil), // 14: pkg.enginerpc.DiskReplaceRequest + (*DiskReplaceResponse)(nil), // 15: pkg.enginerpc.DiskReplaceResponse + (*DiskPrepareRemoveRequest)(nil), // 16: pkg.enginerpc.DiskPrepareRemoveRequest + (*DiskPrepareRemoveResponse)(nil), // 17: pkg.enginerpc.DiskPrepareRemoveResponse + (*DiskMarkAsRemovedRequest)(nil), // 18: pkg.enginerpc.DiskMarkAsRemovedRequest + (*DiskMarkAsRemovedResponse)(nil), // 19: pkg.enginerpc.DiskMarkAsRemovedResponse + (*RebuildingSetRequest)(nil), // 20: pkg.enginerpc.RebuildingSetRequest + (*RebuildingSetResponse)(nil), // 21: pkg.enginerpc.RebuildingSetResponse + (*RevisionCounterSetRequest)(nil), // 22: pkg.enginerpc.RevisionCounterSetRequest + (*RevisionCounterSetResponse)(nil), // 23: pkg.enginerpc.RevisionCounterSetResponse + (*UnmapMarkDiskChainRemovedSetRequest)(nil), // 24: pkg.enginerpc.UnmapMarkDiskChainRemovedSetRequest + (*UnmapMarkDiskChainRemovedSetResponse)(nil), // 25: pkg.enginerpc.UnmapMarkDiskChainRemovedSetResponse + (*SnapshotMaxCountSetRequest)(nil), // 26: pkg.enginerpc.SnapshotMaxCountSetRequest + (*SnapshotMaxCountSetResponse)(nil), // 27: pkg.enginerpc.SnapshotMaxCountSetResponse + (*SnapshotMaxSizeSetRequest)(nil), // 28: pkg.enginerpc.SnapshotMaxSizeSetRequest + (*SnapshotMaxSizeSetResponse)(nil), // 29: pkg.enginerpc.SnapshotMaxSizeSetResponse + (*DiskInfo)(nil), // 30: pkg.enginerpc.DiskInfo + (*Replica)(nil), // 31: pkg.enginerpc.Replica + (*PrepareRemoveAction)(nil), // 32: pkg.enginerpc.PrepareRemoveAction + nil, // 33: pkg.enginerpc.ReplicaSnapshotRequest.LabelsEntry + nil, // 34: pkg.enginerpc.DiskInfo.ChildrenEntry + nil, // 35: pkg.enginerpc.DiskInfo.LabelsEntry + nil, // 36: pkg.enginerpc.Replica.DisksEntry + (*emptypb.Empty)(nil), // 37: google.protobuf.Empty +} +var file_pkg_enginerpc_replica_proto_depIdxs = []int32{ + 31, // 0: pkg.enginerpc.ReplicaCreateResponse.replica:type_name -> pkg.enginerpc.Replica + 31, // 1: pkg.enginerpc.ReplicaGetResponse.replica:type_name -> pkg.enginerpc.Replica + 31, // 2: pkg.enginerpc.ReplicaOpenResponse.replica:type_name -> pkg.enginerpc.Replica + 31, // 3: pkg.enginerpc.ReplicaCloseResponse.replica:type_name -> pkg.enginerpc.Replica + 31, // 4: pkg.enginerpc.ReplicaReloadResponse.replica:type_name -> pkg.enginerpc.Replica + 31, // 5: pkg.enginerpc.ReplicaRevertResponse.replica:type_name -> pkg.enginerpc.Replica + 33, // 6: pkg.enginerpc.ReplicaSnapshotRequest.labels:type_name -> pkg.enginerpc.ReplicaSnapshotRequest.LabelsEntry + 31, // 7: pkg.enginerpc.ReplicaSnapshotResponse.replica:type_name -> pkg.enginerpc.Replica + 31, // 8: pkg.enginerpc.ReplicaExpandResponse.replica:type_name -> pkg.enginerpc.Replica + 31, // 9: pkg.enginerpc.DiskRemoveResponse.replica:type_name -> pkg.enginerpc.Replica + 31, // 10: pkg.enginerpc.DiskReplaceResponse.replica:type_name -> pkg.enginerpc.Replica + 32, // 11: pkg.enginerpc.DiskPrepareRemoveResponse.operations:type_name -> pkg.enginerpc.PrepareRemoveAction + 31, // 12: pkg.enginerpc.DiskMarkAsRemovedResponse.replica:type_name -> pkg.enginerpc.Replica + 31, // 13: pkg.enginerpc.RebuildingSetResponse.replica:type_name -> pkg.enginerpc.Replica + 31, // 14: pkg.enginerpc.RevisionCounterSetResponse.replica:type_name -> pkg.enginerpc.Replica + 31, // 15: pkg.enginerpc.UnmapMarkDiskChainRemovedSetResponse.replica:type_name -> pkg.enginerpc.Replica + 31, // 16: pkg.enginerpc.SnapshotMaxCountSetResponse.replica:type_name -> pkg.enginerpc.Replica + 31, // 17: pkg.enginerpc.SnapshotMaxSizeSetResponse.replica:type_name -> pkg.enginerpc.Replica + 34, // 18: pkg.enginerpc.DiskInfo.children:type_name -> pkg.enginerpc.DiskInfo.ChildrenEntry + 35, // 19: pkg.enginerpc.DiskInfo.labels:type_name -> pkg.enginerpc.DiskInfo.LabelsEntry + 36, // 20: pkg.enginerpc.Replica.disks:type_name -> pkg.enginerpc.Replica.DisksEntry + 30, // 21: pkg.enginerpc.Replica.DisksEntry.value:type_name -> pkg.enginerpc.DiskInfo + 0, // 22: pkg.enginerpc.ReplicaService.ReplicaCreate:input_type -> pkg.enginerpc.ReplicaCreateRequest + 37, // 23: pkg.enginerpc.ReplicaService.ReplicaDelete:input_type -> google.protobuf.Empty + 37, // 24: pkg.enginerpc.ReplicaService.ReplicaGet:input_type -> google.protobuf.Empty + 37, // 25: pkg.enginerpc.ReplicaService.ReplicaOpen:input_type -> google.protobuf.Empty + 37, // 26: pkg.enginerpc.ReplicaService.ReplicaClose:input_type -> google.protobuf.Empty + 37, // 27: pkg.enginerpc.ReplicaService.ReplicaReload:input_type -> google.protobuf.Empty + 6, // 28: pkg.enginerpc.ReplicaService.ReplicaRevert:input_type -> pkg.enginerpc.ReplicaRevertRequest + 8, // 29: pkg.enginerpc.ReplicaService.ReplicaSnapshot:input_type -> pkg.enginerpc.ReplicaSnapshotRequest + 10, // 30: pkg.enginerpc.ReplicaService.ReplicaExpand:input_type -> pkg.enginerpc.ReplicaExpandRequest + 12, // 31: pkg.enginerpc.ReplicaService.DiskRemove:input_type -> pkg.enginerpc.DiskRemoveRequest + 14, // 32: pkg.enginerpc.ReplicaService.DiskReplace:input_type -> pkg.enginerpc.DiskReplaceRequest + 16, // 33: pkg.enginerpc.ReplicaService.DiskPrepareRemove:input_type -> pkg.enginerpc.DiskPrepareRemoveRequest + 18, // 34: pkg.enginerpc.ReplicaService.DiskMarkAsRemoved:input_type -> pkg.enginerpc.DiskMarkAsRemovedRequest + 20, // 35: pkg.enginerpc.ReplicaService.RebuildingSet:input_type -> pkg.enginerpc.RebuildingSetRequest + 22, // 36: pkg.enginerpc.ReplicaService.RevisionCounterSet:input_type -> pkg.enginerpc.RevisionCounterSetRequest + 24, // 37: pkg.enginerpc.ReplicaService.UnmapMarkDiskChainRemovedSet:input_type -> pkg.enginerpc.UnmapMarkDiskChainRemovedSetRequest + 26, // 38: pkg.enginerpc.ReplicaService.SnapshotMaxCountSet:input_type -> pkg.enginerpc.SnapshotMaxCountSetRequest + 28, // 39: pkg.enginerpc.ReplicaService.SnapshotMaxSizeSet:input_type -> pkg.enginerpc.SnapshotMaxSizeSetRequest + 1, // 40: pkg.enginerpc.ReplicaService.ReplicaCreate:output_type -> pkg.enginerpc.ReplicaCreateResponse + 37, // 41: pkg.enginerpc.ReplicaService.ReplicaDelete:output_type -> google.protobuf.Empty + 2, // 42: pkg.enginerpc.ReplicaService.ReplicaGet:output_type -> pkg.enginerpc.ReplicaGetResponse + 3, // 43: pkg.enginerpc.ReplicaService.ReplicaOpen:output_type -> pkg.enginerpc.ReplicaOpenResponse + 4, // 44: pkg.enginerpc.ReplicaService.ReplicaClose:output_type -> pkg.enginerpc.ReplicaCloseResponse + 5, // 45: pkg.enginerpc.ReplicaService.ReplicaReload:output_type -> pkg.enginerpc.ReplicaReloadResponse + 7, // 46: pkg.enginerpc.ReplicaService.ReplicaRevert:output_type -> pkg.enginerpc.ReplicaRevertResponse + 9, // 47: pkg.enginerpc.ReplicaService.ReplicaSnapshot:output_type -> pkg.enginerpc.ReplicaSnapshotResponse + 11, // 48: pkg.enginerpc.ReplicaService.ReplicaExpand:output_type -> pkg.enginerpc.ReplicaExpandResponse + 13, // 49: pkg.enginerpc.ReplicaService.DiskRemove:output_type -> pkg.enginerpc.DiskRemoveResponse + 15, // 50: pkg.enginerpc.ReplicaService.DiskReplace:output_type -> pkg.enginerpc.DiskReplaceResponse + 17, // 51: pkg.enginerpc.ReplicaService.DiskPrepareRemove:output_type -> pkg.enginerpc.DiskPrepareRemoveResponse + 19, // 52: pkg.enginerpc.ReplicaService.DiskMarkAsRemoved:output_type -> pkg.enginerpc.DiskMarkAsRemovedResponse + 21, // 53: pkg.enginerpc.ReplicaService.RebuildingSet:output_type -> pkg.enginerpc.RebuildingSetResponse + 23, // 54: pkg.enginerpc.ReplicaService.RevisionCounterSet:output_type -> pkg.enginerpc.RevisionCounterSetResponse + 25, // 55: pkg.enginerpc.ReplicaService.UnmapMarkDiskChainRemovedSet:output_type -> pkg.enginerpc.UnmapMarkDiskChainRemovedSetResponse + 27, // 56: pkg.enginerpc.ReplicaService.SnapshotMaxCountSet:output_type -> pkg.enginerpc.SnapshotMaxCountSetResponse + 29, // 57: pkg.enginerpc.ReplicaService.SnapshotMaxSizeSet:output_type -> pkg.enginerpc.SnapshotMaxSizeSetResponse + 40, // [40:58] is the sub-list for method output_type + 22, // [22:40] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name +} + +func init() { file_pkg_enginerpc_replica_proto_init() } +func file_pkg_enginerpc_replica_proto_init() { + if File_pkg_enginerpc_replica_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pkg_enginerpc_replica_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaCreateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaCreateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaGetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaOpenResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaCloseResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaReloadResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaRevertRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaRevertResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaSnapshotRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaSnapshotResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaExpandRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaExpandResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskRemoveRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskRemoveResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskReplaceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskReplaceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskPrepareRemoveRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskPrepareRemoveResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskMarkAsRemovedRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskMarkAsRemovedResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildingSetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildingSetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RevisionCounterSetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RevisionCounterSetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnmapMarkDiskChainRemovedSetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnmapMarkDiskChainRemovedSetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SnapshotMaxCountSetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SnapshotMaxCountSetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SnapshotMaxSizeSetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SnapshotMaxSizeSetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Replica); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_replica_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrepareRemoveAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_enginerpc_replica_proto_rawDesc, + NumEnums: 0, + NumMessages: 37, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_pkg_enginerpc_replica_proto_goTypes, + DependencyIndexes: file_pkg_enginerpc_replica_proto_depIdxs, + MessageInfos: file_pkg_enginerpc_replica_proto_msgTypes, + }.Build() + File_pkg_enginerpc_replica_proto = out.File + file_pkg_enginerpc_replica_proto_rawDesc = nil + file_pkg_enginerpc_replica_proto_goTypes = nil + file_pkg_enginerpc_replica_proto_depIdxs = nil +} diff --git a/pkg/enginerpc/replica.proto b/pkg/enginerpc/replica.proto new file mode 100644 index 0000000..4f31db4 --- /dev/null +++ b/pkg/enginerpc/replica.proto @@ -0,0 +1,199 @@ +syntax="proto3"; + +package pkg.enginerpc; + +option go_package = "github.com/longhorn/types/pkg/enginerpc"; + +import "google/protobuf/empty.proto"; + +service ReplicaService { + rpc ReplicaCreate(ReplicaCreateRequest) returns (ReplicaCreateResponse) {} + rpc ReplicaDelete(google.protobuf.Empty) returns (google.protobuf.Empty) {} + rpc ReplicaGet(google.protobuf.Empty) returns (ReplicaGetResponse) {} + rpc ReplicaOpen(google.protobuf.Empty) returns (ReplicaOpenResponse) {} + rpc ReplicaClose(google.protobuf.Empty) returns (ReplicaCloseResponse) {} + rpc ReplicaReload(google.protobuf.Empty) returns (ReplicaReloadResponse) {} + rpc ReplicaRevert(ReplicaRevertRequest) returns (ReplicaRevertResponse) {} + rpc ReplicaSnapshot(ReplicaSnapshotRequest) returns + (ReplicaSnapshotResponse) {} + rpc ReplicaExpand(ReplicaExpandRequest) returns (ReplicaExpandResponse) {} + rpc DiskRemove(DiskRemoveRequest) returns (DiskRemoveResponse) {} + rpc DiskReplace(DiskReplaceRequest) returns (DiskReplaceResponse) {} + rpc DiskPrepareRemove(DiskPrepareRemoveRequest) returns + (DiskPrepareRemoveResponse) {} + rpc DiskMarkAsRemoved(DiskMarkAsRemovedRequest) returns + (DiskMarkAsRemovedResponse) {} + rpc RebuildingSet(RebuildingSetRequest) returns (RebuildingSetResponse) {} + rpc RevisionCounterSet(RevisionCounterSetRequest) returns + (RevisionCounterSetResponse) {} + rpc UnmapMarkDiskChainRemovedSet(UnmapMarkDiskChainRemovedSetRequest) returns + (UnmapMarkDiskChainRemovedSetResponse) {} + rpc SnapshotMaxCountSet(SnapshotMaxCountSetRequest) returns + (SnapshotMaxCountSetResponse) {} + rpc SnapshotMaxSizeSet(SnapshotMaxSizeSetRequest) returns + (SnapshotMaxSizeSetResponse) {} +} + +message ReplicaCreateRequest { + string size = 1; +} + +message ReplicaCreateResponse { + Replica replica = 1; +} + +message ReplicaGetResponse { + Replica replica = 1; +} + +message ReplicaOpenResponse { + Replica replica = 1; +} + +message ReplicaCloseResponse { + Replica replica = 1; +} + +message ReplicaReloadResponse { + Replica replica = 1; +} + +message ReplicaRevertRequest { + string name = 1; + string created = 2; +} + +message ReplicaRevertResponse { + Replica replica = 1; +} + +message ReplicaSnapshotRequest { + string name = 1; + bool user_created = 2; + string created = 3; + map labels = 4; +} + +message ReplicaSnapshotResponse { + Replica replica = 1; +} + +message ReplicaExpandRequest { + int64 size = 1; +} + +message ReplicaExpandResponse { + Replica replica = 1; +} + +message DiskRemoveRequest { + string name = 1; + bool force = 2; +} + +message DiskRemoveResponse { + Replica replica = 1; +} + +message DiskReplaceRequest { + string target = 1; + string source = 2; +} + +message DiskReplaceResponse { + Replica replica = 1; +} + +message DiskPrepareRemoveRequest { + string name = 1; +} + +message DiskPrepareRemoveResponse { + repeated PrepareRemoveAction operations = 1; +} + +message DiskMarkAsRemovedRequest { + string name = 1; +} + +message DiskMarkAsRemovedResponse { + Replica replica = 1; +} + +message RebuildingSetRequest { + bool rebuilding = 1; +} + +message RebuildingSetResponse { + Replica replica = 1; +} + +message RevisionCounterSetRequest { + int64 counter = 1; +} + +message RevisionCounterSetResponse { + Replica replica = 1; +} + +message UnmapMarkDiskChainRemovedSetRequest { + bool enabled = 1; +} + +message UnmapMarkDiskChainRemovedSetResponse { + Replica replica = 1; +} + +message SnapshotMaxCountSetRequest { + int32 count = 1; +} + +message SnapshotMaxCountSetResponse { + Replica replica = 1; +} + +message SnapshotMaxSizeSetRequest { + int64 size = 1; +} + +message SnapshotMaxSizeSetResponse { + Replica replica = 1; +} + +message DiskInfo { + string name = 1; + string parent = 2; + map children = 3; + bool removed = 4; + bool user_created = 5; + string created = 6; + string size = 7; + map labels = 8; +} + +message Replica { + bool dirty = 1; + bool rebuilding = 2; + string head = 3; + string parent = 4; + string size = 5; + int64 sector_size = 6; + string backing_file = 7; + string state = 8; + repeated string chain = 9; + map disks = 10; + int32 remain_snapshots = 11; + int64 revision_counter = 12; + int64 last_modify_time = 13; + int64 head_file_size = 14; + bool revision_counter_disabled = 15; + bool unmap_mark_disk_chain_removed = 16; + int32 snapshot_count_usage = 17; + int64 snapshot_size_usage = 18; +} + +message PrepareRemoveAction { + string action = 1; + string source = 2; + string target = 3; +} diff --git a/pkg/enginerpc/replica_grpc.pb.go b/pkg/enginerpc/replica_grpc.pb.go new file mode 100644 index 0000000..00c01da --- /dev/null +++ b/pkg/enginerpc/replica_grpc.pb.go @@ -0,0 +1,739 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.24.3 +// source: pkg/enginerpc/replica.proto + +package enginerpc + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + ReplicaService_ReplicaCreate_FullMethodName = "/pkg.enginerpc.ReplicaService/ReplicaCreate" + ReplicaService_ReplicaDelete_FullMethodName = "/pkg.enginerpc.ReplicaService/ReplicaDelete" + ReplicaService_ReplicaGet_FullMethodName = "/pkg.enginerpc.ReplicaService/ReplicaGet" + ReplicaService_ReplicaOpen_FullMethodName = "/pkg.enginerpc.ReplicaService/ReplicaOpen" + ReplicaService_ReplicaClose_FullMethodName = "/pkg.enginerpc.ReplicaService/ReplicaClose" + ReplicaService_ReplicaReload_FullMethodName = "/pkg.enginerpc.ReplicaService/ReplicaReload" + ReplicaService_ReplicaRevert_FullMethodName = "/pkg.enginerpc.ReplicaService/ReplicaRevert" + ReplicaService_ReplicaSnapshot_FullMethodName = "/pkg.enginerpc.ReplicaService/ReplicaSnapshot" + ReplicaService_ReplicaExpand_FullMethodName = "/pkg.enginerpc.ReplicaService/ReplicaExpand" + ReplicaService_DiskRemove_FullMethodName = "/pkg.enginerpc.ReplicaService/DiskRemove" + ReplicaService_DiskReplace_FullMethodName = "/pkg.enginerpc.ReplicaService/DiskReplace" + ReplicaService_DiskPrepareRemove_FullMethodName = "/pkg.enginerpc.ReplicaService/DiskPrepareRemove" + ReplicaService_DiskMarkAsRemoved_FullMethodName = "/pkg.enginerpc.ReplicaService/DiskMarkAsRemoved" + ReplicaService_RebuildingSet_FullMethodName = "/pkg.enginerpc.ReplicaService/RebuildingSet" + ReplicaService_RevisionCounterSet_FullMethodName = "/pkg.enginerpc.ReplicaService/RevisionCounterSet" + ReplicaService_UnmapMarkDiskChainRemovedSet_FullMethodName = "/pkg.enginerpc.ReplicaService/UnmapMarkDiskChainRemovedSet" + ReplicaService_SnapshotMaxCountSet_FullMethodName = "/pkg.enginerpc.ReplicaService/SnapshotMaxCountSet" + ReplicaService_SnapshotMaxSizeSet_FullMethodName = "/pkg.enginerpc.ReplicaService/SnapshotMaxSizeSet" +) + +// ReplicaServiceClient is the client API for ReplicaService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ReplicaServiceClient interface { + ReplicaCreate(ctx context.Context, in *ReplicaCreateRequest, opts ...grpc.CallOption) (*ReplicaCreateResponse, error) + ReplicaDelete(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) + ReplicaGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ReplicaGetResponse, error) + ReplicaOpen(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ReplicaOpenResponse, error) + ReplicaClose(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ReplicaCloseResponse, error) + ReplicaReload(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ReplicaReloadResponse, error) + ReplicaRevert(ctx context.Context, in *ReplicaRevertRequest, opts ...grpc.CallOption) (*ReplicaRevertResponse, error) + ReplicaSnapshot(ctx context.Context, in *ReplicaSnapshotRequest, opts ...grpc.CallOption) (*ReplicaSnapshotResponse, error) + ReplicaExpand(ctx context.Context, in *ReplicaExpandRequest, opts ...grpc.CallOption) (*ReplicaExpandResponse, error) + DiskRemove(ctx context.Context, in *DiskRemoveRequest, opts ...grpc.CallOption) (*DiskRemoveResponse, error) + DiskReplace(ctx context.Context, in *DiskReplaceRequest, opts ...grpc.CallOption) (*DiskReplaceResponse, error) + DiskPrepareRemove(ctx context.Context, in *DiskPrepareRemoveRequest, opts ...grpc.CallOption) (*DiskPrepareRemoveResponse, error) + DiskMarkAsRemoved(ctx context.Context, in *DiskMarkAsRemovedRequest, opts ...grpc.CallOption) (*DiskMarkAsRemovedResponse, error) + RebuildingSet(ctx context.Context, in *RebuildingSetRequest, opts ...grpc.CallOption) (*RebuildingSetResponse, error) + RevisionCounterSet(ctx context.Context, in *RevisionCounterSetRequest, opts ...grpc.CallOption) (*RevisionCounterSetResponse, error) + UnmapMarkDiskChainRemovedSet(ctx context.Context, in *UnmapMarkDiskChainRemovedSetRequest, opts ...grpc.CallOption) (*UnmapMarkDiskChainRemovedSetResponse, error) + SnapshotMaxCountSet(ctx context.Context, in *SnapshotMaxCountSetRequest, opts ...grpc.CallOption) (*SnapshotMaxCountSetResponse, error) + SnapshotMaxSizeSet(ctx context.Context, in *SnapshotMaxSizeSetRequest, opts ...grpc.CallOption) (*SnapshotMaxSizeSetResponse, error) +} + +type replicaServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewReplicaServiceClient(cc grpc.ClientConnInterface) ReplicaServiceClient { + return &replicaServiceClient{cc} +} + +func (c *replicaServiceClient) ReplicaCreate(ctx context.Context, in *ReplicaCreateRequest, opts ...grpc.CallOption) (*ReplicaCreateResponse, error) { + out := new(ReplicaCreateResponse) + err := c.cc.Invoke(ctx, ReplicaService_ReplicaCreate_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) ReplicaDelete(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ReplicaService_ReplicaDelete_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) ReplicaGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ReplicaGetResponse, error) { + out := new(ReplicaGetResponse) + err := c.cc.Invoke(ctx, ReplicaService_ReplicaGet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) ReplicaOpen(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ReplicaOpenResponse, error) { + out := new(ReplicaOpenResponse) + err := c.cc.Invoke(ctx, ReplicaService_ReplicaOpen_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) ReplicaClose(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ReplicaCloseResponse, error) { + out := new(ReplicaCloseResponse) + err := c.cc.Invoke(ctx, ReplicaService_ReplicaClose_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) ReplicaReload(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ReplicaReloadResponse, error) { + out := new(ReplicaReloadResponse) + err := c.cc.Invoke(ctx, ReplicaService_ReplicaReload_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) ReplicaRevert(ctx context.Context, in *ReplicaRevertRequest, opts ...grpc.CallOption) (*ReplicaRevertResponse, error) { + out := new(ReplicaRevertResponse) + err := c.cc.Invoke(ctx, ReplicaService_ReplicaRevert_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) ReplicaSnapshot(ctx context.Context, in *ReplicaSnapshotRequest, opts ...grpc.CallOption) (*ReplicaSnapshotResponse, error) { + out := new(ReplicaSnapshotResponse) + err := c.cc.Invoke(ctx, ReplicaService_ReplicaSnapshot_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) ReplicaExpand(ctx context.Context, in *ReplicaExpandRequest, opts ...grpc.CallOption) (*ReplicaExpandResponse, error) { + out := new(ReplicaExpandResponse) + err := c.cc.Invoke(ctx, ReplicaService_ReplicaExpand_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) DiskRemove(ctx context.Context, in *DiskRemoveRequest, opts ...grpc.CallOption) (*DiskRemoveResponse, error) { + out := new(DiskRemoveResponse) + err := c.cc.Invoke(ctx, ReplicaService_DiskRemove_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) DiskReplace(ctx context.Context, in *DiskReplaceRequest, opts ...grpc.CallOption) (*DiskReplaceResponse, error) { + out := new(DiskReplaceResponse) + err := c.cc.Invoke(ctx, ReplicaService_DiskReplace_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) DiskPrepareRemove(ctx context.Context, in *DiskPrepareRemoveRequest, opts ...grpc.CallOption) (*DiskPrepareRemoveResponse, error) { + out := new(DiskPrepareRemoveResponse) + err := c.cc.Invoke(ctx, ReplicaService_DiskPrepareRemove_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) DiskMarkAsRemoved(ctx context.Context, in *DiskMarkAsRemovedRequest, opts ...grpc.CallOption) (*DiskMarkAsRemovedResponse, error) { + out := new(DiskMarkAsRemovedResponse) + err := c.cc.Invoke(ctx, ReplicaService_DiskMarkAsRemoved_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) RebuildingSet(ctx context.Context, in *RebuildingSetRequest, opts ...grpc.CallOption) (*RebuildingSetResponse, error) { + out := new(RebuildingSetResponse) + err := c.cc.Invoke(ctx, ReplicaService_RebuildingSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) RevisionCounterSet(ctx context.Context, in *RevisionCounterSetRequest, opts ...grpc.CallOption) (*RevisionCounterSetResponse, error) { + out := new(RevisionCounterSetResponse) + err := c.cc.Invoke(ctx, ReplicaService_RevisionCounterSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) UnmapMarkDiskChainRemovedSet(ctx context.Context, in *UnmapMarkDiskChainRemovedSetRequest, opts ...grpc.CallOption) (*UnmapMarkDiskChainRemovedSetResponse, error) { + out := new(UnmapMarkDiskChainRemovedSetResponse) + err := c.cc.Invoke(ctx, ReplicaService_UnmapMarkDiskChainRemovedSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) SnapshotMaxCountSet(ctx context.Context, in *SnapshotMaxCountSetRequest, opts ...grpc.CallOption) (*SnapshotMaxCountSetResponse, error) { + out := new(SnapshotMaxCountSetResponse) + err := c.cc.Invoke(ctx, ReplicaService_SnapshotMaxCountSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicaServiceClient) SnapshotMaxSizeSet(ctx context.Context, in *SnapshotMaxSizeSetRequest, opts ...grpc.CallOption) (*SnapshotMaxSizeSetResponse, error) { + out := new(SnapshotMaxSizeSetResponse) + err := c.cc.Invoke(ctx, ReplicaService_SnapshotMaxSizeSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ReplicaServiceServer is the server API for ReplicaService service. +// All implementations must embed UnimplementedReplicaServiceServer +// for forward compatibility +type ReplicaServiceServer interface { + ReplicaCreate(context.Context, *ReplicaCreateRequest) (*ReplicaCreateResponse, error) + ReplicaDelete(context.Context, *emptypb.Empty) (*emptypb.Empty, error) + ReplicaGet(context.Context, *emptypb.Empty) (*ReplicaGetResponse, error) + ReplicaOpen(context.Context, *emptypb.Empty) (*ReplicaOpenResponse, error) + ReplicaClose(context.Context, *emptypb.Empty) (*ReplicaCloseResponse, error) + ReplicaReload(context.Context, *emptypb.Empty) (*ReplicaReloadResponse, error) + ReplicaRevert(context.Context, *ReplicaRevertRequest) (*ReplicaRevertResponse, error) + ReplicaSnapshot(context.Context, *ReplicaSnapshotRequest) (*ReplicaSnapshotResponse, error) + ReplicaExpand(context.Context, *ReplicaExpandRequest) (*ReplicaExpandResponse, error) + DiskRemove(context.Context, *DiskRemoveRequest) (*DiskRemoveResponse, error) + DiskReplace(context.Context, *DiskReplaceRequest) (*DiskReplaceResponse, error) + DiskPrepareRemove(context.Context, *DiskPrepareRemoveRequest) (*DiskPrepareRemoveResponse, error) + DiskMarkAsRemoved(context.Context, *DiskMarkAsRemovedRequest) (*DiskMarkAsRemovedResponse, error) + RebuildingSet(context.Context, *RebuildingSetRequest) (*RebuildingSetResponse, error) + RevisionCounterSet(context.Context, *RevisionCounterSetRequest) (*RevisionCounterSetResponse, error) + UnmapMarkDiskChainRemovedSet(context.Context, *UnmapMarkDiskChainRemovedSetRequest) (*UnmapMarkDiskChainRemovedSetResponse, error) + SnapshotMaxCountSet(context.Context, *SnapshotMaxCountSetRequest) (*SnapshotMaxCountSetResponse, error) + SnapshotMaxSizeSet(context.Context, *SnapshotMaxSizeSetRequest) (*SnapshotMaxSizeSetResponse, error) + mustEmbedUnimplementedReplicaServiceServer() +} + +// UnimplementedReplicaServiceServer must be embedded to have forward compatible implementations. +type UnimplementedReplicaServiceServer struct { +} + +func (UnimplementedReplicaServiceServer) ReplicaCreate(context.Context, *ReplicaCreateRequest) (*ReplicaCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaCreate not implemented") +} +func (UnimplementedReplicaServiceServer) ReplicaDelete(context.Context, *emptypb.Empty) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaDelete not implemented") +} +func (UnimplementedReplicaServiceServer) ReplicaGet(context.Context, *emptypb.Empty) (*ReplicaGetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaGet not implemented") +} +func (UnimplementedReplicaServiceServer) ReplicaOpen(context.Context, *emptypb.Empty) (*ReplicaOpenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaOpen not implemented") +} +func (UnimplementedReplicaServiceServer) ReplicaClose(context.Context, *emptypb.Empty) (*ReplicaCloseResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaClose not implemented") +} +func (UnimplementedReplicaServiceServer) ReplicaReload(context.Context, *emptypb.Empty) (*ReplicaReloadResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaReload not implemented") +} +func (UnimplementedReplicaServiceServer) ReplicaRevert(context.Context, *ReplicaRevertRequest) (*ReplicaRevertResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaRevert not implemented") +} +func (UnimplementedReplicaServiceServer) ReplicaSnapshot(context.Context, *ReplicaSnapshotRequest) (*ReplicaSnapshotResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaSnapshot not implemented") +} +func (UnimplementedReplicaServiceServer) ReplicaExpand(context.Context, *ReplicaExpandRequest) (*ReplicaExpandResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaExpand not implemented") +} +func (UnimplementedReplicaServiceServer) DiskRemove(context.Context, *DiskRemoveRequest) (*DiskRemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DiskRemove not implemented") +} +func (UnimplementedReplicaServiceServer) DiskReplace(context.Context, *DiskReplaceRequest) (*DiskReplaceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DiskReplace not implemented") +} +func (UnimplementedReplicaServiceServer) DiskPrepareRemove(context.Context, *DiskPrepareRemoveRequest) (*DiskPrepareRemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DiskPrepareRemove not implemented") +} +func (UnimplementedReplicaServiceServer) DiskMarkAsRemoved(context.Context, *DiskMarkAsRemovedRequest) (*DiskMarkAsRemovedResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DiskMarkAsRemoved not implemented") +} +func (UnimplementedReplicaServiceServer) RebuildingSet(context.Context, *RebuildingSetRequest) (*RebuildingSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RebuildingSet not implemented") +} +func (UnimplementedReplicaServiceServer) RevisionCounterSet(context.Context, *RevisionCounterSetRequest) (*RevisionCounterSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RevisionCounterSet not implemented") +} +func (UnimplementedReplicaServiceServer) UnmapMarkDiskChainRemovedSet(context.Context, *UnmapMarkDiskChainRemovedSetRequest) (*UnmapMarkDiskChainRemovedSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnmapMarkDiskChainRemovedSet not implemented") +} +func (UnimplementedReplicaServiceServer) SnapshotMaxCountSet(context.Context, *SnapshotMaxCountSetRequest) (*SnapshotMaxCountSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotMaxCountSet not implemented") +} +func (UnimplementedReplicaServiceServer) SnapshotMaxSizeSet(context.Context, *SnapshotMaxSizeSetRequest) (*SnapshotMaxSizeSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotMaxSizeSet not implemented") +} +func (UnimplementedReplicaServiceServer) mustEmbedUnimplementedReplicaServiceServer() {} + +// UnsafeReplicaServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ReplicaServiceServer will +// result in compilation errors. +type UnsafeReplicaServiceServer interface { + mustEmbedUnimplementedReplicaServiceServer() +} + +func RegisterReplicaServiceServer(s grpc.ServiceRegistrar, srv ReplicaServiceServer) { + s.RegisterService(&ReplicaService_ServiceDesc, srv) +} + +func _ReplicaService_ReplicaCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReplicaCreateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).ReplicaCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_ReplicaCreate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).ReplicaCreate(ctx, req.(*ReplicaCreateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_ReplicaDelete_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 { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).ReplicaDelete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_ReplicaDelete_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).ReplicaDelete(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_ReplicaGet_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 { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).ReplicaGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_ReplicaGet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).ReplicaGet(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_ReplicaOpen_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 { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).ReplicaOpen(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_ReplicaOpen_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).ReplicaOpen(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_ReplicaClose_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 { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).ReplicaClose(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_ReplicaClose_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).ReplicaClose(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_ReplicaReload_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 { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).ReplicaReload(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_ReplicaReload_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).ReplicaReload(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_ReplicaRevert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReplicaRevertRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).ReplicaRevert(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_ReplicaRevert_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).ReplicaRevert(ctx, req.(*ReplicaRevertRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_ReplicaSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReplicaSnapshotRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).ReplicaSnapshot(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_ReplicaSnapshot_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).ReplicaSnapshot(ctx, req.(*ReplicaSnapshotRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_ReplicaExpand_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReplicaExpandRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).ReplicaExpand(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_ReplicaExpand_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).ReplicaExpand(ctx, req.(*ReplicaExpandRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_DiskRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DiskRemoveRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).DiskRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_DiskRemove_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).DiskRemove(ctx, req.(*DiskRemoveRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_DiskReplace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DiskReplaceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).DiskReplace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_DiskReplace_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).DiskReplace(ctx, req.(*DiskReplaceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_DiskPrepareRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DiskPrepareRemoveRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).DiskPrepareRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_DiskPrepareRemove_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).DiskPrepareRemove(ctx, req.(*DiskPrepareRemoveRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_DiskMarkAsRemoved_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DiskMarkAsRemovedRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).DiskMarkAsRemoved(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_DiskMarkAsRemoved_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).DiskMarkAsRemoved(ctx, req.(*DiskMarkAsRemovedRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_RebuildingSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RebuildingSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).RebuildingSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_RebuildingSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).RebuildingSet(ctx, req.(*RebuildingSetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_RevisionCounterSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RevisionCounterSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).RevisionCounterSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_RevisionCounterSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).RevisionCounterSet(ctx, req.(*RevisionCounterSetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_UnmapMarkDiskChainRemovedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnmapMarkDiskChainRemovedSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).UnmapMarkDiskChainRemovedSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_UnmapMarkDiskChainRemovedSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).UnmapMarkDiskChainRemovedSet(ctx, req.(*UnmapMarkDiskChainRemovedSetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_SnapshotMaxCountSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SnapshotMaxCountSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).SnapshotMaxCountSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_SnapshotMaxCountSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).SnapshotMaxCountSet(ctx, req.(*SnapshotMaxCountSetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicaService_SnapshotMaxSizeSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SnapshotMaxSizeSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicaServiceServer).SnapshotMaxSizeSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ReplicaService_SnapshotMaxSizeSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicaServiceServer).SnapshotMaxSizeSet(ctx, req.(*SnapshotMaxSizeSetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ReplicaService_ServiceDesc is the grpc.ServiceDesc for ReplicaService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ReplicaService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "pkg.enginerpc.ReplicaService", + HandlerType: (*ReplicaServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ReplicaCreate", + Handler: _ReplicaService_ReplicaCreate_Handler, + }, + { + MethodName: "ReplicaDelete", + Handler: _ReplicaService_ReplicaDelete_Handler, + }, + { + MethodName: "ReplicaGet", + Handler: _ReplicaService_ReplicaGet_Handler, + }, + { + MethodName: "ReplicaOpen", + Handler: _ReplicaService_ReplicaOpen_Handler, + }, + { + MethodName: "ReplicaClose", + Handler: _ReplicaService_ReplicaClose_Handler, + }, + { + MethodName: "ReplicaReload", + Handler: _ReplicaService_ReplicaReload_Handler, + }, + { + MethodName: "ReplicaRevert", + Handler: _ReplicaService_ReplicaRevert_Handler, + }, + { + MethodName: "ReplicaSnapshot", + Handler: _ReplicaService_ReplicaSnapshot_Handler, + }, + { + MethodName: "ReplicaExpand", + Handler: _ReplicaService_ReplicaExpand_Handler, + }, + { + MethodName: "DiskRemove", + Handler: _ReplicaService_DiskRemove_Handler, + }, + { + MethodName: "DiskReplace", + Handler: _ReplicaService_DiskReplace_Handler, + }, + { + MethodName: "DiskPrepareRemove", + Handler: _ReplicaService_DiskPrepareRemove_Handler, + }, + { + MethodName: "DiskMarkAsRemoved", + Handler: _ReplicaService_DiskMarkAsRemoved_Handler, + }, + { + MethodName: "RebuildingSet", + Handler: _ReplicaService_RebuildingSet_Handler, + }, + { + MethodName: "RevisionCounterSet", + Handler: _ReplicaService_RevisionCounterSet_Handler, + }, + { + MethodName: "UnmapMarkDiskChainRemovedSet", + Handler: _ReplicaService_UnmapMarkDiskChainRemovedSet_Handler, + }, + { + MethodName: "SnapshotMaxCountSet", + Handler: _ReplicaService_SnapshotMaxCountSet_Handler, + }, + { + MethodName: "SnapshotMaxSizeSet", + Handler: _ReplicaService_SnapshotMaxSizeSet_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "pkg/enginerpc/replica.proto", +} diff --git a/pkg/enginerpc/replica_pb2.py b/pkg/enginerpc/replica_pb2.py new file mode 100644 index 0000000..8f6ad49 --- /dev/null +++ b/pkg/enginerpc/replica_pb2.py @@ -0,0 +1,110 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: pkg/enginerpc/replica.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpkg/enginerpc/replica.proto\x12\rpkg.enginerpc\x1a\x1bgoogle/protobuf/empty.proto\"$\n\x14ReplicaCreateRequest\x12\x0c\n\x04size\x18\x01 \x01(\t\"@\n\x15ReplicaCreateResponse\x12\'\n\x07replica\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Replica\"=\n\x12ReplicaGetResponse\x12\'\n\x07replica\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Replica\">\n\x13ReplicaOpenResponse\x12\'\n\x07replica\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Replica\"?\n\x14ReplicaCloseResponse\x12\'\n\x07replica\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Replica\"@\n\x15ReplicaReloadResponse\x12\'\n\x07replica\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Replica\"5\n\x14ReplicaRevertRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07\x63reated\x18\x02 \x01(\t\"@\n\x15ReplicaRevertResponse\x12\'\n\x07replica\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Replica\"\xbf\x01\n\x16ReplicaSnapshotRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0cuser_created\x18\x02 \x01(\x08\x12\x0f\n\x07\x63reated\x18\x03 \x01(\t\x12\x41\n\x06labels\x18\x04 \x03(\x0b\x32\x31.pkg.enginerpc.ReplicaSnapshotRequest.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"B\n\x17ReplicaSnapshotResponse\x12\'\n\x07replica\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Replica\"$\n\x14ReplicaExpandRequest\x12\x0c\n\x04size\x18\x01 \x01(\x03\"@\n\x15ReplicaExpandResponse\x12\'\n\x07replica\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Replica\"0\n\x11\x44iskRemoveRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x66orce\x18\x02 \x01(\x08\"=\n\x12\x44iskRemoveResponse\x12\'\n\x07replica\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Replica\"4\n\x12\x44iskReplaceRequest\x12\x0e\n\x06target\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x13\x44iskReplaceResponse\x12\'\n\x07replica\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Replica\"(\n\x18\x44iskPrepareRemoveRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"S\n\x19\x44iskPrepareRemoveResponse\x12\x36\n\noperations\x18\x01 \x03(\x0b\x32\".pkg.enginerpc.PrepareRemoveAction\"(\n\x18\x44iskMarkAsRemovedRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"D\n\x19\x44iskMarkAsRemovedResponse\x12\'\n\x07replica\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Replica\"*\n\x14RebuildingSetRequest\x12\x12\n\nrebuilding\x18\x01 \x01(\x08\"@\n\x15RebuildingSetResponse\x12\'\n\x07replica\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Replica\",\n\x19RevisionCounterSetRequest\x12\x0f\n\x07\x63ounter\x18\x01 \x01(\x03\"E\n\x1aRevisionCounterSetResponse\x12\'\n\x07replica\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Replica\"6\n#UnmapMarkDiskChainRemovedSetRequest\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\"O\n$UnmapMarkDiskChainRemovedSetResponse\x12\'\n\x07replica\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Replica\"+\n\x1aSnapshotMaxCountSetRequest\x12\r\n\x05\x63ount\x18\x01 \x01(\x05\"F\n\x1bSnapshotMaxCountSetResponse\x12\'\n\x07replica\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Replica\")\n\x19SnapshotMaxSizeSetRequest\x12\x0c\n\x04size\x18\x01 \x01(\x03\"E\n\x1aSnapshotMaxSizeSetResponse\x12\'\n\x07replica\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Replica\"\xbc\x02\n\x08\x44iskInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06parent\x18\x02 \x01(\t\x12\x37\n\x08\x63hildren\x18\x03 \x03(\x0b\x32%.pkg.enginerpc.DiskInfo.ChildrenEntry\x12\x0f\n\x07removed\x18\x04 \x01(\x08\x12\x14\n\x0cuser_created\x18\x05 \x01(\x08\x12\x0f\n\x07\x63reated\x18\x06 \x01(\t\x12\x0c\n\x04size\x18\x07 \x01(\t\x12\x33\n\x06labels\x18\x08 \x03(\x0b\x32#.pkg.enginerpc.DiskInfo.LabelsEntry\x1a/\n\rChildrenEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x85\x04\n\x07Replica\x12\r\n\x05\x64irty\x18\x01 \x01(\x08\x12\x12\n\nrebuilding\x18\x02 \x01(\x08\x12\x0c\n\x04head\x18\x03 \x01(\t\x12\x0e\n\x06parent\x18\x04 \x01(\t\x12\x0c\n\x04size\x18\x05 \x01(\t\x12\x13\n\x0bsector_size\x18\x06 \x01(\x03\x12\x14\n\x0c\x62\x61\x63king_file\x18\x07 \x01(\t\x12\r\n\x05state\x18\x08 \x01(\t\x12\r\n\x05\x63hain\x18\t \x03(\t\x12\x30\n\x05\x64isks\x18\n \x03(\x0b\x32!.pkg.enginerpc.Replica.DisksEntry\x12\x18\n\x10remain_snapshots\x18\x0b \x01(\x05\x12\x18\n\x10revision_counter\x18\x0c \x01(\x03\x12\x18\n\x10last_modify_time\x18\r \x01(\x03\x12\x16\n\x0ehead_file_size\x18\x0e \x01(\x03\x12!\n\x19revision_counter_disabled\x18\x0f \x01(\x08\x12%\n\x1dunmap_mark_disk_chain_removed\x18\x10 \x01(\x08\x12\x1c\n\x14snapshot_count_usage\x18\x11 \x01(\x05\x12\x1b\n\x13snapshot_size_usage\x18\x12 \x01(\x03\x1a\x45\n\nDisksEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.pkg.enginerpc.DiskInfo:\x02\x38\x01\"E\n\x13PrepareRemoveAction\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x0e\n\x06target\x18\x03 \x01(\t2\xbe\r\n\x0eReplicaService\x12\\\n\rReplicaCreate\x12#.pkg.enginerpc.ReplicaCreateRequest\x1a$.pkg.enginerpc.ReplicaCreateResponse\"\x00\x12\x41\n\rReplicaDelete\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x12I\n\nReplicaGet\x12\x16.google.protobuf.Empty\x1a!.pkg.enginerpc.ReplicaGetResponse\"\x00\x12K\n\x0bReplicaOpen\x12\x16.google.protobuf.Empty\x1a\".pkg.enginerpc.ReplicaOpenResponse\"\x00\x12M\n\x0cReplicaClose\x12\x16.google.protobuf.Empty\x1a#.pkg.enginerpc.ReplicaCloseResponse\"\x00\x12O\n\rReplicaReload\x12\x16.google.protobuf.Empty\x1a$.pkg.enginerpc.ReplicaReloadResponse\"\x00\x12\\\n\rReplicaRevert\x12#.pkg.enginerpc.ReplicaRevertRequest\x1a$.pkg.enginerpc.ReplicaRevertResponse\"\x00\x12\x62\n\x0fReplicaSnapshot\x12%.pkg.enginerpc.ReplicaSnapshotRequest\x1a&.pkg.enginerpc.ReplicaSnapshotResponse\"\x00\x12\\\n\rReplicaExpand\x12#.pkg.enginerpc.ReplicaExpandRequest\x1a$.pkg.enginerpc.ReplicaExpandResponse\"\x00\x12S\n\nDiskRemove\x12 .pkg.enginerpc.DiskRemoveRequest\x1a!.pkg.enginerpc.DiskRemoveResponse\"\x00\x12V\n\x0b\x44iskReplace\x12!.pkg.enginerpc.DiskReplaceRequest\x1a\".pkg.enginerpc.DiskReplaceResponse\"\x00\x12h\n\x11\x44iskPrepareRemove\x12\'.pkg.enginerpc.DiskPrepareRemoveRequest\x1a(.pkg.enginerpc.DiskPrepareRemoveResponse\"\x00\x12h\n\x11\x44iskMarkAsRemoved\x12\'.pkg.enginerpc.DiskMarkAsRemovedRequest\x1a(.pkg.enginerpc.DiskMarkAsRemovedResponse\"\x00\x12\\\n\rRebuildingSet\x12#.pkg.enginerpc.RebuildingSetRequest\x1a$.pkg.enginerpc.RebuildingSetResponse\"\x00\x12k\n\x12RevisionCounterSet\x12(.pkg.enginerpc.RevisionCounterSetRequest\x1a).pkg.enginerpc.RevisionCounterSetResponse\"\x00\x12\x89\x01\n\x1cUnmapMarkDiskChainRemovedSet\x12\x32.pkg.enginerpc.UnmapMarkDiskChainRemovedSetRequest\x1a\x33.pkg.enginerpc.UnmapMarkDiskChainRemovedSetResponse\"\x00\x12n\n\x13SnapshotMaxCountSet\x12).pkg.enginerpc.SnapshotMaxCountSetRequest\x1a*.pkg.enginerpc.SnapshotMaxCountSetResponse\"\x00\x12k\n\x12SnapshotMaxSizeSet\x12(.pkg.enginerpc.SnapshotMaxSizeSetRequest\x1a).pkg.enginerpc.SnapshotMaxSizeSetResponse\"\x00\x42)Z\'github.com/longhorn/types/pkg/enginerpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pkg.enginerpc.replica_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z\'github.com/longhorn/types/pkg/enginerpc' + _REPLICASNAPSHOTREQUEST_LABELSENTRY._options = None + _REPLICASNAPSHOTREQUEST_LABELSENTRY._serialized_options = b'8\001' + _DISKINFO_CHILDRENENTRY._options = None + _DISKINFO_CHILDRENENTRY._serialized_options = b'8\001' + _DISKINFO_LABELSENTRY._options = None + _DISKINFO_LABELSENTRY._serialized_options = b'8\001' + _REPLICA_DISKSENTRY._options = None + _REPLICA_DISKSENTRY._serialized_options = b'8\001' + _globals['_REPLICACREATEREQUEST']._serialized_start=75 + _globals['_REPLICACREATEREQUEST']._serialized_end=111 + _globals['_REPLICACREATERESPONSE']._serialized_start=113 + _globals['_REPLICACREATERESPONSE']._serialized_end=177 + _globals['_REPLICAGETRESPONSE']._serialized_start=179 + _globals['_REPLICAGETRESPONSE']._serialized_end=240 + _globals['_REPLICAOPENRESPONSE']._serialized_start=242 + _globals['_REPLICAOPENRESPONSE']._serialized_end=304 + _globals['_REPLICACLOSERESPONSE']._serialized_start=306 + _globals['_REPLICACLOSERESPONSE']._serialized_end=369 + _globals['_REPLICARELOADRESPONSE']._serialized_start=371 + _globals['_REPLICARELOADRESPONSE']._serialized_end=435 + _globals['_REPLICAREVERTREQUEST']._serialized_start=437 + _globals['_REPLICAREVERTREQUEST']._serialized_end=490 + _globals['_REPLICAREVERTRESPONSE']._serialized_start=492 + _globals['_REPLICAREVERTRESPONSE']._serialized_end=556 + _globals['_REPLICASNAPSHOTREQUEST']._serialized_start=559 + _globals['_REPLICASNAPSHOTREQUEST']._serialized_end=750 + _globals['_REPLICASNAPSHOTREQUEST_LABELSENTRY']._serialized_start=705 + _globals['_REPLICASNAPSHOTREQUEST_LABELSENTRY']._serialized_end=750 + _globals['_REPLICASNAPSHOTRESPONSE']._serialized_start=752 + _globals['_REPLICASNAPSHOTRESPONSE']._serialized_end=818 + _globals['_REPLICAEXPANDREQUEST']._serialized_start=820 + _globals['_REPLICAEXPANDREQUEST']._serialized_end=856 + _globals['_REPLICAEXPANDRESPONSE']._serialized_start=858 + _globals['_REPLICAEXPANDRESPONSE']._serialized_end=922 + _globals['_DISKREMOVEREQUEST']._serialized_start=924 + _globals['_DISKREMOVEREQUEST']._serialized_end=972 + _globals['_DISKREMOVERESPONSE']._serialized_start=974 + _globals['_DISKREMOVERESPONSE']._serialized_end=1035 + _globals['_DISKREPLACEREQUEST']._serialized_start=1037 + _globals['_DISKREPLACEREQUEST']._serialized_end=1089 + _globals['_DISKREPLACERESPONSE']._serialized_start=1091 + _globals['_DISKREPLACERESPONSE']._serialized_end=1153 + _globals['_DISKPREPAREREMOVEREQUEST']._serialized_start=1155 + _globals['_DISKPREPAREREMOVEREQUEST']._serialized_end=1195 + _globals['_DISKPREPAREREMOVERESPONSE']._serialized_start=1197 + _globals['_DISKPREPAREREMOVERESPONSE']._serialized_end=1280 + _globals['_DISKMARKASREMOVEDREQUEST']._serialized_start=1282 + _globals['_DISKMARKASREMOVEDREQUEST']._serialized_end=1322 + _globals['_DISKMARKASREMOVEDRESPONSE']._serialized_start=1324 + _globals['_DISKMARKASREMOVEDRESPONSE']._serialized_end=1392 + _globals['_REBUILDINGSETREQUEST']._serialized_start=1394 + _globals['_REBUILDINGSETREQUEST']._serialized_end=1436 + _globals['_REBUILDINGSETRESPONSE']._serialized_start=1438 + _globals['_REBUILDINGSETRESPONSE']._serialized_end=1502 + _globals['_REVISIONCOUNTERSETREQUEST']._serialized_start=1504 + _globals['_REVISIONCOUNTERSETREQUEST']._serialized_end=1548 + _globals['_REVISIONCOUNTERSETRESPONSE']._serialized_start=1550 + _globals['_REVISIONCOUNTERSETRESPONSE']._serialized_end=1619 + _globals['_UNMAPMARKDISKCHAINREMOVEDSETREQUEST']._serialized_start=1621 + _globals['_UNMAPMARKDISKCHAINREMOVEDSETREQUEST']._serialized_end=1675 + _globals['_UNMAPMARKDISKCHAINREMOVEDSETRESPONSE']._serialized_start=1677 + _globals['_UNMAPMARKDISKCHAINREMOVEDSETRESPONSE']._serialized_end=1756 + _globals['_SNAPSHOTMAXCOUNTSETREQUEST']._serialized_start=1758 + _globals['_SNAPSHOTMAXCOUNTSETREQUEST']._serialized_end=1801 + _globals['_SNAPSHOTMAXCOUNTSETRESPONSE']._serialized_start=1803 + _globals['_SNAPSHOTMAXCOUNTSETRESPONSE']._serialized_end=1873 + _globals['_SNAPSHOTMAXSIZESETREQUEST']._serialized_start=1875 + _globals['_SNAPSHOTMAXSIZESETREQUEST']._serialized_end=1916 + _globals['_SNAPSHOTMAXSIZESETRESPONSE']._serialized_start=1918 + _globals['_SNAPSHOTMAXSIZESETRESPONSE']._serialized_end=1987 + _globals['_DISKINFO']._serialized_start=1990 + _globals['_DISKINFO']._serialized_end=2306 + _globals['_DISKINFO_CHILDRENENTRY']._serialized_start=2212 + _globals['_DISKINFO_CHILDRENENTRY']._serialized_end=2259 + _globals['_DISKINFO_LABELSENTRY']._serialized_start=705 + _globals['_DISKINFO_LABELSENTRY']._serialized_end=750 + _globals['_REPLICA']._serialized_start=2309 + _globals['_REPLICA']._serialized_end=2826 + _globals['_REPLICA_DISKSENTRY']._serialized_start=2757 + _globals['_REPLICA_DISKSENTRY']._serialized_end=2826 + _globals['_PREPAREREMOVEACTION']._serialized_start=2828 + _globals['_PREPAREREMOVEACTION']._serialized_end=2897 + _globals['_REPLICASERVICE']._serialized_start=2900 + _globals['_REPLICASERVICE']._serialized_end=4626 +# @@protoc_insertion_point(module_scope) diff --git a/pkg/enginerpc/replica_pb2_grpc.py b/pkg/enginerpc/replica_pb2_grpc.py new file mode 100644 index 0000000..e293e3d --- /dev/null +++ b/pkg/enginerpc/replica_pb2_grpc.py @@ -0,0 +1,628 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from pkg.enginerpc import replica_pb2 as pkg_dot_enginerpc_dot_replica__pb2 + + +class ReplicaServiceStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.ReplicaCreate = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/ReplicaCreate', + request_serializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaCreateRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaCreateResponse.FromString, + ) + self.ReplicaDelete = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/ReplicaDelete', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.ReplicaGet = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/ReplicaGet', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaGetResponse.FromString, + ) + self.ReplicaOpen = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/ReplicaOpen', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaOpenResponse.FromString, + ) + self.ReplicaClose = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/ReplicaClose', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaCloseResponse.FromString, + ) + self.ReplicaReload = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/ReplicaReload', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaReloadResponse.FromString, + ) + self.ReplicaRevert = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/ReplicaRevert', + request_serializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaRevertRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaRevertResponse.FromString, + ) + self.ReplicaSnapshot = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/ReplicaSnapshot', + request_serializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaSnapshotRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaSnapshotResponse.FromString, + ) + self.ReplicaExpand = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/ReplicaExpand', + request_serializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaExpandRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaExpandResponse.FromString, + ) + self.DiskRemove = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/DiskRemove', + request_serializer=pkg_dot_enginerpc_dot_replica__pb2.DiskRemoveRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.DiskRemoveResponse.FromString, + ) + self.DiskReplace = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/DiskReplace', + request_serializer=pkg_dot_enginerpc_dot_replica__pb2.DiskReplaceRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.DiskReplaceResponse.FromString, + ) + self.DiskPrepareRemove = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/DiskPrepareRemove', + request_serializer=pkg_dot_enginerpc_dot_replica__pb2.DiskPrepareRemoveRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.DiskPrepareRemoveResponse.FromString, + ) + self.DiskMarkAsRemoved = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/DiskMarkAsRemoved', + request_serializer=pkg_dot_enginerpc_dot_replica__pb2.DiskMarkAsRemovedRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.DiskMarkAsRemovedResponse.FromString, + ) + self.RebuildingSet = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/RebuildingSet', + request_serializer=pkg_dot_enginerpc_dot_replica__pb2.RebuildingSetRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.RebuildingSetResponse.FromString, + ) + self.RevisionCounterSet = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/RevisionCounterSet', + request_serializer=pkg_dot_enginerpc_dot_replica__pb2.RevisionCounterSetRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.RevisionCounterSetResponse.FromString, + ) + self.UnmapMarkDiskChainRemovedSet = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/UnmapMarkDiskChainRemovedSet', + request_serializer=pkg_dot_enginerpc_dot_replica__pb2.UnmapMarkDiskChainRemovedSetRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.UnmapMarkDiskChainRemovedSetResponse.FromString, + ) + self.SnapshotMaxCountSet = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/SnapshotMaxCountSet', + request_serializer=pkg_dot_enginerpc_dot_replica__pb2.SnapshotMaxCountSetRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.SnapshotMaxCountSetResponse.FromString, + ) + self.SnapshotMaxSizeSet = channel.unary_unary( + '/pkg.enginerpc.ReplicaService/SnapshotMaxSizeSet', + request_serializer=pkg_dot_enginerpc_dot_replica__pb2.SnapshotMaxSizeSetRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_replica__pb2.SnapshotMaxSizeSetResponse.FromString, + ) + + +class ReplicaServiceServicer(object): + """Missing associated documentation comment in .proto file.""" + + def ReplicaCreate(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 ReplicaDelete(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 ReplicaGet(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 ReplicaOpen(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 ReplicaClose(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 ReplicaReload(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 ReplicaRevert(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 ReplicaSnapshot(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 ReplicaExpand(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 DiskRemove(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 DiskReplace(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 DiskPrepareRemove(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 DiskMarkAsRemoved(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 RebuildingSet(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 RevisionCounterSet(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 UnmapMarkDiskChainRemovedSet(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 SnapshotMaxCountSet(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 SnapshotMaxSizeSet(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 add_ReplicaServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'ReplicaCreate': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaCreate, + request_deserializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaCreateRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaCreateResponse.SerializeToString, + ), + 'ReplicaDelete': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaDelete, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'ReplicaGet': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaGet, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaGetResponse.SerializeToString, + ), + 'ReplicaOpen': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaOpen, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaOpenResponse.SerializeToString, + ), + 'ReplicaClose': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaClose, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaCloseResponse.SerializeToString, + ), + 'ReplicaReload': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaReload, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaReloadResponse.SerializeToString, + ), + 'ReplicaRevert': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaRevert, + request_deserializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaRevertRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaRevertResponse.SerializeToString, + ), + 'ReplicaSnapshot': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaSnapshot, + request_deserializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaSnapshotRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaSnapshotResponse.SerializeToString, + ), + 'ReplicaExpand': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaExpand, + request_deserializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaExpandRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.ReplicaExpandResponse.SerializeToString, + ), + 'DiskRemove': grpc.unary_unary_rpc_method_handler( + servicer.DiskRemove, + request_deserializer=pkg_dot_enginerpc_dot_replica__pb2.DiskRemoveRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.DiskRemoveResponse.SerializeToString, + ), + 'DiskReplace': grpc.unary_unary_rpc_method_handler( + servicer.DiskReplace, + request_deserializer=pkg_dot_enginerpc_dot_replica__pb2.DiskReplaceRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.DiskReplaceResponse.SerializeToString, + ), + 'DiskPrepareRemove': grpc.unary_unary_rpc_method_handler( + servicer.DiskPrepareRemove, + request_deserializer=pkg_dot_enginerpc_dot_replica__pb2.DiskPrepareRemoveRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.DiskPrepareRemoveResponse.SerializeToString, + ), + 'DiskMarkAsRemoved': grpc.unary_unary_rpc_method_handler( + servicer.DiskMarkAsRemoved, + request_deserializer=pkg_dot_enginerpc_dot_replica__pb2.DiskMarkAsRemovedRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.DiskMarkAsRemovedResponse.SerializeToString, + ), + 'RebuildingSet': grpc.unary_unary_rpc_method_handler( + servicer.RebuildingSet, + request_deserializer=pkg_dot_enginerpc_dot_replica__pb2.RebuildingSetRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.RebuildingSetResponse.SerializeToString, + ), + 'RevisionCounterSet': grpc.unary_unary_rpc_method_handler( + servicer.RevisionCounterSet, + request_deserializer=pkg_dot_enginerpc_dot_replica__pb2.RevisionCounterSetRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.RevisionCounterSetResponse.SerializeToString, + ), + 'UnmapMarkDiskChainRemovedSet': grpc.unary_unary_rpc_method_handler( + servicer.UnmapMarkDiskChainRemovedSet, + request_deserializer=pkg_dot_enginerpc_dot_replica__pb2.UnmapMarkDiskChainRemovedSetRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.UnmapMarkDiskChainRemovedSetResponse.SerializeToString, + ), + 'SnapshotMaxCountSet': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotMaxCountSet, + request_deserializer=pkg_dot_enginerpc_dot_replica__pb2.SnapshotMaxCountSetRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.SnapshotMaxCountSetResponse.SerializeToString, + ), + 'SnapshotMaxSizeSet': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotMaxSizeSet, + request_deserializer=pkg_dot_enginerpc_dot_replica__pb2.SnapshotMaxSizeSetRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_replica__pb2.SnapshotMaxSizeSetResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'pkg.enginerpc.ReplicaService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class ReplicaService(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def ReplicaCreate(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, '/pkg.enginerpc.ReplicaService/ReplicaCreate', + pkg_dot_enginerpc_dot_replica__pb2.ReplicaCreateRequest.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.ReplicaCreateResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaDelete(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, '/pkg.enginerpc.ReplicaService/ReplicaDelete', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaGet(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, '/pkg.enginerpc.ReplicaService/ReplicaGet', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.ReplicaGetResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaOpen(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, '/pkg.enginerpc.ReplicaService/ReplicaOpen', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.ReplicaOpenResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaClose(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, '/pkg.enginerpc.ReplicaService/ReplicaClose', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.ReplicaCloseResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaReload(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, '/pkg.enginerpc.ReplicaService/ReplicaReload', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.ReplicaReloadResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaRevert(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, '/pkg.enginerpc.ReplicaService/ReplicaRevert', + pkg_dot_enginerpc_dot_replica__pb2.ReplicaRevertRequest.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.ReplicaRevertResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaSnapshot(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, '/pkg.enginerpc.ReplicaService/ReplicaSnapshot', + pkg_dot_enginerpc_dot_replica__pb2.ReplicaSnapshotRequest.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.ReplicaSnapshotResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaExpand(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, '/pkg.enginerpc.ReplicaService/ReplicaExpand', + pkg_dot_enginerpc_dot_replica__pb2.ReplicaExpandRequest.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.ReplicaExpandResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DiskRemove(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, '/pkg.enginerpc.ReplicaService/DiskRemove', + pkg_dot_enginerpc_dot_replica__pb2.DiskRemoveRequest.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.DiskRemoveResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DiskReplace(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, '/pkg.enginerpc.ReplicaService/DiskReplace', + pkg_dot_enginerpc_dot_replica__pb2.DiskReplaceRequest.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.DiskReplaceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DiskPrepareRemove(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, '/pkg.enginerpc.ReplicaService/DiskPrepareRemove', + pkg_dot_enginerpc_dot_replica__pb2.DiskPrepareRemoveRequest.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.DiskPrepareRemoveResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DiskMarkAsRemoved(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, '/pkg.enginerpc.ReplicaService/DiskMarkAsRemoved', + pkg_dot_enginerpc_dot_replica__pb2.DiskMarkAsRemovedRequest.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.DiskMarkAsRemovedResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RebuildingSet(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, '/pkg.enginerpc.ReplicaService/RebuildingSet', + pkg_dot_enginerpc_dot_replica__pb2.RebuildingSetRequest.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.RebuildingSetResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RevisionCounterSet(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, '/pkg.enginerpc.ReplicaService/RevisionCounterSet', + pkg_dot_enginerpc_dot_replica__pb2.RevisionCounterSetRequest.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.RevisionCounterSetResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UnmapMarkDiskChainRemovedSet(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, '/pkg.enginerpc.ReplicaService/UnmapMarkDiskChainRemovedSet', + pkg_dot_enginerpc_dot_replica__pb2.UnmapMarkDiskChainRemovedSetRequest.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.UnmapMarkDiskChainRemovedSetResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotMaxCountSet(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, '/pkg.enginerpc.ReplicaService/SnapshotMaxCountSet', + pkg_dot_enginerpc_dot_replica__pb2.SnapshotMaxCountSetRequest.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.SnapshotMaxCountSetResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotMaxSizeSet(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, '/pkg.enginerpc.ReplicaService/SnapshotMaxSizeSet', + pkg_dot_enginerpc_dot_replica__pb2.SnapshotMaxSizeSetRequest.SerializeToString, + pkg_dot_enginerpc_dot_replica__pb2.SnapshotMaxSizeSetResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/pkg/enginerpc/syncagent.pb.go b/pkg/enginerpc/syncagent.pb.go new file mode 100644 index 0000000..181d0d5 --- /dev/null +++ b/pkg/enginerpc/syncagent.pb.go @@ -0,0 +1,2460 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: pkg/enginerpc/syncagent.proto + +package enginerpc + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type FileRemoveRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"` +} + +func (x *FileRemoveRequest) Reset() { + *x = FileRemoveRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FileRemoveRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileRemoveRequest) ProtoMessage() {} + +func (x *FileRemoveRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FileRemoveRequest.ProtoReflect.Descriptor instead. +func (*FileRemoveRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{0} +} + +func (x *FileRemoveRequest) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +type FileRenameRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OldFileName string `protobuf:"bytes,1,opt,name=old_file_name,json=oldFileName,proto3" json:"old_file_name,omitempty"` + NewFileName string `protobuf:"bytes,2,opt,name=new_file_name,json=newFileName,proto3" json:"new_file_name,omitempty"` +} + +func (x *FileRenameRequest) Reset() { + *x = FileRenameRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FileRenameRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileRenameRequest) ProtoMessage() {} + +func (x *FileRenameRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FileRenameRequest.ProtoReflect.Descriptor instead. +func (*FileRenameRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{1} +} + +func (x *FileRenameRequest) GetOldFileName() string { + if x != nil { + return x.OldFileName + } + return "" +} + +func (x *FileRenameRequest) GetNewFileName() string { + if x != nil { + return x.NewFileName + } + return "" +} + +type ReceiverLaunchRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ToFileName string `protobuf:"bytes,1,opt,name=to_file_name,json=toFileName,proto3" json:"to_file_name,omitempty"` +} + +func (x *ReceiverLaunchRequest) Reset() { + *x = ReceiverLaunchRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReceiverLaunchRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReceiverLaunchRequest) ProtoMessage() {} + +func (x *ReceiverLaunchRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReceiverLaunchRequest.ProtoReflect.Descriptor instead. +func (*ReceiverLaunchRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{2} +} + +func (x *ReceiverLaunchRequest) GetToFileName() string { + if x != nil { + return x.ToFileName + } + return "" +} + +type ReceiverLaunchResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Port int32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *ReceiverLaunchResponse) Reset() { + *x = ReceiverLaunchResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReceiverLaunchResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReceiverLaunchResponse) ProtoMessage() {} + +func (x *ReceiverLaunchResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReceiverLaunchResponse.ProtoReflect.Descriptor instead. +func (*ReceiverLaunchResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{3} +} + +func (x *ReceiverLaunchResponse) GetPort() int32 { + if x != nil { + return x.Port + } + return 0 +} + +type FileSendRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FromFileName string `protobuf:"bytes,1,opt,name=from_file_name,json=fromFileName,proto3" json:"from_file_name,omitempty"` + Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` + Port int32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` + FastSync bool `protobuf:"varint,4,opt,name=fast_sync,json=fastSync,proto3" json:"fast_sync,omitempty"` + FileSyncHttpClientTimeout int32 `protobuf:"varint,5,opt,name=file_sync_http_client_timeout,json=fileSyncHttpClientTimeout,proto3" json:"file_sync_http_client_timeout,omitempty"` +} + +func (x *FileSendRequest) Reset() { + *x = FileSendRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FileSendRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileSendRequest) ProtoMessage() {} + +func (x *FileSendRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FileSendRequest.ProtoReflect.Descriptor instead. +func (*FileSendRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{4} +} + +func (x *FileSendRequest) GetFromFileName() string { + if x != nil { + return x.FromFileName + } + return "" +} + +func (x *FileSendRequest) GetHost() string { + if x != nil { + return x.Host + } + return "" +} + +func (x *FileSendRequest) GetPort() int32 { + if x != nil { + return x.Port + } + return 0 +} + +func (x *FileSendRequest) GetFastSync() bool { + if x != nil { + return x.FastSync + } + return false +} + +func (x *FileSendRequest) GetFileSyncHttpClientTimeout() int32 { + if x != nil { + return x.FileSyncHttpClientTimeout + } + return 0 +} + +type FilesSyncRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FromAddress string `protobuf:"bytes,1,opt,name=from_address,json=fromAddress,proto3" json:"from_address,omitempty"` + ToHost string `protobuf:"bytes,2,opt,name=to_host,json=toHost,proto3" json:"to_host,omitempty"` + SyncFileInfoList []*SyncFileInfo `protobuf:"bytes,3,rep,name=sync_file_info_list,json=syncFileInfoList,proto3" json:"sync_file_info_list,omitempty"` + FastSync bool `protobuf:"varint,4,opt,name=fast_sync,json=fastSync,proto3" json:"fast_sync,omitempty"` + FileSyncHttpClientTimeout int32 `protobuf:"varint,5,opt,name=file_sync_http_client_timeout,json=fileSyncHttpClientTimeout,proto3" json:"file_sync_http_client_timeout,omitempty"` +} + +func (x *FilesSyncRequest) Reset() { + *x = FilesSyncRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FilesSyncRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FilesSyncRequest) ProtoMessage() {} + +func (x *FilesSyncRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FilesSyncRequest.ProtoReflect.Descriptor instead. +func (*FilesSyncRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{5} +} + +func (x *FilesSyncRequest) GetFromAddress() string { + if x != nil { + return x.FromAddress + } + return "" +} + +func (x *FilesSyncRequest) GetToHost() string { + if x != nil { + return x.ToHost + } + return "" +} + +func (x *FilesSyncRequest) GetSyncFileInfoList() []*SyncFileInfo { + if x != nil { + return x.SyncFileInfoList + } + return nil +} + +func (x *FilesSyncRequest) GetFastSync() bool { + if x != nil { + return x.FastSync + } + return false +} + +func (x *FilesSyncRequest) GetFileSyncHttpClientTimeout() int32 { + if x != nil { + return x.FileSyncHttpClientTimeout + } + return 0 +} + +type SnapshotCloneRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FromAddress string `protobuf:"bytes,1,opt,name=from_address,json=fromAddress,proto3" json:"from_address,omitempty"` + ToHost string `protobuf:"bytes,2,opt,name=to_host,json=toHost,proto3" json:"to_host,omitempty"` + SnapshotFileName string `protobuf:"bytes,3,opt,name=snapshot_file_name,json=snapshotFileName,proto3" json:"snapshot_file_name,omitempty"` + ExportBackingImageIfExist bool `protobuf:"varint,4,opt,name=export_backing_image_if_exist,json=exportBackingImageIfExist,proto3" json:"export_backing_image_if_exist,omitempty"` + FileSyncHttpClientTimeout int32 `protobuf:"varint,5,opt,name=file_sync_http_client_timeout,json=fileSyncHttpClientTimeout,proto3" json:"file_sync_http_client_timeout,omitempty"` + FromVolumeName string `protobuf:"bytes,6,opt,name=from_volume_name,json=fromVolumeName,proto3" json:"from_volume_name,omitempty"` +} + +func (x *SnapshotCloneRequest) Reset() { + *x = SnapshotCloneRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SnapshotCloneRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SnapshotCloneRequest) ProtoMessage() {} + +func (x *SnapshotCloneRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SnapshotCloneRequest.ProtoReflect.Descriptor instead. +func (*SnapshotCloneRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{6} +} + +func (x *SnapshotCloneRequest) GetFromAddress() string { + if x != nil { + return x.FromAddress + } + return "" +} + +func (x *SnapshotCloneRequest) GetToHost() string { + if x != nil { + return x.ToHost + } + return "" +} + +func (x *SnapshotCloneRequest) GetSnapshotFileName() string { + if x != nil { + return x.SnapshotFileName + } + return "" +} + +func (x *SnapshotCloneRequest) GetExportBackingImageIfExist() bool { + if x != nil { + return x.ExportBackingImageIfExist + } + return false +} + +func (x *SnapshotCloneRequest) GetFileSyncHttpClientTimeout() int32 { + if x != nil { + return x.FileSyncHttpClientTimeout + } + return 0 +} + +func (x *SnapshotCloneRequest) GetFromVolumeName() string { + if x != nil { + return x.FromVolumeName + } + return "" +} + +type VolumeExportRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SnapshotFileName string `protobuf:"bytes,1,opt,name=snapshot_file_name,json=snapshotFileName,proto3" json:"snapshot_file_name,omitempty"` + Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` + Port int32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` + ExportBackingImageIfExist bool `protobuf:"varint,4,opt,name=export_backing_image_if_exist,json=exportBackingImageIfExist,proto3" json:"export_backing_image_if_exist,omitempty"` + FileSyncHttpClientTimeout int32 `protobuf:"varint,5,opt,name=file_sync_http_client_timeout,json=fileSyncHttpClientTimeout,proto3" json:"file_sync_http_client_timeout,omitempty"` +} + +func (x *VolumeExportRequest) Reset() { + *x = VolumeExportRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VolumeExportRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VolumeExportRequest) ProtoMessage() {} + +func (x *VolumeExportRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VolumeExportRequest.ProtoReflect.Descriptor instead. +func (*VolumeExportRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{7} +} + +func (x *VolumeExportRequest) GetSnapshotFileName() string { + if x != nil { + return x.SnapshotFileName + } + return "" +} + +func (x *VolumeExportRequest) GetHost() string { + if x != nil { + return x.Host + } + return "" +} + +func (x *VolumeExportRequest) GetPort() int32 { + if x != nil { + return x.Port + } + return 0 +} + +func (x *VolumeExportRequest) GetExportBackingImageIfExist() bool { + if x != nil { + return x.ExportBackingImageIfExist + } + return false +} + +func (x *VolumeExportRequest) GetFileSyncHttpClientTimeout() int32 { + if x != nil { + return x.FileSyncHttpClientTimeout + } + return 0 +} + +type BackupCreateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SnapshotFileName string `protobuf:"bytes,1,opt,name=snapshot_file_name,json=snapshotFileName,proto3" json:"snapshot_file_name,omitempty"` + BackupTarget string `protobuf:"bytes,2,opt,name=backup_target,json=backupTarget,proto3" json:"backup_target,omitempty"` + VolumeName string `protobuf:"bytes,3,opt,name=volume_name,json=volumeName,proto3" json:"volume_name,omitempty"` + Labels []string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty"` + Credential map[string]string `protobuf:"bytes,5,rep,name=credential,proto3" json:"credential,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + BackingImageName string `protobuf:"bytes,6,opt,name=backing_image_name,json=backingImageName,proto3" json:"backing_image_name,omitempty"` + BackingImageChecksum string `protobuf:"bytes,7,opt,name=backing_image_checksum,json=backingImageChecksum,proto3" json:"backing_image_checksum,omitempty"` + BackupName string `protobuf:"bytes,8,opt,name=backup_name,json=backupName,proto3" json:"backup_name,omitempty"` + CompressionMethod string `protobuf:"bytes,9,opt,name=compression_method,json=compressionMethod,proto3" json:"compression_method,omitempty"` + ConcurrentLimit int32 `protobuf:"varint,10,opt,name=concurrent_limit,json=concurrentLimit,proto3" json:"concurrent_limit,omitempty"` + StorageClassName string `protobuf:"bytes,11,opt,name=storage_class_name,json=storageClassName,proto3" json:"storage_class_name,omitempty"` +} + +func (x *BackupCreateRequest) Reset() { + *x = BackupCreateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackupCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupCreateRequest) ProtoMessage() {} + +func (x *BackupCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupCreateRequest.ProtoReflect.Descriptor instead. +func (*BackupCreateRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{8} +} + +func (x *BackupCreateRequest) GetSnapshotFileName() string { + if x != nil { + return x.SnapshotFileName + } + return "" +} + +func (x *BackupCreateRequest) GetBackupTarget() string { + if x != nil { + return x.BackupTarget + } + return "" +} + +func (x *BackupCreateRequest) GetVolumeName() string { + if x != nil { + return x.VolumeName + } + return "" +} + +func (x *BackupCreateRequest) GetLabels() []string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *BackupCreateRequest) GetCredential() map[string]string { + if x != nil { + return x.Credential + } + return nil +} + +func (x *BackupCreateRequest) GetBackingImageName() string { + if x != nil { + return x.BackingImageName + } + return "" +} + +func (x *BackupCreateRequest) GetBackingImageChecksum() string { + if x != nil { + return x.BackingImageChecksum + } + return "" +} + +func (x *BackupCreateRequest) GetBackupName() string { + if x != nil { + return x.BackupName + } + return "" +} + +func (x *BackupCreateRequest) GetCompressionMethod() string { + if x != nil { + return x.CompressionMethod + } + return "" +} + +func (x *BackupCreateRequest) GetConcurrentLimit() int32 { + if x != nil { + return x.ConcurrentLimit + } + return 0 +} + +func (x *BackupCreateRequest) GetStorageClassName() string { + if x != nil { + return x.StorageClassName + } + return "" +} + +type BackupCreateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Backup string `protobuf:"bytes,1,opt,name=backup,proto3" json:"backup,omitempty"` + IsIncremental bool `protobuf:"varint,2,opt,name=is_incremental,json=isIncremental,proto3" json:"is_incremental,omitempty"` +} + +func (x *BackupCreateResponse) Reset() { + *x = BackupCreateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackupCreateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupCreateResponse) ProtoMessage() {} + +func (x *BackupCreateResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupCreateResponse.ProtoReflect.Descriptor instead. +func (*BackupCreateResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{9} +} + +func (x *BackupCreateResponse) GetBackup() string { + if x != nil { + return x.Backup + } + return "" +} + +func (x *BackupCreateResponse) GetIsIncremental() bool { + if x != nil { + return x.IsIncremental + } + return false +} + +type BackupRemoveRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Backup string `protobuf:"bytes,1,opt,name=backup,proto3" json:"backup,omitempty"` +} + +func (x *BackupRemoveRequest) Reset() { + *x = BackupRemoveRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackupRemoveRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupRemoveRequest) ProtoMessage() {} + +func (x *BackupRemoveRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupRemoveRequest.ProtoReflect.Descriptor instead. +func (*BackupRemoveRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{10} +} + +func (x *BackupRemoveRequest) GetBackup() string { + if x != nil { + return x.Backup + } + return "" +} + +type BackupStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Backup string `protobuf:"bytes,1,opt,name=backup,proto3" json:"backup,omitempty"` +} + +func (x *BackupStatusRequest) Reset() { + *x = BackupStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackupStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupStatusRequest) ProtoMessage() {} + +func (x *BackupStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupStatusRequest.ProtoReflect.Descriptor instead. +func (*BackupStatusRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{11} +} + +func (x *BackupStatusRequest) GetBackup() string { + if x != nil { + return x.Backup + } + return "" +} + +type BackupStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Progress int32 `protobuf:"varint,1,opt,name=progress,proto3" json:"progress,omitempty"` + BackupUrl string `protobuf:"bytes,2,opt,name=backup_url,json=backupUrl,proto3" json:"backup_url,omitempty"` + Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` + SnapshotName string `protobuf:"bytes,4,opt,name=snapshot_name,json=snapshotName,proto3" json:"snapshot_name,omitempty"` + State string `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` +} + +func (x *BackupStatusResponse) Reset() { + *x = BackupStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackupStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupStatusResponse) ProtoMessage() {} + +func (x *BackupStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupStatusResponse.ProtoReflect.Descriptor instead. +func (*BackupStatusResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{12} +} + +func (x *BackupStatusResponse) GetProgress() int32 { + if x != nil { + return x.Progress + } + return 0 +} + +func (x *BackupStatusResponse) GetBackupUrl() string { + if x != nil { + return x.BackupUrl + } + return "" +} + +func (x *BackupStatusResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *BackupStatusResponse) GetSnapshotName() string { + if x != nil { + return x.SnapshotName + } + return "" +} + +func (x *BackupStatusResponse) GetState() string { + if x != nil { + return x.State + } + return "" +} + +type BackupRestoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Backup string `protobuf:"bytes,1,opt,name=backup,proto3" json:"backup,omitempty"` + SnapshotDiskName string `protobuf:"bytes,2,opt,name=snapshot_disk_name,json=snapshotDiskName,proto3" json:"snapshot_disk_name,omitempty"` + Credential map[string]string `protobuf:"bytes,3,rep,name=credential,proto3" json:"credential,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ConcurrentLimit int32 `protobuf:"varint,4,opt,name=concurrent_limit,json=concurrentLimit,proto3" json:"concurrent_limit,omitempty"` +} + +func (x *BackupRestoreRequest) Reset() { + *x = BackupRestoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackupRestoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupRestoreRequest) ProtoMessage() {} + +func (x *BackupRestoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupRestoreRequest.ProtoReflect.Descriptor instead. +func (*BackupRestoreRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{13} +} + +func (x *BackupRestoreRequest) GetBackup() string { + if x != nil { + return x.Backup + } + return "" +} + +func (x *BackupRestoreRequest) GetSnapshotDiskName() string { + if x != nil { + return x.SnapshotDiskName + } + return "" +} + +func (x *BackupRestoreRequest) GetCredential() map[string]string { + if x != nil { + return x.Credential + } + return nil +} + +func (x *BackupRestoreRequest) GetConcurrentLimit() int32 { + if x != nil { + return x.ConcurrentLimit + } + return 0 +} + +type BackupRestoreIncrementallyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Backup string `protobuf:"bytes,1,opt,name=backup,proto3" json:"backup,omitempty"` + DeltaFileName string `protobuf:"bytes,2,opt,name=delta_file_name,json=deltaFileName,proto3" json:"delta_file_name,omitempty"` + LastRestoredBackupName string `protobuf:"bytes,3,opt,name=last_restored_backup_name,json=lastRestoredBackupName,proto3" json:"last_restored_backup_name,omitempty"` + SnapshotDiskName string `protobuf:"bytes,4,opt,name=snapshot_disk_name,json=snapshotDiskName,proto3" json:"snapshot_disk_name,omitempty"` + Credential map[string]string `protobuf:"bytes,5,rep,name=credential,proto3" json:"credential,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ConcurrentLimit int32 `protobuf:"varint,6,opt,name=concurrent_limit,json=concurrentLimit,proto3" json:"concurrent_limit,omitempty"` +} + +func (x *BackupRestoreIncrementallyRequest) Reset() { + *x = BackupRestoreIncrementallyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackupRestoreIncrementallyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupRestoreIncrementallyRequest) ProtoMessage() {} + +func (x *BackupRestoreIncrementallyRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupRestoreIncrementallyRequest.ProtoReflect.Descriptor instead. +func (*BackupRestoreIncrementallyRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{14} +} + +func (x *BackupRestoreIncrementallyRequest) GetBackup() string { + if x != nil { + return x.Backup + } + return "" +} + +func (x *BackupRestoreIncrementallyRequest) GetDeltaFileName() string { + if x != nil { + return x.DeltaFileName + } + return "" +} + +func (x *BackupRestoreIncrementallyRequest) GetLastRestoredBackupName() string { + if x != nil { + return x.LastRestoredBackupName + } + return "" +} + +func (x *BackupRestoreIncrementallyRequest) GetSnapshotDiskName() string { + if x != nil { + return x.SnapshotDiskName + } + return "" +} + +func (x *BackupRestoreIncrementallyRequest) GetCredential() map[string]string { + if x != nil { + return x.Credential + } + return nil +} + +func (x *BackupRestoreIncrementallyRequest) GetConcurrentLimit() int32 { + if x != nil { + return x.ConcurrentLimit + } + return 0 +} + +type RestoreStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsRestoring bool `protobuf:"varint,1,opt,name=is_restoring,json=isRestoring,proto3" json:"is_restoring,omitempty"` + LastRestored string `protobuf:"bytes,2,opt,name=last_restored,json=lastRestored,proto3" json:"last_restored,omitempty"` + Progress int32 `protobuf:"varint,3,opt,name=progress,proto3" json:"progress,omitempty"` + Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"` + DestFileName string `protobuf:"bytes,5,opt,name=dest_file_name,json=destFileName,proto3" json:"dest_file_name,omitempty"` + State string `protobuf:"bytes,6,opt,name=state,proto3" json:"state,omitempty"` + BackupUrl string `protobuf:"bytes,7,opt,name=backup_url,json=backupUrl,proto3" json:"backup_url,omitempty"` + CurrentRestoringBackup string `protobuf:"bytes,8,opt,name=current_restoring_backup,json=currentRestoringBackup,proto3" json:"current_restoring_backup,omitempty"` +} + +func (x *RestoreStatusResponse) Reset() { + *x = RestoreStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RestoreStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestoreStatusResponse) ProtoMessage() {} + +func (x *RestoreStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RestoreStatusResponse.ProtoReflect.Descriptor instead. +func (*RestoreStatusResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{15} +} + +func (x *RestoreStatusResponse) GetIsRestoring() bool { + if x != nil { + return x.IsRestoring + } + return false +} + +func (x *RestoreStatusResponse) GetLastRestored() string { + if x != nil { + return x.LastRestored + } + return "" +} + +func (x *RestoreStatusResponse) GetProgress() int32 { + if x != nil { + return x.Progress + } + return 0 +} + +func (x *RestoreStatusResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *RestoreStatusResponse) GetDestFileName() string { + if x != nil { + return x.DestFileName + } + return "" +} + +func (x *RestoreStatusResponse) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *RestoreStatusResponse) GetBackupUrl() string { + if x != nil { + return x.BackupUrl + } + return "" +} + +func (x *RestoreStatusResponse) GetCurrentRestoringBackup() string { + if x != nil { + return x.CurrentRestoringBackup + } + return "" +} + +type SnapshotPurgeStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsPurging bool `protobuf:"varint,1,opt,name=is_purging,json=isPurging,proto3" json:"is_purging,omitempty"` + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` + Progress int32 `protobuf:"varint,3,opt,name=progress,proto3" json:"progress,omitempty"` + State string `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"` +} + +func (x *SnapshotPurgeStatusResponse) Reset() { + *x = SnapshotPurgeStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SnapshotPurgeStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SnapshotPurgeStatusResponse) ProtoMessage() {} + +func (x *SnapshotPurgeStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SnapshotPurgeStatusResponse.ProtoReflect.Descriptor instead. +func (*SnapshotPurgeStatusResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{16} +} + +func (x *SnapshotPurgeStatusResponse) GetIsPurging() bool { + if x != nil { + return x.IsPurging + } + return false +} + +func (x *SnapshotPurgeStatusResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *SnapshotPurgeStatusResponse) GetProgress() int32 { + if x != nil { + return x.Progress + } + return 0 +} + +func (x *SnapshotPurgeStatusResponse) GetState() string { + if x != nil { + return x.State + } + return "" +} + +type ReplicaRebuildStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsRebuilding bool `protobuf:"varint,1,opt,name=is_rebuilding,json=isRebuilding,proto3" json:"is_rebuilding,omitempty"` + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` + Progress int32 `protobuf:"varint,3,opt,name=progress,proto3" json:"progress,omitempty"` + State string `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"` + FromReplicaAddress string `protobuf:"bytes,5,opt,name=from_replica_address,json=fromReplicaAddress,proto3" json:"from_replica_address,omitempty"` +} + +func (x *ReplicaRebuildStatusResponse) Reset() { + *x = ReplicaRebuildStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaRebuildStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaRebuildStatusResponse) ProtoMessage() {} + +func (x *ReplicaRebuildStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaRebuildStatusResponse.ProtoReflect.Descriptor instead. +func (*ReplicaRebuildStatusResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{17} +} + +func (x *ReplicaRebuildStatusResponse) GetIsRebuilding() bool { + if x != nil { + return x.IsRebuilding + } + return false +} + +func (x *ReplicaRebuildStatusResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *ReplicaRebuildStatusResponse) GetProgress() int32 { + if x != nil { + return x.Progress + } + return 0 +} + +func (x *ReplicaRebuildStatusResponse) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *ReplicaRebuildStatusResponse) GetFromReplicaAddress() string { + if x != nil { + return x.FromReplicaAddress + } + return "" +} + +type SnapshotCloneStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsCloning bool `protobuf:"varint,1,opt,name=is_cloning,json=isCloning,proto3" json:"is_cloning,omitempty"` + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` + Progress int32 `protobuf:"varint,3,opt,name=progress,proto3" json:"progress,omitempty"` + State string `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"` + FromReplicaAddress string `protobuf:"bytes,5,opt,name=from_replica_address,json=fromReplicaAddress,proto3" json:"from_replica_address,omitempty"` + SnapshotName string `protobuf:"bytes,6,opt,name=snapshot_name,json=snapshotName,proto3" json:"snapshot_name,omitempty"` +} + +func (x *SnapshotCloneStatusResponse) Reset() { + *x = SnapshotCloneStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SnapshotCloneStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SnapshotCloneStatusResponse) ProtoMessage() {} + +func (x *SnapshotCloneStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SnapshotCloneStatusResponse.ProtoReflect.Descriptor instead. +func (*SnapshotCloneStatusResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{18} +} + +func (x *SnapshotCloneStatusResponse) GetIsCloning() bool { + if x != nil { + return x.IsCloning + } + return false +} + +func (x *SnapshotCloneStatusResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *SnapshotCloneStatusResponse) GetProgress() int32 { + if x != nil { + return x.Progress + } + return 0 +} + +func (x *SnapshotCloneStatusResponse) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *SnapshotCloneStatusResponse) GetFromReplicaAddress() string { + if x != nil { + return x.FromReplicaAddress + } + return "" +} + +func (x *SnapshotCloneStatusResponse) GetSnapshotName() string { + if x != nil { + return x.SnapshotName + } + return "" +} + +type SnapshotHashRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SnapshotName string `protobuf:"bytes,1,opt,name=snapshot_name,json=snapshotName,proto3" json:"snapshot_name,omitempty"` + Rehash bool `protobuf:"varint,2,opt,name=rehash,proto3" json:"rehash,omitempty"` +} + +func (x *SnapshotHashRequest) Reset() { + *x = SnapshotHashRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SnapshotHashRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SnapshotHashRequest) ProtoMessage() {} + +func (x *SnapshotHashRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SnapshotHashRequest.ProtoReflect.Descriptor instead. +func (*SnapshotHashRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{19} +} + +func (x *SnapshotHashRequest) GetSnapshotName() string { + if x != nil { + return x.SnapshotName + } + return "" +} + +func (x *SnapshotHashRequest) GetRehash() bool { + if x != nil { + return x.Rehash + } + return false +} + +type SnapshotHashStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SnapshotName string `protobuf:"bytes,1,opt,name=snapshot_name,json=snapshotName,proto3" json:"snapshot_name,omitempty"` +} + +func (x *SnapshotHashStatusRequest) Reset() { + *x = SnapshotHashStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SnapshotHashStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SnapshotHashStatusRequest) ProtoMessage() {} + +func (x *SnapshotHashStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SnapshotHashStatusRequest.ProtoReflect.Descriptor instead. +func (*SnapshotHashStatusRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{20} +} + +func (x *SnapshotHashStatusRequest) GetSnapshotName() string { + if x != nil { + return x.SnapshotName + } + return "" +} + +type SnapshotHashStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` + Checksum string `protobuf:"bytes,2,opt,name=checksum,proto3" json:"checksum,omitempty"` + Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` + SilentlyCorrupted bool `protobuf:"varint,4,opt,name=silently_corrupted,json=silentlyCorrupted,proto3" json:"silently_corrupted,omitempty"` +} + +func (x *SnapshotHashStatusResponse) Reset() { + *x = SnapshotHashStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SnapshotHashStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SnapshotHashStatusResponse) ProtoMessage() {} + +func (x *SnapshotHashStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SnapshotHashStatusResponse.ProtoReflect.Descriptor instead. +func (*SnapshotHashStatusResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{21} +} + +func (x *SnapshotHashStatusResponse) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *SnapshotHashStatusResponse) GetChecksum() string { + if x != nil { + return x.Checksum + } + return "" +} + +func (x *SnapshotHashStatusResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *SnapshotHashStatusResponse) GetSilentlyCorrupted() bool { + if x != nil { + return x.SilentlyCorrupted + } + return false +} + +type SnapshotHashCancelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SnapshotName string `protobuf:"bytes,1,opt,name=snapshot_name,json=snapshotName,proto3" json:"snapshot_name,omitempty"` +} + +func (x *SnapshotHashCancelRequest) Reset() { + *x = SnapshotHashCancelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SnapshotHashCancelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SnapshotHashCancelRequest) ProtoMessage() {} + +func (x *SnapshotHashCancelRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SnapshotHashCancelRequest.ProtoReflect.Descriptor instead. +func (*SnapshotHashCancelRequest) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{22} +} + +func (x *SnapshotHashCancelRequest) GetSnapshotName() string { + if x != nil { + return x.SnapshotName + } + return "" +} + +type SnapshotHashLockStateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsLocked bool `protobuf:"varint,1,opt,name=is_locked,json=isLocked,proto3" json:"is_locked,omitempty"` +} + +func (x *SnapshotHashLockStateResponse) Reset() { + *x = SnapshotHashLockStateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SnapshotHashLockStateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SnapshotHashLockStateResponse) ProtoMessage() {} + +func (x *SnapshotHashLockStateResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_enginerpc_syncagent_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SnapshotHashLockStateResponse.ProtoReflect.Descriptor instead. +func (*SnapshotHashLockStateResponse) Descriptor() ([]byte, []int) { + return file_pkg_enginerpc_syncagent_proto_rawDescGZIP(), []int{23} +} + +func (x *SnapshotHashLockStateResponse) GetIsLocked() bool { + if x != nil { + return x.IsLocked + } + return false +} + +var File_pkg_enginerpc_syncagent_proto protoreflect.FileDescriptor + +var file_pkg_enginerpc_syncagent_proto_rawDesc = []byte{ + 0x0a, 0x1d, 0x70, 0x6b, 0x67, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2f, + 0x73, 0x79, 0x6e, 0x63, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x0d, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x1a, 0x1b, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x70, 0x6b, 0x67, + 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x11, 0x46, 0x69, 0x6c, 0x65, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5b, 0x0a, 0x11, 0x46, 0x69, 0x6c, + 0x65, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, + 0x0a, 0x0d, 0x6f, 0x6c, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x6c, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x46, 0x69, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x39, 0x0a, 0x15, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x72, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x20, 0x0a, 0x0c, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0x2c, 0x0a, 0x16, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x4c, 0x61, 0x75, + 0x6e, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, + 0xbe, 0x01, 0x0a, 0x0f, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x66, 0x69, 0x6c, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x72, 0x6f, + 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x40, + 0x0a, 0x1d, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, + 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x48, + 0x74, 0x74, 0x70, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x22, 0xf9, 0x01, 0x0a, 0x10, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x6f, + 0x6d, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6f, 0x5f, 0x68, + 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x6f, 0x48, 0x6f, 0x73, + 0x74, 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x79, 0x6e, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x73, 0x79, 0x6e, + 0x63, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, + 0x09, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x66, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x40, 0x0a, 0x1d, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x19, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x48, 0x74, 0x74, 0x70, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xae, 0x02, 0x0a, + 0x14, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x6f, + 0x6d, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6f, 0x5f, 0x68, + 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x6f, 0x48, 0x6f, 0x73, + 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x40, 0x0a, 0x1d, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, + 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x61, + 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x66, 0x45, 0x78, 0x69, 0x73, + 0x74, 0x12, 0x40, 0x0a, 0x1d, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x68, + 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x79, + 0x6e, 0x63, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x76, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, + 0x72, 0x6f, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xef, 0x01, + 0x0a, 0x13, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x40, 0x0a, 0x1d, 0x65, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x19, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, + 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x12, 0x40, 0x0a, + 0x1d, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x48, 0x74, + 0x74, 0x70, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, + 0xc1, 0x04, 0x0a, 0x13, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x46, 0x69, 0x6c, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x52, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x69, + 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, + 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x62, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, + 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, + 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x55, 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x49, + 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x22, 0x2d, 0x0a, 0x13, 0x42, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x2d, 0x0a, 0x13, 0x42, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0xa2, 0x01, 0x0a, 0x14, 0x42, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, + 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x9b, 0x02, + 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2c, + 0x0a, 0x12, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x0a, + 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, + 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6f, 0x6e, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x3d, 0x0a, 0x0f, + 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x98, 0x03, 0x0a, 0x21, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x63, + 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x65, 0x6c, + 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x64, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x60, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x63, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x10, + 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x3d, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa6, 0x02, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x65, + 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x38, 0x0a, 0x18, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, + 0x84, 0x01, 0x0a, 0x1b, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x75, 0x72, 0x67, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x75, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, + 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xbd, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x72, 0x65, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x69, 0x73, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x12, 0x66, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xdb, 0x01, 0x0a, 0x1b, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x63, 0x6c, 0x6f, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x43, 0x6c, + 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, + 0x14, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x72, 0x6f, + 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x0a, 0x13, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x72, 0x65, 0x68, 0x61, 0x73, 0x68, 0x22, 0x40, 0x0a, 0x19, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x1a, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x5f, 0x63, 0x6f, + 0x72, 0x72, 0x75, 0x70, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, + 0x69, 0x6c, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x43, 0x6f, 0x72, 0x72, 0x75, 0x70, 0x74, 0x65, 0x64, + 0x22, 0x40, 0x0a, 0x19, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0x3c, 0x0a, 0x1d, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, + 0x73, 0x68, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, + 0x32, 0xe5, 0x0d, 0x0a, 0x10, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x12, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 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, + 0x48, 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, + 0x6c, 0x65, 0x52, 0x65, 0x6e, 0x61, 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, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x08, 0x46, 0x69, 0x6c, + 0x65, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x1e, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 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, 0x22, 0x00, 0x12, + 0x46, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x1f, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, + 0x65, 0x73, 0x53, 0x79, 0x6e, 0x63, 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, 0x4e, 0x0a, 0x0d, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x12, 0x23, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x43, 0x6c, 0x6f, 0x6e, 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, 0x4c, 0x0a, 0x0c, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x22, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x78, + 0x70, 0x6f, 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, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x72, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x12, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, + 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x0c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 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, 0x4c, 0x0a, 0x0c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x12, 0x22, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, + 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x6d, 0x6f, 0x76, 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, + 0x4e, 0x0a, 0x0d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x12, 0x23, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, + 0x2e, 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, + 0x59, 0x0a, 0x0c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x22, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 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, 0x39, 0x0a, 0x05, 0x52, 0x65, + 0x73, 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, 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, 0x4f, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 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, 0x24, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 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, 0x41, 0x0a, 0x0d, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x50, 0x75, 0x72, 0x67, 0x65, 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, 0x12, 0x5b, 0x0a, 0x13, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x75, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 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, 0x2a, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x50, 0x75, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 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, 0x2b, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x13, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 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, 0x2a, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, + 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x22, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 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, 0x6b, 0x0a, 0x12, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, + 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x29, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x58, 0x0a, + 0x12, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x43, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x12, 0x28, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, + 0x43, 0x61, 0x6e, 0x63, 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, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x15, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, + 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, 0x2c, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x29, 0x5a, 0x27, 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, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_enginerpc_syncagent_proto_rawDescOnce sync.Once + file_pkg_enginerpc_syncagent_proto_rawDescData = file_pkg_enginerpc_syncagent_proto_rawDesc +) + +func file_pkg_enginerpc_syncagent_proto_rawDescGZIP() []byte { + file_pkg_enginerpc_syncagent_proto_rawDescOnce.Do(func() { + file_pkg_enginerpc_syncagent_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_enginerpc_syncagent_proto_rawDescData) + }) + return file_pkg_enginerpc_syncagent_proto_rawDescData +} + +var file_pkg_enginerpc_syncagent_proto_msgTypes = make([]protoimpl.MessageInfo, 27) +var file_pkg_enginerpc_syncagent_proto_goTypes = []interface{}{ + (*FileRemoveRequest)(nil), // 0: pkg.enginerpc.FileRemoveRequest + (*FileRenameRequest)(nil), // 1: pkg.enginerpc.FileRenameRequest + (*ReceiverLaunchRequest)(nil), // 2: pkg.enginerpc.ReceiverLaunchRequest + (*ReceiverLaunchResponse)(nil), // 3: pkg.enginerpc.ReceiverLaunchResponse + (*FileSendRequest)(nil), // 4: pkg.enginerpc.FileSendRequest + (*FilesSyncRequest)(nil), // 5: pkg.enginerpc.FilesSyncRequest + (*SnapshotCloneRequest)(nil), // 6: pkg.enginerpc.SnapshotCloneRequest + (*VolumeExportRequest)(nil), // 7: pkg.enginerpc.VolumeExportRequest + (*BackupCreateRequest)(nil), // 8: pkg.enginerpc.BackupCreateRequest + (*BackupCreateResponse)(nil), // 9: pkg.enginerpc.BackupCreateResponse + (*BackupRemoveRequest)(nil), // 10: pkg.enginerpc.BackupRemoveRequest + (*BackupStatusRequest)(nil), // 11: pkg.enginerpc.BackupStatusRequest + (*BackupStatusResponse)(nil), // 12: pkg.enginerpc.BackupStatusResponse + (*BackupRestoreRequest)(nil), // 13: pkg.enginerpc.BackupRestoreRequest + (*BackupRestoreIncrementallyRequest)(nil), // 14: pkg.enginerpc.BackupRestoreIncrementallyRequest + (*RestoreStatusResponse)(nil), // 15: pkg.enginerpc.RestoreStatusResponse + (*SnapshotPurgeStatusResponse)(nil), // 16: pkg.enginerpc.SnapshotPurgeStatusResponse + (*ReplicaRebuildStatusResponse)(nil), // 17: pkg.enginerpc.ReplicaRebuildStatusResponse + (*SnapshotCloneStatusResponse)(nil), // 18: pkg.enginerpc.SnapshotCloneStatusResponse + (*SnapshotHashRequest)(nil), // 19: pkg.enginerpc.SnapshotHashRequest + (*SnapshotHashStatusRequest)(nil), // 20: pkg.enginerpc.SnapshotHashStatusRequest + (*SnapshotHashStatusResponse)(nil), // 21: pkg.enginerpc.SnapshotHashStatusResponse + (*SnapshotHashCancelRequest)(nil), // 22: pkg.enginerpc.SnapshotHashCancelRequest + (*SnapshotHashLockStateResponse)(nil), // 23: pkg.enginerpc.SnapshotHashLockStateResponse + nil, // 24: pkg.enginerpc.BackupCreateRequest.CredentialEntry + nil, // 25: pkg.enginerpc.BackupRestoreRequest.CredentialEntry + nil, // 26: pkg.enginerpc.BackupRestoreIncrementallyRequest.CredentialEntry + (*SyncFileInfo)(nil), // 27: pkg.enginerpc.SyncFileInfo + (*emptypb.Empty)(nil), // 28: google.protobuf.Empty +} +var file_pkg_enginerpc_syncagent_proto_depIdxs = []int32{ + 27, // 0: pkg.enginerpc.FilesSyncRequest.sync_file_info_list:type_name -> pkg.enginerpc.SyncFileInfo + 24, // 1: pkg.enginerpc.BackupCreateRequest.credential:type_name -> pkg.enginerpc.BackupCreateRequest.CredentialEntry + 25, // 2: pkg.enginerpc.BackupRestoreRequest.credential:type_name -> pkg.enginerpc.BackupRestoreRequest.CredentialEntry + 26, // 3: pkg.enginerpc.BackupRestoreIncrementallyRequest.credential:type_name -> pkg.enginerpc.BackupRestoreIncrementallyRequest.CredentialEntry + 0, // 4: pkg.enginerpc.SyncAgentService.FileRemove:input_type -> pkg.enginerpc.FileRemoveRequest + 1, // 5: pkg.enginerpc.SyncAgentService.FileRename:input_type -> pkg.enginerpc.FileRenameRequest + 4, // 6: pkg.enginerpc.SyncAgentService.FileSend:input_type -> pkg.enginerpc.FileSendRequest + 5, // 7: pkg.enginerpc.SyncAgentService.FilesSync:input_type -> pkg.enginerpc.FilesSyncRequest + 6, // 8: pkg.enginerpc.SyncAgentService.SnapshotClone:input_type -> pkg.enginerpc.SnapshotCloneRequest + 7, // 9: pkg.enginerpc.SyncAgentService.VolumeExport:input_type -> pkg.enginerpc.VolumeExportRequest + 2, // 10: pkg.enginerpc.SyncAgentService.ReceiverLaunch:input_type -> pkg.enginerpc.ReceiverLaunchRequest + 8, // 11: pkg.enginerpc.SyncAgentService.BackupCreate:input_type -> pkg.enginerpc.BackupCreateRequest + 10, // 12: pkg.enginerpc.SyncAgentService.BackupRemove:input_type -> pkg.enginerpc.BackupRemoveRequest + 13, // 13: pkg.enginerpc.SyncAgentService.BackupRestore:input_type -> pkg.enginerpc.BackupRestoreRequest + 11, // 14: pkg.enginerpc.SyncAgentService.BackupStatus:input_type -> pkg.enginerpc.BackupStatusRequest + 28, // 15: pkg.enginerpc.SyncAgentService.Reset:input_type -> google.protobuf.Empty + 28, // 16: pkg.enginerpc.SyncAgentService.RestoreStatus:input_type -> google.protobuf.Empty + 28, // 17: pkg.enginerpc.SyncAgentService.SnapshotPurge:input_type -> google.protobuf.Empty + 28, // 18: pkg.enginerpc.SyncAgentService.SnapshotPurgeStatus:input_type -> google.protobuf.Empty + 28, // 19: pkg.enginerpc.SyncAgentService.ReplicaRebuildStatus:input_type -> google.protobuf.Empty + 28, // 20: pkg.enginerpc.SyncAgentService.SnapshotCloneStatus:input_type -> google.protobuf.Empty + 19, // 21: pkg.enginerpc.SyncAgentService.SnapshotHash:input_type -> pkg.enginerpc.SnapshotHashRequest + 20, // 22: pkg.enginerpc.SyncAgentService.SnapshotHashStatus:input_type -> pkg.enginerpc.SnapshotHashStatusRequest + 22, // 23: pkg.enginerpc.SyncAgentService.SnapshotHashCancel:input_type -> pkg.enginerpc.SnapshotHashCancelRequest + 28, // 24: pkg.enginerpc.SyncAgentService.SnapshotHashLockState:input_type -> google.protobuf.Empty + 28, // 25: pkg.enginerpc.SyncAgentService.FileRemove:output_type -> google.protobuf.Empty + 28, // 26: pkg.enginerpc.SyncAgentService.FileRename:output_type -> google.protobuf.Empty + 28, // 27: pkg.enginerpc.SyncAgentService.FileSend:output_type -> google.protobuf.Empty + 28, // 28: pkg.enginerpc.SyncAgentService.FilesSync:output_type -> google.protobuf.Empty + 28, // 29: pkg.enginerpc.SyncAgentService.SnapshotClone:output_type -> google.protobuf.Empty + 28, // 30: pkg.enginerpc.SyncAgentService.VolumeExport:output_type -> google.protobuf.Empty + 3, // 31: pkg.enginerpc.SyncAgentService.ReceiverLaunch:output_type -> pkg.enginerpc.ReceiverLaunchResponse + 9, // 32: pkg.enginerpc.SyncAgentService.BackupCreate:output_type -> pkg.enginerpc.BackupCreateResponse + 28, // 33: pkg.enginerpc.SyncAgentService.BackupRemove:output_type -> google.protobuf.Empty + 28, // 34: pkg.enginerpc.SyncAgentService.BackupRestore:output_type -> google.protobuf.Empty + 12, // 35: pkg.enginerpc.SyncAgentService.BackupStatus:output_type -> pkg.enginerpc.BackupStatusResponse + 28, // 36: pkg.enginerpc.SyncAgentService.Reset:output_type -> google.protobuf.Empty + 15, // 37: pkg.enginerpc.SyncAgentService.RestoreStatus:output_type -> pkg.enginerpc.RestoreStatusResponse + 28, // 38: pkg.enginerpc.SyncAgentService.SnapshotPurge:output_type -> google.protobuf.Empty + 16, // 39: pkg.enginerpc.SyncAgentService.SnapshotPurgeStatus:output_type -> pkg.enginerpc.SnapshotPurgeStatusResponse + 17, // 40: pkg.enginerpc.SyncAgentService.ReplicaRebuildStatus:output_type -> pkg.enginerpc.ReplicaRebuildStatusResponse + 18, // 41: pkg.enginerpc.SyncAgentService.SnapshotCloneStatus:output_type -> pkg.enginerpc.SnapshotCloneStatusResponse + 28, // 42: pkg.enginerpc.SyncAgentService.SnapshotHash:output_type -> google.protobuf.Empty + 21, // 43: pkg.enginerpc.SyncAgentService.SnapshotHashStatus:output_type -> pkg.enginerpc.SnapshotHashStatusResponse + 28, // 44: pkg.enginerpc.SyncAgentService.SnapshotHashCancel:output_type -> google.protobuf.Empty + 23, // 45: pkg.enginerpc.SyncAgentService.SnapshotHashLockState:output_type -> pkg.enginerpc.SnapshotHashLockStateResponse + 25, // [25:46] is the sub-list for method output_type + 4, // [4:25] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_pkg_enginerpc_syncagent_proto_init() } +func file_pkg_enginerpc_syncagent_proto_init() { + if File_pkg_enginerpc_syncagent_proto != nil { + return + } + file_pkg_enginerpc_common_proto_init() + if !protoimpl.UnsafeEnabled { + file_pkg_enginerpc_syncagent_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FileRemoveRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FileRenameRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReceiverLaunchRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReceiverLaunchResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FileSendRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FilesSyncRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SnapshotCloneRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VolumeExportRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackupCreateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackupCreateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackupRemoveRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackupStatusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackupStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackupRestoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BackupRestoreIncrementallyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RestoreStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SnapshotPurgeStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaRebuildStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SnapshotCloneStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SnapshotHashRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SnapshotHashStatusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SnapshotHashStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SnapshotHashCancelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_enginerpc_syncagent_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SnapshotHashLockStateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_enginerpc_syncagent_proto_rawDesc, + NumEnums: 0, + NumMessages: 27, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_pkg_enginerpc_syncagent_proto_goTypes, + DependencyIndexes: file_pkg_enginerpc_syncagent_proto_depIdxs, + MessageInfos: file_pkg_enginerpc_syncagent_proto_msgTypes, + }.Build() + File_pkg_enginerpc_syncagent_proto = out.File + file_pkg_enginerpc_syncagent_proto_rawDesc = nil + file_pkg_enginerpc_syncagent_proto_goTypes = nil + file_pkg_enginerpc_syncagent_proto_depIdxs = nil +} diff --git a/pkg/enginerpc/syncagent.proto b/pkg/enginerpc/syncagent.proto new file mode 100644 index 0000000..8f3d175 --- /dev/null +++ b/pkg/enginerpc/syncagent.proto @@ -0,0 +1,195 @@ +syntax="proto3"; + +package pkg.enginerpc; + +option go_package = "github.com/longhorn/types/pkg/enginerpc"; + +import "google/protobuf/empty.proto"; +import "pkg/enginerpc/common.proto"; + +service SyncAgentService { + rpc FileRemove(FileRemoveRequest) returns (google.protobuf.Empty) {} + rpc FileRename(FileRenameRequest) returns (google.protobuf.Empty) {} + rpc FileSend(FileSendRequest) returns (google.protobuf.Empty) {} + rpc FilesSync(FilesSyncRequest) returns (google.protobuf.Empty) {} + rpc SnapshotClone(SnapshotCloneRequest) returns (google.protobuf.Empty) {} + rpc VolumeExport(VolumeExportRequest) returns (google.protobuf.Empty) {} + rpc ReceiverLaunch(ReceiverLaunchRequest) returns (ReceiverLaunchResponse) {} + rpc BackupCreate(BackupCreateRequest) returns (BackupCreateResponse) {} + rpc BackupRemove(BackupRemoveRequest) returns (google.protobuf.Empty) {} + rpc BackupRestore(BackupRestoreRequest) returns (google.protobuf.Empty) {} + rpc BackupStatus(BackupStatusRequest) returns (BackupStatusResponse) {} + rpc Reset(google.protobuf.Empty) returns (google.protobuf.Empty) {} + rpc RestoreStatus(google.protobuf.Empty) returns (RestoreStatusResponse) {} + rpc SnapshotPurge(google.protobuf.Empty) returns (google.protobuf.Empty) {} + rpc SnapshotPurgeStatus(google.protobuf.Empty) returns + (SnapshotPurgeStatusResponse) {} + rpc ReplicaRebuildStatus(google.protobuf.Empty) returns + (ReplicaRebuildStatusResponse) {} + rpc SnapshotCloneStatus(google.protobuf.Empty) returns (SnapshotCloneStatusResponse) {} + rpc SnapshotHash(SnapshotHashRequest) returns (google.protobuf.Empty) {} + rpc SnapshotHashStatus(SnapshotHashStatusRequest) returns + (SnapshotHashStatusResponse) {} + rpc SnapshotHashCancel(SnapshotHashCancelRequest) returns (google.protobuf.Empty) {} + rpc SnapshotHashLockState(google.protobuf.Empty) returns (SnapshotHashLockStateResponse) {} +} + +message FileRemoveRequest { + string file_name = 1; +} + +message FileRenameRequest { + string old_file_name = 1; + string new_file_name = 2; +} + +message ReceiverLaunchRequest { + string to_file_name = 1; +} + +message ReceiverLaunchResponse { + int32 port = 1; +} + +message FileSendRequest { + string from_file_name = 1; + string host = 2; + int32 port = 3; + bool fast_sync = 4; + int32 file_sync_http_client_timeout = 5; +} + +message FilesSyncRequest { + string from_address = 1; + string to_host = 2; + repeated SyncFileInfo sync_file_info_list = 3; + bool fast_sync = 4; + int32 file_sync_http_client_timeout = 5; +} + +message SnapshotCloneRequest { + string from_address = 1; + string to_host = 2; + string snapshot_file_name = 3; + bool export_backing_image_if_exist = 4; + int32 file_sync_http_client_timeout = 5; + string from_volume_name = 6; +} + +message VolumeExportRequest { + string snapshot_file_name = 1; + string host = 2; + int32 port = 3; + bool export_backing_image_if_exist = 4; + int32 file_sync_http_client_timeout = 5; +} + +message BackupCreateRequest { + string snapshot_file_name = 1; + string backup_target = 2; + string volume_name = 3; + repeated string labels = 4; + map credential = 5; + string backing_image_name = 6; + string backing_image_checksum = 7; + string backup_name = 8; + string compression_method = 9; + int32 concurrent_limit = 10; + string storage_class_name = 11; +} + +message BackupCreateResponse { + string backup = 1; + bool is_incremental = 2; +} + +message BackupRemoveRequest { + string backup = 1; +}; + +message BackupStatusRequest { + string backup = 1; +} + +message BackupStatusResponse { + int32 progress = 1; + string backup_url = 2; + string error = 3; + string snapshot_name = 4; + string state = 5; +} + +message BackupRestoreRequest { + string backup = 1; + string snapshot_disk_name = 2; + map credential = 3; + int32 concurrent_limit = 4; +} + +message BackupRestoreIncrementallyRequest { + string backup = 1; + string delta_file_name = 2; + string last_restored_backup_name = 3; + string snapshot_disk_name = 4; + map credential = 5; + int32 concurrent_limit = 6; +} + +message RestoreStatusResponse { + bool is_restoring = 1; + string last_restored = 2; + int32 progress = 3; + string error = 4; + string dest_file_name = 5; + string state = 6; + string backup_url = 7; + string current_restoring_backup = 8; +} + +message SnapshotPurgeStatusResponse { + bool is_purging = 1; + string error = 2; + int32 progress = 3; + string state = 4; +} + +message ReplicaRebuildStatusResponse { + bool is_rebuilding = 1; + string error = 2; + int32 progress = 3; + string state = 4; + string from_replica_address = 5; +} + +message SnapshotCloneStatusResponse { + bool is_cloning = 1; + string error = 2; + int32 progress = 3; + string state = 4; + string from_replica_address = 5; + string snapshot_name = 6; +} + +message SnapshotHashRequest { + string snapshot_name = 1; + bool rehash = 2; +} + +message SnapshotHashStatusRequest { + string snapshot_name = 1; +} + +message SnapshotHashStatusResponse { + string state = 1; + string checksum = 2; + string error = 3; + bool silently_corrupted = 4; +} + +message SnapshotHashCancelRequest { + string snapshot_name = 1; +} + +message SnapshotHashLockStateResponse { + bool is_locked = 1; +} diff --git a/pkg/enginerpc/syncagent_grpc.pb.go b/pkg/enginerpc/syncagent_grpc.pb.go new file mode 100644 index 0000000..db54c07 --- /dev/null +++ b/pkg/enginerpc/syncagent_grpc.pb.go @@ -0,0 +1,850 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.24.3 +// source: pkg/enginerpc/syncagent.proto + +package enginerpc + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + SyncAgentService_FileRemove_FullMethodName = "/pkg.enginerpc.SyncAgentService/FileRemove" + SyncAgentService_FileRename_FullMethodName = "/pkg.enginerpc.SyncAgentService/FileRename" + SyncAgentService_FileSend_FullMethodName = "/pkg.enginerpc.SyncAgentService/FileSend" + SyncAgentService_FilesSync_FullMethodName = "/pkg.enginerpc.SyncAgentService/FilesSync" + SyncAgentService_SnapshotClone_FullMethodName = "/pkg.enginerpc.SyncAgentService/SnapshotClone" + SyncAgentService_VolumeExport_FullMethodName = "/pkg.enginerpc.SyncAgentService/VolumeExport" + SyncAgentService_ReceiverLaunch_FullMethodName = "/pkg.enginerpc.SyncAgentService/ReceiverLaunch" + SyncAgentService_BackupCreate_FullMethodName = "/pkg.enginerpc.SyncAgentService/BackupCreate" + SyncAgentService_BackupRemove_FullMethodName = "/pkg.enginerpc.SyncAgentService/BackupRemove" + SyncAgentService_BackupRestore_FullMethodName = "/pkg.enginerpc.SyncAgentService/BackupRestore" + SyncAgentService_BackupStatus_FullMethodName = "/pkg.enginerpc.SyncAgentService/BackupStatus" + SyncAgentService_Reset_FullMethodName = "/pkg.enginerpc.SyncAgentService/Reset" + SyncAgentService_RestoreStatus_FullMethodName = "/pkg.enginerpc.SyncAgentService/RestoreStatus" + SyncAgentService_SnapshotPurge_FullMethodName = "/pkg.enginerpc.SyncAgentService/SnapshotPurge" + SyncAgentService_SnapshotPurgeStatus_FullMethodName = "/pkg.enginerpc.SyncAgentService/SnapshotPurgeStatus" + SyncAgentService_ReplicaRebuildStatus_FullMethodName = "/pkg.enginerpc.SyncAgentService/ReplicaRebuildStatus" + SyncAgentService_SnapshotCloneStatus_FullMethodName = "/pkg.enginerpc.SyncAgentService/SnapshotCloneStatus" + SyncAgentService_SnapshotHash_FullMethodName = "/pkg.enginerpc.SyncAgentService/SnapshotHash" + SyncAgentService_SnapshotHashStatus_FullMethodName = "/pkg.enginerpc.SyncAgentService/SnapshotHashStatus" + SyncAgentService_SnapshotHashCancel_FullMethodName = "/pkg.enginerpc.SyncAgentService/SnapshotHashCancel" + SyncAgentService_SnapshotHashLockState_FullMethodName = "/pkg.enginerpc.SyncAgentService/SnapshotHashLockState" +) + +// SyncAgentServiceClient is the client API for SyncAgentService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type SyncAgentServiceClient interface { + FileRemove(ctx context.Context, in *FileRemoveRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + FileRename(ctx context.Context, in *FileRenameRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + FileSend(ctx context.Context, in *FileSendRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + FilesSync(ctx context.Context, in *FilesSyncRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + SnapshotClone(ctx context.Context, in *SnapshotCloneRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + VolumeExport(ctx context.Context, in *VolumeExportRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ReceiverLaunch(ctx context.Context, in *ReceiverLaunchRequest, opts ...grpc.CallOption) (*ReceiverLaunchResponse, error) + BackupCreate(ctx context.Context, in *BackupCreateRequest, opts ...grpc.CallOption) (*BackupCreateResponse, error) + BackupRemove(ctx context.Context, in *BackupRemoveRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + BackupRestore(ctx context.Context, in *BackupRestoreRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + BackupStatus(ctx context.Context, in *BackupStatusRequest, opts ...grpc.CallOption) (*BackupStatusResponse, error) + Reset(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) + RestoreStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*RestoreStatusResponse, error) + SnapshotPurge(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) + SnapshotPurgeStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*SnapshotPurgeStatusResponse, error) + ReplicaRebuildStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ReplicaRebuildStatusResponse, error) + SnapshotCloneStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*SnapshotCloneStatusResponse, error) + SnapshotHash(ctx context.Context, in *SnapshotHashRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + SnapshotHashStatus(ctx context.Context, in *SnapshotHashStatusRequest, opts ...grpc.CallOption) (*SnapshotHashStatusResponse, error) + SnapshotHashCancel(ctx context.Context, in *SnapshotHashCancelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + SnapshotHashLockState(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*SnapshotHashLockStateResponse, error) +} + +type syncAgentServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewSyncAgentServiceClient(cc grpc.ClientConnInterface) SyncAgentServiceClient { + return &syncAgentServiceClient{cc} +} + +func (c *syncAgentServiceClient) FileRemove(ctx context.Context, in *FileRemoveRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, SyncAgentService_FileRemove_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) FileRename(ctx context.Context, in *FileRenameRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, SyncAgentService_FileRename_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) FileSend(ctx context.Context, in *FileSendRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, SyncAgentService_FileSend_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) FilesSync(ctx context.Context, in *FilesSyncRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, SyncAgentService_FilesSync_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) SnapshotClone(ctx context.Context, in *SnapshotCloneRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, SyncAgentService_SnapshotClone_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) VolumeExport(ctx context.Context, in *VolumeExportRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, SyncAgentService_VolumeExport_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) ReceiverLaunch(ctx context.Context, in *ReceiverLaunchRequest, opts ...grpc.CallOption) (*ReceiverLaunchResponse, error) { + out := new(ReceiverLaunchResponse) + err := c.cc.Invoke(ctx, SyncAgentService_ReceiverLaunch_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) BackupCreate(ctx context.Context, in *BackupCreateRequest, opts ...grpc.CallOption) (*BackupCreateResponse, error) { + out := new(BackupCreateResponse) + err := c.cc.Invoke(ctx, SyncAgentService_BackupCreate_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) BackupRemove(ctx context.Context, in *BackupRemoveRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, SyncAgentService_BackupRemove_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) BackupRestore(ctx context.Context, in *BackupRestoreRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, SyncAgentService_BackupRestore_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) BackupStatus(ctx context.Context, in *BackupStatusRequest, opts ...grpc.CallOption) (*BackupStatusResponse, error) { + out := new(BackupStatusResponse) + err := c.cc.Invoke(ctx, SyncAgentService_BackupStatus_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) Reset(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, SyncAgentService_Reset_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) RestoreStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*RestoreStatusResponse, error) { + out := new(RestoreStatusResponse) + err := c.cc.Invoke(ctx, SyncAgentService_RestoreStatus_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) SnapshotPurge(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, SyncAgentService_SnapshotPurge_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) SnapshotPurgeStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*SnapshotPurgeStatusResponse, error) { + out := new(SnapshotPurgeStatusResponse) + err := c.cc.Invoke(ctx, SyncAgentService_SnapshotPurgeStatus_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) ReplicaRebuildStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ReplicaRebuildStatusResponse, error) { + out := new(ReplicaRebuildStatusResponse) + err := c.cc.Invoke(ctx, SyncAgentService_ReplicaRebuildStatus_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) SnapshotCloneStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*SnapshotCloneStatusResponse, error) { + out := new(SnapshotCloneStatusResponse) + err := c.cc.Invoke(ctx, SyncAgentService_SnapshotCloneStatus_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) SnapshotHash(ctx context.Context, in *SnapshotHashRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, SyncAgentService_SnapshotHash_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) SnapshotHashStatus(ctx context.Context, in *SnapshotHashStatusRequest, opts ...grpc.CallOption) (*SnapshotHashStatusResponse, error) { + out := new(SnapshotHashStatusResponse) + err := c.cc.Invoke(ctx, SyncAgentService_SnapshotHashStatus_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) SnapshotHashCancel(ctx context.Context, in *SnapshotHashCancelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, SyncAgentService_SnapshotHashCancel_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *syncAgentServiceClient) SnapshotHashLockState(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*SnapshotHashLockStateResponse, error) { + out := new(SnapshotHashLockStateResponse) + err := c.cc.Invoke(ctx, SyncAgentService_SnapshotHashLockState_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// SyncAgentServiceServer is the server API for SyncAgentService service. +// All implementations must embed UnimplementedSyncAgentServiceServer +// for forward compatibility +type SyncAgentServiceServer interface { + FileRemove(context.Context, *FileRemoveRequest) (*emptypb.Empty, error) + FileRename(context.Context, *FileRenameRequest) (*emptypb.Empty, error) + FileSend(context.Context, *FileSendRequest) (*emptypb.Empty, error) + FilesSync(context.Context, *FilesSyncRequest) (*emptypb.Empty, error) + SnapshotClone(context.Context, *SnapshotCloneRequest) (*emptypb.Empty, error) + VolumeExport(context.Context, *VolumeExportRequest) (*emptypb.Empty, error) + ReceiverLaunch(context.Context, *ReceiverLaunchRequest) (*ReceiverLaunchResponse, error) + BackupCreate(context.Context, *BackupCreateRequest) (*BackupCreateResponse, error) + BackupRemove(context.Context, *BackupRemoveRequest) (*emptypb.Empty, error) + BackupRestore(context.Context, *BackupRestoreRequest) (*emptypb.Empty, error) + BackupStatus(context.Context, *BackupStatusRequest) (*BackupStatusResponse, error) + Reset(context.Context, *emptypb.Empty) (*emptypb.Empty, error) + RestoreStatus(context.Context, *emptypb.Empty) (*RestoreStatusResponse, error) + SnapshotPurge(context.Context, *emptypb.Empty) (*emptypb.Empty, error) + SnapshotPurgeStatus(context.Context, *emptypb.Empty) (*SnapshotPurgeStatusResponse, error) + ReplicaRebuildStatus(context.Context, *emptypb.Empty) (*ReplicaRebuildStatusResponse, error) + SnapshotCloneStatus(context.Context, *emptypb.Empty) (*SnapshotCloneStatusResponse, error) + SnapshotHash(context.Context, *SnapshotHashRequest) (*emptypb.Empty, error) + SnapshotHashStatus(context.Context, *SnapshotHashStatusRequest) (*SnapshotHashStatusResponse, error) + SnapshotHashCancel(context.Context, *SnapshotHashCancelRequest) (*emptypb.Empty, error) + SnapshotHashLockState(context.Context, *emptypb.Empty) (*SnapshotHashLockStateResponse, error) + mustEmbedUnimplementedSyncAgentServiceServer() +} + +// UnimplementedSyncAgentServiceServer must be embedded to have forward compatible implementations. +type UnimplementedSyncAgentServiceServer struct { +} + +func (UnimplementedSyncAgentServiceServer) FileRemove(context.Context, *FileRemoveRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method FileRemove not implemented") +} +func (UnimplementedSyncAgentServiceServer) FileRename(context.Context, *FileRenameRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method FileRename not implemented") +} +func (UnimplementedSyncAgentServiceServer) FileSend(context.Context, *FileSendRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method FileSend not implemented") +} +func (UnimplementedSyncAgentServiceServer) FilesSync(context.Context, *FilesSyncRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method FilesSync not implemented") +} +func (UnimplementedSyncAgentServiceServer) SnapshotClone(context.Context, *SnapshotCloneRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotClone not implemented") +} +func (UnimplementedSyncAgentServiceServer) VolumeExport(context.Context, *VolumeExportRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeExport not implemented") +} +func (UnimplementedSyncAgentServiceServer) ReceiverLaunch(context.Context, *ReceiverLaunchRequest) (*ReceiverLaunchResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReceiverLaunch not implemented") +} +func (UnimplementedSyncAgentServiceServer) BackupCreate(context.Context, *BackupCreateRequest) (*BackupCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BackupCreate not implemented") +} +func (UnimplementedSyncAgentServiceServer) BackupRemove(context.Context, *BackupRemoveRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method BackupRemove not implemented") +} +func (UnimplementedSyncAgentServiceServer) BackupRestore(context.Context, *BackupRestoreRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method BackupRestore not implemented") +} +func (UnimplementedSyncAgentServiceServer) BackupStatus(context.Context, *BackupStatusRequest) (*BackupStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BackupStatus not implemented") +} +func (UnimplementedSyncAgentServiceServer) Reset(context.Context, *emptypb.Empty) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Reset not implemented") +} +func (UnimplementedSyncAgentServiceServer) RestoreStatus(context.Context, *emptypb.Empty) (*RestoreStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RestoreStatus not implemented") +} +func (UnimplementedSyncAgentServiceServer) SnapshotPurge(context.Context, *emptypb.Empty) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotPurge not implemented") +} +func (UnimplementedSyncAgentServiceServer) SnapshotPurgeStatus(context.Context, *emptypb.Empty) (*SnapshotPurgeStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotPurgeStatus not implemented") +} +func (UnimplementedSyncAgentServiceServer) ReplicaRebuildStatus(context.Context, *emptypb.Empty) (*ReplicaRebuildStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaRebuildStatus not implemented") +} +func (UnimplementedSyncAgentServiceServer) SnapshotCloneStatus(context.Context, *emptypb.Empty) (*SnapshotCloneStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotCloneStatus not implemented") +} +func (UnimplementedSyncAgentServiceServer) SnapshotHash(context.Context, *SnapshotHashRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotHash not implemented") +} +func (UnimplementedSyncAgentServiceServer) SnapshotHashStatus(context.Context, *SnapshotHashStatusRequest) (*SnapshotHashStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotHashStatus not implemented") +} +func (UnimplementedSyncAgentServiceServer) SnapshotHashCancel(context.Context, *SnapshotHashCancelRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotHashCancel not implemented") +} +func (UnimplementedSyncAgentServiceServer) SnapshotHashLockState(context.Context, *emptypb.Empty) (*SnapshotHashLockStateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotHashLockState not implemented") +} +func (UnimplementedSyncAgentServiceServer) mustEmbedUnimplementedSyncAgentServiceServer() {} + +// UnsafeSyncAgentServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to SyncAgentServiceServer will +// result in compilation errors. +type UnsafeSyncAgentServiceServer interface { + mustEmbedUnimplementedSyncAgentServiceServer() +} + +func RegisterSyncAgentServiceServer(s grpc.ServiceRegistrar, srv SyncAgentServiceServer) { + s.RegisterService(&SyncAgentService_ServiceDesc, srv) +} + +func _SyncAgentService_FileRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FileRemoveRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).FileRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_FileRemove_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).FileRemove(ctx, req.(*FileRemoveRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_FileRename_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FileRenameRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).FileRename(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_FileRename_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).FileRename(ctx, req.(*FileRenameRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_FileSend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FileSendRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).FileSend(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_FileSend_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).FileSend(ctx, req.(*FileSendRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_FilesSync_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FilesSyncRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).FilesSync(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_FilesSync_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).FilesSync(ctx, req.(*FilesSyncRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_SnapshotClone_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SnapshotCloneRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).SnapshotClone(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_SnapshotClone_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).SnapshotClone(ctx, req.(*SnapshotCloneRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_VolumeExport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VolumeExportRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).VolumeExport(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_VolumeExport_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).VolumeExport(ctx, req.(*VolumeExportRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_ReceiverLaunch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReceiverLaunchRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).ReceiverLaunch(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_ReceiverLaunch_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).ReceiverLaunch(ctx, req.(*ReceiverLaunchRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_BackupCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BackupCreateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).BackupCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_BackupCreate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).BackupCreate(ctx, req.(*BackupCreateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_BackupRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BackupRemoveRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).BackupRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_BackupRemove_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).BackupRemove(ctx, req.(*BackupRemoveRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_BackupRestore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BackupRestoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).BackupRestore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_BackupRestore_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).BackupRestore(ctx, req.(*BackupRestoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_BackupStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BackupStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).BackupStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_BackupStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).BackupStatus(ctx, req.(*BackupStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_Reset_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 { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).Reset(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_Reset_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).Reset(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_RestoreStatus_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 { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).RestoreStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_RestoreStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).RestoreStatus(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_SnapshotPurge_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 { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).SnapshotPurge(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_SnapshotPurge_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).SnapshotPurge(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_SnapshotPurgeStatus_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 { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).SnapshotPurgeStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_SnapshotPurgeStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).SnapshotPurgeStatus(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_ReplicaRebuildStatus_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 { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).ReplicaRebuildStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_ReplicaRebuildStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).ReplicaRebuildStatus(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_SnapshotCloneStatus_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 { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).SnapshotCloneStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_SnapshotCloneStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).SnapshotCloneStatus(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_SnapshotHash_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SnapshotHashRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).SnapshotHash(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_SnapshotHash_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).SnapshotHash(ctx, req.(*SnapshotHashRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_SnapshotHashStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SnapshotHashStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).SnapshotHashStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_SnapshotHashStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).SnapshotHashStatus(ctx, req.(*SnapshotHashStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_SnapshotHashCancel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SnapshotHashCancelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).SnapshotHashCancel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_SnapshotHashCancel_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).SnapshotHashCancel(ctx, req.(*SnapshotHashCancelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SyncAgentService_SnapshotHashLockState_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 { + return nil, err + } + if interceptor == nil { + return srv.(SyncAgentServiceServer).SnapshotHashLockState(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SyncAgentService_SnapshotHashLockState_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SyncAgentServiceServer).SnapshotHashLockState(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +// SyncAgentService_ServiceDesc is the grpc.ServiceDesc for SyncAgentService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var SyncAgentService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "pkg.enginerpc.SyncAgentService", + HandlerType: (*SyncAgentServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "FileRemove", + Handler: _SyncAgentService_FileRemove_Handler, + }, + { + MethodName: "FileRename", + Handler: _SyncAgentService_FileRename_Handler, + }, + { + MethodName: "FileSend", + Handler: _SyncAgentService_FileSend_Handler, + }, + { + MethodName: "FilesSync", + Handler: _SyncAgentService_FilesSync_Handler, + }, + { + MethodName: "SnapshotClone", + Handler: _SyncAgentService_SnapshotClone_Handler, + }, + { + MethodName: "VolumeExport", + Handler: _SyncAgentService_VolumeExport_Handler, + }, + { + MethodName: "ReceiverLaunch", + Handler: _SyncAgentService_ReceiverLaunch_Handler, + }, + { + MethodName: "BackupCreate", + Handler: _SyncAgentService_BackupCreate_Handler, + }, + { + MethodName: "BackupRemove", + Handler: _SyncAgentService_BackupRemove_Handler, + }, + { + MethodName: "BackupRestore", + Handler: _SyncAgentService_BackupRestore_Handler, + }, + { + MethodName: "BackupStatus", + Handler: _SyncAgentService_BackupStatus_Handler, + }, + { + MethodName: "Reset", + Handler: _SyncAgentService_Reset_Handler, + }, + { + MethodName: "RestoreStatus", + Handler: _SyncAgentService_RestoreStatus_Handler, + }, + { + MethodName: "SnapshotPurge", + Handler: _SyncAgentService_SnapshotPurge_Handler, + }, + { + MethodName: "SnapshotPurgeStatus", + Handler: _SyncAgentService_SnapshotPurgeStatus_Handler, + }, + { + MethodName: "ReplicaRebuildStatus", + Handler: _SyncAgentService_ReplicaRebuildStatus_Handler, + }, + { + MethodName: "SnapshotCloneStatus", + Handler: _SyncAgentService_SnapshotCloneStatus_Handler, + }, + { + MethodName: "SnapshotHash", + Handler: _SyncAgentService_SnapshotHash_Handler, + }, + { + MethodName: "SnapshotHashStatus", + Handler: _SyncAgentService_SnapshotHashStatus_Handler, + }, + { + MethodName: "SnapshotHashCancel", + Handler: _SyncAgentService_SnapshotHashCancel_Handler, + }, + { + MethodName: "SnapshotHashLockState", + Handler: _SyncAgentService_SnapshotHashLockState_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "pkg/enginerpc/syncagent.proto", +} diff --git a/pkg/enginerpc/syncagent_pb2.py b/pkg/enginerpc/syncagent_pb2.py new file mode 100644 index 0000000..5e10326 --- /dev/null +++ b/pkg/enginerpc/syncagent_pb2.py @@ -0,0 +1,89 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: pkg/enginerpc/syncagent.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from pkg.enginerpc import common_pb2 as pkg_dot_enginerpc_dot_common__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dpkg/enginerpc/syncagent.proto\x12\rpkg.enginerpc\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1apkg/enginerpc/common.proto\"&\n\x11\x46ileRemoveRequest\x12\x11\n\tfile_name\x18\x01 \x01(\t\"A\n\x11\x46ileRenameRequest\x12\x15\n\rold_file_name\x18\x01 \x01(\t\x12\x15\n\rnew_file_name\x18\x02 \x01(\t\"-\n\x15ReceiverLaunchRequest\x12\x14\n\x0cto_file_name\x18\x01 \x01(\t\"&\n\x16ReceiverLaunchResponse\x12\x0c\n\x04port\x18\x01 \x01(\x05\"\x7f\n\x0f\x46ileSendRequest\x12\x16\n\x0e\x66rom_file_name\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\x12\x11\n\tfast_sync\x18\x04 \x01(\x08\x12%\n\x1d\x66ile_sync_http_client_timeout\x18\x05 \x01(\x05\"\xad\x01\n\x10\x46ilesSyncRequest\x12\x14\n\x0c\x66rom_address\x18\x01 \x01(\t\x12\x0f\n\x07to_host\x18\x02 \x01(\t\x12\x38\n\x13sync_file_info_list\x18\x03 \x03(\x0b\x32\x1b.pkg.enginerpc.SyncFileInfo\x12\x11\n\tfast_sync\x18\x04 \x01(\x08\x12%\n\x1d\x66ile_sync_http_client_timeout\x18\x05 \x01(\x05\"\xc1\x01\n\x14SnapshotCloneRequest\x12\x14\n\x0c\x66rom_address\x18\x01 \x01(\t\x12\x0f\n\x07to_host\x18\x02 \x01(\t\x12\x1a\n\x12snapshot_file_name\x18\x03 \x01(\t\x12%\n\x1d\x65xport_backing_image_if_exist\x18\x04 \x01(\x08\x12%\n\x1d\x66ile_sync_http_client_timeout\x18\x05 \x01(\x05\x12\x18\n\x10\x66rom_volume_name\x18\x06 \x01(\t\"\x9b\x01\n\x13VolumeExportRequest\x12\x1a\n\x12snapshot_file_name\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\x12%\n\x1d\x65xport_backing_image_if_exist\x18\x04 \x01(\x08\x12%\n\x1d\x66ile_sync_http_client_timeout\x18\x05 \x01(\x05\"\x8b\x03\n\x13\x42\x61\x63kupCreateRequest\x12\x1a\n\x12snapshot_file_name\x18\x01 \x01(\t\x12\x15\n\rbackup_target\x18\x02 \x01(\t\x12\x13\n\x0bvolume_name\x18\x03 \x01(\t\x12\x0e\n\x06labels\x18\x04 \x03(\t\x12\x46\n\ncredential\x18\x05 \x03(\x0b\x32\x32.pkg.enginerpc.BackupCreateRequest.CredentialEntry\x12\x1a\n\x12\x62\x61\x63king_image_name\x18\x06 \x01(\t\x12\x1e\n\x16\x62\x61\x63king_image_checksum\x18\x07 \x01(\t\x12\x13\n\x0b\x62\x61\x63kup_name\x18\x08 \x01(\t\x12\x1a\n\x12\x63ompression_method\x18\t \x01(\t\x12\x18\n\x10\x63oncurrent_limit\x18\n \x01(\x05\x12\x1a\n\x12storage_class_name\x18\x0b \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\">\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\"%\n\x13\x42\x61\x63kupRemoveRequest\x12\x0e\n\x06\x62\x61\x63kup\x18\x01 \x01(\t\"%\n\x13\x42\x61\x63kupStatusRequest\x12\x0e\n\x06\x62\x61\x63kup\x18\x01 \x01(\t\"q\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\"\xd8\x01\n\x14\x42\x61\x63kupRestoreRequest\x12\x0e\n\x06\x62\x61\x63kup\x18\x01 \x01(\t\x12\x1a\n\x12snapshot_disk_name\x18\x02 \x01(\t\x12G\n\ncredential\x18\x03 \x03(\x0b\x32\x33.pkg.enginerpc.BackupRestoreRequest.CredentialEntry\x12\x18\n\x10\x63oncurrent_limit\x18\x04 \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\"\xae\x02\n!BackupRestoreIncrementallyRequest\x12\x0e\n\x06\x62\x61\x63kup\x18\x01 \x01(\t\x12\x17\n\x0f\x64\x65lta_file_name\x18\x02 \x01(\t\x12!\n\x19last_restored_backup_name\x18\x03 \x01(\t\x12\x1a\n\x12snapshot_disk_name\x18\x04 \x01(\t\x12T\n\ncredential\x18\x05 \x03(\x0b\x32@.pkg.enginerpc.BackupRestoreIncrementallyRequest.CredentialEntry\x12\x18\n\x10\x63oncurrent_limit\x18\x06 \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\"\xc2\x01\n\x15RestoreStatusResponse\x12\x14\n\x0cis_restoring\x18\x01 \x01(\x08\x12\x15\n\rlast_restored\x18\x02 \x01(\t\x12\x10\n\x08progress\x18\x03 \x01(\x05\x12\r\n\x05\x65rror\x18\x04 \x01(\t\x12\x16\n\x0e\x64\x65st_file_name\x18\x05 \x01(\t\x12\r\n\x05state\x18\x06 \x01(\t\x12\x12\n\nbackup_url\x18\x07 \x01(\t\x12 \n\x18\x63urrent_restoring_backup\x18\x08 \x01(\t\"a\n\x1bSnapshotPurgeStatusResponse\x12\x12\n\nis_purging\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\x10\n\x08progress\x18\x03 \x01(\x05\x12\r\n\x05state\x18\x04 \x01(\t\"\x83\x01\n\x1cReplicaRebuildStatusResponse\x12\x15\n\ris_rebuilding\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\x10\n\x08progress\x18\x03 \x01(\x05\x12\r\n\x05state\x18\x04 \x01(\t\x12\x1c\n\x14\x66rom_replica_address\x18\x05 \x01(\t\"\x96\x01\n\x1bSnapshotCloneStatusResponse\x12\x12\n\nis_cloning\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\x10\n\x08progress\x18\x03 \x01(\x05\x12\r\n\x05state\x18\x04 \x01(\t\x12\x1c\n\x14\x66rom_replica_address\x18\x05 \x01(\t\x12\x15\n\rsnapshot_name\x18\x06 \x01(\t\"<\n\x13SnapshotHashRequest\x12\x15\n\rsnapshot_name\x18\x01 \x01(\t\x12\x0e\n\x06rehash\x18\x02 \x01(\x08\"2\n\x19SnapshotHashStatusRequest\x12\x15\n\rsnapshot_name\x18\x01 \x01(\t\"h\n\x1aSnapshotHashStatusResponse\x12\r\n\x05state\x18\x01 \x01(\t\x12\x10\n\x08\x63hecksum\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\x12\x1a\n\x12silently_corrupted\x18\x04 \x01(\x08\"2\n\x19SnapshotHashCancelRequest\x12\x15\n\rsnapshot_name\x18\x01 \x01(\t\"2\n\x1dSnapshotHashLockStateResponse\x12\x11\n\tis_locked\x18\x01 \x01(\x08\x32\xe5\r\n\x10SyncAgentService\x12H\n\nFileRemove\x12 .pkg.enginerpc.FileRemoveRequest\x1a\x16.google.protobuf.Empty\"\x00\x12H\n\nFileRename\x12 .pkg.enginerpc.FileRenameRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x44\n\x08\x46ileSend\x12\x1e.pkg.enginerpc.FileSendRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x46\n\tFilesSync\x12\x1f.pkg.enginerpc.FilesSyncRequest\x1a\x16.google.protobuf.Empty\"\x00\x12N\n\rSnapshotClone\x12#.pkg.enginerpc.SnapshotCloneRequest\x1a\x16.google.protobuf.Empty\"\x00\x12L\n\x0cVolumeExport\x12\".pkg.enginerpc.VolumeExportRequest\x1a\x16.google.protobuf.Empty\"\x00\x12_\n\x0eReceiverLaunch\x12$.pkg.enginerpc.ReceiverLaunchRequest\x1a%.pkg.enginerpc.ReceiverLaunchResponse\"\x00\x12Y\n\x0c\x42\x61\x63kupCreate\x12\".pkg.enginerpc.BackupCreateRequest\x1a#.pkg.enginerpc.BackupCreateResponse\"\x00\x12L\n\x0c\x42\x61\x63kupRemove\x12\".pkg.enginerpc.BackupRemoveRequest\x1a\x16.google.protobuf.Empty\"\x00\x12N\n\rBackupRestore\x12#.pkg.enginerpc.BackupRestoreRequest\x1a\x16.google.protobuf.Empty\"\x00\x12Y\n\x0c\x42\x61\x63kupStatus\x12\".pkg.enginerpc.BackupStatusRequest\x1a#.pkg.enginerpc.BackupStatusResponse\"\x00\x12\x39\n\x05Reset\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x12O\n\rRestoreStatus\x12\x16.google.protobuf.Empty\x1a$.pkg.enginerpc.RestoreStatusResponse\"\x00\x12\x41\n\rSnapshotPurge\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x12[\n\x13SnapshotPurgeStatus\x12\x16.google.protobuf.Empty\x1a*.pkg.enginerpc.SnapshotPurgeStatusResponse\"\x00\x12]\n\x14ReplicaRebuildStatus\x12\x16.google.protobuf.Empty\x1a+.pkg.enginerpc.ReplicaRebuildStatusResponse\"\x00\x12[\n\x13SnapshotCloneStatus\x12\x16.google.protobuf.Empty\x1a*.pkg.enginerpc.SnapshotCloneStatusResponse\"\x00\x12L\n\x0cSnapshotHash\x12\".pkg.enginerpc.SnapshotHashRequest\x1a\x16.google.protobuf.Empty\"\x00\x12k\n\x12SnapshotHashStatus\x12(.pkg.enginerpc.SnapshotHashStatusRequest\x1a).pkg.enginerpc.SnapshotHashStatusResponse\"\x00\x12X\n\x12SnapshotHashCancel\x12(.pkg.enginerpc.SnapshotHashCancelRequest\x1a\x16.google.protobuf.Empty\"\x00\x12_\n\x15SnapshotHashLockState\x12\x16.google.protobuf.Empty\x1a,.pkg.enginerpc.SnapshotHashLockStateResponse\"\x00\x42)Z\'github.com/longhorn/types/pkg/enginerpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pkg.enginerpc.syncagent_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z\'github.com/longhorn/types/pkg/enginerpc' + _BACKUPCREATEREQUEST_CREDENTIALENTRY._options = None + _BACKUPCREATEREQUEST_CREDENTIALENTRY._serialized_options = b'8\001' + _BACKUPRESTOREREQUEST_CREDENTIALENTRY._options = None + _BACKUPRESTOREREQUEST_CREDENTIALENTRY._serialized_options = b'8\001' + _BACKUPRESTOREINCREMENTALLYREQUEST_CREDENTIALENTRY._options = None + _BACKUPRESTOREINCREMENTALLYREQUEST_CREDENTIALENTRY._serialized_options = b'8\001' + _globals['_FILEREMOVEREQUEST']._serialized_start=105 + _globals['_FILEREMOVEREQUEST']._serialized_end=143 + _globals['_FILERENAMEREQUEST']._serialized_start=145 + _globals['_FILERENAMEREQUEST']._serialized_end=210 + _globals['_RECEIVERLAUNCHREQUEST']._serialized_start=212 + _globals['_RECEIVERLAUNCHREQUEST']._serialized_end=257 + _globals['_RECEIVERLAUNCHRESPONSE']._serialized_start=259 + _globals['_RECEIVERLAUNCHRESPONSE']._serialized_end=297 + _globals['_FILESENDREQUEST']._serialized_start=299 + _globals['_FILESENDREQUEST']._serialized_end=426 + _globals['_FILESSYNCREQUEST']._serialized_start=429 + _globals['_FILESSYNCREQUEST']._serialized_end=602 + _globals['_SNAPSHOTCLONEREQUEST']._serialized_start=605 + _globals['_SNAPSHOTCLONEREQUEST']._serialized_end=798 + _globals['_VOLUMEEXPORTREQUEST']._serialized_start=801 + _globals['_VOLUMEEXPORTREQUEST']._serialized_end=956 + _globals['_BACKUPCREATEREQUEST']._serialized_start=959 + _globals['_BACKUPCREATEREQUEST']._serialized_end=1354 + _globals['_BACKUPCREATEREQUEST_CREDENTIALENTRY']._serialized_start=1305 + _globals['_BACKUPCREATEREQUEST_CREDENTIALENTRY']._serialized_end=1354 + _globals['_BACKUPCREATERESPONSE']._serialized_start=1356 + _globals['_BACKUPCREATERESPONSE']._serialized_end=1418 + _globals['_BACKUPREMOVEREQUEST']._serialized_start=1420 + _globals['_BACKUPREMOVEREQUEST']._serialized_end=1457 + _globals['_BACKUPSTATUSREQUEST']._serialized_start=1459 + _globals['_BACKUPSTATUSREQUEST']._serialized_end=1496 + _globals['_BACKUPSTATUSRESPONSE']._serialized_start=1498 + _globals['_BACKUPSTATUSRESPONSE']._serialized_end=1611 + _globals['_BACKUPRESTOREREQUEST']._serialized_start=1614 + _globals['_BACKUPRESTOREREQUEST']._serialized_end=1830 + _globals['_BACKUPRESTOREREQUEST_CREDENTIALENTRY']._serialized_start=1305 + _globals['_BACKUPRESTOREREQUEST_CREDENTIALENTRY']._serialized_end=1354 + _globals['_BACKUPRESTOREINCREMENTALLYREQUEST']._serialized_start=1833 + _globals['_BACKUPRESTOREINCREMENTALLYREQUEST']._serialized_end=2135 + _globals['_BACKUPRESTOREINCREMENTALLYREQUEST_CREDENTIALENTRY']._serialized_start=1305 + _globals['_BACKUPRESTOREINCREMENTALLYREQUEST_CREDENTIALENTRY']._serialized_end=1354 + _globals['_RESTORESTATUSRESPONSE']._serialized_start=2138 + _globals['_RESTORESTATUSRESPONSE']._serialized_end=2332 + _globals['_SNAPSHOTPURGESTATUSRESPONSE']._serialized_start=2334 + _globals['_SNAPSHOTPURGESTATUSRESPONSE']._serialized_end=2431 + _globals['_REPLICAREBUILDSTATUSRESPONSE']._serialized_start=2434 + _globals['_REPLICAREBUILDSTATUSRESPONSE']._serialized_end=2565 + _globals['_SNAPSHOTCLONESTATUSRESPONSE']._serialized_start=2568 + _globals['_SNAPSHOTCLONESTATUSRESPONSE']._serialized_end=2718 + _globals['_SNAPSHOTHASHREQUEST']._serialized_start=2720 + _globals['_SNAPSHOTHASHREQUEST']._serialized_end=2780 + _globals['_SNAPSHOTHASHSTATUSREQUEST']._serialized_start=2782 + _globals['_SNAPSHOTHASHSTATUSREQUEST']._serialized_end=2832 + _globals['_SNAPSHOTHASHSTATUSRESPONSE']._serialized_start=2834 + _globals['_SNAPSHOTHASHSTATUSRESPONSE']._serialized_end=2938 + _globals['_SNAPSHOTHASHCANCELREQUEST']._serialized_start=2940 + _globals['_SNAPSHOTHASHCANCELREQUEST']._serialized_end=2990 + _globals['_SNAPSHOTHASHLOCKSTATERESPONSE']._serialized_start=2992 + _globals['_SNAPSHOTHASHLOCKSTATERESPONSE']._serialized_end=3042 + _globals['_SYNCAGENTSERVICE']._serialized_start=3045 + _globals['_SYNCAGENTSERVICE']._serialized_end=4810 +# @@protoc_insertion_point(module_scope) diff --git a/pkg/enginerpc/syncagent_pb2_grpc.py b/pkg/enginerpc/syncagent_pb2_grpc.py new file mode 100644 index 0000000..82dc572 --- /dev/null +++ b/pkg/enginerpc/syncagent_pb2_grpc.py @@ -0,0 +1,727 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from pkg.enginerpc import syncagent_pb2 as pkg_dot_enginerpc_dot_syncagent__pb2 + + +class SyncAgentServiceStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.FileRemove = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/FileRemove', + request_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.FileRemoveRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.FileRename = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/FileRename', + request_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.FileRenameRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.FileSend = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/FileSend', + request_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.FileSendRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.FilesSync = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/FilesSync', + request_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.FilesSyncRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.SnapshotClone = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/SnapshotClone', + request_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotCloneRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.VolumeExport = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/VolumeExport', + request_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.VolumeExportRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.ReceiverLaunch = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/ReceiverLaunch', + request_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.ReceiverLaunchRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.ReceiverLaunchResponse.FromString, + ) + self.BackupCreate = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/BackupCreate', + request_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.BackupCreateRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.BackupCreateResponse.FromString, + ) + self.BackupRemove = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/BackupRemove', + request_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.BackupRemoveRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.BackupRestore = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/BackupRestore', + request_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.BackupRestoreRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.BackupStatus = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/BackupStatus', + request_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.BackupStatusRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.BackupStatusResponse.FromString, + ) + self.Reset = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/Reset', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.RestoreStatus = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/RestoreStatus', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.RestoreStatusResponse.FromString, + ) + self.SnapshotPurge = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/SnapshotPurge', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.SnapshotPurgeStatus = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/SnapshotPurgeStatus', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotPurgeStatusResponse.FromString, + ) + self.ReplicaRebuildStatus = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/ReplicaRebuildStatus', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.ReplicaRebuildStatusResponse.FromString, + ) + self.SnapshotCloneStatus = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/SnapshotCloneStatus', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotCloneStatusResponse.FromString, + ) + self.SnapshotHash = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/SnapshotHash', + request_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotHashRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.SnapshotHashStatus = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/SnapshotHashStatus', + request_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotHashStatusRequest.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotHashStatusResponse.FromString, + ) + self.SnapshotHashCancel = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/SnapshotHashCancel', + request_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotHashCancelRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.SnapshotHashLockState = channel.unary_unary( + '/pkg.enginerpc.SyncAgentService/SnapshotHashLockState', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotHashLockStateResponse.FromString, + ) + + +class SyncAgentServiceServicer(object): + """Missing associated documentation comment in .proto file.""" + + def FileRemove(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 FileRename(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 FileSend(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 FilesSync(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 SnapshotClone(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 VolumeExport(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 ReceiverLaunch(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 BackupCreate(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 BackupRemove(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 BackupRestore(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 BackupStatus(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 Reset(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 RestoreStatus(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 SnapshotPurge(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 SnapshotPurgeStatus(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 ReplicaRebuildStatus(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 SnapshotCloneStatus(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 SnapshotHash(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 SnapshotHashStatus(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 SnapshotHashCancel(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 SnapshotHashLockState(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 add_SyncAgentServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'FileRemove': grpc.unary_unary_rpc_method_handler( + servicer.FileRemove, + request_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.FileRemoveRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'FileRename': grpc.unary_unary_rpc_method_handler( + servicer.FileRename, + request_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.FileRenameRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'FileSend': grpc.unary_unary_rpc_method_handler( + servicer.FileSend, + request_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.FileSendRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'FilesSync': grpc.unary_unary_rpc_method_handler( + servicer.FilesSync, + request_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.FilesSyncRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'SnapshotClone': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotClone, + request_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotCloneRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'VolumeExport': grpc.unary_unary_rpc_method_handler( + servicer.VolumeExport, + request_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.VolumeExportRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'ReceiverLaunch': grpc.unary_unary_rpc_method_handler( + servicer.ReceiverLaunch, + request_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.ReceiverLaunchRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.ReceiverLaunchResponse.SerializeToString, + ), + 'BackupCreate': grpc.unary_unary_rpc_method_handler( + servicer.BackupCreate, + request_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.BackupCreateRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.BackupCreateResponse.SerializeToString, + ), + 'BackupRemove': grpc.unary_unary_rpc_method_handler( + servicer.BackupRemove, + request_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.BackupRemoveRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'BackupRestore': grpc.unary_unary_rpc_method_handler( + servicer.BackupRestore, + request_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.BackupRestoreRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'BackupStatus': grpc.unary_unary_rpc_method_handler( + servicer.BackupStatus, + request_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.BackupStatusRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.BackupStatusResponse.SerializeToString, + ), + 'Reset': grpc.unary_unary_rpc_method_handler( + servicer.Reset, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'RestoreStatus': grpc.unary_unary_rpc_method_handler( + servicer.RestoreStatus, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.RestoreStatusResponse.SerializeToString, + ), + 'SnapshotPurge': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotPurge, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'SnapshotPurgeStatus': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotPurgeStatus, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotPurgeStatusResponse.SerializeToString, + ), + 'ReplicaRebuildStatus': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaRebuildStatus, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.ReplicaRebuildStatusResponse.SerializeToString, + ), + 'SnapshotCloneStatus': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotCloneStatus, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotCloneStatusResponse.SerializeToString, + ), + 'SnapshotHash': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotHash, + request_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotHashRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'SnapshotHashStatus': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotHashStatus, + request_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotHashStatusRequest.FromString, + response_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotHashStatusResponse.SerializeToString, + ), + 'SnapshotHashCancel': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotHashCancel, + request_deserializer=pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotHashCancelRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'SnapshotHashLockState': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotHashLockState, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotHashLockStateResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'pkg.enginerpc.SyncAgentService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class SyncAgentService(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def FileRemove(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, '/pkg.enginerpc.SyncAgentService/FileRemove', + pkg_dot_enginerpc_dot_syncagent__pb2.FileRemoveRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def FileRename(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, '/pkg.enginerpc.SyncAgentService/FileRename', + pkg_dot_enginerpc_dot_syncagent__pb2.FileRenameRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def FileSend(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, '/pkg.enginerpc.SyncAgentService/FileSend', + pkg_dot_enginerpc_dot_syncagent__pb2.FileSendRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def FilesSync(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, '/pkg.enginerpc.SyncAgentService/FilesSync', + pkg_dot_enginerpc_dot_syncagent__pb2.FilesSyncRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotClone(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, '/pkg.enginerpc.SyncAgentService/SnapshotClone', + pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotCloneRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeExport(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, '/pkg.enginerpc.SyncAgentService/VolumeExport', + pkg_dot_enginerpc_dot_syncagent__pb2.VolumeExportRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReceiverLaunch(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, '/pkg.enginerpc.SyncAgentService/ReceiverLaunch', + pkg_dot_enginerpc_dot_syncagent__pb2.ReceiverLaunchRequest.SerializeToString, + pkg_dot_enginerpc_dot_syncagent__pb2.ReceiverLaunchResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def BackupCreate(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, '/pkg.enginerpc.SyncAgentService/BackupCreate', + pkg_dot_enginerpc_dot_syncagent__pb2.BackupCreateRequest.SerializeToString, + pkg_dot_enginerpc_dot_syncagent__pb2.BackupCreateResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def BackupRemove(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, '/pkg.enginerpc.SyncAgentService/BackupRemove', + pkg_dot_enginerpc_dot_syncagent__pb2.BackupRemoveRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def BackupRestore(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, '/pkg.enginerpc.SyncAgentService/BackupRestore', + pkg_dot_enginerpc_dot_syncagent__pb2.BackupRestoreRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def BackupStatus(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, '/pkg.enginerpc.SyncAgentService/BackupStatus', + pkg_dot_enginerpc_dot_syncagent__pb2.BackupStatusRequest.SerializeToString, + pkg_dot_enginerpc_dot_syncagent__pb2.BackupStatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Reset(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, '/pkg.enginerpc.SyncAgentService/Reset', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RestoreStatus(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, '/pkg.enginerpc.SyncAgentService/RestoreStatus', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_enginerpc_dot_syncagent__pb2.RestoreStatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotPurge(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, '/pkg.enginerpc.SyncAgentService/SnapshotPurge', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotPurgeStatus(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, '/pkg.enginerpc.SyncAgentService/SnapshotPurgeStatus', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotPurgeStatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaRebuildStatus(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, '/pkg.enginerpc.SyncAgentService/ReplicaRebuildStatus', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_enginerpc_dot_syncagent__pb2.ReplicaRebuildStatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotCloneStatus(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, '/pkg.enginerpc.SyncAgentService/SnapshotCloneStatus', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotCloneStatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotHash(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, '/pkg.enginerpc.SyncAgentService/SnapshotHash', + pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotHashRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotHashStatus(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, '/pkg.enginerpc.SyncAgentService/SnapshotHashStatus', + pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotHashStatusRequest.SerializeToString, + pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotHashStatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotHashCancel(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, '/pkg.enginerpc.SyncAgentService/SnapshotHashCancel', + pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotHashCancelRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotHashLockState(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, '/pkg.enginerpc.SyncAgentService/SnapshotHashLockState', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_enginerpc_dot_syncagent__pb2.SnapshotHashLockStateResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/pkg/imrpc/common.pb.go b/pkg/imrpc/common.pb.go new file mode 100644 index 0000000..2aa8356 --- /dev/null +++ b/pkg/imrpc/common.pb.go @@ -0,0 +1,180 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: pkg/imrpc/common.proto + +package imrpc + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Deprecated: Use DataEngine instead. +type BackendStoreDriver int32 + +const ( + BackendStoreDriver_v1 BackendStoreDriver = 0 + BackendStoreDriver_v2 BackendStoreDriver = 1 +) + +// Enum value maps for BackendStoreDriver. +var ( + BackendStoreDriver_name = map[int32]string{ + 0: "v1", + 1: "v2", + } + BackendStoreDriver_value = map[string]int32{ + "v1": 0, + "v2": 1, + } +) + +func (x BackendStoreDriver) Enum() *BackendStoreDriver { + p := new(BackendStoreDriver) + *p = x + return p +} + +func (x BackendStoreDriver) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (BackendStoreDriver) Descriptor() protoreflect.EnumDescriptor { + return file_pkg_imrpc_common_proto_enumTypes[0].Descriptor() +} + +func (BackendStoreDriver) Type() protoreflect.EnumType { + return &file_pkg_imrpc_common_proto_enumTypes[0] +} + +func (x BackendStoreDriver) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use BackendStoreDriver.Descriptor instead. +func (BackendStoreDriver) EnumDescriptor() ([]byte, []int) { + return file_pkg_imrpc_common_proto_rawDescGZIP(), []int{0} +} + +type DataEngine int32 + +const ( + DataEngine_DATA_ENGINE_V1 DataEngine = 0 + DataEngine_DATA_ENGINE_V2 DataEngine = 1 +) + +// Enum value maps for DataEngine. +var ( + DataEngine_name = map[int32]string{ + 0: "DATA_ENGINE_V1", + 1: "DATA_ENGINE_V2", + } + DataEngine_value = map[string]int32{ + "DATA_ENGINE_V1": 0, + "DATA_ENGINE_V2": 1, + } +) + +func (x DataEngine) Enum() *DataEngine { + p := new(DataEngine) + *p = x + return p +} + +func (x DataEngine) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DataEngine) Descriptor() protoreflect.EnumDescriptor { + return file_pkg_imrpc_common_proto_enumTypes[1].Descriptor() +} + +func (DataEngine) Type() protoreflect.EnumType { + return &file_pkg_imrpc_common_proto_enumTypes[1] +} + +func (x DataEngine) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DataEngine.Descriptor instead. +func (DataEngine) EnumDescriptor() ([]byte, []int) { + return file_pkg_imrpc_common_proto_rawDescGZIP(), []int{1} +} + +var File_pkg_imrpc_common_proto protoreflect.FileDescriptor + +var file_pkg_imrpc_common_proto_rawDesc = []byte{ + 0x0a, 0x16, 0x70, 0x6b, 0x67, 0x2f, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, + 0x72, 0x70, 0x63, 0x2a, 0x24, 0x0a, 0x12, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x06, 0x0a, 0x02, 0x76, 0x31, 0x10, + 0x00, 0x12, 0x06, 0x0a, 0x02, 0x76, 0x32, 0x10, 0x01, 0x2a, 0x34, 0x0a, 0x0a, 0x44, 0x61, 0x74, + 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x41, 0x54, 0x41, 0x5f, + 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x56, 0x31, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x44, + 0x41, 0x54, 0x41, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x56, 0x32, 0x10, 0x01, 0x42, + 0x25, 0x5a, 0x23, 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, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_imrpc_common_proto_rawDescOnce sync.Once + file_pkg_imrpc_common_proto_rawDescData = file_pkg_imrpc_common_proto_rawDesc +) + +func file_pkg_imrpc_common_proto_rawDescGZIP() []byte { + file_pkg_imrpc_common_proto_rawDescOnce.Do(func() { + file_pkg_imrpc_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_imrpc_common_proto_rawDescData) + }) + return file_pkg_imrpc_common_proto_rawDescData +} + +var file_pkg_imrpc_common_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_pkg_imrpc_common_proto_goTypes = []interface{}{ + (BackendStoreDriver)(0), // 0: pkg.imrpc.BackendStoreDriver + (DataEngine)(0), // 1: pkg.imrpc.DataEngine +} +var file_pkg_imrpc_common_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_pkg_imrpc_common_proto_init() } +func file_pkg_imrpc_common_proto_init() { + if File_pkg_imrpc_common_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_imrpc_common_proto_rawDesc, + NumEnums: 2, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_pkg_imrpc_common_proto_goTypes, + DependencyIndexes: file_pkg_imrpc_common_proto_depIdxs, + EnumInfos: file_pkg_imrpc_common_proto_enumTypes, + }.Build() + File_pkg_imrpc_common_proto = out.File + file_pkg_imrpc_common_proto_rawDesc = nil + file_pkg_imrpc_common_proto_goTypes = nil + file_pkg_imrpc_common_proto_depIdxs = nil +} diff --git a/pkg/imrpc/common.proto b/pkg/imrpc/common.proto new file mode 100644 index 0000000..c892725 --- /dev/null +++ b/pkg/imrpc/common.proto @@ -0,0 +1,16 @@ +syntax="proto3"; + +package pkg.imrpc; + +option go_package = "github.com/longhorn/types/pkg/imrpc"; + +// Deprecated: Use DataEngine instead. +enum BackendStoreDriver { + v1 = 0; + v2 = 1; +} + +enum DataEngine { + DATA_ENGINE_V1 = 0; + DATA_ENGINE_V2 = 1; +} diff --git a/pkg/imrpc/common_pb2.py b/pkg/imrpc/common_pb2.py new file mode 100644 index 0000000..6eb731e --- /dev/null +++ b/pkg/imrpc/common_pb2.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: pkg/imrpc/common.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16pkg/imrpc/common.proto\x12\tpkg.imrpc*$\n\x12\x42\x61\x63kendStoreDriver\x12\x06\n\x02v1\x10\x00\x12\x06\n\x02v2\x10\x01*4\n\nDataEngine\x12\x12\n\x0e\x44\x41TA_ENGINE_V1\x10\x00\x12\x12\n\x0e\x44\x41TA_ENGINE_V2\x10\x01\x42%Z#github.com/longhorn/types/pkg/imrpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pkg.imrpc.common_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z#github.com/longhorn/types/pkg/imrpc' + _globals['_BACKENDSTOREDRIVER']._serialized_start=37 + _globals['_BACKENDSTOREDRIVER']._serialized_end=73 + _globals['_DATAENGINE']._serialized_start=75 + _globals['_DATAENGINE']._serialized_end=127 +# @@protoc_insertion_point(module_scope) diff --git a/pkg/imrpc/common_pb2_grpc.py b/pkg/imrpc/common_pb2_grpc.py new file mode 100644 index 0000000..2daafff --- /dev/null +++ b/pkg/imrpc/common_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pkg/imrpc/disk.pb.go b/pkg/imrpc/disk.pb.go new file mode 100644 index 0000000..0e228a0 --- /dev/null +++ b/pkg/imrpc/disk.pb.go @@ -0,0 +1,1076 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: pkg/imrpc/disk.proto + +package imrpc + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type DiskType int32 + +const ( + DiskType_filesystem DiskType = 0 + DiskType_block DiskType = 1 +) + +// Enum value maps for DiskType. +var ( + DiskType_name = map[int32]string{ + 0: "filesystem", + 1: "block", + } + DiskType_value = map[string]int32{ + "filesystem": 0, + "block": 1, + } +) + +func (x DiskType) Enum() *DiskType { + p := new(DiskType) + *p = x + return p +} + +func (x DiskType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DiskType) Descriptor() protoreflect.EnumDescriptor { + return file_pkg_imrpc_disk_proto_enumTypes[0].Descriptor() +} + +func (DiskType) Type() protoreflect.EnumType { + return &file_pkg_imrpc_disk_proto_enumTypes[0] +} + +func (x DiskType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DiskType.Descriptor instead. +func (DiskType) EnumDescriptor() ([]byte, []int) { + return file_pkg_imrpc_disk_proto_rawDescGZIP(), []int{0} +} + +type Disk struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"` + Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` + Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` + TotalSize int64 `protobuf:"varint,5,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"` + FreeSize int64 `protobuf:"varint,6,opt,name=free_size,json=freeSize,proto3" json:"free_size,omitempty"` + TotalBlocks int64 `protobuf:"varint,7,opt,name=total_blocks,json=totalBlocks,proto3" json:"total_blocks,omitempty"` + FreeBlocks int64 `protobuf:"varint,8,opt,name=free_blocks,json=freeBlocks,proto3" json:"free_blocks,omitempty"` + BlockSize int64 `protobuf:"varint,9,opt,name=block_size,json=blockSize,proto3" json:"block_size,omitempty"` + ClusterSize int64 `protobuf:"varint,10,opt,name=cluster_size,json=clusterSize,proto3" json:"cluster_size,omitempty"` +} + +func (x *Disk) Reset() { + *x = Disk{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_disk_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Disk) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Disk) ProtoMessage() {} + +func (x *Disk) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_disk_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Disk.ProtoReflect.Descriptor instead. +func (*Disk) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_disk_proto_rawDescGZIP(), []int{0} +} + +func (x *Disk) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Disk) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *Disk) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *Disk) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *Disk) GetTotalSize() int64 { + if x != nil { + return x.TotalSize + } + return 0 +} + +func (x *Disk) GetFreeSize() int64 { + if x != nil { + return x.FreeSize + } + return 0 +} + +func (x *Disk) GetTotalBlocks() int64 { + if x != nil { + return x.TotalBlocks + } + return 0 +} + +func (x *Disk) GetFreeBlocks() int64 { + if x != nil { + return x.FreeBlocks + } + return 0 +} + +func (x *Disk) GetBlockSize() int64 { + if x != nil { + return x.BlockSize + } + return 0 +} + +func (x *Disk) GetClusterSize() int64 { + if x != nil { + return x.ClusterSize + } + return 0 +} + +type ReplicaInstance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"` + DiskName string `protobuf:"bytes,3,opt,name=disk_name,json=diskName,proto3" json:"disk_name,omitempty"` + DiskUuid string `protobuf:"bytes,4,opt,name=disk_uuid,json=diskUuid,proto3" json:"disk_uuid,omitempty"` + SpecSize uint64 `protobuf:"varint,5,opt,name=spec_size,json=specSize,proto3" json:"spec_size,omitempty"` + ActualSize uint64 `protobuf:"varint,6,opt,name=actual_size,json=actualSize,proto3" json:"actual_size,omitempty"` +} + +func (x *ReplicaInstance) Reset() { + *x = ReplicaInstance{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_disk_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplicaInstance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplicaInstance) ProtoMessage() {} + +func (x *ReplicaInstance) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_disk_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplicaInstance.ProtoReflect.Descriptor instead. +func (*ReplicaInstance) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_disk_proto_rawDescGZIP(), []int{1} +} + +func (x *ReplicaInstance) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ReplicaInstance) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *ReplicaInstance) GetDiskName() string { + if x != nil { + return x.DiskName + } + return "" +} + +func (x *ReplicaInstance) GetDiskUuid() string { + if x != nil { + return x.DiskUuid + } + return "" +} + +func (x *ReplicaInstance) GetSpecSize() uint64 { + if x != nil { + return x.SpecSize + } + return 0 +} + +func (x *ReplicaInstance) GetActualSize() uint64 { + if x != nil { + return x.ActualSize + } + return 0 +} + +type DiskCreateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DiskType DiskType `protobuf:"varint,1,opt,name=disk_type,json=diskType,proto3,enum=pkg.imrpc.DiskType" json:"disk_type,omitempty"` + DiskName string `protobuf:"bytes,2,opt,name=disk_name,json=diskName,proto3" json:"disk_name,omitempty"` + DiskUuid string `protobuf:"bytes,3,opt,name=disk_uuid,json=diskUuid,proto3" json:"disk_uuid,omitempty"` + DiskPath string `protobuf:"bytes,4,opt,name=disk_path,json=diskPath,proto3" json:"disk_path,omitempty"` + BlockSize int64 `protobuf:"varint,5,opt,name=block_size,json=blockSize,proto3" json:"block_size,omitempty"` +} + +func (x *DiskCreateRequest) Reset() { + *x = DiskCreateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_disk_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskCreateRequest) ProtoMessage() {} + +func (x *DiskCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_disk_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskCreateRequest.ProtoReflect.Descriptor instead. +func (*DiskCreateRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_disk_proto_rawDescGZIP(), []int{2} +} + +func (x *DiskCreateRequest) GetDiskType() DiskType { + if x != nil { + return x.DiskType + } + return DiskType_filesystem +} + +func (x *DiskCreateRequest) GetDiskName() string { + if x != nil { + return x.DiskName + } + return "" +} + +func (x *DiskCreateRequest) GetDiskUuid() string { + if x != nil { + return x.DiskUuid + } + return "" +} + +func (x *DiskCreateRequest) GetDiskPath() string { + if x != nil { + return x.DiskPath + } + return "" +} + +func (x *DiskCreateRequest) GetBlockSize() int64 { + if x != nil { + return x.BlockSize + } + return 0 +} + +type DiskGetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DiskType DiskType `protobuf:"varint,1,opt,name=disk_type,json=diskType,proto3,enum=pkg.imrpc.DiskType" json:"disk_type,omitempty"` + DiskName string `protobuf:"bytes,2,opt,name=disk_name,json=diskName,proto3" json:"disk_name,omitempty"` + DiskPath string `protobuf:"bytes,3,opt,name=disk_path,json=diskPath,proto3" json:"disk_path,omitempty"` +} + +func (x *DiskGetRequest) Reset() { + *x = DiskGetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_disk_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskGetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskGetRequest) ProtoMessage() {} + +func (x *DiskGetRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_disk_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskGetRequest.ProtoReflect.Descriptor instead. +func (*DiskGetRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_disk_proto_rawDescGZIP(), []int{3} +} + +func (x *DiskGetRequest) GetDiskType() DiskType { + if x != nil { + return x.DiskType + } + return DiskType_filesystem +} + +func (x *DiskGetRequest) GetDiskName() string { + if x != nil { + return x.DiskName + } + return "" +} + +func (x *DiskGetRequest) GetDiskPath() string { + if x != nil { + return x.DiskPath + } + return "" +} + +type DiskDeleteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DiskType DiskType `protobuf:"varint,1,opt,name=disk_type,json=diskType,proto3,enum=pkg.imrpc.DiskType" json:"disk_type,omitempty"` + DiskName string `protobuf:"bytes,2,opt,name=disk_name,json=diskName,proto3" json:"disk_name,omitempty"` + DiskUuid string `protobuf:"bytes,3,opt,name=disk_uuid,json=diskUuid,proto3" json:"disk_uuid,omitempty"` +} + +func (x *DiskDeleteRequest) Reset() { + *x = DiskDeleteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_disk_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskDeleteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskDeleteRequest) ProtoMessage() {} + +func (x *DiskDeleteRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_disk_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskDeleteRequest.ProtoReflect.Descriptor instead. +func (*DiskDeleteRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_disk_proto_rawDescGZIP(), []int{4} +} + +func (x *DiskDeleteRequest) GetDiskType() DiskType { + if x != nil { + return x.DiskType + } + return DiskType_filesystem +} + +func (x *DiskDeleteRequest) GetDiskName() string { + if x != nil { + return x.DiskName + } + return "" +} + +func (x *DiskDeleteRequest) GetDiskUuid() string { + if x != nil { + return x.DiskUuid + } + return "" +} + +type DiskReplicaInstanceListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DiskType DiskType `protobuf:"varint,1,opt,name=disk_type,json=diskType,proto3,enum=pkg.imrpc.DiskType" json:"disk_type,omitempty"` + DiskName string `protobuf:"bytes,2,opt,name=disk_name,json=diskName,proto3" json:"disk_name,omitempty"` +} + +func (x *DiskReplicaInstanceListRequest) Reset() { + *x = DiskReplicaInstanceListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_disk_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskReplicaInstanceListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskReplicaInstanceListRequest) ProtoMessage() {} + +func (x *DiskReplicaInstanceListRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_disk_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskReplicaInstanceListRequest.ProtoReflect.Descriptor instead. +func (*DiskReplicaInstanceListRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_disk_proto_rawDescGZIP(), []int{5} +} + +func (x *DiskReplicaInstanceListRequest) GetDiskType() DiskType { + if x != nil { + return x.DiskType + } + return DiskType_filesystem +} + +func (x *DiskReplicaInstanceListRequest) GetDiskName() string { + if x != nil { + return x.DiskName + } + return "" +} + +type DiskReplicaInstanceListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReplicaInstances map[string]*ReplicaInstance `protobuf:"bytes,1,rep,name=replica_instances,json=replicaInstances,proto3" json:"replica_instances,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *DiskReplicaInstanceListResponse) Reset() { + *x = DiskReplicaInstanceListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_disk_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskReplicaInstanceListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskReplicaInstanceListResponse) ProtoMessage() {} + +func (x *DiskReplicaInstanceListResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_disk_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskReplicaInstanceListResponse.ProtoReflect.Descriptor instead. +func (*DiskReplicaInstanceListResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_disk_proto_rawDescGZIP(), []int{6} +} + +func (x *DiskReplicaInstanceListResponse) GetReplicaInstances() map[string]*ReplicaInstance { + if x != nil { + return x.ReplicaInstances + } + return nil +} + +type DiskReplicaInstanceDeleteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DiskType DiskType `protobuf:"varint,1,opt,name=disk_type,json=diskType,proto3,enum=pkg.imrpc.DiskType" json:"disk_type,omitempty"` + DiskName string `protobuf:"bytes,2,opt,name=disk_name,json=diskName,proto3" json:"disk_name,omitempty"` + DiskUuid string `protobuf:"bytes,3,opt,name=disk_uuid,json=diskUuid,proto3" json:"disk_uuid,omitempty"` + ReplciaInstanceName string `protobuf:"bytes,4,opt,name=replcia_instance_name,json=replciaInstanceName,proto3" json:"replcia_instance_name,omitempty"` +} + +func (x *DiskReplicaInstanceDeleteRequest) Reset() { + *x = DiskReplicaInstanceDeleteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_disk_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskReplicaInstanceDeleteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskReplicaInstanceDeleteRequest) ProtoMessage() {} + +func (x *DiskReplicaInstanceDeleteRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_disk_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskReplicaInstanceDeleteRequest.ProtoReflect.Descriptor instead. +func (*DiskReplicaInstanceDeleteRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_disk_proto_rawDescGZIP(), []int{7} +} + +func (x *DiskReplicaInstanceDeleteRequest) GetDiskType() DiskType { + if x != nil { + return x.DiskType + } + return DiskType_filesystem +} + +func (x *DiskReplicaInstanceDeleteRequest) GetDiskName() string { + if x != nil { + return x.DiskName + } + return "" +} + +func (x *DiskReplicaInstanceDeleteRequest) GetDiskUuid() string { + if x != nil { + return x.DiskUuid + } + return "" +} + +func (x *DiskReplicaInstanceDeleteRequest) GetReplciaInstanceName() string { + if x != nil { + return x.ReplciaInstanceName + } + return "" +} + +type DiskVersionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + GitCommit string `protobuf:"bytes,2,opt,name=gitCommit,proto3" json:"gitCommit,omitempty"` + BuildDate string `protobuf:"bytes,3,opt,name=buildDate,proto3" json:"buildDate,omitempty"` + InstanceManagerDiskServiceAPIVersion int64 `protobuf:"varint,4,opt,name=instanceManagerDiskServiceAPIVersion,proto3" json:"instanceManagerDiskServiceAPIVersion,omitempty"` + InstanceManagerDiskServiceAPIMinVersion int64 `protobuf:"varint,5,opt,name=instanceManagerDiskServiceAPIMinVersion,proto3" json:"instanceManagerDiskServiceAPIMinVersion,omitempty"` +} + +func (x *DiskVersionResponse) Reset() { + *x = DiskVersionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_disk_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskVersionResponse) ProtoMessage() {} + +func (x *DiskVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_disk_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskVersionResponse.ProtoReflect.Descriptor instead. +func (*DiskVersionResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_disk_proto_rawDescGZIP(), []int{8} +} + +func (x *DiskVersionResponse) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *DiskVersionResponse) GetGitCommit() string { + if x != nil { + return x.GitCommit + } + return "" +} + +func (x *DiskVersionResponse) GetBuildDate() string { + if x != nil { + return x.BuildDate + } + return "" +} + +func (x *DiskVersionResponse) GetInstanceManagerDiskServiceAPIVersion() int64 { + if x != nil { + return x.InstanceManagerDiskServiceAPIVersion + } + return 0 +} + +func (x *DiskVersionResponse) GetInstanceManagerDiskServiceAPIMinVersion() int64 { + if x != nil { + return x.InstanceManagerDiskServiceAPIMinVersion + } + return 0 +} + +var File_pkg_imrpc_disk_proto protoreflect.FileDescriptor + +var file_pkg_imrpc_disk_proto_rawDesc = []byte{ + 0x0a, 0x14, 0x70, 0x6b, 0x67, 0x2f, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2f, 0x64, 0x69, 0x73, 0x6b, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, + 0x02, 0x0a, 0x04, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x72, 0x65, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x66, 0x72, 0x65, 0x65, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, + 0x70, 0x65, 0x63, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, + 0x73, 0x70, 0x65, 0x63, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x75, + 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, + 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xbb, 0x01, 0x0a, 0x11, 0x44, 0x69, + 0x73, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x30, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, + 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, + 0x69, 0x73, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x64, 0x69, 0x73, 0x6b, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x7c, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x6b, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x09, 0x64, 0x69, 0x73, + 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, + 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x64, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, + 0x6b, 0x50, 0x61, 0x74, 0x68, 0x22, 0x7f, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x09, 0x64, 0x69, + 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x64, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, + 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, + 0x73, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x22, 0x6f, 0x0a, 0x1e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, + 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, + 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x1f, 0x44, 0x69, 0x73, 0x6b, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x11, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x5f, 0x0a, 0x15, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, + 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc2, 0x01, 0x0a, 0x20, + 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x30, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, + 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x15, + 0x72, 0x65, 0x70, 0x6c, 0x63, 0x69, 0x61, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x72, 0x65, 0x70, + 0x6c, 0x63, 0x69, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x22, 0x99, 0x02, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x52, + 0x0a, 0x24, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x50, 0x49, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x24, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x44, 0x69, 0x73, + 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x50, 0x49, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x27, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x50, 0x49, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x27, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, + 0x50, 0x49, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2a, 0x25, 0x0a, 0x08, + 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, + 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x10, 0x01, 0x32, 0xdf, 0x03, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, + 0x73, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x0f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, + 0x12, 0x42, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1c, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 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, 0x35, 0x0a, 0x07, 0x44, 0x69, 0x73, 0x6b, 0x47, 0x65, 0x74, 0x12, + 0x19, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x70, 0x0a, 0x17, 0x44, + 0x69, 0x73, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, + 0x73, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, + 0x19, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 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, + 0x44, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x25, 0x5a, 0x23, 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, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_imrpc_disk_proto_rawDescOnce sync.Once + file_pkg_imrpc_disk_proto_rawDescData = file_pkg_imrpc_disk_proto_rawDesc +) + +func file_pkg_imrpc_disk_proto_rawDescGZIP() []byte { + file_pkg_imrpc_disk_proto_rawDescOnce.Do(func() { + file_pkg_imrpc_disk_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_imrpc_disk_proto_rawDescData) + }) + return file_pkg_imrpc_disk_proto_rawDescData +} + +var file_pkg_imrpc_disk_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_pkg_imrpc_disk_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_pkg_imrpc_disk_proto_goTypes = []interface{}{ + (DiskType)(0), // 0: pkg.imrpc.DiskType + (*Disk)(nil), // 1: pkg.imrpc.Disk + (*ReplicaInstance)(nil), // 2: pkg.imrpc.ReplicaInstance + (*DiskCreateRequest)(nil), // 3: pkg.imrpc.DiskCreateRequest + (*DiskGetRequest)(nil), // 4: pkg.imrpc.DiskGetRequest + (*DiskDeleteRequest)(nil), // 5: pkg.imrpc.DiskDeleteRequest + (*DiskReplicaInstanceListRequest)(nil), // 6: pkg.imrpc.DiskReplicaInstanceListRequest + (*DiskReplicaInstanceListResponse)(nil), // 7: pkg.imrpc.DiskReplicaInstanceListResponse + (*DiskReplicaInstanceDeleteRequest)(nil), // 8: pkg.imrpc.DiskReplicaInstanceDeleteRequest + (*DiskVersionResponse)(nil), // 9: pkg.imrpc.DiskVersionResponse + nil, // 10: pkg.imrpc.DiskReplicaInstanceListResponse.ReplicaInstancesEntry + (*emptypb.Empty)(nil), // 11: google.protobuf.Empty +} +var file_pkg_imrpc_disk_proto_depIdxs = []int32{ + 0, // 0: pkg.imrpc.DiskCreateRequest.disk_type:type_name -> pkg.imrpc.DiskType + 0, // 1: pkg.imrpc.DiskGetRequest.disk_type:type_name -> pkg.imrpc.DiskType + 0, // 2: pkg.imrpc.DiskDeleteRequest.disk_type:type_name -> pkg.imrpc.DiskType + 0, // 3: pkg.imrpc.DiskReplicaInstanceListRequest.disk_type:type_name -> pkg.imrpc.DiskType + 10, // 4: pkg.imrpc.DiskReplicaInstanceListResponse.replica_instances:type_name -> pkg.imrpc.DiskReplicaInstanceListResponse.ReplicaInstancesEntry + 0, // 5: pkg.imrpc.DiskReplicaInstanceDeleteRequest.disk_type:type_name -> pkg.imrpc.DiskType + 2, // 6: pkg.imrpc.DiskReplicaInstanceListResponse.ReplicaInstancesEntry.value:type_name -> pkg.imrpc.ReplicaInstance + 3, // 7: pkg.imrpc.DiskService.DiskCreate:input_type -> pkg.imrpc.DiskCreateRequest + 5, // 8: pkg.imrpc.DiskService.DiskDelete:input_type -> pkg.imrpc.DiskDeleteRequest + 4, // 9: pkg.imrpc.DiskService.DiskGet:input_type -> pkg.imrpc.DiskGetRequest + 6, // 10: pkg.imrpc.DiskService.DiskReplicaInstanceList:input_type -> pkg.imrpc.DiskReplicaInstanceListRequest + 8, // 11: pkg.imrpc.DiskService.DiskReplicaInstanceDelete:input_type -> pkg.imrpc.DiskReplicaInstanceDeleteRequest + 11, // 12: pkg.imrpc.DiskService.VersionGet:input_type -> google.protobuf.Empty + 1, // 13: pkg.imrpc.DiskService.DiskCreate:output_type -> pkg.imrpc.Disk + 11, // 14: pkg.imrpc.DiskService.DiskDelete:output_type -> google.protobuf.Empty + 1, // 15: pkg.imrpc.DiskService.DiskGet:output_type -> pkg.imrpc.Disk + 7, // 16: pkg.imrpc.DiskService.DiskReplicaInstanceList:output_type -> pkg.imrpc.DiskReplicaInstanceListResponse + 11, // 17: pkg.imrpc.DiskService.DiskReplicaInstanceDelete:output_type -> google.protobuf.Empty + 9, // 18: pkg.imrpc.DiskService.VersionGet:output_type -> pkg.imrpc.DiskVersionResponse + 13, // [13:19] is the sub-list for method output_type + 7, // [7:13] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_pkg_imrpc_disk_proto_init() } +func file_pkg_imrpc_disk_proto_init() { + if File_pkg_imrpc_disk_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pkg_imrpc_disk_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Disk); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_disk_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaInstance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_disk_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskCreateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_disk_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskGetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_disk_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskDeleteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_disk_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskReplicaInstanceListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_disk_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskReplicaInstanceListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_disk_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskReplicaInstanceDeleteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_disk_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskVersionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_imrpc_disk_proto_rawDesc, + NumEnums: 1, + NumMessages: 10, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_pkg_imrpc_disk_proto_goTypes, + DependencyIndexes: file_pkg_imrpc_disk_proto_depIdxs, + EnumInfos: file_pkg_imrpc_disk_proto_enumTypes, + MessageInfos: file_pkg_imrpc_disk_proto_msgTypes, + }.Build() + File_pkg_imrpc_disk_proto = out.File + file_pkg_imrpc_disk_proto_rawDesc = nil + file_pkg_imrpc_disk_proto_goTypes = nil + file_pkg_imrpc_disk_proto_depIdxs = nil +} diff --git a/pkg/imrpc/disk.proto b/pkg/imrpc/disk.proto new file mode 100644 index 0000000..e79f51b --- /dev/null +++ b/pkg/imrpc/disk.proto @@ -0,0 +1,97 @@ +syntax="proto3"; + +package pkg.imrpc; + +option go_package = "github.com/longhorn/types/pkg/imrpc"; + +import "google/protobuf/empty.proto"; + +service DiskService { + rpc DiskCreate(DiskCreateRequest) returns (Disk); + rpc DiskDelete(DiskDeleteRequest) returns (google.protobuf.Empty); + rpc DiskGet(DiskGetRequest) returns (Disk); + rpc DiskReplicaInstanceList(DiskReplicaInstanceListRequest) returns (DiskReplicaInstanceListResponse); + rpc DiskReplicaInstanceDelete(DiskReplicaInstanceDeleteRequest) returns (google.protobuf.Empty); + + rpc VersionGet(google.protobuf.Empty) returns(DiskVersionResponse); +} + +message Disk { + string id = 1; + string uuid = 2; + string path = 3; + string type = 4; + + int64 total_size = 5; + int64 free_size = 6; + + int64 total_blocks = 7; + int64 free_blocks = 8; + + int64 block_size = 9; + int64 cluster_size = 10; +} + +message ReplicaInstance { + string name = 1; + string uuid = 2; + string disk_name = 3; + string disk_uuid = 4; + uint64 spec_size = 5; + uint64 actual_size = 6; +} + +enum DiskType { + filesystem = 0; + block = 1; +} + +message DiskCreateRequest{ + DiskType disk_type = 1; + + string disk_name = 2; + string disk_uuid = 3; + string disk_path = 4; + int64 block_size = 5; +} + +message DiskGetRequest { + DiskType disk_type = 1; + + string disk_name = 2; + string disk_path = 3; +} + +message DiskDeleteRequest { + DiskType disk_type = 1; + + string disk_name = 2; + string disk_uuid = 3; +} + +message DiskReplicaInstanceListRequest { + DiskType disk_type = 1; + + string disk_name = 2; +} + +message DiskReplicaInstanceListResponse { + map replica_instances = 1; +} + +message DiskReplicaInstanceDeleteRequest { + DiskType disk_type = 1; + + string disk_name = 2; + string disk_uuid = 3; + string replcia_instance_name = 4; +} + +message DiskVersionResponse { + string version = 1; + string gitCommit = 2; + string buildDate = 3; + + int64 instanceManagerDiskServiceAPIVersion = 4; + int64 instanceManagerDiskServiceAPIMinVersion = 5; +} diff --git a/pkg/imrpc/disk_grpc.pb.go b/pkg/imrpc/disk_grpc.pb.go new file mode 100644 index 0000000..e0d8e06 --- /dev/null +++ b/pkg/imrpc/disk_grpc.pb.go @@ -0,0 +1,295 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.24.3 +// source: pkg/imrpc/disk.proto + +package imrpc + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + DiskService_DiskCreate_FullMethodName = "/pkg.imrpc.DiskService/DiskCreate" + DiskService_DiskDelete_FullMethodName = "/pkg.imrpc.DiskService/DiskDelete" + DiskService_DiskGet_FullMethodName = "/pkg.imrpc.DiskService/DiskGet" + DiskService_DiskReplicaInstanceList_FullMethodName = "/pkg.imrpc.DiskService/DiskReplicaInstanceList" + DiskService_DiskReplicaInstanceDelete_FullMethodName = "/pkg.imrpc.DiskService/DiskReplicaInstanceDelete" + DiskService_VersionGet_FullMethodName = "/pkg.imrpc.DiskService/VersionGet" +) + +// DiskServiceClient is the client API for DiskService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type DiskServiceClient interface { + DiskCreate(ctx context.Context, in *DiskCreateRequest, opts ...grpc.CallOption) (*Disk, error) + DiskDelete(ctx context.Context, in *DiskDeleteRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + DiskGet(ctx context.Context, in *DiskGetRequest, opts ...grpc.CallOption) (*Disk, error) + DiskReplicaInstanceList(ctx context.Context, in *DiskReplicaInstanceListRequest, opts ...grpc.CallOption) (*DiskReplicaInstanceListResponse, error) + DiskReplicaInstanceDelete(ctx context.Context, in *DiskReplicaInstanceDeleteRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + VersionGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*DiskVersionResponse, error) +} + +type diskServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewDiskServiceClient(cc grpc.ClientConnInterface) DiskServiceClient { + return &diskServiceClient{cc} +} + +func (c *diskServiceClient) DiskCreate(ctx context.Context, in *DiskCreateRequest, opts ...grpc.CallOption) (*Disk, error) { + out := new(Disk) + err := c.cc.Invoke(ctx, DiskService_DiskCreate_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskServiceClient) DiskDelete(ctx context.Context, in *DiskDeleteRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, DiskService_DiskDelete_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskServiceClient) DiskGet(ctx context.Context, in *DiskGetRequest, opts ...grpc.CallOption) (*Disk, error) { + out := new(Disk) + err := c.cc.Invoke(ctx, DiskService_DiskGet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskServiceClient) DiskReplicaInstanceList(ctx context.Context, in *DiskReplicaInstanceListRequest, opts ...grpc.CallOption) (*DiskReplicaInstanceListResponse, error) { + out := new(DiskReplicaInstanceListResponse) + err := c.cc.Invoke(ctx, DiskService_DiskReplicaInstanceList_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskServiceClient) DiskReplicaInstanceDelete(ctx context.Context, in *DiskReplicaInstanceDeleteRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, DiskService_DiskReplicaInstanceDelete_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *diskServiceClient) VersionGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*DiskVersionResponse, error) { + out := new(DiskVersionResponse) + err := c.cc.Invoke(ctx, DiskService_VersionGet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// DiskServiceServer is the server API for DiskService service. +// All implementations must embed UnimplementedDiskServiceServer +// for forward compatibility +type DiskServiceServer interface { + DiskCreate(context.Context, *DiskCreateRequest) (*Disk, error) + DiskDelete(context.Context, *DiskDeleteRequest) (*emptypb.Empty, error) + DiskGet(context.Context, *DiskGetRequest) (*Disk, error) + DiskReplicaInstanceList(context.Context, *DiskReplicaInstanceListRequest) (*DiskReplicaInstanceListResponse, error) + DiskReplicaInstanceDelete(context.Context, *DiskReplicaInstanceDeleteRequest) (*emptypb.Empty, error) + VersionGet(context.Context, *emptypb.Empty) (*DiskVersionResponse, error) + mustEmbedUnimplementedDiskServiceServer() +} + +// UnimplementedDiskServiceServer must be embedded to have forward compatible implementations. +type UnimplementedDiskServiceServer struct { +} + +func (UnimplementedDiskServiceServer) DiskCreate(context.Context, *DiskCreateRequest) (*Disk, error) { + return nil, status.Errorf(codes.Unimplemented, "method DiskCreate not implemented") +} +func (UnimplementedDiskServiceServer) DiskDelete(context.Context, *DiskDeleteRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DiskDelete not implemented") +} +func (UnimplementedDiskServiceServer) DiskGet(context.Context, *DiskGetRequest) (*Disk, error) { + return nil, status.Errorf(codes.Unimplemented, "method DiskGet not implemented") +} +func (UnimplementedDiskServiceServer) DiskReplicaInstanceList(context.Context, *DiskReplicaInstanceListRequest) (*DiskReplicaInstanceListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DiskReplicaInstanceList not implemented") +} +func (UnimplementedDiskServiceServer) DiskReplicaInstanceDelete(context.Context, *DiskReplicaInstanceDeleteRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DiskReplicaInstanceDelete not implemented") +} +func (UnimplementedDiskServiceServer) VersionGet(context.Context, *emptypb.Empty) (*DiskVersionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method VersionGet not implemented") +} +func (UnimplementedDiskServiceServer) mustEmbedUnimplementedDiskServiceServer() {} + +// UnsafeDiskServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to DiskServiceServer will +// result in compilation errors. +type UnsafeDiskServiceServer interface { + mustEmbedUnimplementedDiskServiceServer() +} + +func RegisterDiskServiceServer(s grpc.ServiceRegistrar, srv DiskServiceServer) { + s.RegisterService(&DiskService_ServiceDesc, srv) +} + +func _DiskService_DiskCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DiskCreateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServiceServer).DiskCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: DiskService_DiskCreate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServiceServer).DiskCreate(ctx, req.(*DiskCreateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DiskService_DiskDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DiskDeleteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServiceServer).DiskDelete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: DiskService_DiskDelete_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServiceServer).DiskDelete(ctx, req.(*DiskDeleteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DiskService_DiskGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DiskGetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServiceServer).DiskGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: DiskService_DiskGet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServiceServer).DiskGet(ctx, req.(*DiskGetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DiskService_DiskReplicaInstanceList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DiskReplicaInstanceListRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServiceServer).DiskReplicaInstanceList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: DiskService_DiskReplicaInstanceList_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServiceServer).DiskReplicaInstanceList(ctx, req.(*DiskReplicaInstanceListRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DiskService_DiskReplicaInstanceDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DiskReplicaInstanceDeleteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiskServiceServer).DiskReplicaInstanceDelete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: DiskService_DiskReplicaInstanceDelete_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServiceServer).DiskReplicaInstanceDelete(ctx, req.(*DiskReplicaInstanceDeleteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DiskService_VersionGet_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 { + return nil, err + } + if interceptor == nil { + return srv.(DiskServiceServer).VersionGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: DiskService_VersionGet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiskServiceServer).VersionGet(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +// DiskService_ServiceDesc is the grpc.ServiceDesc for DiskService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var DiskService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "pkg.imrpc.DiskService", + HandlerType: (*DiskServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "DiskCreate", + Handler: _DiskService_DiskCreate_Handler, + }, + { + MethodName: "DiskDelete", + Handler: _DiskService_DiskDelete_Handler, + }, + { + MethodName: "DiskGet", + Handler: _DiskService_DiskGet_Handler, + }, + { + MethodName: "DiskReplicaInstanceList", + Handler: _DiskService_DiskReplicaInstanceList_Handler, + }, + { + MethodName: "DiskReplicaInstanceDelete", + Handler: _DiskService_DiskReplicaInstanceDelete_Handler, + }, + { + MethodName: "VersionGet", + Handler: _DiskService_VersionGet_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "pkg/imrpc/disk.proto", +} diff --git a/pkg/imrpc/disk_pb2.py b/pkg/imrpc/disk_pb2.py new file mode 100644 index 0000000..02f7e6e --- /dev/null +++ b/pkg/imrpc/disk_pb2.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: pkg/imrpc/disk.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14pkg/imrpc/disk.proto\x12\tpkg.imrpc\x1a\x1bgoogle/protobuf/empty.proto\"\xb8\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\"{\n\x0fReplicaInstance\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04uuid\x18\x02 \x01(\t\x12\x11\n\tdisk_name\x18\x03 \x01(\t\x12\x11\n\tdisk_uuid\x18\x04 \x01(\t\x12\x11\n\tspec_size\x18\x05 \x01(\x04\x12\x13\n\x0b\x61\x63tual_size\x18\x06 \x01(\x04\"\x88\x01\n\x11\x44iskCreateRequest\x12&\n\tdisk_type\x18\x01 \x01(\x0e\x32\x13.pkg.imrpc.DiskType\x12\x11\n\tdisk_name\x18\x02 \x01(\t\x12\x11\n\tdisk_uuid\x18\x03 \x01(\t\x12\x11\n\tdisk_path\x18\x04 \x01(\t\x12\x12\n\nblock_size\x18\x05 \x01(\x03\"^\n\x0e\x44iskGetRequest\x12&\n\tdisk_type\x18\x01 \x01(\x0e\x32\x13.pkg.imrpc.DiskType\x12\x11\n\tdisk_name\x18\x02 \x01(\t\x12\x11\n\tdisk_path\x18\x03 \x01(\t\"a\n\x11\x44iskDeleteRequest\x12&\n\tdisk_type\x18\x01 \x01(\x0e\x32\x13.pkg.imrpc.DiskType\x12\x11\n\tdisk_name\x18\x02 \x01(\t\x12\x11\n\tdisk_uuid\x18\x03 \x01(\t\"[\n\x1e\x44iskReplicaInstanceListRequest\x12&\n\tdisk_type\x18\x01 \x01(\x0e\x32\x13.pkg.imrpc.DiskType\x12\x11\n\tdisk_name\x18\x02 \x01(\t\"\xd3\x01\n\x1f\x44iskReplicaInstanceListResponse\x12[\n\x11replica_instances\x18\x01 \x03(\x0b\x32@.pkg.imrpc.DiskReplicaInstanceListResponse.ReplicaInstancesEntry\x1aS\n\x15ReplicaInstancesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.pkg.imrpc.ReplicaInstance:\x02\x38\x01\"\x8f\x01\n DiskReplicaInstanceDeleteRequest\x12&\n\tdisk_type\x18\x01 \x01(\x0e\x32\x13.pkg.imrpc.DiskType\x12\x11\n\tdisk_name\x18\x02 \x01(\t\x12\x11\n\tdisk_uuid\x18\x03 \x01(\t\x12\x1d\n\x15replcia_instance_name\x18\x04 \x01(\t\"\xab\x01\n\x13\x44iskVersionResponse\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,\n$instanceManagerDiskServiceAPIVersion\x18\x04 \x01(\x03\x12/\n\'instanceManagerDiskServiceAPIMinVersion\x18\x05 \x01(\x03*%\n\x08\x44iskType\x12\x0e\n\nfilesystem\x10\x00\x12\t\n\x05\x62lock\x10\x01\x32\xdf\x03\n\x0b\x44iskService\x12;\n\nDiskCreate\x12\x1c.pkg.imrpc.DiskCreateRequest\x1a\x0f.pkg.imrpc.Disk\x12\x42\n\nDiskDelete\x12\x1c.pkg.imrpc.DiskDeleteRequest\x1a\x16.google.protobuf.Empty\x12\x35\n\x07\x44iskGet\x12\x19.pkg.imrpc.DiskGetRequest\x1a\x0f.pkg.imrpc.Disk\x12p\n\x17\x44iskReplicaInstanceList\x12).pkg.imrpc.DiskReplicaInstanceListRequest\x1a*.pkg.imrpc.DiskReplicaInstanceListResponse\x12`\n\x19\x44iskReplicaInstanceDelete\x12+.pkg.imrpc.DiskReplicaInstanceDeleteRequest\x1a\x16.google.protobuf.Empty\x12\x44\n\nVersionGet\x12\x16.google.protobuf.Empty\x1a\x1e.pkg.imrpc.DiskVersionResponseB%Z#github.com/longhorn/types/pkg/imrpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pkg.imrpc.disk_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z#github.com/longhorn/types/pkg/imrpc' + _DISKREPLICAINSTANCELISTRESPONSE_REPLICAINSTANCESENTRY._options = None + _DISKREPLICAINSTANCELISTRESPONSE_REPLICAINSTANCESENTRY._serialized_options = b'8\001' + _globals['_DISKTYPE']._serialized_start=1337 + _globals['_DISKTYPE']._serialized_end=1374 + _globals['_DISK']._serialized_start=65 + _globals['_DISK']._serialized_end=249 + _globals['_REPLICAINSTANCE']._serialized_start=251 + _globals['_REPLICAINSTANCE']._serialized_end=374 + _globals['_DISKCREATEREQUEST']._serialized_start=377 + _globals['_DISKCREATEREQUEST']._serialized_end=513 + _globals['_DISKGETREQUEST']._serialized_start=515 + _globals['_DISKGETREQUEST']._serialized_end=609 + _globals['_DISKDELETEREQUEST']._serialized_start=611 + _globals['_DISKDELETEREQUEST']._serialized_end=708 + _globals['_DISKREPLICAINSTANCELISTREQUEST']._serialized_start=710 + _globals['_DISKREPLICAINSTANCELISTREQUEST']._serialized_end=801 + _globals['_DISKREPLICAINSTANCELISTRESPONSE']._serialized_start=804 + _globals['_DISKREPLICAINSTANCELISTRESPONSE']._serialized_end=1015 + _globals['_DISKREPLICAINSTANCELISTRESPONSE_REPLICAINSTANCESENTRY']._serialized_start=932 + _globals['_DISKREPLICAINSTANCELISTRESPONSE_REPLICAINSTANCESENTRY']._serialized_end=1015 + _globals['_DISKREPLICAINSTANCEDELETEREQUEST']._serialized_start=1018 + _globals['_DISKREPLICAINSTANCEDELETEREQUEST']._serialized_end=1161 + _globals['_DISKVERSIONRESPONSE']._serialized_start=1164 + _globals['_DISKVERSIONRESPONSE']._serialized_end=1335 + _globals['_DISKSERVICE']._serialized_start=1377 + _globals['_DISKSERVICE']._serialized_end=1856 +# @@protoc_insertion_point(module_scope) diff --git a/pkg/imrpc/disk_pb2_grpc.py b/pkg/imrpc/disk_pb2_grpc.py new file mode 100644 index 0000000..6c62f18 --- /dev/null +++ b/pkg/imrpc/disk_pb2_grpc.py @@ -0,0 +1,232 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from pkg.imrpc import disk_pb2 as pkg_dot_imrpc_dot_disk__pb2 + + +class DiskServiceStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.DiskCreate = channel.unary_unary( + '/pkg.imrpc.DiskService/DiskCreate', + request_serializer=pkg_dot_imrpc_dot_disk__pb2.DiskCreateRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_disk__pb2.Disk.FromString, + ) + self.DiskDelete = channel.unary_unary( + '/pkg.imrpc.DiskService/DiskDelete', + request_serializer=pkg_dot_imrpc_dot_disk__pb2.DiskDeleteRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.DiskGet = channel.unary_unary( + '/pkg.imrpc.DiskService/DiskGet', + request_serializer=pkg_dot_imrpc_dot_disk__pb2.DiskGetRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_disk__pb2.Disk.FromString, + ) + self.DiskReplicaInstanceList = channel.unary_unary( + '/pkg.imrpc.DiskService/DiskReplicaInstanceList', + request_serializer=pkg_dot_imrpc_dot_disk__pb2.DiskReplicaInstanceListRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_disk__pb2.DiskReplicaInstanceListResponse.FromString, + ) + self.DiskReplicaInstanceDelete = channel.unary_unary( + '/pkg.imrpc.DiskService/DiskReplicaInstanceDelete', + request_serializer=pkg_dot_imrpc_dot_disk__pb2.DiskReplicaInstanceDeleteRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.VersionGet = channel.unary_unary( + '/pkg.imrpc.DiskService/VersionGet', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_disk__pb2.DiskVersionResponse.FromString, + ) + + +class DiskServiceServicer(object): + """Missing associated documentation comment in .proto file.""" + + def DiskCreate(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 DiskDelete(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 DiskGet(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 DiskReplicaInstanceList(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 DiskReplicaInstanceDelete(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 VersionGet(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 add_DiskServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'DiskCreate': grpc.unary_unary_rpc_method_handler( + servicer.DiskCreate, + request_deserializer=pkg_dot_imrpc_dot_disk__pb2.DiskCreateRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_disk__pb2.Disk.SerializeToString, + ), + 'DiskDelete': grpc.unary_unary_rpc_method_handler( + servicer.DiskDelete, + request_deserializer=pkg_dot_imrpc_dot_disk__pb2.DiskDeleteRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'DiskGet': grpc.unary_unary_rpc_method_handler( + servicer.DiskGet, + request_deserializer=pkg_dot_imrpc_dot_disk__pb2.DiskGetRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_disk__pb2.Disk.SerializeToString, + ), + 'DiskReplicaInstanceList': grpc.unary_unary_rpc_method_handler( + servicer.DiskReplicaInstanceList, + request_deserializer=pkg_dot_imrpc_dot_disk__pb2.DiskReplicaInstanceListRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_disk__pb2.DiskReplicaInstanceListResponse.SerializeToString, + ), + 'DiskReplicaInstanceDelete': grpc.unary_unary_rpc_method_handler( + servicer.DiskReplicaInstanceDelete, + request_deserializer=pkg_dot_imrpc_dot_disk__pb2.DiskReplicaInstanceDeleteRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'VersionGet': grpc.unary_unary_rpc_method_handler( + servicer.VersionGet, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_imrpc_dot_disk__pb2.DiskVersionResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'pkg.imrpc.DiskService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class DiskService(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def DiskCreate(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, '/pkg.imrpc.DiskService/DiskCreate', + pkg_dot_imrpc_dot_disk__pb2.DiskCreateRequest.SerializeToString, + pkg_dot_imrpc_dot_disk__pb2.Disk.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DiskDelete(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, '/pkg.imrpc.DiskService/DiskDelete', + pkg_dot_imrpc_dot_disk__pb2.DiskDeleteRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DiskGet(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, '/pkg.imrpc.DiskService/DiskGet', + pkg_dot_imrpc_dot_disk__pb2.DiskGetRequest.SerializeToString, + pkg_dot_imrpc_dot_disk__pb2.Disk.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DiskReplicaInstanceList(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, '/pkg.imrpc.DiskService/DiskReplicaInstanceList', + pkg_dot_imrpc_dot_disk__pb2.DiskReplicaInstanceListRequest.SerializeToString, + pkg_dot_imrpc_dot_disk__pb2.DiskReplicaInstanceListResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DiskReplicaInstanceDelete(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, '/pkg.imrpc.DiskService/DiskReplicaInstanceDelete', + pkg_dot_imrpc_dot_disk__pb2.DiskReplicaInstanceDeleteRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VersionGet(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, '/pkg.imrpc.DiskService/VersionGet', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_imrpc_dot_disk__pb2.DiskVersionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/pkg/imrpc/imrpc.pb.go b/pkg/imrpc/imrpc.pb.go new file mode 100644 index 0000000..f4c3b7b --- /dev/null +++ b/pkg/imrpc/imrpc.pb.go @@ -0,0 +1,1089 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: pkg/imrpc/imrpc.proto + +package imrpc + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ProcessSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Binary string `protobuf:"bytes,2,opt,name=binary,proto3" json:"binary,omitempty"` + Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + PortCount int32 `protobuf:"varint,4,opt,name=port_count,json=portCount,proto3" json:"port_count,omitempty"` + PortArgs []string `protobuf:"bytes,5,rep,name=port_args,json=portArgs,proto3" json:"port_args,omitempty"` +} + +func (x *ProcessSpec) Reset() { + *x = ProcessSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProcessSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProcessSpec) ProtoMessage() {} + +func (x *ProcessSpec) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProcessSpec.ProtoReflect.Descriptor instead. +func (*ProcessSpec) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_imrpc_proto_rawDescGZIP(), []int{0} +} + +func (x *ProcessSpec) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ProcessSpec) GetBinary() string { + if x != nil { + return x.Binary + } + return "" +} + +func (x *ProcessSpec) GetArgs() []string { + if x != nil { + return x.Args + } + return nil +} + +func (x *ProcessSpec) GetPortCount() int32 { + if x != nil { + return x.PortCount + } + return 0 +} + +func (x *ProcessSpec) GetPortArgs() []string { + if x != nil { + return x.PortArgs + } + return nil +} + +type ProcessStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` + ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` + PortStart int32 `protobuf:"varint,3,opt,name=port_start,json=portStart,proto3" json:"port_start,omitempty"` + PortEnd int32 `protobuf:"varint,4,opt,name=port_end,json=portEnd,proto3" json:"port_end,omitempty"` + Conditions map[string]bool `protobuf:"bytes,5,rep,name=conditions,proto3" json:"conditions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (x *ProcessStatus) Reset() { + *x = ProcessStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProcessStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProcessStatus) ProtoMessage() {} + +func (x *ProcessStatus) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProcessStatus.ProtoReflect.Descriptor instead. +func (*ProcessStatus) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_imrpc_proto_rawDescGZIP(), []int{1} +} + +func (x *ProcessStatus) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *ProcessStatus) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +func (x *ProcessStatus) GetPortStart() int32 { + if x != nil { + return x.PortStart + } + return 0 +} + +func (x *ProcessStatus) GetPortEnd() int32 { + if x != nil { + return x.PortEnd + } + return 0 +} + +func (x *ProcessStatus) GetConditions() map[string]bool { + if x != nil { + return x.Conditions + } + return nil +} + +type ProcessCreateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Spec *ProcessSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` +} + +func (x *ProcessCreateRequest) Reset() { + *x = ProcessCreateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProcessCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProcessCreateRequest) ProtoMessage() {} + +func (x *ProcessCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProcessCreateRequest.ProtoReflect.Descriptor instead. +func (*ProcessCreateRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_imrpc_proto_rawDescGZIP(), []int{2} +} + +func (x *ProcessCreateRequest) GetSpec() *ProcessSpec { + if x != nil { + return x.Spec + } + return nil +} + +type ProcessDeleteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *ProcessDeleteRequest) Reset() { + *x = ProcessDeleteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProcessDeleteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProcessDeleteRequest) ProtoMessage() {} + +func (x *ProcessDeleteRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProcessDeleteRequest.ProtoReflect.Descriptor instead. +func (*ProcessDeleteRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_imrpc_proto_rawDescGZIP(), []int{3} +} + +func (x *ProcessDeleteRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type ProcessGetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *ProcessGetRequest) Reset() { + *x = ProcessGetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProcessGetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProcessGetRequest) ProtoMessage() {} + +func (x *ProcessGetRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProcessGetRequest.ProtoReflect.Descriptor instead. +func (*ProcessGetRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_imrpc_proto_rawDescGZIP(), []int{4} +} + +func (x *ProcessGetRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type ProcessResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Spec *ProcessSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` + Status *ProcessStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + Deleted bool `protobuf:"varint,3,opt,name=deleted,proto3" json:"deleted,omitempty"` +} + +func (x *ProcessResponse) Reset() { + *x = ProcessResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProcessResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProcessResponse) ProtoMessage() {} + +func (x *ProcessResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProcessResponse.ProtoReflect.Descriptor instead. +func (*ProcessResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_imrpc_proto_rawDescGZIP(), []int{5} +} + +func (x *ProcessResponse) GetSpec() *ProcessSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *ProcessResponse) GetStatus() *ProcessStatus { + if x != nil { + return x.Status + } + return nil +} + +func (x *ProcessResponse) GetDeleted() bool { + if x != nil { + return x.Deleted + } + return false +} + +type ProcessListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ProcessListRequest) Reset() { + *x = ProcessListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProcessListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProcessListRequest) ProtoMessage() {} + +func (x *ProcessListRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProcessListRequest.ProtoReflect.Descriptor instead. +func (*ProcessListRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_imrpc_proto_rawDescGZIP(), []int{6} +} + +type ProcessListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Processes map[string]*ProcessResponse `protobuf:"bytes,1,rep,name=processes,proto3" json:"processes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ProcessListResponse) Reset() { + *x = ProcessListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProcessListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProcessListResponse) ProtoMessage() {} + +func (x *ProcessListResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProcessListResponse.ProtoReflect.Descriptor instead. +func (*ProcessListResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_imrpc_proto_rawDescGZIP(), []int{7} +} + +func (x *ProcessListResponse) GetProcesses() map[string]*ProcessResponse { + if x != nil { + return x.Processes + } + return nil +} + +type LogRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *LogRequest) Reset() { + *x = LogRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LogRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LogRequest) ProtoMessage() {} + +func (x *LogRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LogRequest.ProtoReflect.Descriptor instead. +func (*LogRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_imrpc_proto_rawDescGZIP(), []int{8} +} + +func (x *LogRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type ProcessReplaceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Spec *ProcessSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` + TerminateSignal string `protobuf:"bytes,2,opt,name=terminate_signal,json=terminateSignal,proto3" json:"terminate_signal,omitempty"` +} + +func (x *ProcessReplaceRequest) Reset() { + *x = ProcessReplaceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProcessReplaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProcessReplaceRequest) ProtoMessage() {} + +func (x *ProcessReplaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProcessReplaceRequest.ProtoReflect.Descriptor instead. +func (*ProcessReplaceRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_imrpc_proto_rawDescGZIP(), []int{9} +} + +func (x *ProcessReplaceRequest) GetSpec() *ProcessSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *ProcessReplaceRequest) GetTerminateSignal() string { + if x != nil { + return x.TerminateSignal + } + return "" +} + +type LogResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Line string `protobuf:"bytes,2,opt,name=line,proto3" json:"line,omitempty"` +} + +func (x *LogResponse) Reset() { + *x = LogResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LogResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LogResponse) ProtoMessage() {} + +func (x *LogResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LogResponse.ProtoReflect.Descriptor instead. +func (*LogResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_imrpc_proto_rawDescGZIP(), []int{10} +} + +func (x *LogResponse) GetLine() string { + if x != nil { + return x.Line + } + return "" +} + +type VersionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + GitCommit string `protobuf:"bytes,2,opt,name=gitCommit,proto3" json:"gitCommit,omitempty"` + BuildDate string `protobuf:"bytes,3,opt,name=buildDate,proto3" json:"buildDate,omitempty"` + InstanceManagerAPIVersion int64 `protobuf:"varint,4,opt,name=instanceManagerAPIVersion,proto3" json:"instanceManagerAPIVersion,omitempty"` + InstanceManagerAPIMinVersion int64 `protobuf:"varint,5,opt,name=instanceManagerAPIMinVersion,proto3" json:"instanceManagerAPIMinVersion,omitempty"` + InstanceManagerProxyAPIVersion int64 `protobuf:"varint,6,opt,name=instanceManagerProxyAPIVersion,proto3" json:"instanceManagerProxyAPIVersion,omitempty"` + InstanceManagerProxyAPIMinVersion int64 `protobuf:"varint,7,opt,name=instanceManagerProxyAPIMinVersion,proto3" json:"instanceManagerProxyAPIMinVersion,omitempty"` +} + +func (x *VersionResponse) Reset() { + *x = VersionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VersionResponse) ProtoMessage() {} + +func (x *VersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_imrpc_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VersionResponse.ProtoReflect.Descriptor instead. +func (*VersionResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_imrpc_proto_rawDescGZIP(), []int{11} +} + +func (x *VersionResponse) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *VersionResponse) GetGitCommit() string { + if x != nil { + return x.GitCommit + } + return "" +} + +func (x *VersionResponse) GetBuildDate() string { + if x != nil { + return x.BuildDate + } + return "" +} + +func (x *VersionResponse) GetInstanceManagerAPIVersion() int64 { + if x != nil { + return x.InstanceManagerAPIVersion + } + return 0 +} + +func (x *VersionResponse) GetInstanceManagerAPIMinVersion() int64 { + if x != nil { + return x.InstanceManagerAPIMinVersion + } + return 0 +} + +func (x *VersionResponse) GetInstanceManagerProxyAPIVersion() int64 { + if x != nil { + return x.InstanceManagerProxyAPIVersion + } + return 0 +} + +func (x *VersionResponse) GetInstanceManagerProxyAPIMinVersion() int64 { + if x != nil { + return x.InstanceManagerProxyAPIMinVersion + } + return 0 +} + +var File_pkg_imrpc_imrpc_proto protoreflect.FileDescriptor + +var file_pkg_imrpc_imrpc_proto_rawDesc = []byte{ + 0x0a, 0x15, 0x70, 0x6b, 0x67, 0x2f, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2f, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x89, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, + 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, + 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x72, 0x67, 0x73, 0x22, 0x85, 0x02, 0x0a, 0x0d, + 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, + 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x64, 0x12, 0x48, 0x0a, 0x0a, 0x63, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x42, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, + 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x2a, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x27, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x89, 0x01, 0x0a, + 0x0f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2a, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x30, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xbc, + 0x01, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x1a, 0x58, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x20, 0x0a, + 0x0a, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x6e, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, + 0x73, 0x70, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, + 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x22, + 0x21, 0x0a, 0x0b, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, + 0x6e, 0x65, 0x22, 0xff, 0x02, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x19, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, + 0x50, 0x49, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x19, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x41, 0x50, 0x49, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x1c, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x50, 0x49, + 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x1c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x41, 0x50, 0x49, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, + 0x0a, 0x1e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x50, 0x49, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x50, 0x49, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x21, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x50, + 0x49, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x21, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x50, 0x49, 0x4d, 0x69, 0x6e, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xee, 0x04, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4e, + 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, + 0x1f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1a, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, + 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, + 0x1f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1a, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, + 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x47, 0x65, 0x74, 0x12, 0x1c, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, + 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x15, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x0c, 0x50, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 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, 0x1a, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, + 0x01, 0x12, 0x50, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x12, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, + 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x1a, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x25, 0x5a, 0x23, 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, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_imrpc_imrpc_proto_rawDescOnce sync.Once + file_pkg_imrpc_imrpc_proto_rawDescData = file_pkg_imrpc_imrpc_proto_rawDesc +) + +func file_pkg_imrpc_imrpc_proto_rawDescGZIP() []byte { + file_pkg_imrpc_imrpc_proto_rawDescOnce.Do(func() { + file_pkg_imrpc_imrpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_imrpc_imrpc_proto_rawDescData) + }) + return file_pkg_imrpc_imrpc_proto_rawDescData +} + +var file_pkg_imrpc_imrpc_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_pkg_imrpc_imrpc_proto_goTypes = []interface{}{ + (*ProcessSpec)(nil), // 0: pkg.imrpc.ProcessSpec + (*ProcessStatus)(nil), // 1: pkg.imrpc.ProcessStatus + (*ProcessCreateRequest)(nil), // 2: pkg.imrpc.ProcessCreateRequest + (*ProcessDeleteRequest)(nil), // 3: pkg.imrpc.ProcessDeleteRequest + (*ProcessGetRequest)(nil), // 4: pkg.imrpc.ProcessGetRequest + (*ProcessResponse)(nil), // 5: pkg.imrpc.ProcessResponse + (*ProcessListRequest)(nil), // 6: pkg.imrpc.ProcessListRequest + (*ProcessListResponse)(nil), // 7: pkg.imrpc.ProcessListResponse + (*LogRequest)(nil), // 8: pkg.imrpc.LogRequest + (*ProcessReplaceRequest)(nil), // 9: pkg.imrpc.ProcessReplaceRequest + (*LogResponse)(nil), // 10: pkg.imrpc.LogResponse + (*VersionResponse)(nil), // 11: pkg.imrpc.VersionResponse + nil, // 12: pkg.imrpc.ProcessStatus.ConditionsEntry + nil, // 13: pkg.imrpc.ProcessListResponse.ProcessesEntry + (*emptypb.Empty)(nil), // 14: google.protobuf.Empty +} +var file_pkg_imrpc_imrpc_proto_depIdxs = []int32{ + 12, // 0: pkg.imrpc.ProcessStatus.conditions:type_name -> pkg.imrpc.ProcessStatus.ConditionsEntry + 0, // 1: pkg.imrpc.ProcessCreateRequest.spec:type_name -> pkg.imrpc.ProcessSpec + 0, // 2: pkg.imrpc.ProcessResponse.spec:type_name -> pkg.imrpc.ProcessSpec + 1, // 3: pkg.imrpc.ProcessResponse.status:type_name -> pkg.imrpc.ProcessStatus + 13, // 4: pkg.imrpc.ProcessListResponse.processes:type_name -> pkg.imrpc.ProcessListResponse.ProcessesEntry + 0, // 5: pkg.imrpc.ProcessReplaceRequest.spec:type_name -> pkg.imrpc.ProcessSpec + 5, // 6: pkg.imrpc.ProcessListResponse.ProcessesEntry.value:type_name -> pkg.imrpc.ProcessResponse + 2, // 7: pkg.imrpc.ProcessManagerService.ProcessCreate:input_type -> pkg.imrpc.ProcessCreateRequest + 3, // 8: pkg.imrpc.ProcessManagerService.ProcessDelete:input_type -> pkg.imrpc.ProcessDeleteRequest + 4, // 9: pkg.imrpc.ProcessManagerService.ProcessGet:input_type -> pkg.imrpc.ProcessGetRequest + 6, // 10: pkg.imrpc.ProcessManagerService.ProcessList:input_type -> pkg.imrpc.ProcessListRequest + 8, // 11: pkg.imrpc.ProcessManagerService.ProcessLog:input_type -> pkg.imrpc.LogRequest + 14, // 12: pkg.imrpc.ProcessManagerService.ProcessWatch:input_type -> google.protobuf.Empty + 9, // 13: pkg.imrpc.ProcessManagerService.ProcessReplace:input_type -> pkg.imrpc.ProcessReplaceRequest + 14, // 14: pkg.imrpc.ProcessManagerService.VersionGet:input_type -> google.protobuf.Empty + 5, // 15: pkg.imrpc.ProcessManagerService.ProcessCreate:output_type -> pkg.imrpc.ProcessResponse + 5, // 16: pkg.imrpc.ProcessManagerService.ProcessDelete:output_type -> pkg.imrpc.ProcessResponse + 5, // 17: pkg.imrpc.ProcessManagerService.ProcessGet:output_type -> pkg.imrpc.ProcessResponse + 7, // 18: pkg.imrpc.ProcessManagerService.ProcessList:output_type -> pkg.imrpc.ProcessListResponse + 10, // 19: pkg.imrpc.ProcessManagerService.ProcessLog:output_type -> pkg.imrpc.LogResponse + 5, // 20: pkg.imrpc.ProcessManagerService.ProcessWatch:output_type -> pkg.imrpc.ProcessResponse + 5, // 21: pkg.imrpc.ProcessManagerService.ProcessReplace:output_type -> pkg.imrpc.ProcessResponse + 11, // 22: pkg.imrpc.ProcessManagerService.VersionGet:output_type -> pkg.imrpc.VersionResponse + 15, // [15:23] is the sub-list for method output_type + 7, // [7:15] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_pkg_imrpc_imrpc_proto_init() } +func file_pkg_imrpc_imrpc_proto_init() { + if File_pkg_imrpc_imrpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pkg_imrpc_imrpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProcessSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_imrpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProcessStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_imrpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProcessCreateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_imrpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProcessDeleteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_imrpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProcessGetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_imrpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProcessResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_imrpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProcessListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_imrpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProcessListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_imrpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LogRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_imrpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProcessReplaceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_imrpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LogResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_imrpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VersionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_imrpc_imrpc_proto_rawDesc, + NumEnums: 0, + NumMessages: 14, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_pkg_imrpc_imrpc_proto_goTypes, + DependencyIndexes: file_pkg_imrpc_imrpc_proto_depIdxs, + MessageInfos: file_pkg_imrpc_imrpc_proto_msgTypes, + }.Build() + File_pkg_imrpc_imrpc_proto = out.File + file_pkg_imrpc_imrpc_proto_rawDesc = nil + file_pkg_imrpc_imrpc_proto_goTypes = nil + file_pkg_imrpc_imrpc_proto_depIdxs = nil +} diff --git a/pkg/imrpc/imrpc.proto b/pkg/imrpc/imrpc.proto new file mode 100644 index 0000000..0f35330 --- /dev/null +++ b/pkg/imrpc/imrpc.proto @@ -0,0 +1,85 @@ +syntax="proto3"; + +package pkg.imrpc; + +option go_package = "github.com/longhorn/types/pkg/imrpc"; + +import "google/protobuf/empty.proto"; + +service ProcessManagerService { + rpc ProcessCreate(ProcessCreateRequest) returns (ProcessResponse) {} + rpc ProcessDelete(ProcessDeleteRequest) returns (ProcessResponse) {} + rpc ProcessGet(ProcessGetRequest) returns (ProcessResponse) {} + rpc ProcessList(ProcessListRequest) returns (ProcessListResponse) {} + rpc ProcessLog(LogRequest) returns (stream LogResponse) {} + rpc ProcessWatch(google.protobuf.Empty) returns (stream ProcessResponse) {} + rpc ProcessReplace(ProcessReplaceRequest) returns (ProcessResponse) {} + + rpc VersionGet(google.protobuf.Empty) returns(VersionResponse); +} + +message ProcessSpec { + string name = 1; + string binary = 2; + repeated string args = 3; + int32 port_count = 4; + repeated string port_args = 5; +} + +message ProcessStatus { + string state = 1; + string error_msg = 2; + int32 port_start = 3; + int32 port_end = 4; + map conditions = 5; +} + +message ProcessCreateRequest { + ProcessSpec spec = 1; +} + +message ProcessDeleteRequest { + string name = 1; +} + +message ProcessGetRequest { + string name = 1; +} + +message ProcessResponse { + ProcessSpec spec = 1; + ProcessStatus status = 2; + bool deleted = 3; +} + +message ProcessListRequest{ +} + +message ProcessListResponse{ + map processes = 1; +} + +message LogRequest { + string name = 1; +} + +message ProcessReplaceRequest { + ProcessSpec spec = 1; + string terminate_signal = 2; +} + +message LogResponse { + string line = 2; +} + +message VersionResponse { + string version = 1; + string gitCommit = 2; + string buildDate = 3; + + int64 instanceManagerAPIVersion = 4; + int64 instanceManagerAPIMinVersion = 5; + + int64 instanceManagerProxyAPIVersion = 6; + int64 instanceManagerProxyAPIMinVersion = 7; +} diff --git a/pkg/imrpc/imrpc_grpc.pb.go b/pkg/imrpc/imrpc_grpc.pb.go new file mode 100644 index 0000000..fbf66ec --- /dev/null +++ b/pkg/imrpc/imrpc_grpc.pb.go @@ -0,0 +1,424 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.24.3 +// source: pkg/imrpc/imrpc.proto + +package imrpc + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + ProcessManagerService_ProcessCreate_FullMethodName = "/pkg.imrpc.ProcessManagerService/ProcessCreate" + ProcessManagerService_ProcessDelete_FullMethodName = "/pkg.imrpc.ProcessManagerService/ProcessDelete" + ProcessManagerService_ProcessGet_FullMethodName = "/pkg.imrpc.ProcessManagerService/ProcessGet" + ProcessManagerService_ProcessList_FullMethodName = "/pkg.imrpc.ProcessManagerService/ProcessList" + ProcessManagerService_ProcessLog_FullMethodName = "/pkg.imrpc.ProcessManagerService/ProcessLog" + ProcessManagerService_ProcessWatch_FullMethodName = "/pkg.imrpc.ProcessManagerService/ProcessWatch" + ProcessManagerService_ProcessReplace_FullMethodName = "/pkg.imrpc.ProcessManagerService/ProcessReplace" + ProcessManagerService_VersionGet_FullMethodName = "/pkg.imrpc.ProcessManagerService/VersionGet" +) + +// ProcessManagerServiceClient is the client API for ProcessManagerService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ProcessManagerServiceClient interface { + ProcessCreate(ctx context.Context, in *ProcessCreateRequest, opts ...grpc.CallOption) (*ProcessResponse, error) + ProcessDelete(ctx context.Context, in *ProcessDeleteRequest, opts ...grpc.CallOption) (*ProcessResponse, error) + ProcessGet(ctx context.Context, in *ProcessGetRequest, opts ...grpc.CallOption) (*ProcessResponse, error) + ProcessList(ctx context.Context, in *ProcessListRequest, opts ...grpc.CallOption) (*ProcessListResponse, error) + ProcessLog(ctx context.Context, in *LogRequest, opts ...grpc.CallOption) (ProcessManagerService_ProcessLogClient, error) + ProcessWatch(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (ProcessManagerService_ProcessWatchClient, error) + ProcessReplace(ctx context.Context, in *ProcessReplaceRequest, opts ...grpc.CallOption) (*ProcessResponse, error) + VersionGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*VersionResponse, error) +} + +type processManagerServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewProcessManagerServiceClient(cc grpc.ClientConnInterface) ProcessManagerServiceClient { + return &processManagerServiceClient{cc} +} + +func (c *processManagerServiceClient) ProcessCreate(ctx context.Context, in *ProcessCreateRequest, opts ...grpc.CallOption) (*ProcessResponse, error) { + out := new(ProcessResponse) + err := c.cc.Invoke(ctx, ProcessManagerService_ProcessCreate_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *processManagerServiceClient) ProcessDelete(ctx context.Context, in *ProcessDeleteRequest, opts ...grpc.CallOption) (*ProcessResponse, error) { + out := new(ProcessResponse) + err := c.cc.Invoke(ctx, ProcessManagerService_ProcessDelete_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *processManagerServiceClient) ProcessGet(ctx context.Context, in *ProcessGetRequest, opts ...grpc.CallOption) (*ProcessResponse, error) { + out := new(ProcessResponse) + err := c.cc.Invoke(ctx, ProcessManagerService_ProcessGet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *processManagerServiceClient) ProcessList(ctx context.Context, in *ProcessListRequest, opts ...grpc.CallOption) (*ProcessListResponse, error) { + out := new(ProcessListResponse) + err := c.cc.Invoke(ctx, ProcessManagerService_ProcessList_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *processManagerServiceClient) ProcessLog(ctx context.Context, in *LogRequest, opts ...grpc.CallOption) (ProcessManagerService_ProcessLogClient, error) { + stream, err := c.cc.NewStream(ctx, &ProcessManagerService_ServiceDesc.Streams[0], ProcessManagerService_ProcessLog_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &processManagerServiceProcessLogClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type ProcessManagerService_ProcessLogClient interface { + Recv() (*LogResponse, error) + grpc.ClientStream +} + +type processManagerServiceProcessLogClient struct { + grpc.ClientStream +} + +func (x *processManagerServiceProcessLogClient) Recv() (*LogResponse, error) { + m := new(LogResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *processManagerServiceClient) ProcessWatch(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (ProcessManagerService_ProcessWatchClient, error) { + stream, err := c.cc.NewStream(ctx, &ProcessManagerService_ServiceDesc.Streams[1], ProcessManagerService_ProcessWatch_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &processManagerServiceProcessWatchClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type ProcessManagerService_ProcessWatchClient interface { + Recv() (*ProcessResponse, error) + grpc.ClientStream +} + +type processManagerServiceProcessWatchClient struct { + grpc.ClientStream +} + +func (x *processManagerServiceProcessWatchClient) Recv() (*ProcessResponse, error) { + m := new(ProcessResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *processManagerServiceClient) ProcessReplace(ctx context.Context, in *ProcessReplaceRequest, opts ...grpc.CallOption) (*ProcessResponse, error) { + out := new(ProcessResponse) + err := c.cc.Invoke(ctx, ProcessManagerService_ProcessReplace_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *processManagerServiceClient) VersionGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*VersionResponse, error) { + out := new(VersionResponse) + err := c.cc.Invoke(ctx, ProcessManagerService_VersionGet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ProcessManagerServiceServer is the server API for ProcessManagerService service. +// All implementations must embed UnimplementedProcessManagerServiceServer +// for forward compatibility +type ProcessManagerServiceServer interface { + ProcessCreate(context.Context, *ProcessCreateRequest) (*ProcessResponse, error) + ProcessDelete(context.Context, *ProcessDeleteRequest) (*ProcessResponse, error) + ProcessGet(context.Context, *ProcessGetRequest) (*ProcessResponse, error) + ProcessList(context.Context, *ProcessListRequest) (*ProcessListResponse, error) + ProcessLog(*LogRequest, ProcessManagerService_ProcessLogServer) error + ProcessWatch(*emptypb.Empty, ProcessManagerService_ProcessWatchServer) error + ProcessReplace(context.Context, *ProcessReplaceRequest) (*ProcessResponse, error) + VersionGet(context.Context, *emptypb.Empty) (*VersionResponse, error) + mustEmbedUnimplementedProcessManagerServiceServer() +} + +// UnimplementedProcessManagerServiceServer must be embedded to have forward compatible implementations. +type UnimplementedProcessManagerServiceServer struct { +} + +func (UnimplementedProcessManagerServiceServer) ProcessCreate(context.Context, *ProcessCreateRequest) (*ProcessResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProcessCreate not implemented") +} +func (UnimplementedProcessManagerServiceServer) ProcessDelete(context.Context, *ProcessDeleteRequest) (*ProcessResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProcessDelete not implemented") +} +func (UnimplementedProcessManagerServiceServer) ProcessGet(context.Context, *ProcessGetRequest) (*ProcessResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProcessGet not implemented") +} +func (UnimplementedProcessManagerServiceServer) ProcessList(context.Context, *ProcessListRequest) (*ProcessListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProcessList not implemented") +} +func (UnimplementedProcessManagerServiceServer) ProcessLog(*LogRequest, ProcessManagerService_ProcessLogServer) error { + return status.Errorf(codes.Unimplemented, "method ProcessLog not implemented") +} +func (UnimplementedProcessManagerServiceServer) ProcessWatch(*emptypb.Empty, ProcessManagerService_ProcessWatchServer) error { + return status.Errorf(codes.Unimplemented, "method ProcessWatch not implemented") +} +func (UnimplementedProcessManagerServiceServer) ProcessReplace(context.Context, *ProcessReplaceRequest) (*ProcessResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProcessReplace not implemented") +} +func (UnimplementedProcessManagerServiceServer) VersionGet(context.Context, *emptypb.Empty) (*VersionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method VersionGet not implemented") +} +func (UnimplementedProcessManagerServiceServer) mustEmbedUnimplementedProcessManagerServiceServer() {} + +// UnsafeProcessManagerServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ProcessManagerServiceServer will +// result in compilation errors. +type UnsafeProcessManagerServiceServer interface { + mustEmbedUnimplementedProcessManagerServiceServer() +} + +func RegisterProcessManagerServiceServer(s grpc.ServiceRegistrar, srv ProcessManagerServiceServer) { + s.RegisterService(&ProcessManagerService_ServiceDesc, srv) +} + +func _ProcessManagerService_ProcessCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProcessCreateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProcessManagerServiceServer).ProcessCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProcessManagerService_ProcessCreate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProcessManagerServiceServer).ProcessCreate(ctx, req.(*ProcessCreateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProcessManagerService_ProcessDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProcessDeleteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProcessManagerServiceServer).ProcessDelete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProcessManagerService_ProcessDelete_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProcessManagerServiceServer).ProcessDelete(ctx, req.(*ProcessDeleteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProcessManagerService_ProcessGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProcessGetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProcessManagerServiceServer).ProcessGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProcessManagerService_ProcessGet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProcessManagerServiceServer).ProcessGet(ctx, req.(*ProcessGetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProcessManagerService_ProcessList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProcessListRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProcessManagerServiceServer).ProcessList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProcessManagerService_ProcessList_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProcessManagerServiceServer).ProcessList(ctx, req.(*ProcessListRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProcessManagerService_ProcessLog_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(LogRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(ProcessManagerServiceServer).ProcessLog(m, &processManagerServiceProcessLogServer{stream}) +} + +type ProcessManagerService_ProcessLogServer interface { + Send(*LogResponse) error + grpc.ServerStream +} + +type processManagerServiceProcessLogServer struct { + grpc.ServerStream +} + +func (x *processManagerServiceProcessLogServer) Send(m *LogResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _ProcessManagerService_ProcessWatch_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(emptypb.Empty) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(ProcessManagerServiceServer).ProcessWatch(m, &processManagerServiceProcessWatchServer{stream}) +} + +type ProcessManagerService_ProcessWatchServer interface { + Send(*ProcessResponse) error + grpc.ServerStream +} + +type processManagerServiceProcessWatchServer struct { + grpc.ServerStream +} + +func (x *processManagerServiceProcessWatchServer) Send(m *ProcessResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _ProcessManagerService_ProcessReplace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProcessReplaceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProcessManagerServiceServer).ProcessReplace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProcessManagerService_ProcessReplace_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProcessManagerServiceServer).ProcessReplace(ctx, req.(*ProcessReplaceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProcessManagerService_VersionGet_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 { + return nil, err + } + if interceptor == nil { + return srv.(ProcessManagerServiceServer).VersionGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProcessManagerService_VersionGet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProcessManagerServiceServer).VersionGet(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +// ProcessManagerService_ServiceDesc is the grpc.ServiceDesc for ProcessManagerService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ProcessManagerService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "pkg.imrpc.ProcessManagerService", + HandlerType: (*ProcessManagerServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ProcessCreate", + Handler: _ProcessManagerService_ProcessCreate_Handler, + }, + { + MethodName: "ProcessDelete", + Handler: _ProcessManagerService_ProcessDelete_Handler, + }, + { + MethodName: "ProcessGet", + Handler: _ProcessManagerService_ProcessGet_Handler, + }, + { + MethodName: "ProcessList", + Handler: _ProcessManagerService_ProcessList_Handler, + }, + { + MethodName: "ProcessReplace", + Handler: _ProcessManagerService_ProcessReplace_Handler, + }, + { + MethodName: "VersionGet", + Handler: _ProcessManagerService_VersionGet_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "ProcessLog", + Handler: _ProcessManagerService_ProcessLog_Handler, + ServerStreams: true, + }, + { + StreamName: "ProcessWatch", + Handler: _ProcessManagerService_ProcessWatch_Handler, + ServerStreams: true, + }, + }, + Metadata: "pkg/imrpc/imrpc.proto", +} diff --git a/pkg/imrpc/imrpc_pb2.py b/pkg/imrpc/imrpc_pb2.py new file mode 100644 index 0000000..254d69d --- /dev/null +++ b/pkg/imrpc/imrpc_pb2.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: pkg/imrpc/imrpc.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15pkg/imrpc/imrpc.proto\x12\tpkg.imrpc\x1a\x1bgoogle/protobuf/empty.proto\"`\n\x0bProcessSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x62inary\x18\x02 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x03 \x03(\t\x12\x12\n\nport_count\x18\x04 \x01(\x05\x12\x11\n\tport_args\x18\x05 \x03(\t\"\xc8\x01\n\rProcessStatus\x12\r\n\x05state\x18\x01 \x01(\t\x12\x11\n\terror_msg\x18\x02 \x01(\t\x12\x12\n\nport_start\x18\x03 \x01(\x05\x12\x10\n\x08port_end\x18\x04 \x01(\x05\x12<\n\nconditions\x18\x05 \x03(\x0b\x32(.pkg.imrpc.ProcessStatus.ConditionsEntry\x1a\x31\n\x0f\x43onditionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\"<\n\x14ProcessCreateRequest\x12$\n\x04spec\x18\x01 \x01(\x0b\x32\x16.pkg.imrpc.ProcessSpec\"$\n\x14ProcessDeleteRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"!\n\x11ProcessGetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"r\n\x0fProcessResponse\x12$\n\x04spec\x18\x01 \x01(\x0b\x32\x16.pkg.imrpc.ProcessSpec\x12(\n\x06status\x18\x02 \x01(\x0b\x32\x18.pkg.imrpc.ProcessStatus\x12\x0f\n\x07\x64\x65leted\x18\x03 \x01(\x08\"\x14\n\x12ProcessListRequest\"\xa5\x01\n\x13ProcessListResponse\x12@\n\tprocesses\x18\x01 \x03(\x0b\x32-.pkg.imrpc.ProcessListResponse.ProcessesEntry\x1aL\n\x0eProcessesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.pkg.imrpc.ProcessResponse:\x02\x38\x01\"\x1a\n\nLogRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x15ProcessReplaceRequest\x12$\n\x04spec\x18\x01 \x01(\x0b\x32\x16.pkg.imrpc.ProcessSpec\x12\x18\n\x10terminate_signal\x18\x02 \x01(\t\"\x1b\n\x0bLogResponse\x12\x0c\n\x04line\x18\x02 \x01(\t\"\xe4\x01\n\x0fVersionResponse\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!\n\x19instanceManagerAPIVersion\x18\x04 \x01(\x03\x12$\n\x1cinstanceManagerAPIMinVersion\x18\x05 \x01(\x03\x12&\n\x1einstanceManagerProxyAPIVersion\x18\x06 \x01(\x03\x12)\n!instanceManagerProxyAPIMinVersion\x18\x07 \x01(\x03\x32\xee\x04\n\x15ProcessManagerService\x12N\n\rProcessCreate\x12\x1f.pkg.imrpc.ProcessCreateRequest\x1a\x1a.pkg.imrpc.ProcessResponse\"\x00\x12N\n\rProcessDelete\x12\x1f.pkg.imrpc.ProcessDeleteRequest\x1a\x1a.pkg.imrpc.ProcessResponse\"\x00\x12H\n\nProcessGet\x12\x1c.pkg.imrpc.ProcessGetRequest\x1a\x1a.pkg.imrpc.ProcessResponse\"\x00\x12N\n\x0bProcessList\x12\x1d.pkg.imrpc.ProcessListRequest\x1a\x1e.pkg.imrpc.ProcessListResponse\"\x00\x12?\n\nProcessLog\x12\x15.pkg.imrpc.LogRequest\x1a\x16.pkg.imrpc.LogResponse\"\x00\x30\x01\x12\x46\n\x0cProcessWatch\x12\x16.google.protobuf.Empty\x1a\x1a.pkg.imrpc.ProcessResponse\"\x00\x30\x01\x12P\n\x0eProcessReplace\x12 .pkg.imrpc.ProcessReplaceRequest\x1a\x1a.pkg.imrpc.ProcessResponse\"\x00\x12@\n\nVersionGet\x12\x16.google.protobuf.Empty\x1a\x1a.pkg.imrpc.VersionResponseB%Z#github.com/longhorn/types/pkg/imrpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pkg.imrpc.imrpc_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z#github.com/longhorn/types/pkg/imrpc' + _PROCESSSTATUS_CONDITIONSENTRY._options = None + _PROCESSSTATUS_CONDITIONSENTRY._serialized_options = b'8\001' + _PROCESSLISTRESPONSE_PROCESSESENTRY._options = None + _PROCESSLISTRESPONSE_PROCESSESENTRY._serialized_options = b'8\001' + _globals['_PROCESSSPEC']._serialized_start=65 + _globals['_PROCESSSPEC']._serialized_end=161 + _globals['_PROCESSSTATUS']._serialized_start=164 + _globals['_PROCESSSTATUS']._serialized_end=364 + _globals['_PROCESSSTATUS_CONDITIONSENTRY']._serialized_start=315 + _globals['_PROCESSSTATUS_CONDITIONSENTRY']._serialized_end=364 + _globals['_PROCESSCREATEREQUEST']._serialized_start=366 + _globals['_PROCESSCREATEREQUEST']._serialized_end=426 + _globals['_PROCESSDELETEREQUEST']._serialized_start=428 + _globals['_PROCESSDELETEREQUEST']._serialized_end=464 + _globals['_PROCESSGETREQUEST']._serialized_start=466 + _globals['_PROCESSGETREQUEST']._serialized_end=499 + _globals['_PROCESSRESPONSE']._serialized_start=501 + _globals['_PROCESSRESPONSE']._serialized_end=615 + _globals['_PROCESSLISTREQUEST']._serialized_start=617 + _globals['_PROCESSLISTREQUEST']._serialized_end=637 + _globals['_PROCESSLISTRESPONSE']._serialized_start=640 + _globals['_PROCESSLISTRESPONSE']._serialized_end=805 + _globals['_PROCESSLISTRESPONSE_PROCESSESENTRY']._serialized_start=729 + _globals['_PROCESSLISTRESPONSE_PROCESSESENTRY']._serialized_end=805 + _globals['_LOGREQUEST']._serialized_start=807 + _globals['_LOGREQUEST']._serialized_end=833 + _globals['_PROCESSREPLACEREQUEST']._serialized_start=835 + _globals['_PROCESSREPLACEREQUEST']._serialized_end=922 + _globals['_LOGRESPONSE']._serialized_start=924 + _globals['_LOGRESPONSE']._serialized_end=951 + _globals['_VERSIONRESPONSE']._serialized_start=954 + _globals['_VERSIONRESPONSE']._serialized_end=1182 + _globals['_PROCESSMANAGERSERVICE']._serialized_start=1185 + _globals['_PROCESSMANAGERSERVICE']._serialized_end=1807 +# @@protoc_insertion_point(module_scope) diff --git a/pkg/imrpc/imrpc_pb2_grpc.py b/pkg/imrpc/imrpc_pb2_grpc.py new file mode 100644 index 0000000..32bca3b --- /dev/null +++ b/pkg/imrpc/imrpc_pb2_grpc.py @@ -0,0 +1,298 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from pkg.imrpc import imrpc_pb2 as pkg_dot_imrpc_dot_imrpc__pb2 + + +class ProcessManagerServiceStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.ProcessCreate = channel.unary_unary( + '/pkg.imrpc.ProcessManagerService/ProcessCreate', + request_serializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessCreateRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessResponse.FromString, + ) + self.ProcessDelete = channel.unary_unary( + '/pkg.imrpc.ProcessManagerService/ProcessDelete', + request_serializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessDeleteRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessResponse.FromString, + ) + self.ProcessGet = channel.unary_unary( + '/pkg.imrpc.ProcessManagerService/ProcessGet', + request_serializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessGetRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessResponse.FromString, + ) + self.ProcessList = channel.unary_unary( + '/pkg.imrpc.ProcessManagerService/ProcessList', + request_serializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessListRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessListResponse.FromString, + ) + self.ProcessLog = channel.unary_stream( + '/pkg.imrpc.ProcessManagerService/ProcessLog', + request_serializer=pkg_dot_imrpc_dot_imrpc__pb2.LogRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_imrpc__pb2.LogResponse.FromString, + ) + self.ProcessWatch = channel.unary_stream( + '/pkg.imrpc.ProcessManagerService/ProcessWatch', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessResponse.FromString, + ) + self.ProcessReplace = channel.unary_unary( + '/pkg.imrpc.ProcessManagerService/ProcessReplace', + request_serializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessReplaceRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessResponse.FromString, + ) + self.VersionGet = channel.unary_unary( + '/pkg.imrpc.ProcessManagerService/VersionGet', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_imrpc__pb2.VersionResponse.FromString, + ) + + +class ProcessManagerServiceServicer(object): + """Missing associated documentation comment in .proto file.""" + + def ProcessCreate(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 ProcessDelete(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 ProcessGet(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 ProcessList(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 ProcessLog(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 ProcessWatch(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 ProcessReplace(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 VersionGet(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 add_ProcessManagerServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'ProcessCreate': grpc.unary_unary_rpc_method_handler( + servicer.ProcessCreate, + request_deserializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessCreateRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessResponse.SerializeToString, + ), + 'ProcessDelete': grpc.unary_unary_rpc_method_handler( + servicer.ProcessDelete, + request_deserializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessDeleteRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessResponse.SerializeToString, + ), + 'ProcessGet': grpc.unary_unary_rpc_method_handler( + servicer.ProcessGet, + request_deserializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessGetRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessResponse.SerializeToString, + ), + 'ProcessList': grpc.unary_unary_rpc_method_handler( + servicer.ProcessList, + request_deserializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessListRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessListResponse.SerializeToString, + ), + 'ProcessLog': grpc.unary_stream_rpc_method_handler( + servicer.ProcessLog, + request_deserializer=pkg_dot_imrpc_dot_imrpc__pb2.LogRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_imrpc__pb2.LogResponse.SerializeToString, + ), + 'ProcessWatch': grpc.unary_stream_rpc_method_handler( + servicer.ProcessWatch, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessResponse.SerializeToString, + ), + 'ProcessReplace': grpc.unary_unary_rpc_method_handler( + servicer.ProcessReplace, + request_deserializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessReplaceRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_imrpc__pb2.ProcessResponse.SerializeToString, + ), + 'VersionGet': grpc.unary_unary_rpc_method_handler( + servicer.VersionGet, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_imrpc_dot_imrpc__pb2.VersionResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'pkg.imrpc.ProcessManagerService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class ProcessManagerService(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def ProcessCreate(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, '/pkg.imrpc.ProcessManagerService/ProcessCreate', + pkg_dot_imrpc_dot_imrpc__pb2.ProcessCreateRequest.SerializeToString, + pkg_dot_imrpc_dot_imrpc__pb2.ProcessResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ProcessDelete(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, '/pkg.imrpc.ProcessManagerService/ProcessDelete', + pkg_dot_imrpc_dot_imrpc__pb2.ProcessDeleteRequest.SerializeToString, + pkg_dot_imrpc_dot_imrpc__pb2.ProcessResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ProcessGet(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, '/pkg.imrpc.ProcessManagerService/ProcessGet', + pkg_dot_imrpc_dot_imrpc__pb2.ProcessGetRequest.SerializeToString, + pkg_dot_imrpc_dot_imrpc__pb2.ProcessResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ProcessList(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, '/pkg.imrpc.ProcessManagerService/ProcessList', + pkg_dot_imrpc_dot_imrpc__pb2.ProcessListRequest.SerializeToString, + pkg_dot_imrpc_dot_imrpc__pb2.ProcessListResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ProcessLog(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_stream(request, target, '/pkg.imrpc.ProcessManagerService/ProcessLog', + pkg_dot_imrpc_dot_imrpc__pb2.LogRequest.SerializeToString, + pkg_dot_imrpc_dot_imrpc__pb2.LogResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ProcessWatch(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_stream(request, target, '/pkg.imrpc.ProcessManagerService/ProcessWatch', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_imrpc_dot_imrpc__pb2.ProcessResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ProcessReplace(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, '/pkg.imrpc.ProcessManagerService/ProcessReplace', + pkg_dot_imrpc_dot_imrpc__pb2.ProcessReplaceRequest.SerializeToString, + pkg_dot_imrpc_dot_imrpc__pb2.ProcessResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VersionGet(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, '/pkg.imrpc.ProcessManagerService/VersionGet', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_imrpc_dot_imrpc__pb2.VersionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/pkg/imrpc/instance.pb.go b/pkg/imrpc/instance.pb.go new file mode 100644 index 0000000..64260d9 --- /dev/null +++ b/pkg/imrpc/instance.pb.go @@ -0,0 +1,1249 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: pkg/imrpc/instance.proto + +package imrpc + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ProcessInstanceSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Binary string `protobuf:"bytes,1,opt,name=binary,proto3" json:"binary,omitempty"` + Args []string `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` +} + +func (x *ProcessInstanceSpec) Reset() { + *x = ProcessInstanceSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_instance_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProcessInstanceSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProcessInstanceSpec) ProtoMessage() {} + +func (x *ProcessInstanceSpec) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_instance_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProcessInstanceSpec.ProtoReflect.Descriptor instead. +func (*ProcessInstanceSpec) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_instance_proto_rawDescGZIP(), []int{0} +} + +func (x *ProcessInstanceSpec) GetBinary() string { + if x != nil { + return x.Binary + } + return "" +} + +func (x *ProcessInstanceSpec) GetArgs() []string { + if x != nil { + return x.Args + } + return nil +} + +type SpdkInstanceSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReplicaAddressMap map[string]string `protobuf:"bytes,1,rep,name=replica_address_map,json=replicaAddressMap,proto3" json:"replica_address_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + DiskName string `protobuf:"bytes,2,opt,name=disk_name,json=diskName,proto3" json:"disk_name,omitempty"` + DiskUuid string `protobuf:"bytes,3,opt,name=disk_uuid,json=diskUuid,proto3" json:"disk_uuid,omitempty"` + Size uint64 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"` + ExposeRequired bool `protobuf:"varint,5,opt,name=expose_required,json=exposeRequired,proto3" json:"expose_required,omitempty"` + Frontend string `protobuf:"bytes,6,opt,name=frontend,proto3" json:"frontend,omitempty"` +} + +func (x *SpdkInstanceSpec) Reset() { + *x = SpdkInstanceSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_instance_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpdkInstanceSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpdkInstanceSpec) ProtoMessage() {} + +func (x *SpdkInstanceSpec) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_instance_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpdkInstanceSpec.ProtoReflect.Descriptor instead. +func (*SpdkInstanceSpec) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_instance_proto_rawDescGZIP(), []int{1} +} + +func (x *SpdkInstanceSpec) GetReplicaAddressMap() map[string]string { + if x != nil { + return x.ReplicaAddressMap + } + return nil +} + +func (x *SpdkInstanceSpec) GetDiskName() string { + if x != nil { + return x.DiskName + } + return "" +} + +func (x *SpdkInstanceSpec) GetDiskUuid() string { + if x != nil { + return x.DiskUuid + } + return "" +} + +func (x *SpdkInstanceSpec) GetSize() uint64 { + if x != nil { + return x.Size + } + return 0 +} + +func (x *SpdkInstanceSpec) GetExposeRequired() bool { + if x != nil { + return x.ExposeRequired + } + return false +} + +func (x *SpdkInstanceSpec) GetFrontend() string { + if x != nil { + return x.Frontend + } + return "" +} + +type InstanceSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Deprecated: Replaced by `data_engine`. + // + // Deprecated: Marked as deprecated in pkg/imrpc/instance.proto. + BackendStoreDriver BackendStoreDriver `protobuf:"varint,1,opt,name=backend_store_driver,json=backendStoreDriver,proto3,enum=pkg.imrpc.BackendStoreDriver" json:"backend_store_driver,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` + VolumeName string `protobuf:"bytes,4,opt,name=volume_name,json=volumeName,proto3" json:"volume_name,omitempty"` + PortCount int32 `protobuf:"varint,5,opt,name=port_count,json=portCount,proto3" json:"port_count,omitempty"` + PortArgs []string `protobuf:"bytes,6,rep,name=port_args,json=portArgs,proto3" json:"port_args,omitempty"` + ProcessInstanceSpec *ProcessInstanceSpec `protobuf:"bytes,7,opt,name=process_instance_spec,json=processInstanceSpec,proto3" json:"process_instance_spec,omitempty"` + SpdkInstanceSpec *SpdkInstanceSpec `protobuf:"bytes,8,opt,name=spdk_instance_spec,json=spdkInstanceSpec,proto3" json:"spdk_instance_spec,omitempty"` + DataEngine DataEngine `protobuf:"varint,9,opt,name=data_engine,json=dataEngine,proto3,enum=pkg.imrpc.DataEngine" json:"data_engine,omitempty"` +} + +func (x *InstanceSpec) Reset() { + *x = InstanceSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_instance_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstanceSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceSpec) ProtoMessage() {} + +func (x *InstanceSpec) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_instance_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceSpec.ProtoReflect.Descriptor instead. +func (*InstanceSpec) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_instance_proto_rawDescGZIP(), []int{2} +} + +// Deprecated: Marked as deprecated in pkg/imrpc/instance.proto. +func (x *InstanceSpec) GetBackendStoreDriver() BackendStoreDriver { + if x != nil { + return x.BackendStoreDriver + } + return BackendStoreDriver_v1 +} + +func (x *InstanceSpec) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *InstanceSpec) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *InstanceSpec) GetVolumeName() string { + if x != nil { + return x.VolumeName + } + return "" +} + +func (x *InstanceSpec) GetPortCount() int32 { + if x != nil { + return x.PortCount + } + return 0 +} + +func (x *InstanceSpec) GetPortArgs() []string { + if x != nil { + return x.PortArgs + } + return nil +} + +func (x *InstanceSpec) GetProcessInstanceSpec() *ProcessInstanceSpec { + if x != nil { + return x.ProcessInstanceSpec + } + return nil +} + +func (x *InstanceSpec) GetSpdkInstanceSpec() *SpdkInstanceSpec { + if x != nil { + return x.SpdkInstanceSpec + } + return nil +} + +func (x *InstanceSpec) GetDataEngine() DataEngine { + if x != nil { + return x.DataEngine + } + return DataEngine_DATA_ENGINE_V1 +} + +type InstanceStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` + ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` + PortStart int32 `protobuf:"varint,3,opt,name=port_start,json=portStart,proto3" json:"port_start,omitempty"` + PortEnd int32 `protobuf:"varint,4,opt,name=port_end,json=portEnd,proto3" json:"port_end,omitempty"` + Conditions map[string]bool `protobuf:"bytes,5,rep,name=conditions,proto3" json:"conditions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (x *InstanceStatus) Reset() { + *x = InstanceStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_instance_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstanceStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceStatus) ProtoMessage() {} + +func (x *InstanceStatus) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_instance_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceStatus.ProtoReflect.Descriptor instead. +func (*InstanceStatus) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_instance_proto_rawDescGZIP(), []int{3} +} + +func (x *InstanceStatus) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *InstanceStatus) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +func (x *InstanceStatus) GetPortStart() int32 { + if x != nil { + return x.PortStart + } + return 0 +} + +func (x *InstanceStatus) GetPortEnd() int32 { + if x != nil { + return x.PortEnd + } + return 0 +} + +func (x *InstanceStatus) GetConditions() map[string]bool { + if x != nil { + return x.Conditions + } + return nil +} + +type InstanceCreateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Spec *InstanceSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` +} + +func (x *InstanceCreateRequest) Reset() { + *x = InstanceCreateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_instance_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstanceCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceCreateRequest) ProtoMessage() {} + +func (x *InstanceCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_instance_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceCreateRequest.ProtoReflect.Descriptor instead. +func (*InstanceCreateRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_instance_proto_rawDescGZIP(), []int{4} +} + +func (x *InstanceCreateRequest) GetSpec() *InstanceSpec { + if x != nil { + return x.Spec + } + return nil +} + +type InstanceDeleteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Deprecated: Replaced by `data_engine`. + // + // Deprecated: Marked as deprecated in pkg/imrpc/instance.proto. + BackendStoreDriver BackendStoreDriver `protobuf:"varint,1,opt,name=backend_store_driver,json=backendStoreDriver,proto3,enum=pkg.imrpc.BackendStoreDriver" json:"backend_store_driver,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` + DiskUuid string `protobuf:"bytes,4,opt,name=disk_uuid,json=diskUuid,proto3" json:"disk_uuid,omitempty"` + CleanupRequired bool `protobuf:"varint,5,opt,name=cleanup_required,json=cleanupRequired,proto3" json:"cleanup_required,omitempty"` + DataEngine DataEngine `protobuf:"varint,6,opt,name=data_engine,json=dataEngine,proto3,enum=pkg.imrpc.DataEngine" json:"data_engine,omitempty"` +} + +func (x *InstanceDeleteRequest) Reset() { + *x = InstanceDeleteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_instance_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstanceDeleteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceDeleteRequest) ProtoMessage() {} + +func (x *InstanceDeleteRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_instance_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceDeleteRequest.ProtoReflect.Descriptor instead. +func (*InstanceDeleteRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_instance_proto_rawDescGZIP(), []int{5} +} + +// Deprecated: Marked as deprecated in pkg/imrpc/instance.proto. +func (x *InstanceDeleteRequest) GetBackendStoreDriver() BackendStoreDriver { + if x != nil { + return x.BackendStoreDriver + } + return BackendStoreDriver_v1 +} + +func (x *InstanceDeleteRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *InstanceDeleteRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *InstanceDeleteRequest) GetDiskUuid() string { + if x != nil { + return x.DiskUuid + } + return "" +} + +func (x *InstanceDeleteRequest) GetCleanupRequired() bool { + if x != nil { + return x.CleanupRequired + } + return false +} + +func (x *InstanceDeleteRequest) GetDataEngine() DataEngine { + if x != nil { + return x.DataEngine + } + return DataEngine_DATA_ENGINE_V1 +} + +type InstanceGetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Deprecated: Replaced by `data_engine`. + // + // Deprecated: Marked as deprecated in pkg/imrpc/instance.proto. + BackendStoreDriver BackendStoreDriver `protobuf:"varint,1,opt,name=backend_store_driver,json=backendStoreDriver,proto3,enum=pkg.imrpc.BackendStoreDriver" json:"backend_store_driver,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` + DataEngine DataEngine `protobuf:"varint,4,opt,name=data_engine,json=dataEngine,proto3,enum=pkg.imrpc.DataEngine" json:"data_engine,omitempty"` +} + +func (x *InstanceGetRequest) Reset() { + *x = InstanceGetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_instance_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstanceGetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceGetRequest) ProtoMessage() {} + +func (x *InstanceGetRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_instance_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceGetRequest.ProtoReflect.Descriptor instead. +func (*InstanceGetRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_instance_proto_rawDescGZIP(), []int{6} +} + +// Deprecated: Marked as deprecated in pkg/imrpc/instance.proto. +func (x *InstanceGetRequest) GetBackendStoreDriver() BackendStoreDriver { + if x != nil { + return x.BackendStoreDriver + } + return BackendStoreDriver_v1 +} + +func (x *InstanceGetRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *InstanceGetRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *InstanceGetRequest) GetDataEngine() DataEngine { + if x != nil { + return x.DataEngine + } + return DataEngine_DATA_ENGINE_V1 +} + +type InstanceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Spec *InstanceSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` + Status *InstanceStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + Deleted bool `protobuf:"varint,3,opt,name=deleted,proto3" json:"deleted,omitempty"` +} + +func (x *InstanceResponse) Reset() { + *x = InstanceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_instance_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceResponse) ProtoMessage() {} + +func (x *InstanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_instance_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceResponse.ProtoReflect.Descriptor instead. +func (*InstanceResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_instance_proto_rawDescGZIP(), []int{7} +} + +func (x *InstanceResponse) GetSpec() *InstanceSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *InstanceResponse) GetStatus() *InstanceStatus { + if x != nil { + return x.Status + } + return nil +} + +func (x *InstanceResponse) GetDeleted() bool { + if x != nil { + return x.Deleted + } + return false +} + +type InstanceListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Instances map[string]*InstanceResponse `protobuf:"bytes,1,rep,name=instances,proto3" json:"instances,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *InstanceListResponse) Reset() { + *x = InstanceListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_instance_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstanceListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceListResponse) ProtoMessage() {} + +func (x *InstanceListResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_instance_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceListResponse.ProtoReflect.Descriptor instead. +func (*InstanceListResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_instance_proto_rawDescGZIP(), []int{8} +} + +func (x *InstanceListResponse) GetInstances() map[string]*InstanceResponse { + if x != nil { + return x.Instances + } + return nil +} + +type InstanceLogRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Deprecated: Replaced by `data_engine`. + // + // Deprecated: Marked as deprecated in pkg/imrpc/instance.proto. + BackendStoreDriver BackendStoreDriver `protobuf:"varint,1,opt,name=backend_store_driver,json=backendStoreDriver,proto3,enum=pkg.imrpc.BackendStoreDriver" json:"backend_store_driver,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` + DataEngine DataEngine `protobuf:"varint,4,opt,name=data_engine,json=dataEngine,proto3,enum=pkg.imrpc.DataEngine" json:"data_engine,omitempty"` +} + +func (x *InstanceLogRequest) Reset() { + *x = InstanceLogRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_instance_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstanceLogRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceLogRequest) ProtoMessage() {} + +func (x *InstanceLogRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_instance_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceLogRequest.ProtoReflect.Descriptor instead. +func (*InstanceLogRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_instance_proto_rawDescGZIP(), []int{9} +} + +// Deprecated: Marked as deprecated in pkg/imrpc/instance.proto. +func (x *InstanceLogRequest) GetBackendStoreDriver() BackendStoreDriver { + if x != nil { + return x.BackendStoreDriver + } + return BackendStoreDriver_v1 +} + +func (x *InstanceLogRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *InstanceLogRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *InstanceLogRequest) GetDataEngine() DataEngine { + if x != nil { + return x.DataEngine + } + return DataEngine_DATA_ENGINE_V1 +} + +type InstanceReplaceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Spec *InstanceSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` + TerminateSignal string `protobuf:"bytes,2,opt,name=terminate_signal,json=terminateSignal,proto3" json:"terminate_signal,omitempty"` +} + +func (x *InstanceReplaceRequest) Reset() { + *x = InstanceReplaceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_instance_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstanceReplaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceReplaceRequest) ProtoMessage() {} + +func (x *InstanceReplaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_instance_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceReplaceRequest.ProtoReflect.Descriptor instead. +func (*InstanceReplaceRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_instance_proto_rawDescGZIP(), []int{10} +} + +func (x *InstanceReplaceRequest) GetSpec() *InstanceSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *InstanceReplaceRequest) GetTerminateSignal() string { + if x != nil { + return x.TerminateSignal + } + return "" +} + +var File_pkg_imrpc_instance_proto protoreflect.FileDescriptor + +var file_pkg_imrpc_instance_proto_rawDesc = []byte{ + 0x0a, 0x18, 0x70, 0x6b, 0x67, 0x2f, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x70, 0x6b, 0x67, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x16, 0x70, 0x6b, 0x67, 0x2f, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x70, 0x6b, 0x67, 0x2f, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2f, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x41, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, 0x6e, 0x61, + 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, + 0x61, 0x72, 0x67, 0x73, 0x22, 0xcf, 0x02, 0x0a, 0x10, 0x53, 0x70, 0x64, 0x6b, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x62, 0x0a, 0x13, 0x72, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x61, 0x70, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x70, 0x64, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x70, 0x12, 0x1b, 0x0a, + 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, + 0x73, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, + 0x69, 0x73, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, + 0x78, 0x70, 0x6f, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, + 0x1a, 0x44, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbf, 0x03, 0x0a, 0x0c, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x53, 0x0a, 0x14, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, + 0x69, 0x76, 0x65, 0x72, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x72, 0x67, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x72, 0x67, + 0x73, 0x12, 0x52, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, + 0x52, 0x13, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x49, 0x0a, 0x12, 0x73, 0x70, 0x64, 0x6b, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, + 0x64, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x10, + 0x73, 0x70, 0x64, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x36, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, + 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x22, 0x87, 0x02, 0x0a, 0x0e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1d, + 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x19, 0x0a, + 0x08, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x64, 0x12, 0x49, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x44, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, + 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x94, 0x02, 0x0a, 0x15, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x53, 0x0a, 0x14, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, + 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x52, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x22, + 0xc9, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x14, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, + 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, + 0x76, 0x65, 0x72, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, + 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, + 0x0a, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x10, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2b, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x31, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0xbf, 0x01, 0x0a, 0x14, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x1a, 0x59, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, + 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc9, 0x01, 0x0a, + 0x12, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x14, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, + 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x36, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, + 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x22, 0x70, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, + 0x29, 0x0a, 0x10, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x32, 0xf5, 0x04, 0x0a, 0x0f, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x51, + 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x12, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x51, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x65, 0x74, 0x12, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x49, 0x0a, 0x0c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 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, 0x1f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0b, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x6f, 0x67, 0x12, 0x1d, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x43, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 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, 0x53, 0x0a, 0x0f, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x21, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x40, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x1a, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x42, 0x25, 0x5a, 0x23, 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, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_pkg_imrpc_instance_proto_rawDescOnce sync.Once + file_pkg_imrpc_instance_proto_rawDescData = file_pkg_imrpc_instance_proto_rawDesc +) + +func file_pkg_imrpc_instance_proto_rawDescGZIP() []byte { + file_pkg_imrpc_instance_proto_rawDescOnce.Do(func() { + file_pkg_imrpc_instance_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_imrpc_instance_proto_rawDescData) + }) + return file_pkg_imrpc_instance_proto_rawDescData +} + +var file_pkg_imrpc_instance_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_pkg_imrpc_instance_proto_goTypes = []interface{}{ + (*ProcessInstanceSpec)(nil), // 0: pkg.imrpc.ProcessInstanceSpec + (*SpdkInstanceSpec)(nil), // 1: pkg.imrpc.SpdkInstanceSpec + (*InstanceSpec)(nil), // 2: pkg.imrpc.InstanceSpec + (*InstanceStatus)(nil), // 3: pkg.imrpc.InstanceStatus + (*InstanceCreateRequest)(nil), // 4: pkg.imrpc.InstanceCreateRequest + (*InstanceDeleteRequest)(nil), // 5: pkg.imrpc.InstanceDeleteRequest + (*InstanceGetRequest)(nil), // 6: pkg.imrpc.InstanceGetRequest + (*InstanceResponse)(nil), // 7: pkg.imrpc.InstanceResponse + (*InstanceListResponse)(nil), // 8: pkg.imrpc.InstanceListResponse + (*InstanceLogRequest)(nil), // 9: pkg.imrpc.InstanceLogRequest + (*InstanceReplaceRequest)(nil), // 10: pkg.imrpc.InstanceReplaceRequest + nil, // 11: pkg.imrpc.SpdkInstanceSpec.ReplicaAddressMapEntry + nil, // 12: pkg.imrpc.InstanceStatus.ConditionsEntry + nil, // 13: pkg.imrpc.InstanceListResponse.InstancesEntry + (BackendStoreDriver)(0), // 14: pkg.imrpc.BackendStoreDriver + (DataEngine)(0), // 15: pkg.imrpc.DataEngine + (*emptypb.Empty)(nil), // 16: google.protobuf.Empty + (*LogResponse)(nil), // 17: pkg.imrpc.LogResponse + (*VersionResponse)(nil), // 18: pkg.imrpc.VersionResponse +} +var file_pkg_imrpc_instance_proto_depIdxs = []int32{ + 11, // 0: pkg.imrpc.SpdkInstanceSpec.replica_address_map:type_name -> pkg.imrpc.SpdkInstanceSpec.ReplicaAddressMapEntry + 14, // 1: pkg.imrpc.InstanceSpec.backend_store_driver:type_name -> pkg.imrpc.BackendStoreDriver + 0, // 2: pkg.imrpc.InstanceSpec.process_instance_spec:type_name -> pkg.imrpc.ProcessInstanceSpec + 1, // 3: pkg.imrpc.InstanceSpec.spdk_instance_spec:type_name -> pkg.imrpc.SpdkInstanceSpec + 15, // 4: pkg.imrpc.InstanceSpec.data_engine:type_name -> pkg.imrpc.DataEngine + 12, // 5: pkg.imrpc.InstanceStatus.conditions:type_name -> pkg.imrpc.InstanceStatus.ConditionsEntry + 2, // 6: pkg.imrpc.InstanceCreateRequest.spec:type_name -> pkg.imrpc.InstanceSpec + 14, // 7: pkg.imrpc.InstanceDeleteRequest.backend_store_driver:type_name -> pkg.imrpc.BackendStoreDriver + 15, // 8: pkg.imrpc.InstanceDeleteRequest.data_engine:type_name -> pkg.imrpc.DataEngine + 14, // 9: pkg.imrpc.InstanceGetRequest.backend_store_driver:type_name -> pkg.imrpc.BackendStoreDriver + 15, // 10: pkg.imrpc.InstanceGetRequest.data_engine:type_name -> pkg.imrpc.DataEngine + 2, // 11: pkg.imrpc.InstanceResponse.spec:type_name -> pkg.imrpc.InstanceSpec + 3, // 12: pkg.imrpc.InstanceResponse.status:type_name -> pkg.imrpc.InstanceStatus + 13, // 13: pkg.imrpc.InstanceListResponse.instances:type_name -> pkg.imrpc.InstanceListResponse.InstancesEntry + 14, // 14: pkg.imrpc.InstanceLogRequest.backend_store_driver:type_name -> pkg.imrpc.BackendStoreDriver + 15, // 15: pkg.imrpc.InstanceLogRequest.data_engine:type_name -> pkg.imrpc.DataEngine + 2, // 16: pkg.imrpc.InstanceReplaceRequest.spec:type_name -> pkg.imrpc.InstanceSpec + 7, // 17: pkg.imrpc.InstanceListResponse.InstancesEntry.value:type_name -> pkg.imrpc.InstanceResponse + 4, // 18: pkg.imrpc.InstanceService.InstanceCreate:input_type -> pkg.imrpc.InstanceCreateRequest + 5, // 19: pkg.imrpc.InstanceService.InstanceDelete:input_type -> pkg.imrpc.InstanceDeleteRequest + 6, // 20: pkg.imrpc.InstanceService.InstanceGet:input_type -> pkg.imrpc.InstanceGetRequest + 16, // 21: pkg.imrpc.InstanceService.InstanceList:input_type -> google.protobuf.Empty + 9, // 22: pkg.imrpc.InstanceService.InstanceLog:input_type -> pkg.imrpc.InstanceLogRequest + 16, // 23: pkg.imrpc.InstanceService.InstanceWatch:input_type -> google.protobuf.Empty + 10, // 24: pkg.imrpc.InstanceService.InstanceReplace:input_type -> pkg.imrpc.InstanceReplaceRequest + 16, // 25: pkg.imrpc.InstanceService.VersionGet:input_type -> google.protobuf.Empty + 7, // 26: pkg.imrpc.InstanceService.InstanceCreate:output_type -> pkg.imrpc.InstanceResponse + 7, // 27: pkg.imrpc.InstanceService.InstanceDelete:output_type -> pkg.imrpc.InstanceResponse + 7, // 28: pkg.imrpc.InstanceService.InstanceGet:output_type -> pkg.imrpc.InstanceResponse + 8, // 29: pkg.imrpc.InstanceService.InstanceList:output_type -> pkg.imrpc.InstanceListResponse + 17, // 30: pkg.imrpc.InstanceService.InstanceLog:output_type -> pkg.imrpc.LogResponse + 16, // 31: pkg.imrpc.InstanceService.InstanceWatch:output_type -> google.protobuf.Empty + 7, // 32: pkg.imrpc.InstanceService.InstanceReplace:output_type -> pkg.imrpc.InstanceResponse + 18, // 33: pkg.imrpc.InstanceService.VersionGet:output_type -> pkg.imrpc.VersionResponse + 26, // [26:34] is the sub-list for method output_type + 18, // [18:26] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name +} + +func init() { file_pkg_imrpc_instance_proto_init() } +func file_pkg_imrpc_instance_proto_init() { + if File_pkg_imrpc_instance_proto != nil { + return + } + file_pkg_imrpc_common_proto_init() + file_pkg_imrpc_imrpc_proto_init() + if !protoimpl.UnsafeEnabled { + file_pkg_imrpc_instance_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProcessInstanceSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_instance_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpdkInstanceSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_instance_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstanceSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_instance_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstanceStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_instance_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstanceCreateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_instance_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstanceDeleteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_instance_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstanceGetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_instance_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstanceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_instance_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstanceListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_instance_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstanceLogRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_instance_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstanceReplaceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_imrpc_instance_proto_rawDesc, + NumEnums: 0, + NumMessages: 14, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_pkg_imrpc_instance_proto_goTypes, + DependencyIndexes: file_pkg_imrpc_instance_proto_depIdxs, + MessageInfos: file_pkg_imrpc_instance_proto_msgTypes, + }.Build() + File_pkg_imrpc_instance_proto = out.File + file_pkg_imrpc_instance_proto_rawDesc = nil + file_pkg_imrpc_instance_proto_goTypes = nil + file_pkg_imrpc_instance_proto_depIdxs = nil +} diff --git a/pkg/imrpc/instance.proto b/pkg/imrpc/instance.proto new file mode 100644 index 0000000..05c0e11 --- /dev/null +++ b/pkg/imrpc/instance.proto @@ -0,0 +1,104 @@ +syntax="proto3"; + +package pkg.imrpc; + +option go_package = "github.com/longhorn/types/pkg/imrpc"; + +import "google/protobuf/empty.proto"; +import "pkg/imrpc/common.proto"; +import "pkg/imrpc/imrpc.proto"; + +service InstanceService { + rpc InstanceCreate(InstanceCreateRequest) returns (InstanceResponse) {} + rpc InstanceDelete(InstanceDeleteRequest) returns (InstanceResponse) {} + rpc InstanceGet(InstanceGetRequest) returns (InstanceResponse) {} + rpc InstanceList(google.protobuf.Empty) returns (InstanceListResponse) {} + rpc InstanceLog(InstanceLogRequest) returns (stream LogResponse) {} + rpc InstanceWatch(google.protobuf.Empty) returns (stream google.protobuf.Empty) {} + rpc InstanceReplace(InstanceReplaceRequest) returns (InstanceResponse) {} + + rpc VersionGet(google.protobuf.Empty) returns (VersionResponse); +} + +message ProcessInstanceSpec { + string binary = 1; + repeated string args = 2; +} + +message SpdkInstanceSpec { + map replica_address_map = 1; + string disk_name = 2; + string disk_uuid = 3; + uint64 size = 4; + bool expose_required = 5; + string frontend = 6; +} + +message InstanceSpec { + // Deprecated: Replaced by `data_engine`. + BackendStoreDriver backend_store_driver = 1 [deprecated=true]; + string name = 2; + string type = 3; + string volume_name = 4; + + int32 port_count = 5; + repeated string port_args = 6; + + ProcessInstanceSpec process_instance_spec = 7; + SpdkInstanceSpec spdk_instance_spec = 8; + DataEngine data_engine = 9; +} + +message InstanceStatus { + string state = 1; + string error_msg = 2; + int32 port_start = 3; + int32 port_end = 4; + map conditions = 5; +} + +message InstanceCreateRequest { + InstanceSpec spec = 1; +} + +message InstanceDeleteRequest { + // Deprecated: Replaced by `data_engine`. + BackendStoreDriver backend_store_driver = 1 [deprecated=true]; + string name = 2; + string type = 3; + + string disk_uuid = 4; + bool cleanup_required = 5; + DataEngine data_engine = 6; +} + +message InstanceGetRequest { + // Deprecated: Replaced by `data_engine`. + BackendStoreDriver backend_store_driver = 1 [deprecated=true]; + string name = 2; + string type = 3; + DataEngine data_engine = 4; +} + +message InstanceResponse { + InstanceSpec spec = 1; + InstanceStatus status = 2; + bool deleted = 3; +} + +message InstanceListResponse{ + map instances = 1; +} + +message InstanceLogRequest { + // Deprecated: Replaced by `data_engine`. + BackendStoreDriver backend_store_driver = 1 [deprecated=true]; + string name = 2; + string type = 3; + DataEngine data_engine = 4; +} + +message InstanceReplaceRequest { + InstanceSpec spec = 1; + string terminate_signal = 2; +} diff --git a/pkg/imrpc/instance_grpc.pb.go b/pkg/imrpc/instance_grpc.pb.go new file mode 100644 index 0000000..161d57a --- /dev/null +++ b/pkg/imrpc/instance_grpc.pb.go @@ -0,0 +1,424 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.24.3 +// source: pkg/imrpc/instance.proto + +package imrpc + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + InstanceService_InstanceCreate_FullMethodName = "/pkg.imrpc.InstanceService/InstanceCreate" + InstanceService_InstanceDelete_FullMethodName = "/pkg.imrpc.InstanceService/InstanceDelete" + InstanceService_InstanceGet_FullMethodName = "/pkg.imrpc.InstanceService/InstanceGet" + InstanceService_InstanceList_FullMethodName = "/pkg.imrpc.InstanceService/InstanceList" + InstanceService_InstanceLog_FullMethodName = "/pkg.imrpc.InstanceService/InstanceLog" + InstanceService_InstanceWatch_FullMethodName = "/pkg.imrpc.InstanceService/InstanceWatch" + InstanceService_InstanceReplace_FullMethodName = "/pkg.imrpc.InstanceService/InstanceReplace" + InstanceService_VersionGet_FullMethodName = "/pkg.imrpc.InstanceService/VersionGet" +) + +// InstanceServiceClient is the client API for InstanceService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type InstanceServiceClient interface { + InstanceCreate(ctx context.Context, in *InstanceCreateRequest, opts ...grpc.CallOption) (*InstanceResponse, error) + InstanceDelete(ctx context.Context, in *InstanceDeleteRequest, opts ...grpc.CallOption) (*InstanceResponse, error) + InstanceGet(ctx context.Context, in *InstanceGetRequest, opts ...grpc.CallOption) (*InstanceResponse, error) + InstanceList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*InstanceListResponse, error) + InstanceLog(ctx context.Context, in *InstanceLogRequest, opts ...grpc.CallOption) (InstanceService_InstanceLogClient, error) + InstanceWatch(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (InstanceService_InstanceWatchClient, error) + InstanceReplace(ctx context.Context, in *InstanceReplaceRequest, opts ...grpc.CallOption) (*InstanceResponse, error) + VersionGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*VersionResponse, error) +} + +type instanceServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewInstanceServiceClient(cc grpc.ClientConnInterface) InstanceServiceClient { + return &instanceServiceClient{cc} +} + +func (c *instanceServiceClient) InstanceCreate(ctx context.Context, in *InstanceCreateRequest, opts ...grpc.CallOption) (*InstanceResponse, error) { + out := new(InstanceResponse) + err := c.cc.Invoke(ctx, InstanceService_InstanceCreate_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *instanceServiceClient) InstanceDelete(ctx context.Context, in *InstanceDeleteRequest, opts ...grpc.CallOption) (*InstanceResponse, error) { + out := new(InstanceResponse) + err := c.cc.Invoke(ctx, InstanceService_InstanceDelete_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *instanceServiceClient) InstanceGet(ctx context.Context, in *InstanceGetRequest, opts ...grpc.CallOption) (*InstanceResponse, error) { + out := new(InstanceResponse) + err := c.cc.Invoke(ctx, InstanceService_InstanceGet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *instanceServiceClient) InstanceList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*InstanceListResponse, error) { + out := new(InstanceListResponse) + err := c.cc.Invoke(ctx, InstanceService_InstanceList_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *instanceServiceClient) InstanceLog(ctx context.Context, in *InstanceLogRequest, opts ...grpc.CallOption) (InstanceService_InstanceLogClient, error) { + stream, err := c.cc.NewStream(ctx, &InstanceService_ServiceDesc.Streams[0], InstanceService_InstanceLog_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &instanceServiceInstanceLogClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type InstanceService_InstanceLogClient interface { + Recv() (*LogResponse, error) + grpc.ClientStream +} + +type instanceServiceInstanceLogClient struct { + grpc.ClientStream +} + +func (x *instanceServiceInstanceLogClient) Recv() (*LogResponse, error) { + m := new(LogResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *instanceServiceClient) InstanceWatch(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (InstanceService_InstanceWatchClient, error) { + stream, err := c.cc.NewStream(ctx, &InstanceService_ServiceDesc.Streams[1], InstanceService_InstanceWatch_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &instanceServiceInstanceWatchClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type InstanceService_InstanceWatchClient interface { + Recv() (*emptypb.Empty, error) + grpc.ClientStream +} + +type instanceServiceInstanceWatchClient struct { + grpc.ClientStream +} + +func (x *instanceServiceInstanceWatchClient) Recv() (*emptypb.Empty, error) { + m := new(emptypb.Empty) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *instanceServiceClient) InstanceReplace(ctx context.Context, in *InstanceReplaceRequest, opts ...grpc.CallOption) (*InstanceResponse, error) { + out := new(InstanceResponse) + err := c.cc.Invoke(ctx, InstanceService_InstanceReplace_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *instanceServiceClient) VersionGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*VersionResponse, error) { + out := new(VersionResponse) + err := c.cc.Invoke(ctx, InstanceService_VersionGet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// InstanceServiceServer is the server API for InstanceService service. +// All implementations must embed UnimplementedInstanceServiceServer +// for forward compatibility +type InstanceServiceServer interface { + InstanceCreate(context.Context, *InstanceCreateRequest) (*InstanceResponse, error) + InstanceDelete(context.Context, *InstanceDeleteRequest) (*InstanceResponse, error) + InstanceGet(context.Context, *InstanceGetRequest) (*InstanceResponse, error) + InstanceList(context.Context, *emptypb.Empty) (*InstanceListResponse, error) + InstanceLog(*InstanceLogRequest, InstanceService_InstanceLogServer) error + InstanceWatch(*emptypb.Empty, InstanceService_InstanceWatchServer) error + InstanceReplace(context.Context, *InstanceReplaceRequest) (*InstanceResponse, error) + VersionGet(context.Context, *emptypb.Empty) (*VersionResponse, error) + mustEmbedUnimplementedInstanceServiceServer() +} + +// UnimplementedInstanceServiceServer must be embedded to have forward compatible implementations. +type UnimplementedInstanceServiceServer struct { +} + +func (UnimplementedInstanceServiceServer) InstanceCreate(context.Context, *InstanceCreateRequest) (*InstanceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method InstanceCreate not implemented") +} +func (UnimplementedInstanceServiceServer) InstanceDelete(context.Context, *InstanceDeleteRequest) (*InstanceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method InstanceDelete not implemented") +} +func (UnimplementedInstanceServiceServer) InstanceGet(context.Context, *InstanceGetRequest) (*InstanceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method InstanceGet not implemented") +} +func (UnimplementedInstanceServiceServer) InstanceList(context.Context, *emptypb.Empty) (*InstanceListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method InstanceList not implemented") +} +func (UnimplementedInstanceServiceServer) InstanceLog(*InstanceLogRequest, InstanceService_InstanceLogServer) error { + return status.Errorf(codes.Unimplemented, "method InstanceLog not implemented") +} +func (UnimplementedInstanceServiceServer) InstanceWatch(*emptypb.Empty, InstanceService_InstanceWatchServer) error { + return status.Errorf(codes.Unimplemented, "method InstanceWatch not implemented") +} +func (UnimplementedInstanceServiceServer) InstanceReplace(context.Context, *InstanceReplaceRequest) (*InstanceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method InstanceReplace not implemented") +} +func (UnimplementedInstanceServiceServer) VersionGet(context.Context, *emptypb.Empty) (*VersionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method VersionGet not implemented") +} +func (UnimplementedInstanceServiceServer) mustEmbedUnimplementedInstanceServiceServer() {} + +// UnsafeInstanceServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to InstanceServiceServer will +// result in compilation errors. +type UnsafeInstanceServiceServer interface { + mustEmbedUnimplementedInstanceServiceServer() +} + +func RegisterInstanceServiceServer(s grpc.ServiceRegistrar, srv InstanceServiceServer) { + s.RegisterService(&InstanceService_ServiceDesc, srv) +} + +func _InstanceService_InstanceCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(InstanceCreateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InstanceServiceServer).InstanceCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: InstanceService_InstanceCreate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InstanceServiceServer).InstanceCreate(ctx, req.(*InstanceCreateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InstanceService_InstanceDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(InstanceDeleteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InstanceServiceServer).InstanceDelete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: InstanceService_InstanceDelete_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InstanceServiceServer).InstanceDelete(ctx, req.(*InstanceDeleteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InstanceService_InstanceGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(InstanceGetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InstanceServiceServer).InstanceGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: InstanceService_InstanceGet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InstanceServiceServer).InstanceGet(ctx, req.(*InstanceGetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InstanceService_InstanceList_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 { + return nil, err + } + if interceptor == nil { + return srv.(InstanceServiceServer).InstanceList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: InstanceService_InstanceList_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InstanceServiceServer).InstanceList(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _InstanceService_InstanceLog_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(InstanceLogRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(InstanceServiceServer).InstanceLog(m, &instanceServiceInstanceLogServer{stream}) +} + +type InstanceService_InstanceLogServer interface { + Send(*LogResponse) error + grpc.ServerStream +} + +type instanceServiceInstanceLogServer struct { + grpc.ServerStream +} + +func (x *instanceServiceInstanceLogServer) Send(m *LogResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _InstanceService_InstanceWatch_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(emptypb.Empty) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(InstanceServiceServer).InstanceWatch(m, &instanceServiceInstanceWatchServer{stream}) +} + +type InstanceService_InstanceWatchServer interface { + Send(*emptypb.Empty) error + grpc.ServerStream +} + +type instanceServiceInstanceWatchServer struct { + grpc.ServerStream +} + +func (x *instanceServiceInstanceWatchServer) Send(m *emptypb.Empty) error { + return x.ServerStream.SendMsg(m) +} + +func _InstanceService_InstanceReplace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(InstanceReplaceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InstanceServiceServer).InstanceReplace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: InstanceService_InstanceReplace_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InstanceServiceServer).InstanceReplace(ctx, req.(*InstanceReplaceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InstanceService_VersionGet_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 { + return nil, err + } + if interceptor == nil { + return srv.(InstanceServiceServer).VersionGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: InstanceService_VersionGet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InstanceServiceServer).VersionGet(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +// InstanceService_ServiceDesc is the grpc.ServiceDesc for InstanceService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var InstanceService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "pkg.imrpc.InstanceService", + HandlerType: (*InstanceServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "InstanceCreate", + Handler: _InstanceService_InstanceCreate_Handler, + }, + { + MethodName: "InstanceDelete", + Handler: _InstanceService_InstanceDelete_Handler, + }, + { + MethodName: "InstanceGet", + Handler: _InstanceService_InstanceGet_Handler, + }, + { + MethodName: "InstanceList", + Handler: _InstanceService_InstanceList_Handler, + }, + { + MethodName: "InstanceReplace", + Handler: _InstanceService_InstanceReplace_Handler, + }, + { + MethodName: "VersionGet", + Handler: _InstanceService_VersionGet_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "InstanceLog", + Handler: _InstanceService_InstanceLog_Handler, + ServerStreams: true, + }, + { + StreamName: "InstanceWatch", + Handler: _InstanceService_InstanceWatch_Handler, + ServerStreams: true, + }, + }, + Metadata: "pkg/imrpc/instance.proto", +} diff --git a/pkg/imrpc/instance_pb2.py b/pkg/imrpc/instance_pb2.py new file mode 100644 index 0000000..a0d67e3 --- /dev/null +++ b/pkg/imrpc/instance_pb2.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: pkg/imrpc/instance.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from pkg.imrpc import common_pb2 as pkg_dot_imrpc_dot_common__pb2 +from pkg.imrpc import imrpc_pb2 as pkg_dot_imrpc_dot_imrpc__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18pkg/imrpc/instance.proto\x12\tpkg.imrpc\x1a\x1bgoogle/protobuf/empty.proto\x1a\x16pkg/imrpc/common.proto\x1a\x15pkg/imrpc/imrpc.proto\"3\n\x13ProcessInstanceSpec\x12\x0e\n\x06\x62inary\x18\x01 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\t\"\xfc\x01\n\x10SpdkInstanceSpec\x12O\n\x13replica_address_map\x18\x01 \x03(\x0b\x32\x32.pkg.imrpc.SpdkInstanceSpec.ReplicaAddressMapEntry\x12\x11\n\tdisk_name\x18\x02 \x01(\t\x12\x11\n\tdisk_uuid\x18\x03 \x01(\t\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x17\n\x0f\x65xpose_required\x18\x05 \x01(\x08\x12\x10\n\x08\x66rontend\x18\x06 \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\"\xcb\x02\n\x0cInstanceSpec\x12?\n\x14\x62\x61\x63kend_store_driver\x18\x01 \x01(\x0e\x32\x1d.pkg.imrpc.BackendStoreDriverB\x02\x18\x01\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x13\n\x0bvolume_name\x18\x04 \x01(\t\x12\x12\n\nport_count\x18\x05 \x01(\x05\x12\x11\n\tport_args\x18\x06 \x03(\t\x12=\n\x15process_instance_spec\x18\x07 \x01(\x0b\x32\x1e.pkg.imrpc.ProcessInstanceSpec\x12\x37\n\x12spdk_instance_spec\x18\x08 \x01(\x0b\x32\x1b.pkg.imrpc.SpdkInstanceSpec\x12*\n\x0b\x64\x61ta_engine\x18\t \x01(\x0e\x32\x15.pkg.imrpc.DataEngine\"\xca\x01\n\x0eInstanceStatus\x12\r\n\x05state\x18\x01 \x01(\t\x12\x11\n\terror_msg\x18\x02 \x01(\t\x12\x12\n\nport_start\x18\x03 \x01(\x05\x12\x10\n\x08port_end\x18\x04 \x01(\x05\x12=\n\nconditions\x18\x05 \x03(\x0b\x32).pkg.imrpc.InstanceStatus.ConditionsEntry\x1a\x31\n\x0f\x43onditionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\">\n\x15InstanceCreateRequest\x12%\n\x04spec\x18\x01 \x01(\x0b\x32\x17.pkg.imrpc.InstanceSpec\"\xcd\x01\n\x15InstanceDeleteRequest\x12?\n\x14\x62\x61\x63kend_store_driver\x18\x01 \x01(\x0e\x32\x1d.pkg.imrpc.BackendStoreDriverB\x02\x18\x01\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x11\n\tdisk_uuid\x18\x04 \x01(\t\x12\x18\n\x10\x63leanup_required\x18\x05 \x01(\x08\x12*\n\x0b\x64\x61ta_engine\x18\x06 \x01(\x0e\x32\x15.pkg.imrpc.DataEngine\"\x9d\x01\n\x12InstanceGetRequest\x12?\n\x14\x62\x61\x63kend_store_driver\x18\x01 \x01(\x0e\x32\x1d.pkg.imrpc.BackendStoreDriverB\x02\x18\x01\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12*\n\x0b\x64\x61ta_engine\x18\x04 \x01(\x0e\x32\x15.pkg.imrpc.DataEngine\"u\n\x10InstanceResponse\x12%\n\x04spec\x18\x01 \x01(\x0b\x32\x17.pkg.imrpc.InstanceSpec\x12)\n\x06status\x18\x02 \x01(\x0b\x32\x19.pkg.imrpc.InstanceStatus\x12\x0f\n\x07\x64\x65leted\x18\x03 \x01(\x08\"\xa8\x01\n\x14InstanceListResponse\x12\x41\n\tinstances\x18\x01 \x03(\x0b\x32..pkg.imrpc.InstanceListResponse.InstancesEntry\x1aM\n\x0eInstancesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12*\n\x05value\x18\x02 \x01(\x0b\x32\x1b.pkg.imrpc.InstanceResponse:\x02\x38\x01\"\x9d\x01\n\x12InstanceLogRequest\x12?\n\x14\x62\x61\x63kend_store_driver\x18\x01 \x01(\x0e\x32\x1d.pkg.imrpc.BackendStoreDriverB\x02\x18\x01\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12*\n\x0b\x64\x61ta_engine\x18\x04 \x01(\x0e\x32\x15.pkg.imrpc.DataEngine\"Y\n\x16InstanceReplaceRequest\x12%\n\x04spec\x18\x01 \x01(\x0b\x32\x17.pkg.imrpc.InstanceSpec\x12\x18\n\x10terminate_signal\x18\x02 \x01(\t2\xf5\x04\n\x0fInstanceService\x12Q\n\x0eInstanceCreate\x12 .pkg.imrpc.InstanceCreateRequest\x1a\x1b.pkg.imrpc.InstanceResponse\"\x00\x12Q\n\x0eInstanceDelete\x12 .pkg.imrpc.InstanceDeleteRequest\x1a\x1b.pkg.imrpc.InstanceResponse\"\x00\x12K\n\x0bInstanceGet\x12\x1d.pkg.imrpc.InstanceGetRequest\x1a\x1b.pkg.imrpc.InstanceResponse\"\x00\x12I\n\x0cInstanceList\x12\x16.google.protobuf.Empty\x1a\x1f.pkg.imrpc.InstanceListResponse\"\x00\x12H\n\x0bInstanceLog\x12\x1d.pkg.imrpc.InstanceLogRequest\x1a\x16.pkg.imrpc.LogResponse\"\x00\x30\x01\x12\x43\n\rInstanceWatch\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x30\x01\x12S\n\x0fInstanceReplace\x12!.pkg.imrpc.InstanceReplaceRequest\x1a\x1b.pkg.imrpc.InstanceResponse\"\x00\x12@\n\nVersionGet\x12\x16.google.protobuf.Empty\x1a\x1a.pkg.imrpc.VersionResponseB%Z#github.com/longhorn/types/pkg/imrpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pkg.imrpc.instance_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z#github.com/longhorn/types/pkg/imrpc' + _SPDKINSTANCESPEC_REPLICAADDRESSMAPENTRY._options = None + _SPDKINSTANCESPEC_REPLICAADDRESSMAPENTRY._serialized_options = b'8\001' + _INSTANCESPEC.fields_by_name['backend_store_driver']._options = None + _INSTANCESPEC.fields_by_name['backend_store_driver']._serialized_options = b'\030\001' + _INSTANCESTATUS_CONDITIONSENTRY._options = None + _INSTANCESTATUS_CONDITIONSENTRY._serialized_options = b'8\001' + _INSTANCEDELETEREQUEST.fields_by_name['backend_store_driver']._options = None + _INSTANCEDELETEREQUEST.fields_by_name['backend_store_driver']._serialized_options = b'\030\001' + _INSTANCEGETREQUEST.fields_by_name['backend_store_driver']._options = None + _INSTANCEGETREQUEST.fields_by_name['backend_store_driver']._serialized_options = b'\030\001' + _INSTANCELISTRESPONSE_INSTANCESENTRY._options = None + _INSTANCELISTRESPONSE_INSTANCESENTRY._serialized_options = b'8\001' + _INSTANCELOGREQUEST.fields_by_name['backend_store_driver']._options = None + _INSTANCELOGREQUEST.fields_by_name['backend_store_driver']._serialized_options = b'\030\001' + _globals['_PROCESSINSTANCESPEC']._serialized_start=115 + _globals['_PROCESSINSTANCESPEC']._serialized_end=166 + _globals['_SPDKINSTANCESPEC']._serialized_start=169 + _globals['_SPDKINSTANCESPEC']._serialized_end=421 + _globals['_SPDKINSTANCESPEC_REPLICAADDRESSMAPENTRY']._serialized_start=365 + _globals['_SPDKINSTANCESPEC_REPLICAADDRESSMAPENTRY']._serialized_end=421 + _globals['_INSTANCESPEC']._serialized_start=424 + _globals['_INSTANCESPEC']._serialized_end=755 + _globals['_INSTANCESTATUS']._serialized_start=758 + _globals['_INSTANCESTATUS']._serialized_end=960 + _globals['_INSTANCESTATUS_CONDITIONSENTRY']._serialized_start=911 + _globals['_INSTANCESTATUS_CONDITIONSENTRY']._serialized_end=960 + _globals['_INSTANCECREATEREQUEST']._serialized_start=962 + _globals['_INSTANCECREATEREQUEST']._serialized_end=1024 + _globals['_INSTANCEDELETEREQUEST']._serialized_start=1027 + _globals['_INSTANCEDELETEREQUEST']._serialized_end=1232 + _globals['_INSTANCEGETREQUEST']._serialized_start=1235 + _globals['_INSTANCEGETREQUEST']._serialized_end=1392 + _globals['_INSTANCERESPONSE']._serialized_start=1394 + _globals['_INSTANCERESPONSE']._serialized_end=1511 + _globals['_INSTANCELISTRESPONSE']._serialized_start=1514 + _globals['_INSTANCELISTRESPONSE']._serialized_end=1682 + _globals['_INSTANCELISTRESPONSE_INSTANCESENTRY']._serialized_start=1605 + _globals['_INSTANCELISTRESPONSE_INSTANCESENTRY']._serialized_end=1682 + _globals['_INSTANCELOGREQUEST']._serialized_start=1685 + _globals['_INSTANCELOGREQUEST']._serialized_end=1842 + _globals['_INSTANCEREPLACEREQUEST']._serialized_start=1844 + _globals['_INSTANCEREPLACEREQUEST']._serialized_end=1933 + _globals['_INSTANCESERVICE']._serialized_start=1936 + _globals['_INSTANCESERVICE']._serialized_end=2565 +# @@protoc_insertion_point(module_scope) diff --git a/pkg/imrpc/instance_pb2_grpc.py b/pkg/imrpc/instance_pb2_grpc.py new file mode 100644 index 0000000..d0b10ff --- /dev/null +++ b/pkg/imrpc/instance_pb2_grpc.py @@ -0,0 +1,299 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from pkg.imrpc import imrpc_pb2 as pkg_dot_imrpc_dot_imrpc__pb2 +from pkg.imrpc import instance_pb2 as pkg_dot_imrpc_dot_instance__pb2 + + +class InstanceServiceStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.InstanceCreate = channel.unary_unary( + '/pkg.imrpc.InstanceService/InstanceCreate', + request_serializer=pkg_dot_imrpc_dot_instance__pb2.InstanceCreateRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_instance__pb2.InstanceResponse.FromString, + ) + self.InstanceDelete = channel.unary_unary( + '/pkg.imrpc.InstanceService/InstanceDelete', + request_serializer=pkg_dot_imrpc_dot_instance__pb2.InstanceDeleteRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_instance__pb2.InstanceResponse.FromString, + ) + self.InstanceGet = channel.unary_unary( + '/pkg.imrpc.InstanceService/InstanceGet', + request_serializer=pkg_dot_imrpc_dot_instance__pb2.InstanceGetRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_instance__pb2.InstanceResponse.FromString, + ) + self.InstanceList = channel.unary_unary( + '/pkg.imrpc.InstanceService/InstanceList', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_instance__pb2.InstanceListResponse.FromString, + ) + self.InstanceLog = channel.unary_stream( + '/pkg.imrpc.InstanceService/InstanceLog', + request_serializer=pkg_dot_imrpc_dot_instance__pb2.InstanceLogRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_imrpc__pb2.LogResponse.FromString, + ) + self.InstanceWatch = channel.unary_stream( + '/pkg.imrpc.InstanceService/InstanceWatch', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.InstanceReplace = channel.unary_unary( + '/pkg.imrpc.InstanceService/InstanceReplace', + request_serializer=pkg_dot_imrpc_dot_instance__pb2.InstanceReplaceRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_instance__pb2.InstanceResponse.FromString, + ) + self.VersionGet = channel.unary_unary( + '/pkg.imrpc.InstanceService/VersionGet', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_imrpc__pb2.VersionResponse.FromString, + ) + + +class InstanceServiceServicer(object): + """Missing associated documentation comment in .proto file.""" + + def InstanceCreate(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 InstanceDelete(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 InstanceGet(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 InstanceList(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 InstanceLog(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 InstanceWatch(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 InstanceReplace(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 VersionGet(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 add_InstanceServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'InstanceCreate': grpc.unary_unary_rpc_method_handler( + servicer.InstanceCreate, + request_deserializer=pkg_dot_imrpc_dot_instance__pb2.InstanceCreateRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_instance__pb2.InstanceResponse.SerializeToString, + ), + 'InstanceDelete': grpc.unary_unary_rpc_method_handler( + servicer.InstanceDelete, + request_deserializer=pkg_dot_imrpc_dot_instance__pb2.InstanceDeleteRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_instance__pb2.InstanceResponse.SerializeToString, + ), + 'InstanceGet': grpc.unary_unary_rpc_method_handler( + servicer.InstanceGet, + request_deserializer=pkg_dot_imrpc_dot_instance__pb2.InstanceGetRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_instance__pb2.InstanceResponse.SerializeToString, + ), + 'InstanceList': grpc.unary_unary_rpc_method_handler( + servicer.InstanceList, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_imrpc_dot_instance__pb2.InstanceListResponse.SerializeToString, + ), + 'InstanceLog': grpc.unary_stream_rpc_method_handler( + servicer.InstanceLog, + request_deserializer=pkg_dot_imrpc_dot_instance__pb2.InstanceLogRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_imrpc__pb2.LogResponse.SerializeToString, + ), + 'InstanceWatch': grpc.unary_stream_rpc_method_handler( + servicer.InstanceWatch, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'InstanceReplace': grpc.unary_unary_rpc_method_handler( + servicer.InstanceReplace, + request_deserializer=pkg_dot_imrpc_dot_instance__pb2.InstanceReplaceRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_instance__pb2.InstanceResponse.SerializeToString, + ), + 'VersionGet': grpc.unary_unary_rpc_method_handler( + servicer.VersionGet, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=pkg_dot_imrpc_dot_imrpc__pb2.VersionResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'pkg.imrpc.InstanceService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class InstanceService(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def InstanceCreate(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, '/pkg.imrpc.InstanceService/InstanceCreate', + pkg_dot_imrpc_dot_instance__pb2.InstanceCreateRequest.SerializeToString, + pkg_dot_imrpc_dot_instance__pb2.InstanceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def InstanceDelete(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, '/pkg.imrpc.InstanceService/InstanceDelete', + pkg_dot_imrpc_dot_instance__pb2.InstanceDeleteRequest.SerializeToString, + pkg_dot_imrpc_dot_instance__pb2.InstanceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def InstanceGet(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, '/pkg.imrpc.InstanceService/InstanceGet', + pkg_dot_imrpc_dot_instance__pb2.InstanceGetRequest.SerializeToString, + pkg_dot_imrpc_dot_instance__pb2.InstanceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def InstanceList(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, '/pkg.imrpc.InstanceService/InstanceList', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_imrpc_dot_instance__pb2.InstanceListResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def InstanceLog(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_stream(request, target, '/pkg.imrpc.InstanceService/InstanceLog', + pkg_dot_imrpc_dot_instance__pb2.InstanceLogRequest.SerializeToString, + pkg_dot_imrpc_dot_imrpc__pb2.LogResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def InstanceWatch(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_stream(request, target, '/pkg.imrpc.InstanceService/InstanceWatch', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def InstanceReplace(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, '/pkg.imrpc.InstanceService/InstanceReplace', + pkg_dot_imrpc_dot_instance__pb2.InstanceReplaceRequest.SerializeToString, + pkg_dot_imrpc_dot_instance__pb2.InstanceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VersionGet(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, '/pkg.imrpc.InstanceService/VersionGet', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + pkg_dot_imrpc_dot_imrpc__pb2.VersionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/pkg/imrpc/proxy.pb.go b/pkg/imrpc/proxy.pb.go new file mode 100644 index 0000000..6eeb612 --- /dev/null +++ b/pkg/imrpc/proxy.pb.go @@ -0,0 +1,3783 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: pkg/imrpc/proxy.proto + +package imrpc + +import ( + enginerpc "github.com/longhorn/types/pkg/enginerpc" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ProxyEngineRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // Deprecated: Replaced by `data_engine`. + // + // Deprecated: Marked as deprecated in pkg/imrpc/proxy.proto. + BackendStoreDriver BackendStoreDriver `protobuf:"varint,2,opt,name=backend_store_driver,json=backendStoreDriver,proto3,enum=pkg.imrpc.BackendStoreDriver" json:"backend_store_driver,omitempty"` + EngineName string `protobuf:"bytes,3,opt,name=engine_name,json=engineName,proto3" json:"engine_name,omitempty"` + VolumeName string `protobuf:"bytes,4,opt,name=volume_name,json=volumeName,proto3" json:"volume_name,omitempty"` + DataEngine DataEngine `protobuf:"varint,5,opt,name=data_engine,json=dataEngine,proto3,enum=pkg.imrpc.DataEngine" json:"data_engine,omitempty"` +} + +func (x *ProxyEngineRequest) Reset() { + *x = ProxyEngineRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProxyEngineRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProxyEngineRequest) ProtoMessage() {} + +func (x *ProxyEngineRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProxyEngineRequest.ProtoReflect.Descriptor instead. +func (*ProxyEngineRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{0} +} + +func (x *ProxyEngineRequest) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +// Deprecated: Marked as deprecated in pkg/imrpc/proxy.proto. +func (x *ProxyEngineRequest) GetBackendStoreDriver() BackendStoreDriver { + if x != nil { + return x.BackendStoreDriver + } + return BackendStoreDriver_v1 +} + +func (x *ProxyEngineRequest) GetEngineName() string { + if x != nil { + return x.EngineName + } + return "" +} + +func (x *ProxyEngineRequest) GetVolumeName() string { + if x != nil { + return x.VolumeName + } + return "" +} + +func (x *ProxyEngineRequest) GetDataEngine() DataEngine { + if x != nil { + return x.DataEngine + } + return DataEngine_DATA_ENGINE_V1 +} + +type EngineVersionProxyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version *enginerpc.VersionOutput `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *EngineVersionProxyResponse) Reset() { + *x = EngineVersionProxyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineVersionProxyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineVersionProxyResponse) ProtoMessage() {} + +func (x *EngineVersionProxyResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineVersionProxyResponse.ProtoReflect.Descriptor instead. +func (*EngineVersionProxyResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{1} +} + +func (x *EngineVersionProxyResponse) GetVersion() *enginerpc.VersionOutput { + if x != nil { + return x.Version + } + return nil +} + +type EngineVolumeGetProxyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Volume *enginerpc.Volume `protobuf:"bytes,1,opt,name=volume,proto3" json:"volume,omitempty"` +} + +func (x *EngineVolumeGetProxyResponse) Reset() { + *x = EngineVolumeGetProxyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineVolumeGetProxyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineVolumeGetProxyResponse) ProtoMessage() {} + +func (x *EngineVolumeGetProxyResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineVolumeGetProxyResponse.ProtoReflect.Descriptor instead. +func (*EngineVolumeGetProxyResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{2} +} + +func (x *EngineVolumeGetProxyResponse) GetVolume() *enginerpc.Volume { + if x != nil { + return x.Volume + } + return nil +} + +type EngineVolumeExpandRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + Expand *enginerpc.VolumeExpandRequest `protobuf:"bytes,2,opt,name=expand,proto3" json:"expand,omitempty"` +} + +func (x *EngineVolumeExpandRequest) Reset() { + *x = EngineVolumeExpandRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineVolumeExpandRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineVolumeExpandRequest) ProtoMessage() {} + +func (x *EngineVolumeExpandRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineVolumeExpandRequest.ProtoReflect.Descriptor instead. +func (*EngineVolumeExpandRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{3} +} + +func (x *EngineVolumeExpandRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineVolumeExpandRequest) GetExpand() *enginerpc.VolumeExpandRequest { + if x != nil { + return x.Expand + } + return nil +} + +type EngineVolumeFrontendStartRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + FrontendStart *enginerpc.VolumeFrontendStartRequest `protobuf:"bytes,2,opt,name=frontend_start,json=frontendStart,proto3" json:"frontend_start,omitempty"` +} + +func (x *EngineVolumeFrontendStartRequest) Reset() { + *x = EngineVolumeFrontendStartRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineVolumeFrontendStartRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineVolumeFrontendStartRequest) ProtoMessage() {} + +func (x *EngineVolumeFrontendStartRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineVolumeFrontendStartRequest.ProtoReflect.Descriptor instead. +func (*EngineVolumeFrontendStartRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{4} +} + +func (x *EngineVolumeFrontendStartRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineVolumeFrontendStartRequest) GetFrontendStart() *enginerpc.VolumeFrontendStartRequest { + if x != nil { + return x.FrontendStart + } + return nil +} + +type EngineVolumeSnapshotRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + SnapshotVolume *enginerpc.VolumeSnapshotRequest `protobuf:"bytes,2,opt,name=snapshot_volume,json=snapshotVolume,proto3" json:"snapshot_volume,omitempty"` +} + +func (x *EngineVolumeSnapshotRequest) Reset() { + *x = EngineVolumeSnapshotRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineVolumeSnapshotRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineVolumeSnapshotRequest) ProtoMessage() {} + +func (x *EngineVolumeSnapshotRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineVolumeSnapshotRequest.ProtoReflect.Descriptor instead. +func (*EngineVolumeSnapshotRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{5} +} + +func (x *EngineVolumeSnapshotRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineVolumeSnapshotRequest) GetSnapshotVolume() *enginerpc.VolumeSnapshotRequest { + if x != nil { + return x.SnapshotVolume + } + return nil +} + +type EngineVolumeSnapshotProxyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Snapshot *enginerpc.VolumeSnapshotReply `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"` +} + +func (x *EngineVolumeSnapshotProxyResponse) Reset() { + *x = EngineVolumeSnapshotProxyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineVolumeSnapshotProxyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineVolumeSnapshotProxyResponse) ProtoMessage() {} + +func (x *EngineVolumeSnapshotProxyResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineVolumeSnapshotProxyResponse.ProtoReflect.Descriptor instead. +func (*EngineVolumeSnapshotProxyResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{6} +} + +func (x *EngineVolumeSnapshotProxyResponse) GetSnapshot() *enginerpc.VolumeSnapshotReply { + if x != nil { + return x.Snapshot + } + return nil +} + +type EngineVolumeUnmapMarkSnapChainRemovedSetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + UnmapMarkSnap *enginerpc.VolumeUnmapMarkSnapChainRemovedSetRequest `protobuf:"bytes,2,opt,name=unmap_mark_snap,json=unmapMarkSnap,proto3" json:"unmap_mark_snap,omitempty"` +} + +func (x *EngineVolumeUnmapMarkSnapChainRemovedSetRequest) Reset() { + *x = EngineVolumeUnmapMarkSnapChainRemovedSetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineVolumeUnmapMarkSnapChainRemovedSetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineVolumeUnmapMarkSnapChainRemovedSetRequest) ProtoMessage() {} + +func (x *EngineVolumeUnmapMarkSnapChainRemovedSetRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineVolumeUnmapMarkSnapChainRemovedSetRequest.ProtoReflect.Descriptor instead. +func (*EngineVolumeUnmapMarkSnapChainRemovedSetRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{7} +} + +func (x *EngineVolumeUnmapMarkSnapChainRemovedSetRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineVolumeUnmapMarkSnapChainRemovedSetRequest) GetUnmapMarkSnap() *enginerpc.VolumeUnmapMarkSnapChainRemovedSetRequest { + if x != nil { + return x.UnmapMarkSnap + } + return nil +} + +type EngineVolumeSnapshotMaxCountSetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + Count *enginerpc.VolumeSnapshotMaxCountSetRequest `protobuf:"bytes,2,opt,name=count,proto3" json:"count,omitempty"` +} + +func (x *EngineVolumeSnapshotMaxCountSetRequest) Reset() { + *x = EngineVolumeSnapshotMaxCountSetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineVolumeSnapshotMaxCountSetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineVolumeSnapshotMaxCountSetRequest) ProtoMessage() {} + +func (x *EngineVolumeSnapshotMaxCountSetRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineVolumeSnapshotMaxCountSetRequest.ProtoReflect.Descriptor instead. +func (*EngineVolumeSnapshotMaxCountSetRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{8} +} + +func (x *EngineVolumeSnapshotMaxCountSetRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineVolumeSnapshotMaxCountSetRequest) GetCount() *enginerpc.VolumeSnapshotMaxCountSetRequest { + if x != nil { + return x.Count + } + return nil +} + +type EngineVolumeSnapshotMaxSizeSetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + Size *enginerpc.VolumeSnapshotMaxSizeSetRequest `protobuf:"bytes,2,opt,name=size,proto3" json:"size,omitempty"` +} + +func (x *EngineVolumeSnapshotMaxSizeSetRequest) Reset() { + *x = EngineVolumeSnapshotMaxSizeSetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineVolumeSnapshotMaxSizeSetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineVolumeSnapshotMaxSizeSetRequest) ProtoMessage() {} + +func (x *EngineVolumeSnapshotMaxSizeSetRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineVolumeSnapshotMaxSizeSetRequest.ProtoReflect.Descriptor instead. +func (*EngineVolumeSnapshotMaxSizeSetRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{9} +} + +func (x *EngineVolumeSnapshotMaxSizeSetRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineVolumeSnapshotMaxSizeSetRequest) GetSize() *enginerpc.VolumeSnapshotMaxSizeSetRequest { + if x != nil { + return x.Size + } + return nil +} + +type EngineSnapshotListProxyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Disks map[string]*EngineSnapshotDiskInfo `protobuf:"bytes,1,rep,name=disks,proto3" json:"disks,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *EngineSnapshotListProxyResponse) Reset() { + *x = EngineSnapshotListProxyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineSnapshotListProxyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineSnapshotListProxyResponse) ProtoMessage() {} + +func (x *EngineSnapshotListProxyResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineSnapshotListProxyResponse.ProtoReflect.Descriptor instead. +func (*EngineSnapshotListProxyResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{10} +} + +func (x *EngineSnapshotListProxyResponse) GetDisks() map[string]*EngineSnapshotDiskInfo { + if x != nil { + return x.Disks + } + return nil +} + +type EngineSnapshotDiskInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"` + Children map[string]bool `protobuf:"bytes,3,rep,name=children,proto3" json:"children,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + Removed bool `protobuf:"varint,4,opt,name=removed,proto3" json:"removed,omitempty"` + UserCreated bool `protobuf:"varint,5,opt,name=user_created,json=userCreated,proto3" json:"user_created,omitempty"` + Created string `protobuf:"bytes,6,opt,name=created,proto3" json:"created,omitempty"` + Size string `protobuf:"bytes,7,opt,name=size,proto3" json:"size,omitempty"` + Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *EngineSnapshotDiskInfo) Reset() { + *x = EngineSnapshotDiskInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineSnapshotDiskInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineSnapshotDiskInfo) ProtoMessage() {} + +func (x *EngineSnapshotDiskInfo) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineSnapshotDiskInfo.ProtoReflect.Descriptor instead. +func (*EngineSnapshotDiskInfo) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{11} +} + +func (x *EngineSnapshotDiskInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EngineSnapshotDiskInfo) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *EngineSnapshotDiskInfo) GetChildren() map[string]bool { + if x != nil { + return x.Children + } + return nil +} + +func (x *EngineSnapshotDiskInfo) GetRemoved() bool { + if x != nil { + return x.Removed + } + return false +} + +func (x *EngineSnapshotDiskInfo) GetUserCreated() bool { + if x != nil { + return x.UserCreated + } + return false +} + +func (x *EngineSnapshotDiskInfo) GetCreated() string { + if x != nil { + return x.Created + } + return "" +} + +func (x *EngineSnapshotDiskInfo) GetSize() string { + if x != nil { + return x.Size + } + return "" +} + +func (x *EngineSnapshotDiskInfo) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +type EngineSnapshotRevertRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *EngineSnapshotRevertRequest) Reset() { + *x = EngineSnapshotRevertRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineSnapshotRevertRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineSnapshotRevertRequest) ProtoMessage() {} + +func (x *EngineSnapshotRevertRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineSnapshotRevertRequest.ProtoReflect.Descriptor instead. +func (*EngineSnapshotRevertRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{12} +} + +func (x *EngineSnapshotRevertRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineSnapshotRevertRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type EngineSnapshotPurgeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + SkipIfInProgress bool `protobuf:"varint,2,opt,name=skip_if_in_progress,json=skipIfInProgress,proto3" json:"skip_if_in_progress,omitempty"` +} + +func (x *EngineSnapshotPurgeRequest) Reset() { + *x = EngineSnapshotPurgeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineSnapshotPurgeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineSnapshotPurgeRequest) ProtoMessage() {} + +func (x *EngineSnapshotPurgeRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineSnapshotPurgeRequest.ProtoReflect.Descriptor instead. +func (*EngineSnapshotPurgeRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{13} +} + +func (x *EngineSnapshotPurgeRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineSnapshotPurgeRequest) GetSkipIfInProgress() bool { + if x != nil { + return x.SkipIfInProgress + } + return false +} + +type EngineSnapshotPurgeStatusProxyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status map[string]*enginerpc.SnapshotPurgeStatusResponse `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *EngineSnapshotPurgeStatusProxyResponse) Reset() { + *x = EngineSnapshotPurgeStatusProxyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineSnapshotPurgeStatusProxyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineSnapshotPurgeStatusProxyResponse) ProtoMessage() {} + +func (x *EngineSnapshotPurgeStatusProxyResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineSnapshotPurgeStatusProxyResponse.ProtoReflect.Descriptor instead. +func (*EngineSnapshotPurgeStatusProxyResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{14} +} + +func (x *EngineSnapshotPurgeStatusProxyResponse) GetStatus() map[string]*enginerpc.SnapshotPurgeStatusResponse { + if x != nil { + return x.Status + } + return nil +} + +type EngineSnapshotCloneRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + FromEngineAddress string `protobuf:"bytes,2,opt,name=from_engine_address,json=fromEngineAddress,proto3" json:"from_engine_address,omitempty"` + SnapshotName string `protobuf:"bytes,3,opt,name=snapshot_name,json=snapshotName,proto3" json:"snapshot_name,omitempty"` + ExportBackingImageIfExist bool `protobuf:"varint,4,opt,name=export_backing_image_if_exist,json=exportBackingImageIfExist,proto3" json:"export_backing_image_if_exist,omitempty"` + FileSyncHttpClientTimeout int32 `protobuf:"varint,5,opt,name=file_sync_http_client_timeout,json=fileSyncHttpClientTimeout,proto3" json:"file_sync_http_client_timeout,omitempty"` + FromEngineName string `protobuf:"bytes,6,opt,name=from_engine_name,json=fromEngineName,proto3" json:"from_engine_name,omitempty"` + FromVolumeName string `protobuf:"bytes,7,opt,name=from_volume_name,json=fromVolumeName,proto3" json:"from_volume_name,omitempty"` +} + +func (x *EngineSnapshotCloneRequest) Reset() { + *x = EngineSnapshotCloneRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineSnapshotCloneRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineSnapshotCloneRequest) ProtoMessage() {} + +func (x *EngineSnapshotCloneRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineSnapshotCloneRequest.ProtoReflect.Descriptor instead. +func (*EngineSnapshotCloneRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{15} +} + +func (x *EngineSnapshotCloneRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineSnapshotCloneRequest) GetFromEngineAddress() string { + if x != nil { + return x.FromEngineAddress + } + return "" +} + +func (x *EngineSnapshotCloneRequest) GetSnapshotName() string { + if x != nil { + return x.SnapshotName + } + return "" +} + +func (x *EngineSnapshotCloneRequest) GetExportBackingImageIfExist() bool { + if x != nil { + return x.ExportBackingImageIfExist + } + return false +} + +func (x *EngineSnapshotCloneRequest) GetFileSyncHttpClientTimeout() int32 { + if x != nil { + return x.FileSyncHttpClientTimeout + } + return 0 +} + +func (x *EngineSnapshotCloneRequest) GetFromEngineName() string { + if x != nil { + return x.FromEngineName + } + return "" +} + +func (x *EngineSnapshotCloneRequest) GetFromVolumeName() string { + if x != nil { + return x.FromVolumeName + } + return "" +} + +type EngineSnapshotCloneStatusProxyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status map[string]*enginerpc.SnapshotCloneStatusResponse `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *EngineSnapshotCloneStatusProxyResponse) Reset() { + *x = EngineSnapshotCloneStatusProxyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineSnapshotCloneStatusProxyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineSnapshotCloneStatusProxyResponse) ProtoMessage() {} + +func (x *EngineSnapshotCloneStatusProxyResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineSnapshotCloneStatusProxyResponse.ProtoReflect.Descriptor instead. +func (*EngineSnapshotCloneStatusProxyResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{16} +} + +func (x *EngineSnapshotCloneStatusProxyResponse) GetStatus() map[string]*enginerpc.SnapshotCloneStatusResponse { + if x != nil { + return x.Status + } + return nil +} + +type EngineSnapshotRemoveRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + Names []string `protobuf:"bytes,2,rep,name=names,proto3" json:"names,omitempty"` +} + +func (x *EngineSnapshotRemoveRequest) Reset() { + *x = EngineSnapshotRemoveRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineSnapshotRemoveRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineSnapshotRemoveRequest) ProtoMessage() {} + +func (x *EngineSnapshotRemoveRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineSnapshotRemoveRequest.ProtoReflect.Descriptor instead. +func (*EngineSnapshotRemoveRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{17} +} + +func (x *EngineSnapshotRemoveRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineSnapshotRemoveRequest) GetNames() []string { + if x != nil { + return x.Names + } + return nil +} + +type EngineSnapshotBackupRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + Envs []string `protobuf:"bytes,8,rep,name=envs,proto3" json:"envs,omitempty"` + BackupName string `protobuf:"bytes,2,opt,name=backup_name,json=backupName,proto3" json:"backup_name,omitempty"` + SnapshotName string `protobuf:"bytes,3,opt,name=snapshot_name,json=snapshotName,proto3" json:"snapshot_name,omitempty"` + BackupTarget string `protobuf:"bytes,4,opt,name=backup_target,json=backupTarget,proto3" json:"backup_target,omitempty"` + BackingImageName string `protobuf:"bytes,5,opt,name=backing_image_name,json=backingImageName,proto3" json:"backing_image_name,omitempty"` + BackingImageChecksum string `protobuf:"bytes,6,opt,name=backing_image_checksum,json=backingImageChecksum,proto3" json:"backing_image_checksum,omitempty"` + Labels map[string]string `protobuf:"bytes,7,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + CompressionMethod string `protobuf:"bytes,9,opt,name=compression_method,json=compressionMethod,proto3" json:"compression_method,omitempty"` + ConcurrentLimit int32 `protobuf:"varint,10,opt,name=concurrent_limit,json=concurrentLimit,proto3" json:"concurrent_limit,omitempty"` + StorageClassName string `protobuf:"bytes,11,opt,name=storage_class_name,json=storageClassName,proto3" json:"storage_class_name,omitempty"` +} + +func (x *EngineSnapshotBackupRequest) Reset() { + *x = EngineSnapshotBackupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineSnapshotBackupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineSnapshotBackupRequest) ProtoMessage() {} + +func (x *EngineSnapshotBackupRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineSnapshotBackupRequest.ProtoReflect.Descriptor instead. +func (*EngineSnapshotBackupRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{18} +} + +func (x *EngineSnapshotBackupRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineSnapshotBackupRequest) GetEnvs() []string { + if x != nil { + return x.Envs + } + return nil +} + +func (x *EngineSnapshotBackupRequest) GetBackupName() string { + if x != nil { + return x.BackupName + } + return "" +} + +func (x *EngineSnapshotBackupRequest) GetSnapshotName() string { + if x != nil { + return x.SnapshotName + } + return "" +} + +func (x *EngineSnapshotBackupRequest) GetBackupTarget() string { + if x != nil { + return x.BackupTarget + } + return "" +} + +func (x *EngineSnapshotBackupRequest) GetBackingImageName() string { + if x != nil { + return x.BackingImageName + } + return "" +} + +func (x *EngineSnapshotBackupRequest) GetBackingImageChecksum() string { + if x != nil { + return x.BackingImageChecksum + } + return "" +} + +func (x *EngineSnapshotBackupRequest) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *EngineSnapshotBackupRequest) GetCompressionMethod() string { + if x != nil { + return x.CompressionMethod + } + return "" +} + +func (x *EngineSnapshotBackupRequest) GetConcurrentLimit() int32 { + if x != nil { + return x.ConcurrentLimit + } + return 0 +} + +func (x *EngineSnapshotBackupRequest) GetStorageClassName() string { + if x != nil { + return x.StorageClassName + } + return "" +} + +type EngineSnapshotBackupProxyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BackupId string `protobuf:"bytes,1,opt,name=backup_id,json=backupId,proto3" json:"backup_id,omitempty"` + Replica string `protobuf:"bytes,2,opt,name=replica,proto3" json:"replica,omitempty"` + IsIncremental bool `protobuf:"varint,3,opt,name=is_incremental,json=isIncremental,proto3" json:"is_incremental,omitempty"` +} + +func (x *EngineSnapshotBackupProxyResponse) Reset() { + *x = EngineSnapshotBackupProxyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineSnapshotBackupProxyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineSnapshotBackupProxyResponse) ProtoMessage() {} + +func (x *EngineSnapshotBackupProxyResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineSnapshotBackupProxyResponse.ProtoReflect.Descriptor instead. +func (*EngineSnapshotBackupProxyResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{19} +} + +func (x *EngineSnapshotBackupProxyResponse) GetBackupId() string { + if x != nil { + return x.BackupId + } + return "" +} + +func (x *EngineSnapshotBackupProxyResponse) GetReplica() string { + if x != nil { + return x.Replica + } + return "" +} + +func (x *EngineSnapshotBackupProxyResponse) GetIsIncremental() bool { + if x != nil { + return x.IsIncremental + } + return false +} + +type EngineSnapshotBackupStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + BackupName string `protobuf:"bytes,2,opt,name=backup_name,json=backupName,proto3" json:"backup_name,omitempty"` + ReplicaAddress string `protobuf:"bytes,3,opt,name=replica_address,json=replicaAddress,proto3" json:"replica_address,omitempty"` + ReplicaName string `protobuf:"bytes,4,opt,name=replica_name,json=replicaName,proto3" json:"replica_name,omitempty"` +} + +func (x *EngineSnapshotBackupStatusRequest) Reset() { + *x = EngineSnapshotBackupStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineSnapshotBackupStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineSnapshotBackupStatusRequest) ProtoMessage() {} + +func (x *EngineSnapshotBackupStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineSnapshotBackupStatusRequest.ProtoReflect.Descriptor instead. +func (*EngineSnapshotBackupStatusRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{20} +} + +func (x *EngineSnapshotBackupStatusRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineSnapshotBackupStatusRequest) GetBackupName() string { + if x != nil { + return x.BackupName + } + return "" +} + +func (x *EngineSnapshotBackupStatusRequest) GetReplicaAddress() string { + if x != nil { + return x.ReplicaAddress + } + return "" +} + +func (x *EngineSnapshotBackupStatusRequest) GetReplicaName() string { + if x != nil { + return x.ReplicaName + } + return "" +} + +type EngineSnapshotBackupStatusProxyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BackupUrl string `protobuf:"bytes,1,opt,name=backup_url,json=backupUrl,proto3" json:"backup_url,omitempty"` + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` + Progress int32 `protobuf:"varint,3,opt,name=progress,proto3" json:"progress,omitempty"` + SnapshotName string `protobuf:"bytes,4,opt,name=snapshot_name,json=snapshotName,proto3" json:"snapshot_name,omitempty"` + State string `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` + ReplicaAddress string `protobuf:"bytes,6,opt,name=replica_address,json=replicaAddress,proto3" json:"replica_address,omitempty"` +} + +func (x *EngineSnapshotBackupStatusProxyResponse) Reset() { + *x = EngineSnapshotBackupStatusProxyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineSnapshotBackupStatusProxyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineSnapshotBackupStatusProxyResponse) ProtoMessage() {} + +func (x *EngineSnapshotBackupStatusProxyResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineSnapshotBackupStatusProxyResponse.ProtoReflect.Descriptor instead. +func (*EngineSnapshotBackupStatusProxyResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{21} +} + +func (x *EngineSnapshotBackupStatusProxyResponse) GetBackupUrl() string { + if x != nil { + return x.BackupUrl + } + return "" +} + +func (x *EngineSnapshotBackupStatusProxyResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *EngineSnapshotBackupStatusProxyResponse) GetProgress() int32 { + if x != nil { + return x.Progress + } + return 0 +} + +func (x *EngineSnapshotBackupStatusProxyResponse) GetSnapshotName() string { + if x != nil { + return x.SnapshotName + } + return "" +} + +func (x *EngineSnapshotBackupStatusProxyResponse) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *EngineSnapshotBackupStatusProxyResponse) GetReplicaAddress() string { + if x != nil { + return x.ReplicaAddress + } + return "" +} + +type EngineBackupRestoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + Envs []string `protobuf:"bytes,2,rep,name=envs,proto3" json:"envs,omitempty"` + Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` + Target string `protobuf:"bytes,4,opt,name=target,proto3" json:"target,omitempty"` + VolumeName string `protobuf:"bytes,5,opt,name=volume_name,json=volumeName,proto3" json:"volume_name,omitempty"` + ConcurrentLimit int32 `protobuf:"varint,6,opt,name=concurrent_limit,json=concurrentLimit,proto3" json:"concurrent_limit,omitempty"` +} + +func (x *EngineBackupRestoreRequest) Reset() { + *x = EngineBackupRestoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineBackupRestoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineBackupRestoreRequest) ProtoMessage() {} + +func (x *EngineBackupRestoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineBackupRestoreRequest.ProtoReflect.Descriptor instead. +func (*EngineBackupRestoreRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{22} +} + +func (x *EngineBackupRestoreRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineBackupRestoreRequest) GetEnvs() []string { + if x != nil { + return x.Envs + } + return nil +} + +func (x *EngineBackupRestoreRequest) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *EngineBackupRestoreRequest) GetTarget() string { + if x != nil { + return x.Target + } + return "" +} + +func (x *EngineBackupRestoreRequest) GetVolumeName() string { + if x != nil { + return x.VolumeName + } + return "" +} + +func (x *EngineBackupRestoreRequest) GetConcurrentLimit() int32 { + if x != nil { + return x.ConcurrentLimit + } + return 0 +} + +type EngineBackupRestoreProxyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TaskError []byte `protobuf:"bytes,1,opt,name=taskError,proto3" json:"taskError,omitempty"` +} + +func (x *EngineBackupRestoreProxyResponse) Reset() { + *x = EngineBackupRestoreProxyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineBackupRestoreProxyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineBackupRestoreProxyResponse) ProtoMessage() {} + +func (x *EngineBackupRestoreProxyResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineBackupRestoreProxyResponse.ProtoReflect.Descriptor instead. +func (*EngineBackupRestoreProxyResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{23} +} + +func (x *EngineBackupRestoreProxyResponse) GetTaskError() []byte { + if x != nil { + return x.TaskError + } + return nil +} + +type EngineBackupRestoreStatusProxyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status map[string]*EngineBackupRestoreStatus `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *EngineBackupRestoreStatusProxyResponse) Reset() { + *x = EngineBackupRestoreStatusProxyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineBackupRestoreStatusProxyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineBackupRestoreStatusProxyResponse) ProtoMessage() {} + +func (x *EngineBackupRestoreStatusProxyResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineBackupRestoreStatusProxyResponse.ProtoReflect.Descriptor instead. +func (*EngineBackupRestoreStatusProxyResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{24} +} + +func (x *EngineBackupRestoreStatusProxyResponse) GetStatus() map[string]*EngineBackupRestoreStatus { + if x != nil { + return x.Status + } + return nil +} + +type EngineBackupRestoreStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsRestoring bool `protobuf:"varint,1,opt,name=is_restoring,json=isRestoring,proto3" json:"is_restoring,omitempty"` + LastRestored string `protobuf:"bytes,2,opt,name=last_restored,json=lastRestored,proto3" json:"last_restored,omitempty"` + CurrentRestoringBackup string `protobuf:"bytes,3,opt,name=current_restoring_backup,json=currentRestoringBackup,proto3" json:"current_restoring_backup,omitempty"` + Progress int32 `protobuf:"varint,4,opt,name=progress,proto3" json:"progress,omitempty"` + Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"` + Filename string `protobuf:"bytes,6,opt,name=filename,proto3" json:"filename,omitempty"` + State string `protobuf:"bytes,7,opt,name=state,proto3" json:"state,omitempty"` + BackupUrl string `protobuf:"bytes,8,opt,name=backup_url,json=backupUrl,proto3" json:"backup_url,omitempty"` +} + +func (x *EngineBackupRestoreStatus) Reset() { + *x = EngineBackupRestoreStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineBackupRestoreStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineBackupRestoreStatus) ProtoMessage() {} + +func (x *EngineBackupRestoreStatus) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineBackupRestoreStatus.ProtoReflect.Descriptor instead. +func (*EngineBackupRestoreStatus) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{25} +} + +func (x *EngineBackupRestoreStatus) GetIsRestoring() bool { + if x != nil { + return x.IsRestoring + } + return false +} + +func (x *EngineBackupRestoreStatus) GetLastRestored() string { + if x != nil { + return x.LastRestored + } + return "" +} + +func (x *EngineBackupRestoreStatus) GetCurrentRestoringBackup() string { + if x != nil { + return x.CurrentRestoringBackup + } + return "" +} + +func (x *EngineBackupRestoreStatus) GetProgress() int32 { + if x != nil { + return x.Progress + } + return 0 +} + +func (x *EngineBackupRestoreStatus) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *EngineBackupRestoreStatus) GetFilename() string { + if x != nil { + return x.Filename + } + return "" +} + +func (x *EngineBackupRestoreStatus) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *EngineBackupRestoreStatus) GetBackupUrl() string { + if x != nil { + return x.BackupUrl + } + return "" +} + +type EngineBackupRestoreFinishRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` +} + +func (x *EngineBackupRestoreFinishRequest) Reset() { + *x = EngineBackupRestoreFinishRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineBackupRestoreFinishRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineBackupRestoreFinishRequest) ProtoMessage() {} + +func (x *EngineBackupRestoreFinishRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineBackupRestoreFinishRequest.ProtoReflect.Descriptor instead. +func (*EngineBackupRestoreFinishRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{26} +} + +func (x *EngineBackupRestoreFinishRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +type EngineReplicaAddRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + ReplicaAddress string `protobuf:"bytes,2,opt,name=replica_address,json=replicaAddress,proto3" json:"replica_address,omitempty"` + Restore bool `protobuf:"varint,3,opt,name=restore,proto3" json:"restore,omitempty"` + Size int64 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"` + CurrentSize int64 `protobuf:"varint,5,opt,name=current_size,json=currentSize,proto3" json:"current_size,omitempty"` + FastSync bool `protobuf:"varint,6,opt,name=fast_sync,json=fastSync,proto3" json:"fast_sync,omitempty"` + FileSyncHttpClientTimeout int32 `protobuf:"varint,7,opt,name=file_sync_http_client_timeout,json=fileSyncHttpClientTimeout,proto3" json:"file_sync_http_client_timeout,omitempty"` + ReplicaName string `protobuf:"bytes,8,opt,name=replica_name,json=replicaName,proto3" json:"replica_name,omitempty"` +} + +func (x *EngineReplicaAddRequest) Reset() { + *x = EngineReplicaAddRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineReplicaAddRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineReplicaAddRequest) ProtoMessage() {} + +func (x *EngineReplicaAddRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineReplicaAddRequest.ProtoReflect.Descriptor instead. +func (*EngineReplicaAddRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{27} +} + +func (x *EngineReplicaAddRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineReplicaAddRequest) GetReplicaAddress() string { + if x != nil { + return x.ReplicaAddress + } + return "" +} + +func (x *EngineReplicaAddRequest) GetRestore() bool { + if x != nil { + return x.Restore + } + return false +} + +func (x *EngineReplicaAddRequest) GetSize() int64 { + if x != nil { + return x.Size + } + return 0 +} + +func (x *EngineReplicaAddRequest) GetCurrentSize() int64 { + if x != nil { + return x.CurrentSize + } + return 0 +} + +func (x *EngineReplicaAddRequest) GetFastSync() bool { + if x != nil { + return x.FastSync + } + return false +} + +func (x *EngineReplicaAddRequest) GetFileSyncHttpClientTimeout() int32 { + if x != nil { + return x.FileSyncHttpClientTimeout + } + return 0 +} + +func (x *EngineReplicaAddRequest) GetReplicaName() string { + if x != nil { + return x.ReplicaName + } + return "" +} + +type EngineReplicaListProxyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReplicaList *enginerpc.ReplicaListReply `protobuf:"bytes,1,opt,name=replica_list,json=replicaList,proto3" json:"replica_list,omitempty"` +} + +func (x *EngineReplicaListProxyResponse) Reset() { + *x = EngineReplicaListProxyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineReplicaListProxyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineReplicaListProxyResponse) ProtoMessage() {} + +func (x *EngineReplicaListProxyResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineReplicaListProxyResponse.ProtoReflect.Descriptor instead. +func (*EngineReplicaListProxyResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{28} +} + +func (x *EngineReplicaListProxyResponse) GetReplicaList() *enginerpc.ReplicaListReply { + if x != nil { + return x.ReplicaList + } + return nil +} + +type EngineReplicaVerifyRebuildRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + ReplicaAddress string `protobuf:"bytes,2,opt,name=replica_address,json=replicaAddress,proto3" json:"replica_address,omitempty"` + ReplicaName string `protobuf:"bytes,3,opt,name=replica_name,json=replicaName,proto3" json:"replica_name,omitempty"` +} + +func (x *EngineReplicaVerifyRebuildRequest) Reset() { + *x = EngineReplicaVerifyRebuildRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineReplicaVerifyRebuildRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineReplicaVerifyRebuildRequest) ProtoMessage() {} + +func (x *EngineReplicaVerifyRebuildRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineReplicaVerifyRebuildRequest.ProtoReflect.Descriptor instead. +func (*EngineReplicaVerifyRebuildRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{29} +} + +func (x *EngineReplicaVerifyRebuildRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineReplicaVerifyRebuildRequest) GetReplicaAddress() string { + if x != nil { + return x.ReplicaAddress + } + return "" +} + +func (x *EngineReplicaVerifyRebuildRequest) GetReplicaName() string { + if x != nil { + return x.ReplicaName + } + return "" +} + +type EngineReplicaRebuildStatusProxyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status map[string]*enginerpc.ReplicaRebuildStatusResponse `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *EngineReplicaRebuildStatusProxyResponse) Reset() { + *x = EngineReplicaRebuildStatusProxyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineReplicaRebuildStatusProxyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineReplicaRebuildStatusProxyResponse) ProtoMessage() {} + +func (x *EngineReplicaRebuildStatusProxyResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineReplicaRebuildStatusProxyResponse.ProtoReflect.Descriptor instead. +func (*EngineReplicaRebuildStatusProxyResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{30} +} + +func (x *EngineReplicaRebuildStatusProxyResponse) GetStatus() map[string]*enginerpc.ReplicaRebuildStatusResponse { + if x != nil { + return x.Status + } + return nil +} + +type EngineReplicaRemoveRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + ReplicaAddress string `protobuf:"bytes,2,opt,name=replica_address,json=replicaAddress,proto3" json:"replica_address,omitempty"` + ReplicaName string `protobuf:"bytes,3,opt,name=replica_name,json=replicaName,proto3" json:"replica_name,omitempty"` +} + +func (x *EngineReplicaRemoveRequest) Reset() { + *x = EngineReplicaRemoveRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineReplicaRemoveRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineReplicaRemoveRequest) ProtoMessage() {} + +func (x *EngineReplicaRemoveRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineReplicaRemoveRequest.ProtoReflect.Descriptor instead. +func (*EngineReplicaRemoveRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{31} +} + +func (x *EngineReplicaRemoveRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineReplicaRemoveRequest) GetReplicaAddress() string { + if x != nil { + return x.ReplicaAddress + } + return "" +} + +func (x *EngineReplicaRemoveRequest) GetReplicaName() string { + if x != nil { + return x.ReplicaName + } + return "" +} + +type EngineReplicaModeUpdateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + ReplicaAddress string `protobuf:"bytes,2,opt,name=replica_address,json=replicaAddress,proto3" json:"replica_address,omitempty"` + Mode enginerpc.ReplicaMode `protobuf:"varint,3,opt,name=mode,proto3,enum=pkg.enginerpc.ReplicaMode" json:"mode,omitempty"` +} + +func (x *EngineReplicaModeUpdateRequest) Reset() { + *x = EngineReplicaModeUpdateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineReplicaModeUpdateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineReplicaModeUpdateRequest) ProtoMessage() {} + +func (x *EngineReplicaModeUpdateRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineReplicaModeUpdateRequest.ProtoReflect.Descriptor instead. +func (*EngineReplicaModeUpdateRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{32} +} + +func (x *EngineReplicaModeUpdateRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineReplicaModeUpdateRequest) GetReplicaAddress() string { + if x != nil { + return x.ReplicaAddress + } + return "" +} + +func (x *EngineReplicaModeUpdateRequest) GetMode() enginerpc.ReplicaMode { + if x != nil { + return x.Mode + } + return enginerpc.ReplicaMode(0) +} + +type EngineSnapshotHashRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + SnapshotName string `protobuf:"bytes,2,opt,name=snapshot_name,json=snapshotName,proto3" json:"snapshot_name,omitempty"` + Rehash bool `protobuf:"varint,3,opt,name=rehash,proto3" json:"rehash,omitempty"` +} + +func (x *EngineSnapshotHashRequest) Reset() { + *x = EngineSnapshotHashRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineSnapshotHashRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineSnapshotHashRequest) ProtoMessage() {} + +func (x *EngineSnapshotHashRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineSnapshotHashRequest.ProtoReflect.Descriptor instead. +func (*EngineSnapshotHashRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{33} +} + +func (x *EngineSnapshotHashRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineSnapshotHashRequest) GetSnapshotName() string { + if x != nil { + return x.SnapshotName + } + return "" +} + +func (x *EngineSnapshotHashRequest) GetRehash() bool { + if x != nil { + return x.Rehash + } + return false +} + +type EngineSnapshotHashStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxyEngineRequest *ProxyEngineRequest `protobuf:"bytes,1,opt,name=proxy_engine_request,json=proxyEngineRequest,proto3" json:"proxy_engine_request,omitempty"` + SnapshotName string `protobuf:"bytes,2,opt,name=snapshot_name,json=snapshotName,proto3" json:"snapshot_name,omitempty"` +} + +func (x *EngineSnapshotHashStatusRequest) Reset() { + *x = EngineSnapshotHashStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineSnapshotHashStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineSnapshotHashStatusRequest) ProtoMessage() {} + +func (x *EngineSnapshotHashStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineSnapshotHashStatusRequest.ProtoReflect.Descriptor instead. +func (*EngineSnapshotHashStatusRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{34} +} + +func (x *EngineSnapshotHashStatusRequest) GetProxyEngineRequest() *ProxyEngineRequest { + if x != nil { + return x.ProxyEngineRequest + } + return nil +} + +func (x *EngineSnapshotHashStatusRequest) GetSnapshotName() string { + if x != nil { + return x.SnapshotName + } + return "" +} + +type EngineSnapshotHashStatusProxyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status map[string]*enginerpc.SnapshotHashStatusResponse `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *EngineSnapshotHashStatusProxyResponse) Reset() { + *x = EngineSnapshotHashStatusProxyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineSnapshotHashStatusProxyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineSnapshotHashStatusProxyResponse) ProtoMessage() {} + +func (x *EngineSnapshotHashStatusProxyResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineSnapshotHashStatusProxyResponse.ProtoReflect.Descriptor instead. +func (*EngineSnapshotHashStatusProxyResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{35} +} + +func (x *EngineSnapshotHashStatusProxyResponse) GetStatus() map[string]*enginerpc.SnapshotHashStatusResponse { + if x != nil { + return x.Status + } + return nil +} + +type EngineMetricsGetProxyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Metrics *enginerpc.Metrics `protobuf:"bytes,1,opt,name=metrics,proto3" json:"metrics,omitempty"` +} + +func (x *EngineMetricsGetProxyResponse) Reset() { + *x = EngineMetricsGetProxyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EngineMetricsGetProxyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EngineMetricsGetProxyResponse) ProtoMessage() {} + +func (x *EngineMetricsGetProxyResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EngineMetricsGetProxyResponse.ProtoReflect.Descriptor instead. +func (*EngineMetricsGetProxyResponse) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{36} +} + +func (x *EngineMetricsGetProxyResponse) GetMetrics() *enginerpc.Metrics { + if x != nil { + return x.Metrics + } + return nil +} + +type RemountVolumeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + VolumeName string `protobuf:"bytes,1,opt,name=volume_name,json=volumeName,proto3" json:"volume_name,omitempty"` +} + +func (x *RemountVolumeRequest) Reset() { + *x = RemountVolumeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemountVolumeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemountVolumeRequest) ProtoMessage() {} + +func (x *RemountVolumeRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_imrpc_proxy_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemountVolumeRequest.ProtoReflect.Descriptor instead. +func (*RemountVolumeRequest) Descriptor() ([]byte, []int) { + return file_pkg_imrpc_proxy_proto_rawDescGZIP(), []int{37} +} + +func (x *RemountVolumeRequest) GetVolumeName() string { + if x != nil { + return x.VolumeName + } + return "" +} + +var File_pkg_imrpc_proxy_proto protoreflect.FileDescriptor + +var file_pkg_imrpc_proxy_proto_rawDesc = []byte{ + 0x0a, 0x15, 0x70, 0x6b, 0x67, 0x2f, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1e, 0x70, 0x6b, 0x67, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2f, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1d, 0x70, 0x6b, 0x67, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2f, 0x73, + 0x79, 0x6e, 0x63, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, + 0x70, 0x6b, 0x67, 0x2f, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x14, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, + 0x69, 0x76, 0x65, 0x72, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x36, + 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x22, 0x54, 0x0a, 0x1a, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x4d, 0x0a, 0x1c, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x06, + 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x19, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x61, + 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, + 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x65, 0x78, + 0x70, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x06, + 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x22, 0xc5, 0x01, 0x0a, 0x20, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x0e, + 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x0d, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x22, 0xbd, + 0x01, 0x0a, 0x1b, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, + 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x4d, 0x0a, 0x0f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x76, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0e, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x22, 0x63, + 0x0a, 0x21, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x22, 0xe4, 0x01, 0x0a, 0x2f, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x53, 0x6e, 0x61, + 0x70, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x60, 0x0a, 0x0f, 0x75, 0x6e, 0x6d, 0x61, + 0x70, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x38, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, + 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x4d, 0x61, 0x72, + 0x6b, 0x53, 0x6e, 0x61, 0x70, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x75, 0x6e, 0x6d, + 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x53, 0x6e, 0x61, 0x70, 0x22, 0xc0, 0x01, 0x0a, 0x26, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xbc, 0x01, + 0x0a, 0x25, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0xcb, 0x01, 0x0a, + 0x1f, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4b, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x35, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x6b, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x1a, 0x5b, 0x0a, + 0x0a, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x37, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbb, 0x03, 0x0a, 0x16, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x44, 0x69, 0x73, + 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x4b, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x44, 0x69, + 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x18, + 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x75, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x1a, 0x3b, 0x0a, 0x0d, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, + 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x82, 0x01, 0x0a, 0x1b, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x76, 0x65, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9c, 0x01, + 0x0a, 0x1a, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x50, 0x75, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, + 0x13, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x6b, 0x69, 0x70, + 0x49, 0x66, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0xe6, 0x01, 0x0a, + 0x26, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, + 0x75, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, + 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x50, 0x75, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x65, + 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x40, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x75, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9a, 0x03, 0x0a, 0x1a, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x66, 0x72, 0x6f, 0x6d, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x1d, 0x65, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x19, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x1d, + 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x19, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x48, 0x74, 0x74, + 0x70, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x28, + 0x0a, 0x10, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x72, 0x6f, 0x6d, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x72, 0x6f, 0x6d, + 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x66, 0x72, 0x6f, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0xe6, 0x01, 0x0a, 0x26, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x1a, 0x65, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, + 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x84, 0x01, 0x0a, 0x1b, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x22, 0xe0, 0x04, 0x0a, 0x1b, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x34, 0x0a, 0x16, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x14, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x4a, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6f, 0x6e, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x12, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x81, 0x01, 0x0a, 0x21, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x49, 0x6e, + 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x22, 0xe1, 0x01, 0x0a, 0x21, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x4f, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xde, 0x01, + 0x0a, 0x27, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xf7, + 0x01, 0x0a, 0x1a, 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, 0x12, 0x4f, 0x0a, + 0x14, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x65, 0x6e, + 0x76, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, + 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, + 0x10, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x40, 0x0a, 0x20, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x61, 0x73, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x09, 0x74, 0x61, 0x73, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xe0, 0x01, 0x0a, 0x26, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x5f, 0x0a, 0x0b, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3a, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa0, 0x02, + 0x0a, 0x19, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, + 0x73, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x69, 0x73, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x23, + 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x18, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, + 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x55, 0x72, 0x6c, + 0x22, 0x73, 0x0a, 0x20, 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, 0x12, 0x4f, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xe6, 0x02, 0x0a, 0x17, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x66, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x66, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x40, 0x0a, 0x1d, 0x66, 0x69, 0x6c, + 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x19, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x64, + 0x0a, 0x1e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x42, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x4c, 0x69, 0x73, 0x74, 0x22, 0xc0, 0x01, 0x0a, 0x21, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, + 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xe9, 0x01, 0x0a, 0x27, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x66, 0x0a, 0x0b, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xb9, 0x01, 0x0a, 0x1a, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0xca, 0x01, 0x0a, 0x1e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x04, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xa9, 0x01, 0x0a, + 0x19, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, + 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, + 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x72, 0x65, 0x68, 0x61, 0x73, 0x68, 0x22, 0x97, 0x01, 0x0a, 0x1f, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x14, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0xe3, 0x01, 0x0a, 0x25, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x1a, 0x64, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x51, 0x0a, 0x1d, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x37, 0x0a, 0x14, 0x52, + 0x65, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x32, 0xb9, 0x17, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x10, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x12, + 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x09, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x47, + 0x65, 0x74, 0x12, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x56, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x12, 0x24, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x61, 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, 0x5a, 0x0a, 0x13, 0x56, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, + 0x2b, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, + 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, 0x4f, 0x0a, 0x16, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x46, 0x72, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x1d, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 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, 0x78, 0x0a, 0x22, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x55, + 0x6e, 0x6d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x53, 0x6e, 0x61, 0x70, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x53, 0x65, 0x74, 0x12, 0x3a, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x53, 0x6e, 0x61, + 0x70, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x53, 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, + 0x66, 0x0a, 0x19, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x53, 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, 0x64, 0x0a, 0x18, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, + 0x53, 0x65, 0x74, 0x12, 0x30, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x53, 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, 0x66, 0x0a, + 0x0e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, + 0x26, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, + 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, + 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x50, 0x0a, 0x0e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x76, 0x65, + 0x72, 0x74, 0x12, 0x26, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x76, + 0x65, 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, 0x4e, 0x0a, 0x0d, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x75, + 0x72, 0x67, 0x65, 0x12, 0x25, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x75, + 0x72, 0x67, 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, 0x67, 0x0a, 0x13, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x75, + 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, + 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x50, 0x75, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0d, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x12, 0x25, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 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, 0x67, 0x0a, 0x13, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x6f, 0x6e, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x26, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 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, 0x4c, 0x0a, 0x0c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x48, 0x61, 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, 0x12, 0x72, 0x0a, 0x12, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0e, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x26, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x78, 0x0a, 0x14, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, + 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x42, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x25, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x69, 0x6d, 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, 0x2b, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x67, 0x0a, 0x13, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, + 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x13, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, + 0x2b, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 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, 0x12, 0x4a, 0x0a, 0x18, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 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, 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, 0x0a, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x41, 0x64, 0x64, 0x12, 0x22, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 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, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x57, 0x0a, 0x0b, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, + 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x17, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5c, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x2c, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 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, + 0x4e, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x12, 0x25, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x6d, 0x6f, 0x76, 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, + 0x56, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, + 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x4d, 0x6f, + 0x64, 0x65, 0x55, 0x70, 0x64, 0x61, 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, 0x55, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x47, 0x65, 0x74, 0x12, 0x1d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, 0x72, 0x70, 0x63, + 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, + 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, + 0x79, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x69, 0x6d, + 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x6f, 0x6c, 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, + 0x42, 0x25, 0x5a, 0x23, 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, 0x69, 0x6d, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_imrpc_proxy_proto_rawDescOnce sync.Once + file_pkg_imrpc_proxy_proto_rawDescData = file_pkg_imrpc_proxy_proto_rawDesc +) + +func file_pkg_imrpc_proxy_proto_rawDescGZIP() []byte { + file_pkg_imrpc_proxy_proto_rawDescOnce.Do(func() { + file_pkg_imrpc_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_imrpc_proxy_proto_rawDescData) + }) + return file_pkg_imrpc_proxy_proto_rawDescData +} + +var file_pkg_imrpc_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 47) +var file_pkg_imrpc_proxy_proto_goTypes = []interface{}{ + (*ProxyEngineRequest)(nil), // 0: pkg.imrpc.ProxyEngineRequest + (*EngineVersionProxyResponse)(nil), // 1: pkg.imrpc.EngineVersionProxyResponse + (*EngineVolumeGetProxyResponse)(nil), // 2: pkg.imrpc.EngineVolumeGetProxyResponse + (*EngineVolumeExpandRequest)(nil), // 3: pkg.imrpc.EngineVolumeExpandRequest + (*EngineVolumeFrontendStartRequest)(nil), // 4: pkg.imrpc.EngineVolumeFrontendStartRequest + (*EngineVolumeSnapshotRequest)(nil), // 5: pkg.imrpc.EngineVolumeSnapshotRequest + (*EngineVolumeSnapshotProxyResponse)(nil), // 6: pkg.imrpc.EngineVolumeSnapshotProxyResponse + (*EngineVolumeUnmapMarkSnapChainRemovedSetRequest)(nil), // 7: pkg.imrpc.EngineVolumeUnmapMarkSnapChainRemovedSetRequest + (*EngineVolumeSnapshotMaxCountSetRequest)(nil), // 8: pkg.imrpc.EngineVolumeSnapshotMaxCountSetRequest + (*EngineVolumeSnapshotMaxSizeSetRequest)(nil), // 9: pkg.imrpc.EngineVolumeSnapshotMaxSizeSetRequest + (*EngineSnapshotListProxyResponse)(nil), // 10: pkg.imrpc.EngineSnapshotListProxyResponse + (*EngineSnapshotDiskInfo)(nil), // 11: pkg.imrpc.EngineSnapshotDiskInfo + (*EngineSnapshotRevertRequest)(nil), // 12: pkg.imrpc.EngineSnapshotRevertRequest + (*EngineSnapshotPurgeRequest)(nil), // 13: pkg.imrpc.EngineSnapshotPurgeRequest + (*EngineSnapshotPurgeStatusProxyResponse)(nil), // 14: pkg.imrpc.EngineSnapshotPurgeStatusProxyResponse + (*EngineSnapshotCloneRequest)(nil), // 15: pkg.imrpc.EngineSnapshotCloneRequest + (*EngineSnapshotCloneStatusProxyResponse)(nil), // 16: pkg.imrpc.EngineSnapshotCloneStatusProxyResponse + (*EngineSnapshotRemoveRequest)(nil), // 17: pkg.imrpc.EngineSnapshotRemoveRequest + (*EngineSnapshotBackupRequest)(nil), // 18: pkg.imrpc.EngineSnapshotBackupRequest + (*EngineSnapshotBackupProxyResponse)(nil), // 19: pkg.imrpc.EngineSnapshotBackupProxyResponse + (*EngineSnapshotBackupStatusRequest)(nil), // 20: pkg.imrpc.EngineSnapshotBackupStatusRequest + (*EngineSnapshotBackupStatusProxyResponse)(nil), // 21: pkg.imrpc.EngineSnapshotBackupStatusProxyResponse + (*EngineBackupRestoreRequest)(nil), // 22: pkg.imrpc.EngineBackupRestoreRequest + (*EngineBackupRestoreProxyResponse)(nil), // 23: pkg.imrpc.EngineBackupRestoreProxyResponse + (*EngineBackupRestoreStatusProxyResponse)(nil), // 24: pkg.imrpc.EngineBackupRestoreStatusProxyResponse + (*EngineBackupRestoreStatus)(nil), // 25: pkg.imrpc.EngineBackupRestoreStatus + (*EngineBackupRestoreFinishRequest)(nil), // 26: pkg.imrpc.EngineBackupRestoreFinishRequest + (*EngineReplicaAddRequest)(nil), // 27: pkg.imrpc.EngineReplicaAddRequest + (*EngineReplicaListProxyResponse)(nil), // 28: pkg.imrpc.EngineReplicaListProxyResponse + (*EngineReplicaVerifyRebuildRequest)(nil), // 29: pkg.imrpc.EngineReplicaVerifyRebuildRequest + (*EngineReplicaRebuildStatusProxyResponse)(nil), // 30: pkg.imrpc.EngineReplicaRebuildStatusProxyResponse + (*EngineReplicaRemoveRequest)(nil), // 31: pkg.imrpc.EngineReplicaRemoveRequest + (*EngineReplicaModeUpdateRequest)(nil), // 32: pkg.imrpc.EngineReplicaModeUpdateRequest + (*EngineSnapshotHashRequest)(nil), // 33: pkg.imrpc.EngineSnapshotHashRequest + (*EngineSnapshotHashStatusRequest)(nil), // 34: pkg.imrpc.EngineSnapshotHashStatusRequest + (*EngineSnapshotHashStatusProxyResponse)(nil), // 35: pkg.imrpc.EngineSnapshotHashStatusProxyResponse + (*EngineMetricsGetProxyResponse)(nil), // 36: pkg.imrpc.EngineMetricsGetProxyResponse + (*RemountVolumeRequest)(nil), // 37: pkg.imrpc.RemountVolumeRequest + nil, // 38: pkg.imrpc.EngineSnapshotListProxyResponse.DisksEntry + nil, // 39: pkg.imrpc.EngineSnapshotDiskInfo.ChildrenEntry + nil, // 40: pkg.imrpc.EngineSnapshotDiskInfo.LabelsEntry + nil, // 41: pkg.imrpc.EngineSnapshotPurgeStatusProxyResponse.StatusEntry + nil, // 42: pkg.imrpc.EngineSnapshotCloneStatusProxyResponse.StatusEntry + nil, // 43: pkg.imrpc.EngineSnapshotBackupRequest.LabelsEntry + nil, // 44: pkg.imrpc.EngineBackupRestoreStatusProxyResponse.StatusEntry + nil, // 45: pkg.imrpc.EngineReplicaRebuildStatusProxyResponse.StatusEntry + nil, // 46: pkg.imrpc.EngineSnapshotHashStatusProxyResponse.StatusEntry + (BackendStoreDriver)(0), // 47: pkg.imrpc.BackendStoreDriver + (DataEngine)(0), // 48: pkg.imrpc.DataEngine + (*enginerpc.VersionOutput)(nil), // 49: pkg.enginerpc.VersionOutput + (*enginerpc.Volume)(nil), // 50: pkg.enginerpc.Volume + (*enginerpc.VolumeExpandRequest)(nil), // 51: pkg.enginerpc.VolumeExpandRequest + (*enginerpc.VolumeFrontendStartRequest)(nil), // 52: pkg.enginerpc.VolumeFrontendStartRequest + (*enginerpc.VolumeSnapshotRequest)(nil), // 53: pkg.enginerpc.VolumeSnapshotRequest + (*enginerpc.VolumeSnapshotReply)(nil), // 54: pkg.enginerpc.VolumeSnapshotReply + (*enginerpc.VolumeUnmapMarkSnapChainRemovedSetRequest)(nil), // 55: pkg.enginerpc.VolumeUnmapMarkSnapChainRemovedSetRequest + (*enginerpc.VolumeSnapshotMaxCountSetRequest)(nil), // 56: pkg.enginerpc.VolumeSnapshotMaxCountSetRequest + (*enginerpc.VolumeSnapshotMaxSizeSetRequest)(nil), // 57: pkg.enginerpc.VolumeSnapshotMaxSizeSetRequest + (*enginerpc.ReplicaListReply)(nil), // 58: pkg.enginerpc.ReplicaListReply + (enginerpc.ReplicaMode)(0), // 59: pkg.enginerpc.ReplicaMode + (*enginerpc.Metrics)(nil), // 60: pkg.enginerpc.Metrics + (*enginerpc.SnapshotPurgeStatusResponse)(nil), // 61: pkg.enginerpc.SnapshotPurgeStatusResponse + (*enginerpc.SnapshotCloneStatusResponse)(nil), // 62: pkg.enginerpc.SnapshotCloneStatusResponse + (*enginerpc.ReplicaRebuildStatusResponse)(nil), // 63: pkg.enginerpc.ReplicaRebuildStatusResponse + (*enginerpc.SnapshotHashStatusResponse)(nil), // 64: pkg.enginerpc.SnapshotHashStatusResponse + (*emptypb.Empty)(nil), // 65: google.protobuf.Empty +} +var file_pkg_imrpc_proxy_proto_depIdxs = []int32{ + 47, // 0: pkg.imrpc.ProxyEngineRequest.backend_store_driver:type_name -> pkg.imrpc.BackendStoreDriver + 48, // 1: pkg.imrpc.ProxyEngineRequest.data_engine:type_name -> pkg.imrpc.DataEngine + 49, // 2: pkg.imrpc.EngineVersionProxyResponse.version:type_name -> pkg.enginerpc.VersionOutput + 50, // 3: pkg.imrpc.EngineVolumeGetProxyResponse.volume:type_name -> pkg.enginerpc.Volume + 0, // 4: pkg.imrpc.EngineVolumeExpandRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 51, // 5: pkg.imrpc.EngineVolumeExpandRequest.expand:type_name -> pkg.enginerpc.VolumeExpandRequest + 0, // 6: pkg.imrpc.EngineVolumeFrontendStartRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 52, // 7: pkg.imrpc.EngineVolumeFrontendStartRequest.frontend_start:type_name -> pkg.enginerpc.VolumeFrontendStartRequest + 0, // 8: pkg.imrpc.EngineVolumeSnapshotRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 53, // 9: pkg.imrpc.EngineVolumeSnapshotRequest.snapshot_volume:type_name -> pkg.enginerpc.VolumeSnapshotRequest + 54, // 10: pkg.imrpc.EngineVolumeSnapshotProxyResponse.snapshot:type_name -> pkg.enginerpc.VolumeSnapshotReply + 0, // 11: pkg.imrpc.EngineVolumeUnmapMarkSnapChainRemovedSetRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 55, // 12: pkg.imrpc.EngineVolumeUnmapMarkSnapChainRemovedSetRequest.unmap_mark_snap:type_name -> pkg.enginerpc.VolumeUnmapMarkSnapChainRemovedSetRequest + 0, // 13: pkg.imrpc.EngineVolumeSnapshotMaxCountSetRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 56, // 14: pkg.imrpc.EngineVolumeSnapshotMaxCountSetRequest.count:type_name -> pkg.enginerpc.VolumeSnapshotMaxCountSetRequest + 0, // 15: pkg.imrpc.EngineVolumeSnapshotMaxSizeSetRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 57, // 16: pkg.imrpc.EngineVolumeSnapshotMaxSizeSetRequest.size:type_name -> pkg.enginerpc.VolumeSnapshotMaxSizeSetRequest + 38, // 17: pkg.imrpc.EngineSnapshotListProxyResponse.disks:type_name -> pkg.imrpc.EngineSnapshotListProxyResponse.DisksEntry + 39, // 18: pkg.imrpc.EngineSnapshotDiskInfo.children:type_name -> pkg.imrpc.EngineSnapshotDiskInfo.ChildrenEntry + 40, // 19: pkg.imrpc.EngineSnapshotDiskInfo.labels:type_name -> pkg.imrpc.EngineSnapshotDiskInfo.LabelsEntry + 0, // 20: pkg.imrpc.EngineSnapshotRevertRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 0, // 21: pkg.imrpc.EngineSnapshotPurgeRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 41, // 22: pkg.imrpc.EngineSnapshotPurgeStatusProxyResponse.status:type_name -> pkg.imrpc.EngineSnapshotPurgeStatusProxyResponse.StatusEntry + 0, // 23: pkg.imrpc.EngineSnapshotCloneRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 42, // 24: pkg.imrpc.EngineSnapshotCloneStatusProxyResponse.status:type_name -> pkg.imrpc.EngineSnapshotCloneStatusProxyResponse.StatusEntry + 0, // 25: pkg.imrpc.EngineSnapshotRemoveRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 0, // 26: pkg.imrpc.EngineSnapshotBackupRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 43, // 27: pkg.imrpc.EngineSnapshotBackupRequest.labels:type_name -> pkg.imrpc.EngineSnapshotBackupRequest.LabelsEntry + 0, // 28: pkg.imrpc.EngineSnapshotBackupStatusRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 0, // 29: pkg.imrpc.EngineBackupRestoreRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 44, // 30: pkg.imrpc.EngineBackupRestoreStatusProxyResponse.status:type_name -> pkg.imrpc.EngineBackupRestoreStatusProxyResponse.StatusEntry + 0, // 31: pkg.imrpc.EngineBackupRestoreFinishRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 0, // 32: pkg.imrpc.EngineReplicaAddRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 58, // 33: pkg.imrpc.EngineReplicaListProxyResponse.replica_list:type_name -> pkg.enginerpc.ReplicaListReply + 0, // 34: pkg.imrpc.EngineReplicaVerifyRebuildRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 45, // 35: pkg.imrpc.EngineReplicaRebuildStatusProxyResponse.status:type_name -> pkg.imrpc.EngineReplicaRebuildStatusProxyResponse.StatusEntry + 0, // 36: pkg.imrpc.EngineReplicaRemoveRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 0, // 37: pkg.imrpc.EngineReplicaModeUpdateRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 59, // 38: pkg.imrpc.EngineReplicaModeUpdateRequest.mode:type_name -> pkg.enginerpc.ReplicaMode + 0, // 39: pkg.imrpc.EngineSnapshotHashRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 0, // 40: pkg.imrpc.EngineSnapshotHashStatusRequest.proxy_engine_request:type_name -> pkg.imrpc.ProxyEngineRequest + 46, // 41: pkg.imrpc.EngineSnapshotHashStatusProxyResponse.status:type_name -> pkg.imrpc.EngineSnapshotHashStatusProxyResponse.StatusEntry + 60, // 42: pkg.imrpc.EngineMetricsGetProxyResponse.metrics:type_name -> pkg.enginerpc.Metrics + 11, // 43: pkg.imrpc.EngineSnapshotListProxyResponse.DisksEntry.value:type_name -> pkg.imrpc.EngineSnapshotDiskInfo + 61, // 44: pkg.imrpc.EngineSnapshotPurgeStatusProxyResponse.StatusEntry.value:type_name -> pkg.enginerpc.SnapshotPurgeStatusResponse + 62, // 45: pkg.imrpc.EngineSnapshotCloneStatusProxyResponse.StatusEntry.value:type_name -> pkg.enginerpc.SnapshotCloneStatusResponse + 25, // 46: pkg.imrpc.EngineBackupRestoreStatusProxyResponse.StatusEntry.value:type_name -> pkg.imrpc.EngineBackupRestoreStatus + 63, // 47: pkg.imrpc.EngineReplicaRebuildStatusProxyResponse.StatusEntry.value:type_name -> pkg.enginerpc.ReplicaRebuildStatusResponse + 64, // 48: pkg.imrpc.EngineSnapshotHashStatusProxyResponse.StatusEntry.value:type_name -> pkg.enginerpc.SnapshotHashStatusResponse + 0, // 49: pkg.imrpc.ProxyEngineService.ServerVersionGet:input_type -> pkg.imrpc.ProxyEngineRequest + 0, // 50: pkg.imrpc.ProxyEngineService.VolumeGet:input_type -> pkg.imrpc.ProxyEngineRequest + 3, // 51: pkg.imrpc.ProxyEngineService.VolumeExpand:input_type -> pkg.imrpc.EngineVolumeExpandRequest + 4, // 52: pkg.imrpc.ProxyEngineService.VolumeFrontendStart:input_type -> pkg.imrpc.EngineVolumeFrontendStartRequest + 0, // 53: pkg.imrpc.ProxyEngineService.VolumeFrontendShutdown:input_type -> pkg.imrpc.ProxyEngineRequest + 7, // 54: pkg.imrpc.ProxyEngineService.VolumeUnmapMarkSnapChainRemovedSet:input_type -> pkg.imrpc.EngineVolumeUnmapMarkSnapChainRemovedSetRequest + 8, // 55: pkg.imrpc.ProxyEngineService.VolumeSnapshotMaxCountSet:input_type -> pkg.imrpc.EngineVolumeSnapshotMaxCountSetRequest + 9, // 56: pkg.imrpc.ProxyEngineService.VolumeSnapshotMaxSizeSet:input_type -> pkg.imrpc.EngineVolumeSnapshotMaxSizeSetRequest + 5, // 57: pkg.imrpc.ProxyEngineService.VolumeSnapshot:input_type -> pkg.imrpc.EngineVolumeSnapshotRequest + 0, // 58: pkg.imrpc.ProxyEngineService.SnapshotList:input_type -> pkg.imrpc.ProxyEngineRequest + 12, // 59: pkg.imrpc.ProxyEngineService.SnapshotRevert:input_type -> pkg.imrpc.EngineSnapshotRevertRequest + 13, // 60: pkg.imrpc.ProxyEngineService.SnapshotPurge:input_type -> pkg.imrpc.EngineSnapshotPurgeRequest + 0, // 61: pkg.imrpc.ProxyEngineService.SnapshotPurgeStatus:input_type -> pkg.imrpc.ProxyEngineRequest + 15, // 62: pkg.imrpc.ProxyEngineService.SnapshotClone:input_type -> pkg.imrpc.EngineSnapshotCloneRequest + 0, // 63: pkg.imrpc.ProxyEngineService.SnapshotCloneStatus:input_type -> pkg.imrpc.ProxyEngineRequest + 17, // 64: pkg.imrpc.ProxyEngineService.SnapshotRemove:input_type -> pkg.imrpc.EngineSnapshotRemoveRequest + 33, // 65: pkg.imrpc.ProxyEngineService.SnapshotHash:input_type -> pkg.imrpc.EngineSnapshotHashRequest + 34, // 66: pkg.imrpc.ProxyEngineService.SnapshotHashStatus:input_type -> pkg.imrpc.EngineSnapshotHashStatusRequest + 18, // 67: pkg.imrpc.ProxyEngineService.SnapshotBackup:input_type -> pkg.imrpc.EngineSnapshotBackupRequest + 20, // 68: pkg.imrpc.ProxyEngineService.SnapshotBackupStatus:input_type -> pkg.imrpc.EngineSnapshotBackupStatusRequest + 22, // 69: pkg.imrpc.ProxyEngineService.BackupRestore:input_type -> pkg.imrpc.EngineBackupRestoreRequest + 0, // 70: pkg.imrpc.ProxyEngineService.BackupRestoreStatus:input_type -> pkg.imrpc.ProxyEngineRequest + 26, // 71: pkg.imrpc.ProxyEngineService.BackupRestoreFinish:input_type -> pkg.imrpc.EngineBackupRestoreFinishRequest + 65, // 72: pkg.imrpc.ProxyEngineService.CleanupBackupMountPoints:input_type -> google.protobuf.Empty + 27, // 73: pkg.imrpc.ProxyEngineService.ReplicaAdd:input_type -> pkg.imrpc.EngineReplicaAddRequest + 0, // 74: pkg.imrpc.ProxyEngineService.ReplicaList:input_type -> pkg.imrpc.ProxyEngineRequest + 0, // 75: pkg.imrpc.ProxyEngineService.ReplicaRebuildingStatus:input_type -> pkg.imrpc.ProxyEngineRequest + 29, // 76: pkg.imrpc.ProxyEngineService.ReplicaVerifyRebuild:input_type -> pkg.imrpc.EngineReplicaVerifyRebuildRequest + 31, // 77: pkg.imrpc.ProxyEngineService.ReplicaRemove:input_type -> pkg.imrpc.EngineReplicaRemoveRequest + 32, // 78: pkg.imrpc.ProxyEngineService.ReplicaModeUpdate:input_type -> pkg.imrpc.EngineReplicaModeUpdateRequest + 0, // 79: pkg.imrpc.ProxyEngineService.MetricsGet:input_type -> pkg.imrpc.ProxyEngineRequest + 37, // 80: pkg.imrpc.ProxyEngineService.RemountReadOnlyVolume:input_type -> pkg.imrpc.RemountVolumeRequest + 1, // 81: pkg.imrpc.ProxyEngineService.ServerVersionGet:output_type -> pkg.imrpc.EngineVersionProxyResponse + 2, // 82: pkg.imrpc.ProxyEngineService.VolumeGet:output_type -> pkg.imrpc.EngineVolumeGetProxyResponse + 65, // 83: pkg.imrpc.ProxyEngineService.VolumeExpand:output_type -> google.protobuf.Empty + 65, // 84: pkg.imrpc.ProxyEngineService.VolumeFrontendStart:output_type -> google.protobuf.Empty + 65, // 85: pkg.imrpc.ProxyEngineService.VolumeFrontendShutdown:output_type -> google.protobuf.Empty + 65, // 86: pkg.imrpc.ProxyEngineService.VolumeUnmapMarkSnapChainRemovedSet:output_type -> google.protobuf.Empty + 65, // 87: pkg.imrpc.ProxyEngineService.VolumeSnapshotMaxCountSet:output_type -> google.protobuf.Empty + 65, // 88: pkg.imrpc.ProxyEngineService.VolumeSnapshotMaxSizeSet:output_type -> google.protobuf.Empty + 6, // 89: pkg.imrpc.ProxyEngineService.VolumeSnapshot:output_type -> pkg.imrpc.EngineVolumeSnapshotProxyResponse + 10, // 90: pkg.imrpc.ProxyEngineService.SnapshotList:output_type -> pkg.imrpc.EngineSnapshotListProxyResponse + 65, // 91: pkg.imrpc.ProxyEngineService.SnapshotRevert:output_type -> google.protobuf.Empty + 65, // 92: pkg.imrpc.ProxyEngineService.SnapshotPurge:output_type -> google.protobuf.Empty + 14, // 93: pkg.imrpc.ProxyEngineService.SnapshotPurgeStatus:output_type -> pkg.imrpc.EngineSnapshotPurgeStatusProxyResponse + 65, // 94: pkg.imrpc.ProxyEngineService.SnapshotClone:output_type -> google.protobuf.Empty + 16, // 95: pkg.imrpc.ProxyEngineService.SnapshotCloneStatus:output_type -> pkg.imrpc.EngineSnapshotCloneStatusProxyResponse + 65, // 96: pkg.imrpc.ProxyEngineService.SnapshotRemove:output_type -> google.protobuf.Empty + 65, // 97: pkg.imrpc.ProxyEngineService.SnapshotHash:output_type -> google.protobuf.Empty + 35, // 98: pkg.imrpc.ProxyEngineService.SnapshotHashStatus:output_type -> pkg.imrpc.EngineSnapshotHashStatusProxyResponse + 19, // 99: pkg.imrpc.ProxyEngineService.SnapshotBackup:output_type -> pkg.imrpc.EngineSnapshotBackupProxyResponse + 21, // 100: pkg.imrpc.ProxyEngineService.SnapshotBackupStatus:output_type -> pkg.imrpc.EngineSnapshotBackupStatusProxyResponse + 23, // 101: pkg.imrpc.ProxyEngineService.BackupRestore:output_type -> pkg.imrpc.EngineBackupRestoreProxyResponse + 24, // 102: pkg.imrpc.ProxyEngineService.BackupRestoreStatus:output_type -> pkg.imrpc.EngineBackupRestoreStatusProxyResponse + 65, // 103: pkg.imrpc.ProxyEngineService.BackupRestoreFinish:output_type -> google.protobuf.Empty + 65, // 104: pkg.imrpc.ProxyEngineService.CleanupBackupMountPoints:output_type -> google.protobuf.Empty + 65, // 105: pkg.imrpc.ProxyEngineService.ReplicaAdd:output_type -> google.protobuf.Empty + 28, // 106: pkg.imrpc.ProxyEngineService.ReplicaList:output_type -> pkg.imrpc.EngineReplicaListProxyResponse + 30, // 107: pkg.imrpc.ProxyEngineService.ReplicaRebuildingStatus:output_type -> pkg.imrpc.EngineReplicaRebuildStatusProxyResponse + 65, // 108: pkg.imrpc.ProxyEngineService.ReplicaVerifyRebuild:output_type -> google.protobuf.Empty + 65, // 109: pkg.imrpc.ProxyEngineService.ReplicaRemove:output_type -> google.protobuf.Empty + 65, // 110: pkg.imrpc.ProxyEngineService.ReplicaModeUpdate:output_type -> google.protobuf.Empty + 36, // 111: pkg.imrpc.ProxyEngineService.MetricsGet:output_type -> pkg.imrpc.EngineMetricsGetProxyResponse + 65, // 112: pkg.imrpc.ProxyEngineService.RemountReadOnlyVolume:output_type -> google.protobuf.Empty + 81, // [81:113] is the sub-list for method output_type + 49, // [49:81] is the sub-list for method input_type + 49, // [49:49] is the sub-list for extension type_name + 49, // [49:49] is the sub-list for extension extendee + 0, // [0:49] is the sub-list for field type_name +} + +func init() { file_pkg_imrpc_proxy_proto_init() } +func file_pkg_imrpc_proxy_proto_init() { + if File_pkg_imrpc_proxy_proto != nil { + return + } + file_pkg_imrpc_common_proto_init() + if !protoimpl.UnsafeEnabled { + file_pkg_imrpc_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProxyEngineRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineVersionProxyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineVolumeGetProxyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineVolumeExpandRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineVolumeFrontendStartRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineVolumeSnapshotRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineVolumeSnapshotProxyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineVolumeUnmapMarkSnapChainRemovedSetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineVolumeSnapshotMaxCountSetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineVolumeSnapshotMaxSizeSetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineSnapshotListProxyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineSnapshotDiskInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineSnapshotRevertRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineSnapshotPurgeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineSnapshotPurgeStatusProxyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineSnapshotCloneRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineSnapshotCloneStatusProxyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineSnapshotRemoveRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineSnapshotBackupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineSnapshotBackupProxyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineSnapshotBackupStatusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineSnapshotBackupStatusProxyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineBackupRestoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineBackupRestoreProxyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineBackupRestoreStatusProxyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineBackupRestoreStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineBackupRestoreFinishRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineReplicaAddRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineReplicaListProxyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineReplicaVerifyRebuildRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineReplicaRebuildStatusProxyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineReplicaRemoveRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineReplicaModeUpdateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineSnapshotHashRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineSnapshotHashStatusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineSnapshotHashStatusProxyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EngineMetricsGetProxyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_imrpc_proxy_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemountVolumeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_imrpc_proxy_proto_rawDesc, + NumEnums: 0, + NumMessages: 47, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_pkg_imrpc_proxy_proto_goTypes, + DependencyIndexes: file_pkg_imrpc_proxy_proto_depIdxs, + MessageInfos: file_pkg_imrpc_proxy_proto_msgTypes, + }.Build() + File_pkg_imrpc_proxy_proto = out.File + file_pkg_imrpc_proxy_proto_rawDesc = nil + file_pkg_imrpc_proxy_proto_goTypes = nil + file_pkg_imrpc_proxy_proto_depIdxs = nil +} diff --git a/pkg/imrpc/proxy.proto b/pkg/imrpc/proxy.proto new file mode 100644 index 0000000..ed3769d --- /dev/null +++ b/pkg/imrpc/proxy.proto @@ -0,0 +1,299 @@ +syntax="proto3"; + +package pkg.imrpc; + +option go_package = "github.com/longhorn/types/pkg/imrpc"; + +import "google/protobuf/empty.proto"; +import "pkg/enginerpc/controller.proto"; +import "pkg/enginerpc/syncagent.proto"; +import "pkg/imrpc/common.proto"; + +service ProxyEngineService { + rpc ServerVersionGet(ProxyEngineRequest) returns (EngineVersionProxyResponse); + + rpc VolumeGet(ProxyEngineRequest) returns (EngineVolumeGetProxyResponse); + rpc VolumeExpand(EngineVolumeExpandRequest) returns (google.protobuf.Empty); + rpc VolumeFrontendStart(EngineVolumeFrontendStartRequest) returns (google.protobuf.Empty); + rpc VolumeFrontendShutdown(ProxyEngineRequest) returns (google.protobuf.Empty); + rpc VolumeUnmapMarkSnapChainRemovedSet(EngineVolumeUnmapMarkSnapChainRemovedSetRequest) returns (google.protobuf.Empty); + rpc VolumeSnapshotMaxCountSet(EngineVolumeSnapshotMaxCountSetRequest) returns (google.protobuf.Empty); + rpc VolumeSnapshotMaxSizeSet(EngineVolumeSnapshotMaxSizeSetRequest) returns (google.protobuf.Empty); + + rpc VolumeSnapshot(EngineVolumeSnapshotRequest) returns (EngineVolumeSnapshotProxyResponse); + rpc SnapshotList(ProxyEngineRequest) returns (EngineSnapshotListProxyResponse); + rpc SnapshotRevert(EngineSnapshotRevertRequest) returns (google.protobuf.Empty); + rpc SnapshotPurge(EngineSnapshotPurgeRequest) returns (google.protobuf.Empty); + rpc SnapshotPurgeStatus(ProxyEngineRequest) returns (EngineSnapshotPurgeStatusProxyResponse); + rpc SnapshotClone(EngineSnapshotCloneRequest) returns (google.protobuf.Empty); + rpc SnapshotCloneStatus(ProxyEngineRequest) returns (EngineSnapshotCloneStatusProxyResponse); + rpc SnapshotRemove(EngineSnapshotRemoveRequest) returns (google.protobuf.Empty); + rpc SnapshotHash(EngineSnapshotHashRequest) returns (google.protobuf.Empty); + rpc SnapshotHashStatus(EngineSnapshotHashStatusRequest) returns (EngineSnapshotHashStatusProxyResponse); + + rpc SnapshotBackup(EngineSnapshotBackupRequest) returns (EngineSnapshotBackupProxyResponse); + rpc SnapshotBackupStatus(EngineSnapshotBackupStatusRequest) returns (EngineSnapshotBackupStatusProxyResponse); + rpc BackupRestore(EngineBackupRestoreRequest) returns (EngineBackupRestoreProxyResponse); + rpc BackupRestoreStatus(ProxyEngineRequest) returns (EngineBackupRestoreStatusProxyResponse); + rpc BackupRestoreFinish(EngineBackupRestoreFinishRequest) returns (google.protobuf.Empty); + rpc CleanupBackupMountPoints(google.protobuf.Empty) returns (google.protobuf.Empty); + + rpc ReplicaAdd(EngineReplicaAddRequest) returns (google.protobuf.Empty); + rpc ReplicaList(ProxyEngineRequest) returns (EngineReplicaListProxyResponse); + rpc ReplicaRebuildingStatus(ProxyEngineRequest) returns (EngineReplicaRebuildStatusProxyResponse); + rpc ReplicaVerifyRebuild(EngineReplicaVerifyRebuildRequest) returns (google.protobuf.Empty); + rpc ReplicaRemove(EngineReplicaRemoveRequest) returns (google.protobuf.Empty); + rpc ReplicaModeUpdate(EngineReplicaModeUpdateRequest) returns (google.protobuf.Empty); + + rpc MetricsGet(ProxyEngineRequest) returns (EngineMetricsGetProxyResponse); + rpc RemountReadOnlyVolume(RemountVolumeRequest) returns (google.protobuf.Empty); +} + +message ProxyEngineRequest{ + string address = 1; + // Deprecated: Replaced by `data_engine`. + BackendStoreDriver backend_store_driver = 2 [deprecated=true]; + string engine_name = 3; + string volume_name = 4; + DataEngine data_engine = 5; +} + +message EngineVersionProxyResponse { + pkg.enginerpc.VersionOutput version = 1; +} + +message EngineVolumeGetProxyResponse { + pkg.enginerpc.Volume volume = 1; +} + +message EngineVolumeExpandRequest { + ProxyEngineRequest proxy_engine_request = 1; + + pkg.enginerpc.VolumeExpandRequest expand = 2; +} + +message EngineVolumeFrontendStartRequest { + ProxyEngineRequest proxy_engine_request = 1; + + pkg.enginerpc.VolumeFrontendStartRequest frontend_start = 2; +} + +message EngineVolumeSnapshotRequest { + ProxyEngineRequest proxy_engine_request = 1; + + pkg.enginerpc.VolumeSnapshotRequest snapshot_volume = 2; +} + +message EngineVolumeSnapshotProxyResponse { + pkg.enginerpc.VolumeSnapshotReply snapshot = 1; +} + +message EngineVolumeUnmapMarkSnapChainRemovedSetRequest { + ProxyEngineRequest proxy_engine_request = 1; + + pkg.enginerpc.VolumeUnmapMarkSnapChainRemovedSetRequest unmap_mark_snap = 2; +} + +message EngineVolumeSnapshotMaxCountSetRequest { + ProxyEngineRequest proxy_engine_request = 1; + + pkg.enginerpc.VolumeSnapshotMaxCountSetRequest count = 2; +} + +message EngineVolumeSnapshotMaxSizeSetRequest { + ProxyEngineRequest proxy_engine_request = 1; + + pkg.enginerpc.VolumeSnapshotMaxSizeSetRequest size = 2; +} + +message EngineSnapshotListProxyResponse { + map disks = 1; +} + +message EngineSnapshotDiskInfo { + string name = 1; + string parent = 2; + map children = 3; + bool removed = 4; + bool user_created = 5; + string created = 6; + string size = 7; + map labels = 8; +} + +message EngineSnapshotRevertRequest { + ProxyEngineRequest proxy_engine_request = 1; + + string name = 2; +} + +message EngineSnapshotPurgeRequest { + ProxyEngineRequest proxy_engine_request = 1; + + bool skip_if_in_progress = 2; +} + +message EngineSnapshotPurgeStatusProxyResponse { + map status = 1; +} + +message EngineSnapshotCloneRequest { + ProxyEngineRequest proxy_engine_request = 1; + + string from_engine_address = 2; + string snapshot_name = 3; + bool export_backing_image_if_exist = 4; + int32 file_sync_http_client_timeout = 5; + string from_engine_name = 6; + string from_volume_name = 7; +} + +message EngineSnapshotCloneStatusProxyResponse { + map status = 1; +} + +message EngineSnapshotRemoveRequest { + ProxyEngineRequest proxy_engine_request = 1; + + repeated string names = 2; +} + +message EngineSnapshotBackupRequest { + ProxyEngineRequest proxy_engine_request = 1; + + repeated string envs = 8; + + string backup_name = 2; + string snapshot_name = 3; + string backup_target = 4; + string backing_image_name = 5; + string backing_image_checksum = 6; + map labels = 7; + string compression_method = 9; + int32 concurrent_limit = 10; + string storage_class_name = 11; +} + +message EngineSnapshotBackupProxyResponse { + string backup_id = 1; + string replica = 2; + bool is_incremental = 3; +} + +message EngineSnapshotBackupStatusRequest { + ProxyEngineRequest proxy_engine_request = 1; + + string backup_name = 2; + string replica_address = 3; + string replica_name = 4; +} + +message EngineSnapshotBackupStatusProxyResponse { + string backup_url = 1; + string error = 2; + int32 progress = 3; + string snapshot_name = 4; + string state = 5; + + string replica_address = 6; +} + +message EngineBackupRestoreRequest { + ProxyEngineRequest proxy_engine_request = 1; + + repeated string envs = 2; + + string url = 3; + string target = 4; + string volume_name = 5; + int32 concurrent_limit = 6; +} + +message EngineBackupRestoreProxyResponse { + bytes taskError = 1; +} + +message EngineBackupRestoreStatusProxyResponse { + map status = 1; +} + +message EngineBackupRestoreStatus { + bool is_restoring = 1; + string last_restored = 2; + string current_restoring_backup = 3; + int32 progress = 4; + string error = 5; + string filename = 6; + string state = 7; + string backup_url = 8; +} + +message EngineBackupRestoreFinishRequest { + ProxyEngineRequest proxy_engine_request = 1; +} + +message EngineReplicaAddRequest { + ProxyEngineRequest proxy_engine_request = 1; + + string replica_address = 2; + bool restore = 3; + int64 size = 4; + int64 current_size = 5; + bool fast_sync = 6; + int32 file_sync_http_client_timeout = 7; + string replica_name = 8; +} + +message EngineReplicaListProxyResponse { + pkg.enginerpc.ReplicaListReply replica_list = 1; +} + +message EngineReplicaVerifyRebuildRequest { + ProxyEngineRequest proxy_engine_request = 1; + + string replica_address = 2; + string replica_name = 3; +} + +message EngineReplicaRebuildStatusProxyResponse { + map status = 1; +} + +message EngineReplicaRemoveRequest { + ProxyEngineRequest proxy_engine_request = 1; + + string replica_address = 2; + string replica_name = 3; +} + +message EngineReplicaModeUpdateRequest { + ProxyEngineRequest proxy_engine_request = 1; + + string replica_address = 2; + pkg.enginerpc.ReplicaMode mode = 3; +} + +message EngineSnapshotHashRequest { + ProxyEngineRequest proxy_engine_request = 1; + + string snapshot_name = 2; + bool rehash = 3; +} + +message EngineSnapshotHashStatusRequest { + ProxyEngineRequest proxy_engine_request = 1; + + string snapshot_name = 2; +} + +message EngineSnapshotHashStatusProxyResponse { + map status = 1; +} + +message EngineMetricsGetProxyResponse { + pkg.enginerpc.Metrics metrics = 1; +} + +message RemountVolumeRequest { + string volume_name = 1; +} diff --git a/pkg/imrpc/proxy_grpc.pb.go b/pkg/imrpc/proxy_grpc.pb.go new file mode 100644 index 0000000..0609b4a --- /dev/null +++ b/pkg/imrpc/proxy_grpc.pb.go @@ -0,0 +1,1257 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.24.3 +// source: pkg/imrpc/proxy.proto + +package imrpc + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + ProxyEngineService_ServerVersionGet_FullMethodName = "/pkg.imrpc.ProxyEngineService/ServerVersionGet" + ProxyEngineService_VolumeGet_FullMethodName = "/pkg.imrpc.ProxyEngineService/VolumeGet" + ProxyEngineService_VolumeExpand_FullMethodName = "/pkg.imrpc.ProxyEngineService/VolumeExpand" + ProxyEngineService_VolumeFrontendStart_FullMethodName = "/pkg.imrpc.ProxyEngineService/VolumeFrontendStart" + ProxyEngineService_VolumeFrontendShutdown_FullMethodName = "/pkg.imrpc.ProxyEngineService/VolumeFrontendShutdown" + ProxyEngineService_VolumeUnmapMarkSnapChainRemovedSet_FullMethodName = "/pkg.imrpc.ProxyEngineService/VolumeUnmapMarkSnapChainRemovedSet" + ProxyEngineService_VolumeSnapshotMaxCountSet_FullMethodName = "/pkg.imrpc.ProxyEngineService/VolumeSnapshotMaxCountSet" + ProxyEngineService_VolumeSnapshotMaxSizeSet_FullMethodName = "/pkg.imrpc.ProxyEngineService/VolumeSnapshotMaxSizeSet" + ProxyEngineService_VolumeSnapshot_FullMethodName = "/pkg.imrpc.ProxyEngineService/VolumeSnapshot" + ProxyEngineService_SnapshotList_FullMethodName = "/pkg.imrpc.ProxyEngineService/SnapshotList" + ProxyEngineService_SnapshotRevert_FullMethodName = "/pkg.imrpc.ProxyEngineService/SnapshotRevert" + ProxyEngineService_SnapshotPurge_FullMethodName = "/pkg.imrpc.ProxyEngineService/SnapshotPurge" + ProxyEngineService_SnapshotPurgeStatus_FullMethodName = "/pkg.imrpc.ProxyEngineService/SnapshotPurgeStatus" + ProxyEngineService_SnapshotClone_FullMethodName = "/pkg.imrpc.ProxyEngineService/SnapshotClone" + ProxyEngineService_SnapshotCloneStatus_FullMethodName = "/pkg.imrpc.ProxyEngineService/SnapshotCloneStatus" + ProxyEngineService_SnapshotRemove_FullMethodName = "/pkg.imrpc.ProxyEngineService/SnapshotRemove" + ProxyEngineService_SnapshotHash_FullMethodName = "/pkg.imrpc.ProxyEngineService/SnapshotHash" + ProxyEngineService_SnapshotHashStatus_FullMethodName = "/pkg.imrpc.ProxyEngineService/SnapshotHashStatus" + ProxyEngineService_SnapshotBackup_FullMethodName = "/pkg.imrpc.ProxyEngineService/SnapshotBackup" + ProxyEngineService_SnapshotBackupStatus_FullMethodName = "/pkg.imrpc.ProxyEngineService/SnapshotBackupStatus" + ProxyEngineService_BackupRestore_FullMethodName = "/pkg.imrpc.ProxyEngineService/BackupRestore" + ProxyEngineService_BackupRestoreStatus_FullMethodName = "/pkg.imrpc.ProxyEngineService/BackupRestoreStatus" + ProxyEngineService_BackupRestoreFinish_FullMethodName = "/pkg.imrpc.ProxyEngineService/BackupRestoreFinish" + ProxyEngineService_CleanupBackupMountPoints_FullMethodName = "/pkg.imrpc.ProxyEngineService/CleanupBackupMountPoints" + ProxyEngineService_ReplicaAdd_FullMethodName = "/pkg.imrpc.ProxyEngineService/ReplicaAdd" + ProxyEngineService_ReplicaList_FullMethodName = "/pkg.imrpc.ProxyEngineService/ReplicaList" + ProxyEngineService_ReplicaRebuildingStatus_FullMethodName = "/pkg.imrpc.ProxyEngineService/ReplicaRebuildingStatus" + ProxyEngineService_ReplicaVerifyRebuild_FullMethodName = "/pkg.imrpc.ProxyEngineService/ReplicaVerifyRebuild" + ProxyEngineService_ReplicaRemove_FullMethodName = "/pkg.imrpc.ProxyEngineService/ReplicaRemove" + ProxyEngineService_ReplicaModeUpdate_FullMethodName = "/pkg.imrpc.ProxyEngineService/ReplicaModeUpdate" + ProxyEngineService_MetricsGet_FullMethodName = "/pkg.imrpc.ProxyEngineService/MetricsGet" + ProxyEngineService_RemountReadOnlyVolume_FullMethodName = "/pkg.imrpc.ProxyEngineService/RemountReadOnlyVolume" +) + +// ProxyEngineServiceClient is the client API for ProxyEngineService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ProxyEngineServiceClient interface { + ServerVersionGet(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineVersionProxyResponse, error) + VolumeGet(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineVolumeGetProxyResponse, error) + VolumeExpand(ctx context.Context, in *EngineVolumeExpandRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + VolumeFrontendStart(ctx context.Context, in *EngineVolumeFrontendStartRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + VolumeFrontendShutdown(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + VolumeUnmapMarkSnapChainRemovedSet(ctx context.Context, in *EngineVolumeUnmapMarkSnapChainRemovedSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + VolumeSnapshotMaxCountSet(ctx context.Context, in *EngineVolumeSnapshotMaxCountSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + VolumeSnapshotMaxSizeSet(ctx context.Context, in *EngineVolumeSnapshotMaxSizeSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + VolumeSnapshot(ctx context.Context, in *EngineVolumeSnapshotRequest, opts ...grpc.CallOption) (*EngineVolumeSnapshotProxyResponse, error) + SnapshotList(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineSnapshotListProxyResponse, error) + SnapshotRevert(ctx context.Context, in *EngineSnapshotRevertRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + SnapshotPurge(ctx context.Context, in *EngineSnapshotPurgeRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + SnapshotPurgeStatus(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineSnapshotPurgeStatusProxyResponse, error) + SnapshotClone(ctx context.Context, in *EngineSnapshotCloneRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + SnapshotCloneStatus(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineSnapshotCloneStatusProxyResponse, error) + SnapshotRemove(ctx context.Context, in *EngineSnapshotRemoveRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + SnapshotHash(ctx context.Context, in *EngineSnapshotHashRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + SnapshotHashStatus(ctx context.Context, in *EngineSnapshotHashStatusRequest, opts ...grpc.CallOption) (*EngineSnapshotHashStatusProxyResponse, error) + SnapshotBackup(ctx context.Context, in *EngineSnapshotBackupRequest, opts ...grpc.CallOption) (*EngineSnapshotBackupProxyResponse, error) + SnapshotBackupStatus(ctx context.Context, in *EngineSnapshotBackupStatusRequest, opts ...grpc.CallOption) (*EngineSnapshotBackupStatusProxyResponse, error) + BackupRestore(ctx context.Context, in *EngineBackupRestoreRequest, opts ...grpc.CallOption) (*EngineBackupRestoreProxyResponse, error) + BackupRestoreStatus(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineBackupRestoreStatusProxyResponse, error) + BackupRestoreFinish(ctx context.Context, in *EngineBackupRestoreFinishRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + CleanupBackupMountPoints(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) + ReplicaAdd(ctx context.Context, in *EngineReplicaAddRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ReplicaList(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineReplicaListProxyResponse, error) + ReplicaRebuildingStatus(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineReplicaRebuildStatusProxyResponse, error) + ReplicaVerifyRebuild(ctx context.Context, in *EngineReplicaVerifyRebuildRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ReplicaRemove(ctx context.Context, in *EngineReplicaRemoveRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ReplicaModeUpdate(ctx context.Context, in *EngineReplicaModeUpdateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + MetricsGet(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineMetricsGetProxyResponse, error) + RemountReadOnlyVolume(ctx context.Context, in *RemountVolumeRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) +} + +type proxyEngineServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewProxyEngineServiceClient(cc grpc.ClientConnInterface) ProxyEngineServiceClient { + return &proxyEngineServiceClient{cc} +} + +func (c *proxyEngineServiceClient) ServerVersionGet(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineVersionProxyResponse, error) { + out := new(EngineVersionProxyResponse) + err := c.cc.Invoke(ctx, ProxyEngineService_ServerVersionGet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) VolumeGet(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineVolumeGetProxyResponse, error) { + out := new(EngineVolumeGetProxyResponse) + err := c.cc.Invoke(ctx, ProxyEngineService_VolumeGet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) VolumeExpand(ctx context.Context, in *EngineVolumeExpandRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_VolumeExpand_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) VolumeFrontendStart(ctx context.Context, in *EngineVolumeFrontendStartRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_VolumeFrontendStart_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) VolumeFrontendShutdown(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_VolumeFrontendShutdown_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) VolumeUnmapMarkSnapChainRemovedSet(ctx context.Context, in *EngineVolumeUnmapMarkSnapChainRemovedSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_VolumeUnmapMarkSnapChainRemovedSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) VolumeSnapshotMaxCountSet(ctx context.Context, in *EngineVolumeSnapshotMaxCountSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_VolumeSnapshotMaxCountSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) VolumeSnapshotMaxSizeSet(ctx context.Context, in *EngineVolumeSnapshotMaxSizeSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_VolumeSnapshotMaxSizeSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) VolumeSnapshot(ctx context.Context, in *EngineVolumeSnapshotRequest, opts ...grpc.CallOption) (*EngineVolumeSnapshotProxyResponse, error) { + out := new(EngineVolumeSnapshotProxyResponse) + err := c.cc.Invoke(ctx, ProxyEngineService_VolumeSnapshot_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) SnapshotList(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineSnapshotListProxyResponse, error) { + out := new(EngineSnapshotListProxyResponse) + err := c.cc.Invoke(ctx, ProxyEngineService_SnapshotList_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) SnapshotRevert(ctx context.Context, in *EngineSnapshotRevertRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_SnapshotRevert_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) SnapshotPurge(ctx context.Context, in *EngineSnapshotPurgeRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_SnapshotPurge_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) SnapshotPurgeStatus(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineSnapshotPurgeStatusProxyResponse, error) { + out := new(EngineSnapshotPurgeStatusProxyResponse) + err := c.cc.Invoke(ctx, ProxyEngineService_SnapshotPurgeStatus_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) SnapshotClone(ctx context.Context, in *EngineSnapshotCloneRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_SnapshotClone_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) SnapshotCloneStatus(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineSnapshotCloneStatusProxyResponse, error) { + out := new(EngineSnapshotCloneStatusProxyResponse) + err := c.cc.Invoke(ctx, ProxyEngineService_SnapshotCloneStatus_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) SnapshotRemove(ctx context.Context, in *EngineSnapshotRemoveRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_SnapshotRemove_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) SnapshotHash(ctx context.Context, in *EngineSnapshotHashRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_SnapshotHash_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) SnapshotHashStatus(ctx context.Context, in *EngineSnapshotHashStatusRequest, opts ...grpc.CallOption) (*EngineSnapshotHashStatusProxyResponse, error) { + out := new(EngineSnapshotHashStatusProxyResponse) + err := c.cc.Invoke(ctx, ProxyEngineService_SnapshotHashStatus_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) SnapshotBackup(ctx context.Context, in *EngineSnapshotBackupRequest, opts ...grpc.CallOption) (*EngineSnapshotBackupProxyResponse, error) { + out := new(EngineSnapshotBackupProxyResponse) + err := c.cc.Invoke(ctx, ProxyEngineService_SnapshotBackup_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) SnapshotBackupStatus(ctx context.Context, in *EngineSnapshotBackupStatusRequest, opts ...grpc.CallOption) (*EngineSnapshotBackupStatusProxyResponse, error) { + out := new(EngineSnapshotBackupStatusProxyResponse) + err := c.cc.Invoke(ctx, ProxyEngineService_SnapshotBackupStatus_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) BackupRestore(ctx context.Context, in *EngineBackupRestoreRequest, opts ...grpc.CallOption) (*EngineBackupRestoreProxyResponse, error) { + out := new(EngineBackupRestoreProxyResponse) + err := c.cc.Invoke(ctx, ProxyEngineService_BackupRestore_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) BackupRestoreStatus(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineBackupRestoreStatusProxyResponse, error) { + out := new(EngineBackupRestoreStatusProxyResponse) + err := c.cc.Invoke(ctx, ProxyEngineService_BackupRestoreStatus_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) BackupRestoreFinish(ctx context.Context, in *EngineBackupRestoreFinishRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_BackupRestoreFinish_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) CleanupBackupMountPoints(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_CleanupBackupMountPoints_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) ReplicaAdd(ctx context.Context, in *EngineReplicaAddRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_ReplicaAdd_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) ReplicaList(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineReplicaListProxyResponse, error) { + out := new(EngineReplicaListProxyResponse) + err := c.cc.Invoke(ctx, ProxyEngineService_ReplicaList_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) ReplicaRebuildingStatus(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineReplicaRebuildStatusProxyResponse, error) { + out := new(EngineReplicaRebuildStatusProxyResponse) + err := c.cc.Invoke(ctx, ProxyEngineService_ReplicaRebuildingStatus_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) ReplicaVerifyRebuild(ctx context.Context, in *EngineReplicaVerifyRebuildRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_ReplicaVerifyRebuild_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) ReplicaRemove(ctx context.Context, in *EngineReplicaRemoveRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_ReplicaRemove_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) ReplicaModeUpdate(ctx context.Context, in *EngineReplicaModeUpdateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_ReplicaModeUpdate_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) MetricsGet(ctx context.Context, in *ProxyEngineRequest, opts ...grpc.CallOption) (*EngineMetricsGetProxyResponse, error) { + out := new(EngineMetricsGetProxyResponse) + err := c.cc.Invoke(ctx, ProxyEngineService_MetricsGet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyEngineServiceClient) RemountReadOnlyVolume(ctx context.Context, in *RemountVolumeRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ProxyEngineService_RemountReadOnlyVolume_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ProxyEngineServiceServer is the server API for ProxyEngineService service. +// All implementations must embed UnimplementedProxyEngineServiceServer +// for forward compatibility +type ProxyEngineServiceServer interface { + ServerVersionGet(context.Context, *ProxyEngineRequest) (*EngineVersionProxyResponse, error) + VolumeGet(context.Context, *ProxyEngineRequest) (*EngineVolumeGetProxyResponse, error) + VolumeExpand(context.Context, *EngineVolumeExpandRequest) (*emptypb.Empty, error) + VolumeFrontendStart(context.Context, *EngineVolumeFrontendStartRequest) (*emptypb.Empty, error) + VolumeFrontendShutdown(context.Context, *ProxyEngineRequest) (*emptypb.Empty, error) + VolumeUnmapMarkSnapChainRemovedSet(context.Context, *EngineVolumeUnmapMarkSnapChainRemovedSetRequest) (*emptypb.Empty, error) + VolumeSnapshotMaxCountSet(context.Context, *EngineVolumeSnapshotMaxCountSetRequest) (*emptypb.Empty, error) + VolumeSnapshotMaxSizeSet(context.Context, *EngineVolumeSnapshotMaxSizeSetRequest) (*emptypb.Empty, error) + VolumeSnapshot(context.Context, *EngineVolumeSnapshotRequest) (*EngineVolumeSnapshotProxyResponse, error) + SnapshotList(context.Context, *ProxyEngineRequest) (*EngineSnapshotListProxyResponse, error) + SnapshotRevert(context.Context, *EngineSnapshotRevertRequest) (*emptypb.Empty, error) + SnapshotPurge(context.Context, *EngineSnapshotPurgeRequest) (*emptypb.Empty, error) + SnapshotPurgeStatus(context.Context, *ProxyEngineRequest) (*EngineSnapshotPurgeStatusProxyResponse, error) + SnapshotClone(context.Context, *EngineSnapshotCloneRequest) (*emptypb.Empty, error) + SnapshotCloneStatus(context.Context, *ProxyEngineRequest) (*EngineSnapshotCloneStatusProxyResponse, error) + SnapshotRemove(context.Context, *EngineSnapshotRemoveRequest) (*emptypb.Empty, error) + SnapshotHash(context.Context, *EngineSnapshotHashRequest) (*emptypb.Empty, error) + SnapshotHashStatus(context.Context, *EngineSnapshotHashStatusRequest) (*EngineSnapshotHashStatusProxyResponse, error) + SnapshotBackup(context.Context, *EngineSnapshotBackupRequest) (*EngineSnapshotBackupProxyResponse, error) + SnapshotBackupStatus(context.Context, *EngineSnapshotBackupStatusRequest) (*EngineSnapshotBackupStatusProxyResponse, error) + BackupRestore(context.Context, *EngineBackupRestoreRequest) (*EngineBackupRestoreProxyResponse, error) + BackupRestoreStatus(context.Context, *ProxyEngineRequest) (*EngineBackupRestoreStatusProxyResponse, error) + BackupRestoreFinish(context.Context, *EngineBackupRestoreFinishRequest) (*emptypb.Empty, error) + CleanupBackupMountPoints(context.Context, *emptypb.Empty) (*emptypb.Empty, error) + ReplicaAdd(context.Context, *EngineReplicaAddRequest) (*emptypb.Empty, error) + ReplicaList(context.Context, *ProxyEngineRequest) (*EngineReplicaListProxyResponse, error) + ReplicaRebuildingStatus(context.Context, *ProxyEngineRequest) (*EngineReplicaRebuildStatusProxyResponse, error) + ReplicaVerifyRebuild(context.Context, *EngineReplicaVerifyRebuildRequest) (*emptypb.Empty, error) + ReplicaRemove(context.Context, *EngineReplicaRemoveRequest) (*emptypb.Empty, error) + ReplicaModeUpdate(context.Context, *EngineReplicaModeUpdateRequest) (*emptypb.Empty, error) + MetricsGet(context.Context, *ProxyEngineRequest) (*EngineMetricsGetProxyResponse, error) + RemountReadOnlyVolume(context.Context, *RemountVolumeRequest) (*emptypb.Empty, error) + mustEmbedUnimplementedProxyEngineServiceServer() +} + +// UnimplementedProxyEngineServiceServer must be embedded to have forward compatible implementations. +type UnimplementedProxyEngineServiceServer struct { +} + +func (UnimplementedProxyEngineServiceServer) ServerVersionGet(context.Context, *ProxyEngineRequest) (*EngineVersionProxyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ServerVersionGet not implemented") +} +func (UnimplementedProxyEngineServiceServer) VolumeGet(context.Context, *ProxyEngineRequest) (*EngineVolumeGetProxyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeGet not implemented") +} +func (UnimplementedProxyEngineServiceServer) VolumeExpand(context.Context, *EngineVolumeExpandRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeExpand not implemented") +} +func (UnimplementedProxyEngineServiceServer) VolumeFrontendStart(context.Context, *EngineVolumeFrontendStartRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeFrontendStart not implemented") +} +func (UnimplementedProxyEngineServiceServer) VolumeFrontendShutdown(context.Context, *ProxyEngineRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeFrontendShutdown not implemented") +} +func (UnimplementedProxyEngineServiceServer) VolumeUnmapMarkSnapChainRemovedSet(context.Context, *EngineVolumeUnmapMarkSnapChainRemovedSetRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeUnmapMarkSnapChainRemovedSet not implemented") +} +func (UnimplementedProxyEngineServiceServer) VolumeSnapshotMaxCountSet(context.Context, *EngineVolumeSnapshotMaxCountSetRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeSnapshotMaxCountSet not implemented") +} +func (UnimplementedProxyEngineServiceServer) VolumeSnapshotMaxSizeSet(context.Context, *EngineVolumeSnapshotMaxSizeSetRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeSnapshotMaxSizeSet not implemented") +} +func (UnimplementedProxyEngineServiceServer) VolumeSnapshot(context.Context, *EngineVolumeSnapshotRequest) (*EngineVolumeSnapshotProxyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method VolumeSnapshot not implemented") +} +func (UnimplementedProxyEngineServiceServer) SnapshotList(context.Context, *ProxyEngineRequest) (*EngineSnapshotListProxyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotList not implemented") +} +func (UnimplementedProxyEngineServiceServer) SnapshotRevert(context.Context, *EngineSnapshotRevertRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotRevert not implemented") +} +func (UnimplementedProxyEngineServiceServer) SnapshotPurge(context.Context, *EngineSnapshotPurgeRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotPurge not implemented") +} +func (UnimplementedProxyEngineServiceServer) SnapshotPurgeStatus(context.Context, *ProxyEngineRequest) (*EngineSnapshotPurgeStatusProxyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotPurgeStatus not implemented") +} +func (UnimplementedProxyEngineServiceServer) SnapshotClone(context.Context, *EngineSnapshotCloneRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotClone not implemented") +} +func (UnimplementedProxyEngineServiceServer) SnapshotCloneStatus(context.Context, *ProxyEngineRequest) (*EngineSnapshotCloneStatusProxyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotCloneStatus not implemented") +} +func (UnimplementedProxyEngineServiceServer) SnapshotRemove(context.Context, *EngineSnapshotRemoveRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotRemove not implemented") +} +func (UnimplementedProxyEngineServiceServer) SnapshotHash(context.Context, *EngineSnapshotHashRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotHash not implemented") +} +func (UnimplementedProxyEngineServiceServer) SnapshotHashStatus(context.Context, *EngineSnapshotHashStatusRequest) (*EngineSnapshotHashStatusProxyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotHashStatus not implemented") +} +func (UnimplementedProxyEngineServiceServer) SnapshotBackup(context.Context, *EngineSnapshotBackupRequest) (*EngineSnapshotBackupProxyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotBackup not implemented") +} +func (UnimplementedProxyEngineServiceServer) SnapshotBackupStatus(context.Context, *EngineSnapshotBackupStatusRequest) (*EngineSnapshotBackupStatusProxyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SnapshotBackupStatus not implemented") +} +func (UnimplementedProxyEngineServiceServer) BackupRestore(context.Context, *EngineBackupRestoreRequest) (*EngineBackupRestoreProxyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BackupRestore not implemented") +} +func (UnimplementedProxyEngineServiceServer) BackupRestoreStatus(context.Context, *ProxyEngineRequest) (*EngineBackupRestoreStatusProxyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BackupRestoreStatus not implemented") +} +func (UnimplementedProxyEngineServiceServer) BackupRestoreFinish(context.Context, *EngineBackupRestoreFinishRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method BackupRestoreFinish not implemented") +} +func (UnimplementedProxyEngineServiceServer) CleanupBackupMountPoints(context.Context, *emptypb.Empty) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method CleanupBackupMountPoints not implemented") +} +func (UnimplementedProxyEngineServiceServer) ReplicaAdd(context.Context, *EngineReplicaAddRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaAdd not implemented") +} +func (UnimplementedProxyEngineServiceServer) ReplicaList(context.Context, *ProxyEngineRequest) (*EngineReplicaListProxyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaList not implemented") +} +func (UnimplementedProxyEngineServiceServer) ReplicaRebuildingStatus(context.Context, *ProxyEngineRequest) (*EngineReplicaRebuildStatusProxyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaRebuildingStatus not implemented") +} +func (UnimplementedProxyEngineServiceServer) ReplicaVerifyRebuild(context.Context, *EngineReplicaVerifyRebuildRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaVerifyRebuild not implemented") +} +func (UnimplementedProxyEngineServiceServer) ReplicaRemove(context.Context, *EngineReplicaRemoveRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaRemove not implemented") +} +func (UnimplementedProxyEngineServiceServer) ReplicaModeUpdate(context.Context, *EngineReplicaModeUpdateRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplicaModeUpdate not implemented") +} +func (UnimplementedProxyEngineServiceServer) MetricsGet(context.Context, *ProxyEngineRequest) (*EngineMetricsGetProxyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MetricsGet not implemented") +} +func (UnimplementedProxyEngineServiceServer) RemountReadOnlyVolume(context.Context, *RemountVolumeRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemountReadOnlyVolume not implemented") +} +func (UnimplementedProxyEngineServiceServer) mustEmbedUnimplementedProxyEngineServiceServer() {} + +// UnsafeProxyEngineServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ProxyEngineServiceServer will +// result in compilation errors. +type UnsafeProxyEngineServiceServer interface { + mustEmbedUnimplementedProxyEngineServiceServer() +} + +func RegisterProxyEngineServiceServer(s grpc.ServiceRegistrar, srv ProxyEngineServiceServer) { + s.RegisterService(&ProxyEngineService_ServiceDesc, srv) +} + +func _ProxyEngineService_ServerVersionGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProxyEngineRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).ServerVersionGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_ServerVersionGet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).ServerVersionGet(ctx, req.(*ProxyEngineRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_VolumeGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProxyEngineRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).VolumeGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_VolumeGet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).VolumeGet(ctx, req.(*ProxyEngineRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_VolumeExpand_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineVolumeExpandRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).VolumeExpand(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_VolumeExpand_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).VolumeExpand(ctx, req.(*EngineVolumeExpandRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_VolumeFrontendStart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineVolumeFrontendStartRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).VolumeFrontendStart(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_VolumeFrontendStart_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).VolumeFrontendStart(ctx, req.(*EngineVolumeFrontendStartRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_VolumeFrontendShutdown_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProxyEngineRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).VolumeFrontendShutdown(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_VolumeFrontendShutdown_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).VolumeFrontendShutdown(ctx, req.(*ProxyEngineRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_VolumeUnmapMarkSnapChainRemovedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineVolumeUnmapMarkSnapChainRemovedSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).VolumeUnmapMarkSnapChainRemovedSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_VolumeUnmapMarkSnapChainRemovedSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).VolumeUnmapMarkSnapChainRemovedSet(ctx, req.(*EngineVolumeUnmapMarkSnapChainRemovedSetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_VolumeSnapshotMaxCountSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineVolumeSnapshotMaxCountSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).VolumeSnapshotMaxCountSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_VolumeSnapshotMaxCountSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).VolumeSnapshotMaxCountSet(ctx, req.(*EngineVolumeSnapshotMaxCountSetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_VolumeSnapshotMaxSizeSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineVolumeSnapshotMaxSizeSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).VolumeSnapshotMaxSizeSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_VolumeSnapshotMaxSizeSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).VolumeSnapshotMaxSizeSet(ctx, req.(*EngineVolumeSnapshotMaxSizeSetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_VolumeSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineVolumeSnapshotRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).VolumeSnapshot(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_VolumeSnapshot_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).VolumeSnapshot(ctx, req.(*EngineVolumeSnapshotRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_SnapshotList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProxyEngineRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).SnapshotList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_SnapshotList_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).SnapshotList(ctx, req.(*ProxyEngineRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_SnapshotRevert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineSnapshotRevertRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).SnapshotRevert(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_SnapshotRevert_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).SnapshotRevert(ctx, req.(*EngineSnapshotRevertRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_SnapshotPurge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineSnapshotPurgeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).SnapshotPurge(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_SnapshotPurge_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).SnapshotPurge(ctx, req.(*EngineSnapshotPurgeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_SnapshotPurgeStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProxyEngineRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).SnapshotPurgeStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_SnapshotPurgeStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).SnapshotPurgeStatus(ctx, req.(*ProxyEngineRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_SnapshotClone_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineSnapshotCloneRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).SnapshotClone(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_SnapshotClone_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).SnapshotClone(ctx, req.(*EngineSnapshotCloneRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_SnapshotCloneStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProxyEngineRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).SnapshotCloneStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_SnapshotCloneStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).SnapshotCloneStatus(ctx, req.(*ProxyEngineRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_SnapshotRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineSnapshotRemoveRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).SnapshotRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_SnapshotRemove_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).SnapshotRemove(ctx, req.(*EngineSnapshotRemoveRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_SnapshotHash_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineSnapshotHashRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).SnapshotHash(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_SnapshotHash_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).SnapshotHash(ctx, req.(*EngineSnapshotHashRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_SnapshotHashStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineSnapshotHashStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).SnapshotHashStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_SnapshotHashStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).SnapshotHashStatus(ctx, req.(*EngineSnapshotHashStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_SnapshotBackup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineSnapshotBackupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).SnapshotBackup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_SnapshotBackup_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).SnapshotBackup(ctx, req.(*EngineSnapshotBackupRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_SnapshotBackupStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineSnapshotBackupStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).SnapshotBackupStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_SnapshotBackupStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).SnapshotBackupStatus(ctx, req.(*EngineSnapshotBackupStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_BackupRestore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineBackupRestoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).BackupRestore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_BackupRestore_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).BackupRestore(ctx, req.(*EngineBackupRestoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_BackupRestoreStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProxyEngineRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).BackupRestoreStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_BackupRestoreStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).BackupRestoreStatus(ctx, req.(*ProxyEngineRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_BackupRestoreFinish_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineBackupRestoreFinishRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).BackupRestoreFinish(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_BackupRestoreFinish_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).BackupRestoreFinish(ctx, req.(*EngineBackupRestoreFinishRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_CleanupBackupMountPoints_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 { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).CleanupBackupMountPoints(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_CleanupBackupMountPoints_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).CleanupBackupMountPoints(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_ReplicaAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineReplicaAddRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).ReplicaAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_ReplicaAdd_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).ReplicaAdd(ctx, req.(*EngineReplicaAddRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_ReplicaList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProxyEngineRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).ReplicaList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_ReplicaList_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).ReplicaList(ctx, req.(*ProxyEngineRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_ReplicaRebuildingStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProxyEngineRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).ReplicaRebuildingStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_ReplicaRebuildingStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).ReplicaRebuildingStatus(ctx, req.(*ProxyEngineRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_ReplicaVerifyRebuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineReplicaVerifyRebuildRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).ReplicaVerifyRebuild(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_ReplicaVerifyRebuild_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).ReplicaVerifyRebuild(ctx, req.(*EngineReplicaVerifyRebuildRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_ReplicaRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineReplicaRemoveRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).ReplicaRemove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_ReplicaRemove_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).ReplicaRemove(ctx, req.(*EngineReplicaRemoveRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_ReplicaModeUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EngineReplicaModeUpdateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).ReplicaModeUpdate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_ReplicaModeUpdate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).ReplicaModeUpdate(ctx, req.(*EngineReplicaModeUpdateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_MetricsGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProxyEngineRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).MetricsGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_MetricsGet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).MetricsGet(ctx, req.(*ProxyEngineRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProxyEngineService_RemountReadOnlyVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemountVolumeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyEngineServiceServer).RemountReadOnlyVolume(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ProxyEngineService_RemountReadOnlyVolume_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyEngineServiceServer).RemountReadOnlyVolume(ctx, req.(*RemountVolumeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ProxyEngineService_ServiceDesc is the grpc.ServiceDesc for ProxyEngineService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ProxyEngineService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "pkg.imrpc.ProxyEngineService", + HandlerType: (*ProxyEngineServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ServerVersionGet", + Handler: _ProxyEngineService_ServerVersionGet_Handler, + }, + { + MethodName: "VolumeGet", + Handler: _ProxyEngineService_VolumeGet_Handler, + }, + { + MethodName: "VolumeExpand", + Handler: _ProxyEngineService_VolumeExpand_Handler, + }, + { + MethodName: "VolumeFrontendStart", + Handler: _ProxyEngineService_VolumeFrontendStart_Handler, + }, + { + MethodName: "VolumeFrontendShutdown", + Handler: _ProxyEngineService_VolumeFrontendShutdown_Handler, + }, + { + MethodName: "VolumeUnmapMarkSnapChainRemovedSet", + Handler: _ProxyEngineService_VolumeUnmapMarkSnapChainRemovedSet_Handler, + }, + { + MethodName: "VolumeSnapshotMaxCountSet", + Handler: _ProxyEngineService_VolumeSnapshotMaxCountSet_Handler, + }, + { + MethodName: "VolumeSnapshotMaxSizeSet", + Handler: _ProxyEngineService_VolumeSnapshotMaxSizeSet_Handler, + }, + { + MethodName: "VolumeSnapshot", + Handler: _ProxyEngineService_VolumeSnapshot_Handler, + }, + { + MethodName: "SnapshotList", + Handler: _ProxyEngineService_SnapshotList_Handler, + }, + { + MethodName: "SnapshotRevert", + Handler: _ProxyEngineService_SnapshotRevert_Handler, + }, + { + MethodName: "SnapshotPurge", + Handler: _ProxyEngineService_SnapshotPurge_Handler, + }, + { + MethodName: "SnapshotPurgeStatus", + Handler: _ProxyEngineService_SnapshotPurgeStatus_Handler, + }, + { + MethodName: "SnapshotClone", + Handler: _ProxyEngineService_SnapshotClone_Handler, + }, + { + MethodName: "SnapshotCloneStatus", + Handler: _ProxyEngineService_SnapshotCloneStatus_Handler, + }, + { + MethodName: "SnapshotRemove", + Handler: _ProxyEngineService_SnapshotRemove_Handler, + }, + { + MethodName: "SnapshotHash", + Handler: _ProxyEngineService_SnapshotHash_Handler, + }, + { + MethodName: "SnapshotHashStatus", + Handler: _ProxyEngineService_SnapshotHashStatus_Handler, + }, + { + MethodName: "SnapshotBackup", + Handler: _ProxyEngineService_SnapshotBackup_Handler, + }, + { + MethodName: "SnapshotBackupStatus", + Handler: _ProxyEngineService_SnapshotBackupStatus_Handler, + }, + { + MethodName: "BackupRestore", + Handler: _ProxyEngineService_BackupRestore_Handler, + }, + { + MethodName: "BackupRestoreStatus", + Handler: _ProxyEngineService_BackupRestoreStatus_Handler, + }, + { + MethodName: "BackupRestoreFinish", + Handler: _ProxyEngineService_BackupRestoreFinish_Handler, + }, + { + MethodName: "CleanupBackupMountPoints", + Handler: _ProxyEngineService_CleanupBackupMountPoints_Handler, + }, + { + MethodName: "ReplicaAdd", + Handler: _ProxyEngineService_ReplicaAdd_Handler, + }, + { + MethodName: "ReplicaList", + Handler: _ProxyEngineService_ReplicaList_Handler, + }, + { + MethodName: "ReplicaRebuildingStatus", + Handler: _ProxyEngineService_ReplicaRebuildingStatus_Handler, + }, + { + MethodName: "ReplicaVerifyRebuild", + Handler: _ProxyEngineService_ReplicaVerifyRebuild_Handler, + }, + { + MethodName: "ReplicaRemove", + Handler: _ProxyEngineService_ReplicaRemove_Handler, + }, + { + MethodName: "ReplicaModeUpdate", + Handler: _ProxyEngineService_ReplicaModeUpdate_Handler, + }, + { + MethodName: "MetricsGet", + Handler: _ProxyEngineService_MetricsGet_Handler, + }, + { + MethodName: "RemountReadOnlyVolume", + Handler: _ProxyEngineService_RemountReadOnlyVolume_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "pkg/imrpc/proxy.proto", +} diff --git a/pkg/imrpc/proxy_pb2.py b/pkg/imrpc/proxy_pb2.py new file mode 100644 index 0000000..44de1a2 --- /dev/null +++ b/pkg/imrpc/proxy_pb2.py @@ -0,0 +1,145 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: pkg/imrpc/proxy.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from pkg.enginerpc import controller_pb2 as pkg_dot_enginerpc_dot_controller__pb2 +from pkg.enginerpc import syncagent_pb2 as pkg_dot_enginerpc_dot_syncagent__pb2 +from pkg.imrpc import common_pb2 as pkg_dot_imrpc_dot_common__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15pkg/imrpc/proxy.proto\x12\tpkg.imrpc\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1epkg/enginerpc/controller.proto\x1a\x1dpkg/enginerpc/syncagent.proto\x1a\x16pkg/imrpc/common.proto\"\xbc\x01\n\x12ProxyEngineRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12?\n\x14\x62\x61\x63kend_store_driver\x18\x02 \x01(\x0e\x32\x1d.pkg.imrpc.BackendStoreDriverB\x02\x18\x01\x12\x13\n\x0b\x65ngine_name\x18\x03 \x01(\t\x12\x13\n\x0bvolume_name\x18\x04 \x01(\t\x12*\n\x0b\x64\x61ta_engine\x18\x05 \x01(\x0e\x32\x15.pkg.imrpc.DataEngine\"K\n\x1a\x45ngineVersionProxyResponse\x12-\n\x07version\x18\x01 \x01(\x0b\x32\x1c.pkg.enginerpc.VersionOutput\"E\n\x1c\x45ngineVolumeGetProxyResponse\x12%\n\x06volume\x18\x01 \x01(\x0b\x32\x15.pkg.enginerpc.Volume\"\x8c\x01\n\x19\x45ngineVolumeExpandRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12\x32\n\x06\x65xpand\x18\x02 \x01(\x0b\x32\".pkg.enginerpc.VolumeExpandRequest\"\xa2\x01\n EngineVolumeFrontendStartRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12\x41\n\x0e\x66rontend_start\x18\x02 \x01(\x0b\x32).pkg.enginerpc.VolumeFrontendStartRequest\"\x99\x01\n\x1b\x45ngineVolumeSnapshotRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12=\n\x0fsnapshot_volume\x18\x02 \x01(\x0b\x32$.pkg.enginerpc.VolumeSnapshotRequest\"Y\n!EngineVolumeSnapshotProxyResponse\x12\x34\n\x08snapshot\x18\x01 \x01(\x0b\x32\".pkg.enginerpc.VolumeSnapshotReply\"\xc1\x01\n/EngineVolumeUnmapMarkSnapChainRemovedSetRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12Q\n\x0funmap_mark_snap\x18\x02 \x01(\x0b\x32\x38.pkg.enginerpc.VolumeUnmapMarkSnapChainRemovedSetRequest\"\xa5\x01\n&EngineVolumeSnapshotMaxCountSetRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12>\n\x05\x63ount\x18\x02 \x01(\x0b\x32/.pkg.enginerpc.VolumeSnapshotMaxCountSetRequest\"\xa2\x01\n%EngineVolumeSnapshotMaxSizeSetRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12<\n\x04size\x18\x02 \x01(\x0b\x32..pkg.enginerpc.VolumeSnapshotMaxSizeSetRequest\"\xb8\x01\n\x1f\x45ngineSnapshotListProxyResponse\x12\x44\n\x05\x64isks\x18\x01 \x03(\x0b\x32\x35.pkg.imrpc.EngineSnapshotListProxyResponse.DisksEntry\x1aO\n\nDisksEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x30\n\x05value\x18\x02 \x01(\x0b\x32!.pkg.imrpc.EngineSnapshotDiskInfo:\x02\x38\x01\"\xde\x02\n\x16\x45ngineSnapshotDiskInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06parent\x18\x02 \x01(\t\x12\x41\n\x08\x63hildren\x18\x03 \x03(\x0b\x32/.pkg.imrpc.EngineSnapshotDiskInfo.ChildrenEntry\x12\x0f\n\x07removed\x18\x04 \x01(\x08\x12\x14\n\x0cuser_created\x18\x05 \x01(\x08\x12\x0f\n\x07\x63reated\x18\x06 \x01(\t\x12\x0c\n\x04size\x18\x07 \x01(\t\x12=\n\x06labels\x18\x08 \x03(\x0b\x32-.pkg.imrpc.EngineSnapshotDiskInfo.LabelsEntry\x1a/\n\rChildrenEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"h\n\x1b\x45ngineSnapshotRevertRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12\x0c\n\x04name\x18\x02 \x01(\t\"v\n\x1a\x45ngineSnapshotPurgeRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12\x1b\n\x13skip_if_in_progress\x18\x02 \x01(\x08\"\xd2\x01\n&EngineSnapshotPurgeStatusProxyResponse\x12M\n\x06status\x18\x01 \x03(\x0b\x32=.pkg.imrpc.EngineSnapshotPurgeStatusProxyResponse.StatusEntry\x1aY\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.pkg.enginerpc.SnapshotPurgeStatusResponse:\x02\x38\x01\"\x8f\x02\n\x1a\x45ngineSnapshotCloneRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12\x1b\n\x13\x66rom_engine_address\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\x12%\n\x1d\x65xport_backing_image_if_exist\x18\x04 \x01(\x08\x12%\n\x1d\x66ile_sync_http_client_timeout\x18\x05 \x01(\x05\x12\x18\n\x10\x66rom_engine_name\x18\x06 \x01(\t\x12\x18\n\x10\x66rom_volume_name\x18\x07 \x01(\t\"\xd2\x01\n&EngineSnapshotCloneStatusProxyResponse\x12M\n\x06status\x18\x01 \x03(\x0b\x32=.pkg.imrpc.EngineSnapshotCloneStatusProxyResponse.StatusEntry\x1aY\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.pkg.enginerpc.SnapshotCloneStatusResponse:\x02\x38\x01\"i\n\x1b\x45ngineSnapshotRemoveRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12\r\n\x05names\x18\x02 \x03(\t\"\xac\x03\n\x1b\x45ngineSnapshotBackupRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12\x0c\n\x04\x65nvs\x18\x08 \x03(\t\x12\x13\n\x0b\x62\x61\x63kup_name\x18\x02 \x01(\t\x12\x15\n\rsnapshot_name\x18\x03 \x01(\t\x12\x15\n\rbackup_target\x18\x04 \x01(\t\x12\x1a\n\x12\x62\x61\x63king_image_name\x18\x05 \x01(\t\x12\x1e\n\x16\x62\x61\x63king_image_checksum\x18\x06 \x01(\t\x12\x42\n\x06labels\x18\x07 \x03(\x0b\x32\x32.pkg.imrpc.EngineSnapshotBackupRequest.LabelsEntry\x12\x1a\n\x12\x63ompression_method\x18\t \x01(\t\x12\x18\n\x10\x63oncurrent_limit\x18\n \x01(\x05\x12\x1a\n\x12storage_class_name\x18\x0b \x01(\t\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"_\n!EngineSnapshotBackupProxyResponse\x12\x11\n\tbackup_id\x18\x01 \x01(\t\x12\x0f\n\x07replica\x18\x02 \x01(\t\x12\x16\n\x0eis_incremental\x18\x03 \x01(\x08\"\xa4\x01\n!EngineSnapshotBackupStatusRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12\x13\n\x0b\x62\x61\x63kup_name\x18\x02 \x01(\t\x12\x17\n\x0freplica_address\x18\x03 \x01(\t\x12\x14\n\x0creplica_name\x18\x04 \x01(\t\"\x9d\x01\n\'EngineSnapshotBackupStatusProxyResponse\x12\x12\n\nbackup_url\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\x10\n\x08progress\x18\x03 \x01(\x05\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\"\xb3\x01\n\x1a\x45ngineBackupRestoreRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12\x0c\n\x04\x65nvs\x18\x02 \x03(\t\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x13\n\x0bvolume_name\x18\x05 \x01(\t\x12\x18\n\x10\x63oncurrent_limit\x18\x06 \x01(\x05\"5\n EngineBackupRestoreProxyResponse\x12\x11\n\ttaskError\x18\x01 \x01(\x0c\"\xcc\x01\n&EngineBackupRestoreStatusProxyResponse\x12M\n\x06status\x18\x01 \x03(\x0b\x32=.pkg.imrpc.EngineBackupRestoreStatusProxyResponse.StatusEntry\x1aS\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.pkg.imrpc.EngineBackupRestoreStatus:\x02\x38\x01\"\xc0\x01\n\x19\x45ngineBackupRestoreStatus\x12\x14\n\x0cis_restoring\x18\x01 \x01(\x08\x12\x15\n\rlast_restored\x18\x02 \x01(\t\x12 \n\x18\x63urrent_restoring_backup\x18\x03 \x01(\t\x12\x10\n\x08progress\x18\x04 \x01(\x05\x12\r\n\x05\x65rror\x18\x05 \x01(\t\x12\x10\n\x08\x66ilename\x18\x06 \x01(\t\x12\r\n\x05state\x18\x07 \x01(\t\x12\x12\n\nbackup_url\x18\x08 \x01(\t\"_\n EngineBackupRestoreFinishRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\"\xf4\x01\n\x17\x45ngineReplicaAddRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12\x17\n\x0freplica_address\x18\x02 \x01(\t\x12\x0f\n\x07restore\x18\x03 \x01(\x08\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x14\n\x0c\x63urrent_size\x18\x05 \x01(\x03\x12\x11\n\tfast_sync\x18\x06 \x01(\x08\x12%\n\x1d\x66ile_sync_http_client_timeout\x18\x07 \x01(\x05\x12\x14\n\x0creplica_name\x18\x08 \x01(\t\"W\n\x1e\x45ngineReplicaListProxyResponse\x12\x35\n\x0creplica_list\x18\x01 \x01(\x0b\x32\x1f.pkg.enginerpc.ReplicaListReply\"\x8f\x01\n!EngineReplicaVerifyRebuildRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12\x17\n\x0freplica_address\x18\x02 \x01(\t\x12\x14\n\x0creplica_name\x18\x03 \x01(\t\"\xd5\x01\n\'EngineReplicaRebuildStatusProxyResponse\x12N\n\x06status\x18\x01 \x03(\x0b\x32>.pkg.imrpc.EngineReplicaRebuildStatusProxyResponse.StatusEntry\x1aZ\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.pkg.enginerpc.ReplicaRebuildStatusResponse:\x02\x38\x01\"\x88\x01\n\x1a\x45ngineReplicaRemoveRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12\x17\n\x0freplica_address\x18\x02 \x01(\t\x12\x14\n\x0creplica_name\x18\x03 \x01(\t\"\xa0\x01\n\x1e\x45ngineReplicaModeUpdateRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12\x17\n\x0freplica_address\x18\x02 \x01(\t\x12(\n\x04mode\x18\x03 \x01(\x0e\x32\x1a.pkg.enginerpc.ReplicaMode\"\x7f\n\x19\x45ngineSnapshotHashRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\x12\x0e\n\x06rehash\x18\x03 \x01(\x08\"u\n\x1f\x45ngineSnapshotHashStatusRequest\x12;\n\x14proxy_engine_request\x18\x01 \x01(\x0b\x32\x1d.pkg.imrpc.ProxyEngineRequest\x12\x15\n\rsnapshot_name\x18\x02 \x01(\t\"\xcf\x01\n%EngineSnapshotHashStatusProxyResponse\x12L\n\x06status\x18\x01 \x03(\x0b\x32<.pkg.imrpc.EngineSnapshotHashStatusProxyResponse.StatusEntry\x1aX\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).pkg.enginerpc.SnapshotHashStatusResponse:\x02\x38\x01\"H\n\x1d\x45ngineMetricsGetProxyResponse\x12\'\n\x07metrics\x18\x01 \x01(\x0b\x32\x16.pkg.enginerpc.Metrics\"+\n\x14RemountVolumeRequest\x12\x13\n\x0bvolume_name\x18\x01 \x01(\t2\xb9\x17\n\x12ProxyEngineService\x12X\n\x10ServerVersionGet\x12\x1d.pkg.imrpc.ProxyEngineRequest\x1a%.pkg.imrpc.EngineVersionProxyResponse\x12S\n\tVolumeGet\x12\x1d.pkg.imrpc.ProxyEngineRequest\x1a\'.pkg.imrpc.EngineVolumeGetProxyResponse\x12L\n\x0cVolumeExpand\x12$.pkg.imrpc.EngineVolumeExpandRequest\x1a\x16.google.protobuf.Empty\x12Z\n\x13VolumeFrontendStart\x12+.pkg.imrpc.EngineVolumeFrontendStartRequest\x1a\x16.google.protobuf.Empty\x12O\n\x16VolumeFrontendShutdown\x12\x1d.pkg.imrpc.ProxyEngineRequest\x1a\x16.google.protobuf.Empty\x12x\n\"VolumeUnmapMarkSnapChainRemovedSet\x12:.pkg.imrpc.EngineVolumeUnmapMarkSnapChainRemovedSetRequest\x1a\x16.google.protobuf.Empty\x12\x66\n\x19VolumeSnapshotMaxCountSet\x12\x31.pkg.imrpc.EngineVolumeSnapshotMaxCountSetRequest\x1a\x16.google.protobuf.Empty\x12\x64\n\x18VolumeSnapshotMaxSizeSet\x12\x30.pkg.imrpc.EngineVolumeSnapshotMaxSizeSetRequest\x1a\x16.google.protobuf.Empty\x12\x66\n\x0eVolumeSnapshot\x12&.pkg.imrpc.EngineVolumeSnapshotRequest\x1a,.pkg.imrpc.EngineVolumeSnapshotProxyResponse\x12Y\n\x0cSnapshotList\x12\x1d.pkg.imrpc.ProxyEngineRequest\x1a*.pkg.imrpc.EngineSnapshotListProxyResponse\x12P\n\x0eSnapshotRevert\x12&.pkg.imrpc.EngineSnapshotRevertRequest\x1a\x16.google.protobuf.Empty\x12N\n\rSnapshotPurge\x12%.pkg.imrpc.EngineSnapshotPurgeRequest\x1a\x16.google.protobuf.Empty\x12g\n\x13SnapshotPurgeStatus\x12\x1d.pkg.imrpc.ProxyEngineRequest\x1a\x31.pkg.imrpc.EngineSnapshotPurgeStatusProxyResponse\x12N\n\rSnapshotClone\x12%.pkg.imrpc.EngineSnapshotCloneRequest\x1a\x16.google.protobuf.Empty\x12g\n\x13SnapshotCloneStatus\x12\x1d.pkg.imrpc.ProxyEngineRequest\x1a\x31.pkg.imrpc.EngineSnapshotCloneStatusProxyResponse\x12P\n\x0eSnapshotRemove\x12&.pkg.imrpc.EngineSnapshotRemoveRequest\x1a\x16.google.protobuf.Empty\x12L\n\x0cSnapshotHash\x12$.pkg.imrpc.EngineSnapshotHashRequest\x1a\x16.google.protobuf.Empty\x12r\n\x12SnapshotHashStatus\x12*.pkg.imrpc.EngineSnapshotHashStatusRequest\x1a\x30.pkg.imrpc.EngineSnapshotHashStatusProxyResponse\x12\x66\n\x0eSnapshotBackup\x12&.pkg.imrpc.EngineSnapshotBackupRequest\x1a,.pkg.imrpc.EngineSnapshotBackupProxyResponse\x12x\n\x14SnapshotBackupStatus\x12,.pkg.imrpc.EngineSnapshotBackupStatusRequest\x1a\x32.pkg.imrpc.EngineSnapshotBackupStatusProxyResponse\x12\x63\n\rBackupRestore\x12%.pkg.imrpc.EngineBackupRestoreRequest\x1a+.pkg.imrpc.EngineBackupRestoreProxyResponse\x12g\n\x13\x42\x61\x63kupRestoreStatus\x12\x1d.pkg.imrpc.ProxyEngineRequest\x1a\x31.pkg.imrpc.EngineBackupRestoreStatusProxyResponse\x12Z\n\x13\x42\x61\x63kupRestoreFinish\x12+.pkg.imrpc.EngineBackupRestoreFinishRequest\x1a\x16.google.protobuf.Empty\x12J\n\x18\x43leanupBackupMountPoints\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\x12H\n\nReplicaAdd\x12\".pkg.imrpc.EngineReplicaAddRequest\x1a\x16.google.protobuf.Empty\x12W\n\x0bReplicaList\x12\x1d.pkg.imrpc.ProxyEngineRequest\x1a).pkg.imrpc.EngineReplicaListProxyResponse\x12l\n\x17ReplicaRebuildingStatus\x12\x1d.pkg.imrpc.ProxyEngineRequest\x1a\x32.pkg.imrpc.EngineReplicaRebuildStatusProxyResponse\x12\\\n\x14ReplicaVerifyRebuild\x12,.pkg.imrpc.EngineReplicaVerifyRebuildRequest\x1a\x16.google.protobuf.Empty\x12N\n\rReplicaRemove\x12%.pkg.imrpc.EngineReplicaRemoveRequest\x1a\x16.google.protobuf.Empty\x12V\n\x11ReplicaModeUpdate\x12).pkg.imrpc.EngineReplicaModeUpdateRequest\x1a\x16.google.protobuf.Empty\x12U\n\nMetricsGet\x12\x1d.pkg.imrpc.ProxyEngineRequest\x1a(.pkg.imrpc.EngineMetricsGetProxyResponse\x12P\n\x15RemountReadOnlyVolume\x12\x1f.pkg.imrpc.RemountVolumeRequest\x1a\x16.google.protobuf.EmptyB%Z#github.com/longhorn/types/pkg/imrpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pkg.imrpc.proxy_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z#github.com/longhorn/types/pkg/imrpc' + _PROXYENGINEREQUEST.fields_by_name['backend_store_driver']._options = None + _PROXYENGINEREQUEST.fields_by_name['backend_store_driver']._serialized_options = b'\030\001' + _ENGINESNAPSHOTLISTPROXYRESPONSE_DISKSENTRY._options = None + _ENGINESNAPSHOTLISTPROXYRESPONSE_DISKSENTRY._serialized_options = b'8\001' + _ENGINESNAPSHOTDISKINFO_CHILDRENENTRY._options = None + _ENGINESNAPSHOTDISKINFO_CHILDRENENTRY._serialized_options = b'8\001' + _ENGINESNAPSHOTDISKINFO_LABELSENTRY._options = None + _ENGINESNAPSHOTDISKINFO_LABELSENTRY._serialized_options = b'8\001' + _ENGINESNAPSHOTPURGESTATUSPROXYRESPONSE_STATUSENTRY._options = None + _ENGINESNAPSHOTPURGESTATUSPROXYRESPONSE_STATUSENTRY._serialized_options = b'8\001' + _ENGINESNAPSHOTCLONESTATUSPROXYRESPONSE_STATUSENTRY._options = None + _ENGINESNAPSHOTCLONESTATUSPROXYRESPONSE_STATUSENTRY._serialized_options = b'8\001' + _ENGINESNAPSHOTBACKUPREQUEST_LABELSENTRY._options = None + _ENGINESNAPSHOTBACKUPREQUEST_LABELSENTRY._serialized_options = b'8\001' + _ENGINEBACKUPRESTORESTATUSPROXYRESPONSE_STATUSENTRY._options = None + _ENGINEBACKUPRESTORESTATUSPROXYRESPONSE_STATUSENTRY._serialized_options = b'8\001' + _ENGINEREPLICAREBUILDSTATUSPROXYRESPONSE_STATUSENTRY._options = None + _ENGINEREPLICAREBUILDSTATUSPROXYRESPONSE_STATUSENTRY._serialized_options = b'8\001' + _ENGINESNAPSHOTHASHSTATUSPROXYRESPONSE_STATUSENTRY._options = None + _ENGINESNAPSHOTHASHSTATUSPROXYRESPONSE_STATUSENTRY._serialized_options = b'8\001' + _globals['_PROXYENGINEREQUEST']._serialized_start=153 + _globals['_PROXYENGINEREQUEST']._serialized_end=341 + _globals['_ENGINEVERSIONPROXYRESPONSE']._serialized_start=343 + _globals['_ENGINEVERSIONPROXYRESPONSE']._serialized_end=418 + _globals['_ENGINEVOLUMEGETPROXYRESPONSE']._serialized_start=420 + _globals['_ENGINEVOLUMEGETPROXYRESPONSE']._serialized_end=489 + _globals['_ENGINEVOLUMEEXPANDREQUEST']._serialized_start=492 + _globals['_ENGINEVOLUMEEXPANDREQUEST']._serialized_end=632 + _globals['_ENGINEVOLUMEFRONTENDSTARTREQUEST']._serialized_start=635 + _globals['_ENGINEVOLUMEFRONTENDSTARTREQUEST']._serialized_end=797 + _globals['_ENGINEVOLUMESNAPSHOTREQUEST']._serialized_start=800 + _globals['_ENGINEVOLUMESNAPSHOTREQUEST']._serialized_end=953 + _globals['_ENGINEVOLUMESNAPSHOTPROXYRESPONSE']._serialized_start=955 + _globals['_ENGINEVOLUMESNAPSHOTPROXYRESPONSE']._serialized_end=1044 + _globals['_ENGINEVOLUMEUNMAPMARKSNAPCHAINREMOVEDSETREQUEST']._serialized_start=1047 + _globals['_ENGINEVOLUMEUNMAPMARKSNAPCHAINREMOVEDSETREQUEST']._serialized_end=1240 + _globals['_ENGINEVOLUMESNAPSHOTMAXCOUNTSETREQUEST']._serialized_start=1243 + _globals['_ENGINEVOLUMESNAPSHOTMAXCOUNTSETREQUEST']._serialized_end=1408 + _globals['_ENGINEVOLUMESNAPSHOTMAXSIZESETREQUEST']._serialized_start=1411 + _globals['_ENGINEVOLUMESNAPSHOTMAXSIZESETREQUEST']._serialized_end=1573 + _globals['_ENGINESNAPSHOTLISTPROXYRESPONSE']._serialized_start=1576 + _globals['_ENGINESNAPSHOTLISTPROXYRESPONSE']._serialized_end=1760 + _globals['_ENGINESNAPSHOTLISTPROXYRESPONSE_DISKSENTRY']._serialized_start=1681 + _globals['_ENGINESNAPSHOTLISTPROXYRESPONSE_DISKSENTRY']._serialized_end=1760 + _globals['_ENGINESNAPSHOTDISKINFO']._serialized_start=1763 + _globals['_ENGINESNAPSHOTDISKINFO']._serialized_end=2113 + _globals['_ENGINESNAPSHOTDISKINFO_CHILDRENENTRY']._serialized_start=2019 + _globals['_ENGINESNAPSHOTDISKINFO_CHILDRENENTRY']._serialized_end=2066 + _globals['_ENGINESNAPSHOTDISKINFO_LABELSENTRY']._serialized_start=2068 + _globals['_ENGINESNAPSHOTDISKINFO_LABELSENTRY']._serialized_end=2113 + _globals['_ENGINESNAPSHOTREVERTREQUEST']._serialized_start=2115 + _globals['_ENGINESNAPSHOTREVERTREQUEST']._serialized_end=2219 + _globals['_ENGINESNAPSHOTPURGEREQUEST']._serialized_start=2221 + _globals['_ENGINESNAPSHOTPURGEREQUEST']._serialized_end=2339 + _globals['_ENGINESNAPSHOTPURGESTATUSPROXYRESPONSE']._serialized_start=2342 + _globals['_ENGINESNAPSHOTPURGESTATUSPROXYRESPONSE']._serialized_end=2552 + _globals['_ENGINESNAPSHOTPURGESTATUSPROXYRESPONSE_STATUSENTRY']._serialized_start=2463 + _globals['_ENGINESNAPSHOTPURGESTATUSPROXYRESPONSE_STATUSENTRY']._serialized_end=2552 + _globals['_ENGINESNAPSHOTCLONEREQUEST']._serialized_start=2555 + _globals['_ENGINESNAPSHOTCLONEREQUEST']._serialized_end=2826 + _globals['_ENGINESNAPSHOTCLONESTATUSPROXYRESPONSE']._serialized_start=2829 + _globals['_ENGINESNAPSHOTCLONESTATUSPROXYRESPONSE']._serialized_end=3039 + _globals['_ENGINESNAPSHOTCLONESTATUSPROXYRESPONSE_STATUSENTRY']._serialized_start=2950 + _globals['_ENGINESNAPSHOTCLONESTATUSPROXYRESPONSE_STATUSENTRY']._serialized_end=3039 + _globals['_ENGINESNAPSHOTREMOVEREQUEST']._serialized_start=3041 + _globals['_ENGINESNAPSHOTREMOVEREQUEST']._serialized_end=3146 + _globals['_ENGINESNAPSHOTBACKUPREQUEST']._serialized_start=3149 + _globals['_ENGINESNAPSHOTBACKUPREQUEST']._serialized_end=3577 + _globals['_ENGINESNAPSHOTBACKUPREQUEST_LABELSENTRY']._serialized_start=2068 + _globals['_ENGINESNAPSHOTBACKUPREQUEST_LABELSENTRY']._serialized_end=2113 + _globals['_ENGINESNAPSHOTBACKUPPROXYRESPONSE']._serialized_start=3579 + _globals['_ENGINESNAPSHOTBACKUPPROXYRESPONSE']._serialized_end=3674 + _globals['_ENGINESNAPSHOTBACKUPSTATUSREQUEST']._serialized_start=3677 + _globals['_ENGINESNAPSHOTBACKUPSTATUSREQUEST']._serialized_end=3841 + _globals['_ENGINESNAPSHOTBACKUPSTATUSPROXYRESPONSE']._serialized_start=3844 + _globals['_ENGINESNAPSHOTBACKUPSTATUSPROXYRESPONSE']._serialized_end=4001 + _globals['_ENGINEBACKUPRESTOREREQUEST']._serialized_start=4004 + _globals['_ENGINEBACKUPRESTOREREQUEST']._serialized_end=4183 + _globals['_ENGINEBACKUPRESTOREPROXYRESPONSE']._serialized_start=4185 + _globals['_ENGINEBACKUPRESTOREPROXYRESPONSE']._serialized_end=4238 + _globals['_ENGINEBACKUPRESTORESTATUSPROXYRESPONSE']._serialized_start=4241 + _globals['_ENGINEBACKUPRESTORESTATUSPROXYRESPONSE']._serialized_end=4445 + _globals['_ENGINEBACKUPRESTORESTATUSPROXYRESPONSE_STATUSENTRY']._serialized_start=4362 + _globals['_ENGINEBACKUPRESTORESTATUSPROXYRESPONSE_STATUSENTRY']._serialized_end=4445 + _globals['_ENGINEBACKUPRESTORESTATUS']._serialized_start=4448 + _globals['_ENGINEBACKUPRESTORESTATUS']._serialized_end=4640 + _globals['_ENGINEBACKUPRESTOREFINISHREQUEST']._serialized_start=4642 + _globals['_ENGINEBACKUPRESTOREFINISHREQUEST']._serialized_end=4737 + _globals['_ENGINEREPLICAADDREQUEST']._serialized_start=4740 + _globals['_ENGINEREPLICAADDREQUEST']._serialized_end=4984 + _globals['_ENGINEREPLICALISTPROXYRESPONSE']._serialized_start=4986 + _globals['_ENGINEREPLICALISTPROXYRESPONSE']._serialized_end=5073 + _globals['_ENGINEREPLICAVERIFYREBUILDREQUEST']._serialized_start=5076 + _globals['_ENGINEREPLICAVERIFYREBUILDREQUEST']._serialized_end=5219 + _globals['_ENGINEREPLICAREBUILDSTATUSPROXYRESPONSE']._serialized_start=5222 + _globals['_ENGINEREPLICAREBUILDSTATUSPROXYRESPONSE']._serialized_end=5435 + _globals['_ENGINEREPLICAREBUILDSTATUSPROXYRESPONSE_STATUSENTRY']._serialized_start=5345 + _globals['_ENGINEREPLICAREBUILDSTATUSPROXYRESPONSE_STATUSENTRY']._serialized_end=5435 + _globals['_ENGINEREPLICAREMOVEREQUEST']._serialized_start=5438 + _globals['_ENGINEREPLICAREMOVEREQUEST']._serialized_end=5574 + _globals['_ENGINEREPLICAMODEUPDATEREQUEST']._serialized_start=5577 + _globals['_ENGINEREPLICAMODEUPDATEREQUEST']._serialized_end=5737 + _globals['_ENGINESNAPSHOTHASHREQUEST']._serialized_start=5739 + _globals['_ENGINESNAPSHOTHASHREQUEST']._serialized_end=5866 + _globals['_ENGINESNAPSHOTHASHSTATUSREQUEST']._serialized_start=5868 + _globals['_ENGINESNAPSHOTHASHSTATUSREQUEST']._serialized_end=5985 + _globals['_ENGINESNAPSHOTHASHSTATUSPROXYRESPONSE']._serialized_start=5988 + _globals['_ENGINESNAPSHOTHASHSTATUSPROXYRESPONSE']._serialized_end=6195 + _globals['_ENGINESNAPSHOTHASHSTATUSPROXYRESPONSE_STATUSENTRY']._serialized_start=6107 + _globals['_ENGINESNAPSHOTHASHSTATUSPROXYRESPONSE_STATUSENTRY']._serialized_end=6195 + _globals['_ENGINEMETRICSGETPROXYRESPONSE']._serialized_start=6197 + _globals['_ENGINEMETRICSGETPROXYRESPONSE']._serialized_end=6269 + _globals['_REMOUNTVOLUMEREQUEST']._serialized_start=6271 + _globals['_REMOUNTVOLUMEREQUEST']._serialized_end=6314 + _globals['_PROXYENGINESERVICE']._serialized_start=6317 + _globals['_PROXYENGINESERVICE']._serialized_end=9318 +# @@protoc_insertion_point(module_scope) diff --git a/pkg/imrpc/proxy_pb2_grpc.py b/pkg/imrpc/proxy_pb2_grpc.py new file mode 100644 index 0000000..d1c1e41 --- /dev/null +++ b/pkg/imrpc/proxy_pb2_grpc.py @@ -0,0 +1,1090 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from pkg.imrpc import proxy_pb2 as pkg_dot_imrpc_dot_proxy__pb2 + + +class ProxyEngineServiceStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.ServerVersionGet = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/ServerVersionGet', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVersionProxyResponse.FromString, + ) + self.VolumeGet = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/VolumeGet', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeGetProxyResponse.FromString, + ) + self.VolumeExpand = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/VolumeExpand', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeExpandRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.VolumeFrontendStart = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/VolumeFrontendStart', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeFrontendStartRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.VolumeFrontendShutdown = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/VolumeFrontendShutdown', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.VolumeUnmapMarkSnapChainRemovedSet = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/VolumeUnmapMarkSnapChainRemovedSet', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeUnmapMarkSnapChainRemovedSetRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.VolumeSnapshotMaxCountSet = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/VolumeSnapshotMaxCountSet', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeSnapshotMaxCountSetRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.VolumeSnapshotMaxSizeSet = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/VolumeSnapshotMaxSizeSet', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeSnapshotMaxSizeSetRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.VolumeSnapshot = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/VolumeSnapshot', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeSnapshotRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeSnapshotProxyResponse.FromString, + ) + self.SnapshotList = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/SnapshotList', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotListProxyResponse.FromString, + ) + self.SnapshotRevert = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/SnapshotRevert', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotRevertRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.SnapshotPurge = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/SnapshotPurge', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotPurgeRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.SnapshotPurgeStatus = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/SnapshotPurgeStatus', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotPurgeStatusProxyResponse.FromString, + ) + self.SnapshotClone = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/SnapshotClone', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotCloneRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.SnapshotCloneStatus = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/SnapshotCloneStatus', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotCloneStatusProxyResponse.FromString, + ) + self.SnapshotRemove = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/SnapshotRemove', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotRemoveRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.SnapshotHash = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/SnapshotHash', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotHashRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.SnapshotHashStatus = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/SnapshotHashStatus', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotHashStatusRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotHashStatusProxyResponse.FromString, + ) + self.SnapshotBackup = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/SnapshotBackup', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotBackupRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotBackupProxyResponse.FromString, + ) + self.SnapshotBackupStatus = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/SnapshotBackupStatus', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotBackupStatusRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotBackupStatusProxyResponse.FromString, + ) + self.BackupRestore = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/BackupRestore', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineBackupRestoreRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineBackupRestoreProxyResponse.FromString, + ) + self.BackupRestoreStatus = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/BackupRestoreStatus', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineBackupRestoreStatusProxyResponse.FromString, + ) + self.BackupRestoreFinish = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/BackupRestoreFinish', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineBackupRestoreFinishRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.CleanupBackupMountPoints = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/CleanupBackupMountPoints', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.ReplicaAdd = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/ReplicaAdd', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaAddRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.ReplicaList = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/ReplicaList', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaListProxyResponse.FromString, + ) + self.ReplicaRebuildingStatus = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/ReplicaRebuildingStatus', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaRebuildStatusProxyResponse.FromString, + ) + self.ReplicaVerifyRebuild = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/ReplicaVerifyRebuild', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaVerifyRebuildRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.ReplicaRemove = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/ReplicaRemove', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaRemoveRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.ReplicaModeUpdate = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/ReplicaModeUpdate', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaModeUpdateRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.MetricsGet = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/MetricsGet', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + response_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineMetricsGetProxyResponse.FromString, + ) + self.RemountReadOnlyVolume = channel.unary_unary( + '/pkg.imrpc.ProxyEngineService/RemountReadOnlyVolume', + request_serializer=pkg_dot_imrpc_dot_proxy__pb2.RemountVolumeRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + + +class ProxyEngineServiceServicer(object): + """Missing associated documentation comment in .proto file.""" + + def ServerVersionGet(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 VolumeGet(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 VolumeExpand(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 VolumeFrontendStart(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 VolumeFrontendShutdown(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 VolumeUnmapMarkSnapChainRemovedSet(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 VolumeSnapshotMaxCountSet(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 VolumeSnapshotMaxSizeSet(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 VolumeSnapshot(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 SnapshotList(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 SnapshotRevert(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 SnapshotPurge(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 SnapshotPurgeStatus(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 SnapshotClone(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 SnapshotCloneStatus(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 SnapshotRemove(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 SnapshotHash(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 SnapshotHashStatus(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 SnapshotBackup(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 SnapshotBackupStatus(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 BackupRestore(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 BackupRestoreStatus(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 BackupRestoreFinish(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 CleanupBackupMountPoints(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 ReplicaAdd(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) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ReplicaRebuildingStatus(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 ReplicaVerifyRebuild(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 ReplicaRemove(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 ReplicaModeUpdate(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 MetricsGet(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 RemountReadOnlyVolume(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 add_ProxyEngineServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'ServerVersionGet': grpc.unary_unary_rpc_method_handler( + servicer.ServerVersionGet, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVersionProxyResponse.SerializeToString, + ), + 'VolumeGet': grpc.unary_unary_rpc_method_handler( + servicer.VolumeGet, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeGetProxyResponse.SerializeToString, + ), + 'VolumeExpand': grpc.unary_unary_rpc_method_handler( + servicer.VolumeExpand, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeExpandRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'VolumeFrontendStart': grpc.unary_unary_rpc_method_handler( + servicer.VolumeFrontendStart, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeFrontendStartRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'VolumeFrontendShutdown': grpc.unary_unary_rpc_method_handler( + servicer.VolumeFrontendShutdown, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'VolumeUnmapMarkSnapChainRemovedSet': grpc.unary_unary_rpc_method_handler( + servicer.VolumeUnmapMarkSnapChainRemovedSet, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeUnmapMarkSnapChainRemovedSetRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'VolumeSnapshotMaxCountSet': grpc.unary_unary_rpc_method_handler( + servicer.VolumeSnapshotMaxCountSet, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeSnapshotMaxCountSetRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'VolumeSnapshotMaxSizeSet': grpc.unary_unary_rpc_method_handler( + servicer.VolumeSnapshotMaxSizeSet, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeSnapshotMaxSizeSetRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'VolumeSnapshot': grpc.unary_unary_rpc_method_handler( + servicer.VolumeSnapshot, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeSnapshotRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeSnapshotProxyResponse.SerializeToString, + ), + 'SnapshotList': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotList, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotListProxyResponse.SerializeToString, + ), + 'SnapshotRevert': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotRevert, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotRevertRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'SnapshotPurge': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotPurge, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotPurgeRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'SnapshotPurgeStatus': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotPurgeStatus, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotPurgeStatusProxyResponse.SerializeToString, + ), + 'SnapshotClone': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotClone, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotCloneRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'SnapshotCloneStatus': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotCloneStatus, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotCloneStatusProxyResponse.SerializeToString, + ), + 'SnapshotRemove': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotRemove, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotRemoveRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'SnapshotHash': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotHash, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotHashRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'SnapshotHashStatus': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotHashStatus, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotHashStatusRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotHashStatusProxyResponse.SerializeToString, + ), + 'SnapshotBackup': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotBackup, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotBackupRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotBackupProxyResponse.SerializeToString, + ), + 'SnapshotBackupStatus': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotBackupStatus, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotBackupStatusRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotBackupStatusProxyResponse.SerializeToString, + ), + 'BackupRestore': grpc.unary_unary_rpc_method_handler( + servicer.BackupRestore, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineBackupRestoreRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineBackupRestoreProxyResponse.SerializeToString, + ), + 'BackupRestoreStatus': grpc.unary_unary_rpc_method_handler( + servicer.BackupRestoreStatus, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineBackupRestoreStatusProxyResponse.SerializeToString, + ), + 'BackupRestoreFinish': grpc.unary_unary_rpc_method_handler( + servicer.BackupRestoreFinish, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineBackupRestoreFinishRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'CleanupBackupMountPoints': grpc.unary_unary_rpc_method_handler( + servicer.CleanupBackupMountPoints, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'ReplicaAdd': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaAdd, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaAddRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'ReplicaList': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaList, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaListProxyResponse.SerializeToString, + ), + 'ReplicaRebuildingStatus': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaRebuildingStatus, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaRebuildStatusProxyResponse.SerializeToString, + ), + 'ReplicaVerifyRebuild': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaVerifyRebuild, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaVerifyRebuildRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'ReplicaRemove': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaRemove, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaRemoveRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'ReplicaModeUpdate': grpc.unary_unary_rpc_method_handler( + servicer.ReplicaModeUpdate, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaModeUpdateRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'MetricsGet': grpc.unary_unary_rpc_method_handler( + servicer.MetricsGet, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.FromString, + response_serializer=pkg_dot_imrpc_dot_proxy__pb2.EngineMetricsGetProxyResponse.SerializeToString, + ), + 'RemountReadOnlyVolume': grpc.unary_unary_rpc_method_handler( + servicer.RemountReadOnlyVolume, + request_deserializer=pkg_dot_imrpc_dot_proxy__pb2.RemountVolumeRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'pkg.imrpc.ProxyEngineService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class ProxyEngineService(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def ServerVersionGet(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, '/pkg.imrpc.ProxyEngineService/ServerVersionGet', + pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + pkg_dot_imrpc_dot_proxy__pb2.EngineVersionProxyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeGet(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, '/pkg.imrpc.ProxyEngineService/VolumeGet', + pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeGetProxyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeExpand(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, '/pkg.imrpc.ProxyEngineService/VolumeExpand', + pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeExpandRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeFrontendStart(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, '/pkg.imrpc.ProxyEngineService/VolumeFrontendStart', + pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeFrontendStartRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeFrontendShutdown(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, '/pkg.imrpc.ProxyEngineService/VolumeFrontendShutdown', + pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeUnmapMarkSnapChainRemovedSet(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, '/pkg.imrpc.ProxyEngineService/VolumeUnmapMarkSnapChainRemovedSet', + pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeUnmapMarkSnapChainRemovedSetRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeSnapshotMaxCountSet(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, '/pkg.imrpc.ProxyEngineService/VolumeSnapshotMaxCountSet', + pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeSnapshotMaxCountSetRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeSnapshotMaxSizeSet(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, '/pkg.imrpc.ProxyEngineService/VolumeSnapshotMaxSizeSet', + pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeSnapshotMaxSizeSetRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VolumeSnapshot(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, '/pkg.imrpc.ProxyEngineService/VolumeSnapshot', + pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeSnapshotRequest.SerializeToString, + pkg_dot_imrpc_dot_proxy__pb2.EngineVolumeSnapshotProxyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotList(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, '/pkg.imrpc.ProxyEngineService/SnapshotList', + pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotListProxyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotRevert(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, '/pkg.imrpc.ProxyEngineService/SnapshotRevert', + pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotRevertRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotPurge(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, '/pkg.imrpc.ProxyEngineService/SnapshotPurge', + pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotPurgeRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotPurgeStatus(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, '/pkg.imrpc.ProxyEngineService/SnapshotPurgeStatus', + pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotPurgeStatusProxyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotClone(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, '/pkg.imrpc.ProxyEngineService/SnapshotClone', + pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotCloneRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotCloneStatus(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, '/pkg.imrpc.ProxyEngineService/SnapshotCloneStatus', + pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotCloneStatusProxyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotRemove(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, '/pkg.imrpc.ProxyEngineService/SnapshotRemove', + pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotRemoveRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotHash(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, '/pkg.imrpc.ProxyEngineService/SnapshotHash', + pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotHashRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotHashStatus(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, '/pkg.imrpc.ProxyEngineService/SnapshotHashStatus', + pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotHashStatusRequest.SerializeToString, + pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotHashStatusProxyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotBackup(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, '/pkg.imrpc.ProxyEngineService/SnapshotBackup', + pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotBackupRequest.SerializeToString, + pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotBackupProxyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotBackupStatus(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, '/pkg.imrpc.ProxyEngineService/SnapshotBackupStatus', + pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotBackupStatusRequest.SerializeToString, + pkg_dot_imrpc_dot_proxy__pb2.EngineSnapshotBackupStatusProxyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def BackupRestore(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, '/pkg.imrpc.ProxyEngineService/BackupRestore', + pkg_dot_imrpc_dot_proxy__pb2.EngineBackupRestoreRequest.SerializeToString, + pkg_dot_imrpc_dot_proxy__pb2.EngineBackupRestoreProxyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def BackupRestoreStatus(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, '/pkg.imrpc.ProxyEngineService/BackupRestoreStatus', + pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + pkg_dot_imrpc_dot_proxy__pb2.EngineBackupRestoreStatusProxyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def BackupRestoreFinish(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, '/pkg.imrpc.ProxyEngineService/BackupRestoreFinish', + pkg_dot_imrpc_dot_proxy__pb2.EngineBackupRestoreFinishRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CleanupBackupMountPoints(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, '/pkg.imrpc.ProxyEngineService/CleanupBackupMountPoints', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaAdd(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, '/pkg.imrpc.ProxyEngineService/ReplicaAdd', + pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaAddRequest.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, + 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, '/pkg.imrpc.ProxyEngineService/ReplicaList', + pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaListProxyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaRebuildingStatus(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, '/pkg.imrpc.ProxyEngineService/ReplicaRebuildingStatus', + pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaRebuildStatusProxyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaVerifyRebuild(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, '/pkg.imrpc.ProxyEngineService/ReplicaVerifyRebuild', + pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaVerifyRebuildRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaRemove(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, '/pkg.imrpc.ProxyEngineService/ReplicaRemove', + pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaRemoveRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicaModeUpdate(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, '/pkg.imrpc.ProxyEngineService/ReplicaModeUpdate', + pkg_dot_imrpc_dot_proxy__pb2.EngineReplicaModeUpdateRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def MetricsGet(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, '/pkg.imrpc.ProxyEngineService/MetricsGet', + pkg_dot_imrpc_dot_proxy__pb2.ProxyEngineRequest.SerializeToString, + pkg_dot_imrpc_dot_proxy__pb2.EngineMetricsGetProxyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RemountReadOnlyVolume(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, '/pkg.imrpc.ProxyEngineService/RemountReadOnlyVolume', + pkg_dot_imrpc_dot_proxy__pb2.RemountVolumeRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/pkg/smrpc/smrpc.pb.go b/pkg/smrpc/smrpc.pb.go new file mode 100644 index 0000000..17b0d2f --- /dev/null +++ b/pkg/smrpc/smrpc.pb.go @@ -0,0 +1,169 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: pkg/smrpc/smrpc.proto + +package smrpc + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type FilesystemTrimRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EncryptedDevice bool `protobuf:"varint,1,opt,name=encrypted_device,json=encryptedDevice,proto3" json:"encrypted_device,omitempty"` +} + +func (x *FilesystemTrimRequest) Reset() { + *x = FilesystemTrimRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_smrpc_smrpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FilesystemTrimRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FilesystemTrimRequest) ProtoMessage() {} + +func (x *FilesystemTrimRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_smrpc_smrpc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FilesystemTrimRequest.ProtoReflect.Descriptor instead. +func (*FilesystemTrimRequest) Descriptor() ([]byte, []int) { + return file_pkg_smrpc_smrpc_proto_rawDescGZIP(), []int{0} +} + +func (x *FilesystemTrimRequest) GetEncryptedDevice() bool { + if x != nil { + return x.EncryptedDevice + } + return false +} + +var File_pkg_smrpc_smrpc_proto protoreflect.FileDescriptor + +var file_pkg_smrpc_smrpc_proto_rawDesc = []byte{ + 0x0a, 0x15, 0x70, 0x6b, 0x67, 0x2f, 0x73, 0x6d, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x6d, 0x72, 0x70, + 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x70, 0x6b, 0x67, 0x2e, 0x73, 0x6d, 0x72, + 0x70, 0x63, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x42, 0x0a, 0x15, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x72, 0x69, + 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x32, 0xdb, 0x01, 0x0a, 0x13, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x46, + 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x72, 0x69, 0x6d, 0x12, 0x20, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x73, 0x6d, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x54, 0x72, 0x69, 0x6d, 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, 0x3b, 0x0a, 0x07, 0x55, 0x6e, 0x6d, + 0x6f, 0x75, 0x6e, 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, 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, 0x39, 0x0a, 0x05, 0x4d, 0x6f, 0x75, 0x6e, 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, 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, 0x42, 0x25, 0x5a, 0x23, 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, 0x73, 0x6d, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_smrpc_smrpc_proto_rawDescOnce sync.Once + file_pkg_smrpc_smrpc_proto_rawDescData = file_pkg_smrpc_smrpc_proto_rawDesc +) + +func file_pkg_smrpc_smrpc_proto_rawDescGZIP() []byte { + file_pkg_smrpc_smrpc_proto_rawDescOnce.Do(func() { + file_pkg_smrpc_smrpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_smrpc_smrpc_proto_rawDescData) + }) + return file_pkg_smrpc_smrpc_proto_rawDescData +} + +var file_pkg_smrpc_smrpc_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_pkg_smrpc_smrpc_proto_goTypes = []interface{}{ + (*FilesystemTrimRequest)(nil), // 0: pkg.smrpc.FilesystemTrimRequest + (*emptypb.Empty)(nil), // 1: google.protobuf.Empty +} +var file_pkg_smrpc_smrpc_proto_depIdxs = []int32{ + 0, // 0: pkg.smrpc.ShareManagerService.FilesystemTrim:input_type -> pkg.smrpc.FilesystemTrimRequest + 1, // 1: pkg.smrpc.ShareManagerService.Unmount:input_type -> google.protobuf.Empty + 1, // 2: pkg.smrpc.ShareManagerService.Mount:input_type -> google.protobuf.Empty + 1, // 3: pkg.smrpc.ShareManagerService.FilesystemTrim:output_type -> google.protobuf.Empty + 1, // 4: pkg.smrpc.ShareManagerService.Unmount:output_type -> google.protobuf.Empty + 1, // 5: pkg.smrpc.ShareManagerService.Mount:output_type -> google.protobuf.Empty + 3, // [3:6] is the sub-list for method output_type + 0, // [0:3] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_pkg_smrpc_smrpc_proto_init() } +func file_pkg_smrpc_smrpc_proto_init() { + if File_pkg_smrpc_smrpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pkg_smrpc_smrpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FilesystemTrimRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_smrpc_smrpc_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_pkg_smrpc_smrpc_proto_goTypes, + DependencyIndexes: file_pkg_smrpc_smrpc_proto_depIdxs, + MessageInfos: file_pkg_smrpc_smrpc_proto_msgTypes, + }.Build() + File_pkg_smrpc_smrpc_proto = out.File + file_pkg_smrpc_smrpc_proto_rawDesc = nil + file_pkg_smrpc_smrpc_proto_goTypes = nil + file_pkg_smrpc_smrpc_proto_depIdxs = nil +} diff --git a/pkg/smrpc/smrpc.proto b/pkg/smrpc/smrpc.proto new file mode 100644 index 0000000..6bf3fd6 --- /dev/null +++ b/pkg/smrpc/smrpc.proto @@ -0,0 +1,17 @@ +syntax="proto3"; + +package pkg.smrpc; + +option go_package = "github.com/longhorn/types/pkg/smrpc"; + +import "google/protobuf/empty.proto"; + +service ShareManagerService { + rpc FilesystemTrim(FilesystemTrimRequest) returns (google.protobuf.Empty) {} + rpc Unmount(google.protobuf.Empty) returns (google.protobuf.Empty) {} + rpc Mount(google.protobuf.Empty) returns (google.protobuf.Empty) {} +} + +message FilesystemTrimRequest { + bool encrypted_device = 1; +} diff --git a/pkg/smrpc/smrpc_grpc.pb.go b/pkg/smrpc/smrpc_grpc.pb.go new file mode 100644 index 0000000..0af0f35 --- /dev/null +++ b/pkg/smrpc/smrpc_grpc.pb.go @@ -0,0 +1,184 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.24.3 +// source: pkg/smrpc/smrpc.proto + +package smrpc + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + ShareManagerService_FilesystemTrim_FullMethodName = "/pkg.smrpc.ShareManagerService/FilesystemTrim" + ShareManagerService_Unmount_FullMethodName = "/pkg.smrpc.ShareManagerService/Unmount" + ShareManagerService_Mount_FullMethodName = "/pkg.smrpc.ShareManagerService/Mount" +) + +// ShareManagerServiceClient is the client API for ShareManagerService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ShareManagerServiceClient interface { + FilesystemTrim(ctx context.Context, in *FilesystemTrimRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + Unmount(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) + Mount(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) +} + +type shareManagerServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewShareManagerServiceClient(cc grpc.ClientConnInterface) ShareManagerServiceClient { + return &shareManagerServiceClient{cc} +} + +func (c *shareManagerServiceClient) FilesystemTrim(ctx context.Context, in *FilesystemTrimRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ShareManagerService_FilesystemTrim_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *shareManagerServiceClient) Unmount(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ShareManagerService_Unmount_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *shareManagerServiceClient) Mount(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, ShareManagerService_Mount_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ShareManagerServiceServer is the server API for ShareManagerService service. +// All implementations must embed UnimplementedShareManagerServiceServer +// for forward compatibility +type ShareManagerServiceServer interface { + FilesystemTrim(context.Context, *FilesystemTrimRequest) (*emptypb.Empty, error) + Unmount(context.Context, *emptypb.Empty) (*emptypb.Empty, error) + Mount(context.Context, *emptypb.Empty) (*emptypb.Empty, error) + mustEmbedUnimplementedShareManagerServiceServer() +} + +// UnimplementedShareManagerServiceServer must be embedded to have forward compatible implementations. +type UnimplementedShareManagerServiceServer struct { +} + +func (UnimplementedShareManagerServiceServer) FilesystemTrim(context.Context, *FilesystemTrimRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method FilesystemTrim not implemented") +} +func (UnimplementedShareManagerServiceServer) Unmount(context.Context, *emptypb.Empty) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Unmount not implemented") +} +func (UnimplementedShareManagerServiceServer) Mount(context.Context, *emptypb.Empty) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Mount not implemented") +} +func (UnimplementedShareManagerServiceServer) mustEmbedUnimplementedShareManagerServiceServer() {} + +// UnsafeShareManagerServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ShareManagerServiceServer will +// result in compilation errors. +type UnsafeShareManagerServiceServer interface { + mustEmbedUnimplementedShareManagerServiceServer() +} + +func RegisterShareManagerServiceServer(s grpc.ServiceRegistrar, srv ShareManagerServiceServer) { + s.RegisterService(&ShareManagerService_ServiceDesc, srv) +} + +func _ShareManagerService_FilesystemTrim_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FilesystemTrimRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ShareManagerServiceServer).FilesystemTrim(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ShareManagerService_FilesystemTrim_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ShareManagerServiceServer).FilesystemTrim(ctx, req.(*FilesystemTrimRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ShareManagerService_Unmount_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 { + return nil, err + } + if interceptor == nil { + return srv.(ShareManagerServiceServer).Unmount(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ShareManagerService_Unmount_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ShareManagerServiceServer).Unmount(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _ShareManagerService_Mount_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 { + return nil, err + } + if interceptor == nil { + return srv.(ShareManagerServiceServer).Mount(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ShareManagerService_Mount_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ShareManagerServiceServer).Mount(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +// ShareManagerService_ServiceDesc is the grpc.ServiceDesc for ShareManagerService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ShareManagerService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "pkg.smrpc.ShareManagerService", + HandlerType: (*ShareManagerServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "FilesystemTrim", + Handler: _ShareManagerService_FilesystemTrim_Handler, + }, + { + MethodName: "Unmount", + Handler: _ShareManagerService_Unmount_Handler, + }, + { + MethodName: "Mount", + Handler: _ShareManagerService_Mount_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "pkg/smrpc/smrpc.proto", +} diff --git a/pkg/smrpc/smrpc_pb2.py b/pkg/smrpc/smrpc_pb2.py new file mode 100644 index 0000000..52c8b39 --- /dev/null +++ b/pkg/smrpc/smrpc_pb2.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: pkg/smrpc/smrpc.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15pkg/smrpc/smrpc.proto\x12\tpkg.smrpc\x1a\x1bgoogle/protobuf/empty.proto\"1\n\x15\x46ilesystemTrimRequest\x12\x18\n\x10\x65ncrypted_device\x18\x01 \x01(\x08\x32\xdb\x01\n\x13ShareManagerService\x12L\n\x0e\x46ilesystemTrim\x12 .pkg.smrpc.FilesystemTrimRequest\x1a\x16.google.protobuf.Empty\"\x00\x12;\n\x07Unmount\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x12\x39\n\x05Mount\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x42%Z#github.com/longhorn/types/pkg/smrpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pkg.smrpc.smrpc_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z#github.com/longhorn/types/pkg/smrpc' + _globals['_FILESYSTEMTRIMREQUEST']._serialized_start=65 + _globals['_FILESYSTEMTRIMREQUEST']._serialized_end=114 + _globals['_SHAREMANAGERSERVICE']._serialized_start=117 + _globals['_SHAREMANAGERSERVICE']._serialized_end=336 +# @@protoc_insertion_point(module_scope) diff --git a/pkg/smrpc/smrpc_pb2_grpc.py b/pkg/smrpc/smrpc_pb2_grpc.py new file mode 100644 index 0000000..c8e1d71 --- /dev/null +++ b/pkg/smrpc/smrpc_pb2_grpc.py @@ -0,0 +1,133 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from pkg.smrpc import smrpc_pb2 as pkg_dot_smrpc_dot_smrpc__pb2 + + +class ShareManagerServiceStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.FilesystemTrim = channel.unary_unary( + '/pkg.smrpc.ShareManagerService/FilesystemTrim', + request_serializer=pkg_dot_smrpc_dot_smrpc__pb2.FilesystemTrimRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.Unmount = channel.unary_unary( + '/pkg.smrpc.ShareManagerService/Unmount', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.Mount = channel.unary_unary( + '/pkg.smrpc.ShareManagerService/Mount', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + + +class ShareManagerServiceServicer(object): + """Missing associated documentation comment in .proto file.""" + + def FilesystemTrim(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 Unmount(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 Mount(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 add_ShareManagerServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'FilesystemTrim': grpc.unary_unary_rpc_method_handler( + servicer.FilesystemTrim, + request_deserializer=pkg_dot_smrpc_dot_smrpc__pb2.FilesystemTrimRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'Unmount': grpc.unary_unary_rpc_method_handler( + servicer.Unmount, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'Mount': grpc.unary_unary_rpc_method_handler( + servicer.Mount, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'pkg.smrpc.ShareManagerService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class ShareManagerService(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def FilesystemTrim(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, '/pkg.smrpc.ShareManagerService/FilesystemTrim', + pkg_dot_smrpc_dot_smrpc__pb2.FilesystemTrimRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Unmount(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, '/pkg.smrpc.ShareManagerService/Unmount', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Mount(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, '/pkg.smrpc.ShareManagerService/Mount', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/proto/vendor/protobuf/src/google/protobuf/empty.proto b/proto/vendor/protobuf/src/google/protobuf/empty.proto new file mode 100644 index 0000000..b87c89d --- /dev/null +++ b/proto/vendor/protobuf/src/google/protobuf/empty.proto @@ -0,0 +1,51 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option go_package = "google.golang.org/protobuf/types/known/emptypb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "EmptyProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option cc_enable_arenas = true; + +// A generic empty message that you can re-use to avoid defining duplicated +// empty messages in your APIs. A typical example is to use it as the request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); +// } +// +message Empty {} diff --git a/scripts/checkdiff b/scripts/checkdiff new file mode 100755 index 0000000..0cac228 --- /dev/null +++ b/scripts/checkdiff @@ -0,0 +1,16 @@ +#!/bin/bash + +set -e + +cd $(dirname $0) + +./generate_grpc +set +e + +output=`git diff --stat|grep -e ".pb.go" -e "_pb2.py" -e "_pb2_grpc.py"` +if [ $? -eq 0 ] +then + echo $output + echo GRPC generated code is not up to date + exit 1 +fi diff --git a/scripts/ci b/scripts/ci new file mode 100755 index 0000000..9c74b1a --- /dev/null +++ b/scripts/ci @@ -0,0 +1,6 @@ +#!/bin/bash +set -e + +cd $(dirname $0) + +./checkdiff diff --git a/scripts/entry b/scripts/entry new file mode 100755 index 0000000..486dc0f --- /dev/null +++ b/scripts/entry @@ -0,0 +1,11 @@ +#!/bin/bash +set -e + +trap "chown -R $DAPPER_UID:$DAPPER_GID ." exit + +mkdir -p bin +if [ -e ./scripts/$1 ]; then + ./scripts/"$@" +else + "$@" +fi diff --git a/scripts/generate_grpc b/scripts/generate_grpc new file mode 100755 index 0000000..f2e18ea --- /dev/null +++ b/scripts/generate_grpc @@ -0,0 +1,40 @@ +#!/bin/bash + +set -e + +cd $(dirname $0)/.. + +# check and download dependency for gRPC code generate +if [ ! -e ./proto/vendor/protobuf/src/google/protobuf ]; then + rm -rf ./proto/vendor/protobuf/src/google/protobuf + DIR="./proto/vendor/protobuf/src/google/protobuf" + mkdir -p $DIR + wget https://raw.githubusercontent.com/protocolbuffers/protobuf/v24.3/src/google/protobuf/empty.proto -P $DIR +fi + +PY_BUILD_DIR_BASE=".pyprotobuild" +GO_BUILD_DIR_BASE=".goprotobuild" +mkdir -p "${PY_BUILD_DIR_BASE}" "${GO_BUILD_DIR_BASE}" + +for PROTO in enginerpc imrpc bimrpc smrpc; do + for i in pkg/${PROTO}/*.proto; do + python3 -m grpc_tools.protoc -I . -I "proto/vendor/" \ + --python_out="${PY_BUILD_DIR_BASE}" \ + --grpc_python_out="${PY_BUILD_DIR_BASE}" \ + $i + protoc -I . -I "proto/vendor/" \ + --go_out="${GO_BUILD_DIR_BASE}" --go_opt=paths=source_relative \ + --go-grpc_out="${GO_BUILD_DIR_BASE}" --go-grpc_opt=paths=source_relative \ + $i + done + + for i in ${PY_BUILD_DIR_BASE}/pkg/${PROTO}/*.py; do + mv $i pkg/${PROTO}/ + done + + for i in ${GO_BUILD_DIR_BASE}/pkg/${PROTO}/*.go; do + mv $i pkg/${PROTO}/ + done +done + +rm -rf "${PY_BUILD_DIR_BASE}" "${GO_BUILD_DIR_BASE}"