From 035cb3d1550c507c333e668b400d5f55f5134a5f Mon Sep 17 00:00:00 2001 From: Gaius Date: Wed, 2 Aug 2023 20:58:57 +0800 Subject: [PATCH] feat: add DeleteSeedPeer api Signed-off-by: Gaius --- Cargo.toml | 2 +- pkg/apis/manager/v2/manager.pb.go | 976 ++++++++++++--------- pkg/apis/manager/v2/manager.pb.validate.go | 181 ++++ pkg/apis/manager/v2/manager.proto | 15 + pkg/apis/manager/v2/manager_grpc.pb.go | 38 + pkg/apis/manager/v2/mocks/manager_mock.go | 35 + proto/manager.proto | 15 + src/descriptor.bin | Bin 74298 -> 75089 bytes src/manager.v2.rs | 91 ++ 9 files changed, 919 insertions(+), 434 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 55a94da..6824fdc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dragonfly-api" -version = "2.0.15" +version = "2.0.16" authors = ["Gaius "] edition = "2021" license = "Apache-2.0" diff --git a/pkg/apis/manager/v2/manager.pb.go b/pkg/apis/manager/v2/manager.pb.go index 74345bb..24e2c9f 100644 --- a/pkg/apis/manager/v2/manager.pb.go +++ b/pkg/apis/manager/v2/manager.pb.go @@ -530,6 +530,82 @@ func (x *UpdateSeedPeerRequest) GetObjectStoragePort() int32 { return 0 } +// DeleteSeedPeerRequest represents request of DeleteSeedPeer. +type DeleteSeedPeerRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Request source type. + SourceType SourceType `protobuf:"varint,1,opt,name=source_type,json=sourceType,proto3,enum=manager.v2.SourceType" json:"source_type,omitempty"` + // Seed peer hostname. + Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"` + // ID of the cluster to which the seed peer belongs. + SeedPeerClusterId uint64 `protobuf:"varint,3,opt,name=seed_peer_cluster_id,json=seedPeerClusterId,proto3" json:"seed_peer_cluster_id,omitempty"` + // Seed peer ip. + Ip string `protobuf:"bytes,4,opt,name=ip,proto3" json:"ip,omitempty"` +} + +func (x *DeleteSeedPeerRequest) Reset() { + *x = DeleteSeedPeerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSeedPeerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSeedPeerRequest) ProtoMessage() {} + +func (x *DeleteSeedPeerRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_apis_manager_v2_manager_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 DeleteSeedPeerRequest.ProtoReflect.Descriptor instead. +func (*DeleteSeedPeerRequest) Descriptor() ([]byte, []int) { + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{4} +} + +func (x *DeleteSeedPeerRequest) GetSourceType() SourceType { + if x != nil { + return x.SourceType + } + return SourceType_SCHEDULER_SOURCE +} + +func (x *DeleteSeedPeerRequest) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + +func (x *DeleteSeedPeerRequest) GetSeedPeerClusterId() uint64 { + if x != nil { + return x.SeedPeerClusterId + } + return 0 +} + +func (x *DeleteSeedPeerRequest) GetIp() string { + if x != nil { + return x.Ip + } + return "" +} + // SeedPeerCluster represents cluster of scheduler. type SchedulerCluster struct { state protoimpl.MessageState @@ -553,7 +629,7 @@ type SchedulerCluster struct { func (x *SchedulerCluster) Reset() { *x = SchedulerCluster{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[4] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -566,7 +642,7 @@ func (x *SchedulerCluster) String() string { func (*SchedulerCluster) ProtoMessage() {} func (x *SchedulerCluster) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[4] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -579,7 +655,7 @@ func (x *SchedulerCluster) ProtoReflect() protoreflect.Message { // Deprecated: Use SchedulerCluster.ProtoReflect.Descriptor instead. func (*SchedulerCluster) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{4} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{5} } func (x *SchedulerCluster) GetId() uint64 { @@ -657,7 +733,7 @@ type Scheduler struct { func (x *Scheduler) Reset() { *x = Scheduler{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[5] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -670,7 +746,7 @@ func (x *Scheduler) String() string { func (*Scheduler) ProtoMessage() {} func (x *Scheduler) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[5] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -683,7 +759,7 @@ func (x *Scheduler) ProtoReflect() protoreflect.Message { // Deprecated: Use Scheduler.ProtoReflect.Descriptor instead. func (*Scheduler) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{5} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{6} } func (x *Scheduler) GetId() uint64 { @@ -782,7 +858,7 @@ type GetSchedulerRequest struct { func (x *GetSchedulerRequest) Reset() { *x = GetSchedulerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[6] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -795,7 +871,7 @@ func (x *GetSchedulerRequest) String() string { func (*GetSchedulerRequest) ProtoMessage() {} func (x *GetSchedulerRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[6] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -808,7 +884,7 @@ func (x *GetSchedulerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchedulerRequest.ProtoReflect.Descriptor instead. func (*GetSchedulerRequest) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{6} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{7} } func (x *GetSchedulerRequest) GetSourceType() SourceType { @@ -864,7 +940,7 @@ type UpdateSchedulerRequest struct { func (x *UpdateSchedulerRequest) Reset() { *x = UpdateSchedulerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[7] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -877,7 +953,7 @@ func (x *UpdateSchedulerRequest) String() string { func (*UpdateSchedulerRequest) ProtoMessage() {} func (x *UpdateSchedulerRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[7] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -890,7 +966,7 @@ func (x *UpdateSchedulerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateSchedulerRequest.ProtoReflect.Descriptor instead. func (*UpdateSchedulerRequest) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{7} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{8} } func (x *UpdateSchedulerRequest) GetSourceType() SourceType { @@ -965,7 +1041,7 @@ type ListSchedulersRequest struct { func (x *ListSchedulersRequest) Reset() { *x = ListSchedulersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[8] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -978,7 +1054,7 @@ func (x *ListSchedulersRequest) String() string { func (*ListSchedulersRequest) ProtoMessage() {} func (x *ListSchedulersRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[8] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -991,7 +1067,7 @@ func (x *ListSchedulersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSchedulersRequest.ProtoReflect.Descriptor instead. func (*ListSchedulersRequest) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{8} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{9} } func (x *ListSchedulersRequest) GetSourceType() SourceType { @@ -1049,7 +1125,7 @@ type ListSchedulersResponse struct { func (x *ListSchedulersResponse) Reset() { *x = ListSchedulersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[9] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1062,7 +1138,7 @@ func (x *ListSchedulersResponse) String() string { func (*ListSchedulersResponse) ProtoMessage() {} func (x *ListSchedulersResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[9] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1075,7 +1151,7 @@ func (x *ListSchedulersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSchedulersResponse.ProtoReflect.Descriptor instead. func (*ListSchedulersResponse) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{9} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{10} } func (x *ListSchedulersResponse) GetSchedulers() []*Scheduler { @@ -1113,7 +1189,7 @@ type ObjectStorage struct { func (x *ObjectStorage) Reset() { *x = ObjectStorage{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[10] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1126,7 +1202,7 @@ func (x *ObjectStorage) String() string { func (*ObjectStorage) ProtoMessage() {} func (x *ObjectStorage) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[10] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1139,7 +1215,7 @@ func (x *ObjectStorage) ProtoReflect() protoreflect.Message { // Deprecated: Use ObjectStorage.ProtoReflect.Descriptor instead. func (*ObjectStorage) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{10} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{11} } func (x *ObjectStorage) GetName() string { @@ -1201,7 +1277,7 @@ type GetObjectStorageRequest struct { func (x *GetObjectStorageRequest) Reset() { *x = GetObjectStorageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[11] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1214,7 +1290,7 @@ func (x *GetObjectStorageRequest) String() string { func (*GetObjectStorageRequest) ProtoMessage() {} func (x *GetObjectStorageRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[11] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1227,7 +1303,7 @@ func (x *GetObjectStorageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetObjectStorageRequest.ProtoReflect.Descriptor instead. func (*GetObjectStorageRequest) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{11} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{12} } func (x *GetObjectStorageRequest) GetSourceType() SourceType { @@ -1264,7 +1340,7 @@ type Bucket struct { func (x *Bucket) Reset() { *x = Bucket{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[12] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1277,7 +1353,7 @@ func (x *Bucket) String() string { func (*Bucket) ProtoMessage() {} func (x *Bucket) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[12] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1290,7 +1366,7 @@ func (x *Bucket) ProtoReflect() protoreflect.Message { // Deprecated: Use Bucket.ProtoReflect.Descriptor instead. func (*Bucket) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{12} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{13} } func (x *Bucket) GetName() string { @@ -1317,7 +1393,7 @@ type ListBucketsRequest struct { func (x *ListBucketsRequest) Reset() { *x = ListBucketsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[13] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1330,7 +1406,7 @@ func (x *ListBucketsRequest) String() string { func (*ListBucketsRequest) ProtoMessage() {} func (x *ListBucketsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[13] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1343,7 +1419,7 @@ func (x *ListBucketsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListBucketsRequest.ProtoReflect.Descriptor instead. func (*ListBucketsRequest) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{13} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{14} } func (x *ListBucketsRequest) GetSourceType() SourceType { @@ -1380,7 +1456,7 @@ type ListBucketsResponse struct { func (x *ListBucketsResponse) Reset() { *x = ListBucketsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[14] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1393,7 +1469,7 @@ func (x *ListBucketsResponse) String() string { func (*ListBucketsResponse) ProtoMessage() {} func (x *ListBucketsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[14] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1406,7 +1482,7 @@ func (x *ListBucketsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListBucketsResponse.ProtoReflect.Descriptor instead. func (*ListBucketsResponse) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{14} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{15} } func (x *ListBucketsResponse) GetBuckets() []*Bucket { @@ -1431,7 +1507,7 @@ type URLPriority struct { func (x *URLPriority) Reset() { *x = URLPriority{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[15] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1444,7 +1520,7 @@ func (x *URLPriority) String() string { func (*URLPriority) ProtoMessage() {} func (x *URLPriority) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[15] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1457,7 +1533,7 @@ func (x *URLPriority) ProtoReflect() protoreflect.Message { // Deprecated: Use URLPriority.ProtoReflect.Descriptor instead. func (*URLPriority) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{15} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{16} } func (x *URLPriority) GetRegex() string { @@ -1489,7 +1565,7 @@ type ApplicationPriority struct { func (x *ApplicationPriority) Reset() { *x = ApplicationPriority{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[16] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1502,7 +1578,7 @@ func (x *ApplicationPriority) String() string { func (*ApplicationPriority) ProtoMessage() {} func (x *ApplicationPriority) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[16] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1515,7 +1591,7 @@ func (x *ApplicationPriority) ProtoReflect() protoreflect.Message { // Deprecated: Use ApplicationPriority.ProtoReflect.Descriptor instead. func (*ApplicationPriority) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{16} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{17} } func (x *ApplicationPriority) GetValue() v2.Priority { @@ -1553,7 +1629,7 @@ type Application struct { func (x *Application) Reset() { *x = Application{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[17] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1566,7 +1642,7 @@ func (x *Application) String() string { func (*Application) ProtoMessage() {} func (x *Application) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[17] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1579,7 +1655,7 @@ func (x *Application) ProtoReflect() protoreflect.Message { // Deprecated: Use Application.ProtoReflect.Descriptor instead. func (*Application) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{17} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{18} } func (x *Application) GetId() uint64 { @@ -1634,7 +1710,7 @@ type ListApplicationsRequest struct { func (x *ListApplicationsRequest) Reset() { *x = ListApplicationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[18] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1647,7 +1723,7 @@ func (x *ListApplicationsRequest) String() string { func (*ListApplicationsRequest) ProtoMessage() {} func (x *ListApplicationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[18] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1660,7 +1736,7 @@ func (x *ListApplicationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListApplicationsRequest.ProtoReflect.Descriptor instead. func (*ListApplicationsRequest) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{18} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{19} } func (x *ListApplicationsRequest) GetSourceType() SourceType { @@ -1697,7 +1773,7 @@ type ListApplicationsResponse struct { func (x *ListApplicationsResponse) Reset() { *x = ListApplicationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[19] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1710,7 +1786,7 @@ func (x *ListApplicationsResponse) String() string { func (*ListApplicationsResponse) ProtoMessage() {} func (x *ListApplicationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[19] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1723,7 +1799,7 @@ func (x *ListApplicationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListApplicationsResponse.ProtoReflect.Descriptor instead. func (*ListApplicationsResponse) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{19} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{20} } func (x *ListApplicationsResponse) GetApplications() []*Application { @@ -1752,7 +1828,7 @@ type CreateGNNRequest struct { func (x *CreateGNNRequest) Reset() { *x = CreateGNNRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[20] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1765,7 +1841,7 @@ func (x *CreateGNNRequest) String() string { func (*CreateGNNRequest) ProtoMessage() {} func (x *CreateGNNRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[20] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1778,7 +1854,7 @@ func (x *CreateGNNRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateGNNRequest.ProtoReflect.Descriptor instead. func (*CreateGNNRequest) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{20} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{21} } func (x *CreateGNNRequest) GetData() []byte { @@ -1826,7 +1902,7 @@ type CreateMLPRequest struct { func (x *CreateMLPRequest) Reset() { *x = CreateMLPRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[21] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1839,7 +1915,7 @@ func (x *CreateMLPRequest) String() string { func (*CreateMLPRequest) ProtoMessage() {} func (x *CreateMLPRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[21] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1852,7 +1928,7 @@ func (x *CreateMLPRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateMLPRequest.ProtoReflect.Descriptor instead. func (*CreateMLPRequest) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{21} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{22} } func (x *CreateMLPRequest) GetData() []byte { @@ -1896,7 +1972,7 @@ type CreateModelRequest struct { func (x *CreateModelRequest) Reset() { *x = CreateModelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[22] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1909,7 +1985,7 @@ func (x *CreateModelRequest) String() string { func (*CreateModelRequest) ProtoMessage() {} func (x *CreateModelRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[22] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1922,7 +1998,7 @@ func (x *CreateModelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateModelRequest.ProtoReflect.Descriptor instead. func (*CreateModelRequest) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{22} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{23} } func (x *CreateModelRequest) GetHostname() string { @@ -1995,7 +2071,7 @@ type KeepAliveRequest struct { func (x *KeepAliveRequest) Reset() { *x = KeepAliveRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[23] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2008,7 +2084,7 @@ func (x *KeepAliveRequest) String() string { func (*KeepAliveRequest) ProtoMessage() {} func (x *KeepAliveRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[23] + mi := &file_pkg_apis_manager_v2_manager_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2021,7 +2097,7 @@ func (x *KeepAliveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use KeepAliveRequest.ProtoReflect.Descriptor instead. func (*KeepAliveRequest) Descriptor() ([]byte, []int) { - return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{23} + return file_pkg_apis_manager_v2_manager_proto_rawDescGZIP(), []int{24} } func (x *KeepAliveRequest) GetSourceType() SourceType { @@ -2144,137 +2220,189 @@ var file_pkg_apis_manager_v2_manager_proto_rawDesc = []byte{ 0x05, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x1a, 0x09, 0x10, 0xff, 0xff, 0x03, 0x28, 0x80, 0x08, 0x40, 0x01, 0x52, 0x11, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x69, 0x64, 0x63, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9d, 0x01, 0x0a, 0x10, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x62, 0x69, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x8c, 0x03, 0x0a, 0x09, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x69, 0x64, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x03, 0x69, 0x64, 0x63, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x12, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x11, 0x73, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, - 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x52, 0x10, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x12, 0x33, 0x0a, 0x0a, 0x73, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x73, - 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x09, 0x73, 0x65, - 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x69, 0x64, 0x63, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd4, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, - 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, - 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, - 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, - 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x14, 0x73, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, - 0x12, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x70, 0x01, 0xd0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x70, 0x22, - 0xe1, 0x02, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, - 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, - 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x14, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x5f, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x12, 0x73, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, - 0x03, 0x69, 0x64, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, - 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x03, 0x69, 0x64, 0x63, - 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, - 0x08, 0xd0, 0x01, 0x01, 0x48, 0x01, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, 0x02, 0x69, 0x70, 0x12, 0x20, 0x0a, 0x04, - 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x1a, - 0x07, 0x10, 0xff, 0xff, 0x03, 0x28, 0x80, 0x08, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x06, - 0x0a, 0x04, 0x5f, 0x69, 0x64, 0x63, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xfd, 0x02, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, - 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, - 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x23, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, 0x02, 0x69, 0x70, 0x12, 0x56, - 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x9a, 0x01, 0x02, 0x30, 0x01, 0x52, 0x08, 0x68, 0x6f, - 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, - 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x25, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x06, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x3b, 0x0a, 0x0d, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 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, 0x4f, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, - 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x72, 0x73, 0x22, 0x8c, 0x02, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x08, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, - 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, - 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x08, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, - 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, - 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x13, 0x73, 0x33, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, - 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x10, 0x73, 0x33, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, - 0x79, 0x6c, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x41, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, - 0x32, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, - 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, - 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, 0x02, 0x69, 0x70, - 0x22, 0x28, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, - 0x01, 0x18, 0x80, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x12, 0x4c, - 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd5, 0x01, 0x0a, 0x15, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, + 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x14, 0x73, + 0x65, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, + 0x28, 0x01, 0x52, 0x11, 0x73, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x70, 0x01, 0xd0, 0x01, 0x01, 0x52, 0x02, 0x69, + 0x70, 0x22, 0x9d, 0x01, 0x0a, 0x10, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, + 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x69, 0x6f, 0x12, 0x16, 0x0a, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x73, 0x22, 0x8c, 0x03, 0x0a, 0x09, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x69, + 0x64, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x69, 0x64, 0x63, 0x88, + 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, + 0x14, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x73, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x49, 0x0a, 0x11, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x10, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x0a, 0x73, 0x65, + 0x65, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x65, 0x64, + 0x50, 0x65, 0x65, 0x72, 0x52, 0x09, 0x73, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, + 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x5f, + 0x69, 0x64, 0x63, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xd4, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, + 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x68, + 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, + 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x39, 0x0a, 0x14, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x12, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x02, 0x69, + 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x70, 0x01, + 0xd0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x70, 0x22, 0xe1, 0x02, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, + 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, + 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x14, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, + 0x01, 0x52, 0x12, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x03, 0x69, 0x64, 0x63, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, + 0x01, 0x48, 0x00, 0x52, 0x03, 0x69, 0x64, 0x63, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, + 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x48, 0x01, 0x52, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x02, 0x69, + 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x70, 0x01, + 0x52, 0x02, 0x69, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x1a, 0x07, 0x10, 0xff, 0xff, 0x03, 0x28, 0x80, 0x08, + 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x69, 0x64, 0x63, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfd, 0x02, 0x0a, 0x15, + 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, + 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, + 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, + 0x70, 0x01, 0x52, 0x02, 0x69, 0x70, 0x12, 0x56, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x6f, 0x73, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x9a, + 0x01, 0x02, 0x30, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, + 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x3b, + 0x0a, 0x0d, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x4f, 0x0a, 0x16, 0x4c, + 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, + 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x22, 0x8c, 0x02, 0x0a, + 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x1e, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, + 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, + 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x2c, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, + 0xd0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x2c, + 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, + 0x01, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x13, + 0x73, 0x33, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x33, 0x46, 0x6f, 0x72, + 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x17, + 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x68, 0x6f, + 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x72, 0x02, 0x70, 0x01, 0x52, 0x02, 0x69, 0x70, 0x22, 0x28, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x08, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, + 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, + 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x08, + 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, + 0x42, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, 0x02, 0x69, 0x70, 0x22, 0x43, 0x0a, 0x13, 0x4c, 0x69, + 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, + 0x57, 0x0a, 0x0b, 0x55, 0x52, 0x4c, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, + 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, + 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x29, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x6d, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, + 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x75, 0x72, + 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x52, 0x4c, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x52, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, + 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, + 0x42, 0x05, 0x72, 0x03, 0x88, 0x01, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, + 0x62, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x69, 0x6f, 0x12, 0x45, + 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x9a, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, @@ -2283,157 +2411,123 @@ var file_pkg_apis_manager_v2_manager_proto_rawDesc = []byte{ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, 0x02, - 0x69, 0x70, 0x22, 0x43, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x62, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, - 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x57, 0x0a, 0x0b, 0x55, 0x52, 0x4c, 0x50, 0x72, - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, - 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, - 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x6d, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x52, - 0x4c, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x22, - 0xbb, 0x01, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x32, 0x02, 0x28, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, - 0x80, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x88, 0x01, 0x01, 0x52, - 0x03, 0x75, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x62, 0x69, 0x6f, 0x12, 0x45, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, - 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x9a, 0x01, - 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, - 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x08, - 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, - 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, - 0x42, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, 0x02, 0x69, 0x70, 0x22, 0x57, 0x0a, 0x18, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x4e, - 0x4e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x7a, 0x02, 0x10, 0x01, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x06, - 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x35, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, - 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, - 0x08, 0x66, 0x31, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x42, - 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x29, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x07, 0x66, 0x31, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x22, 0x73, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x4c, 0x50, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x7a, 0x02, 0x10, 0x01, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x20, 0x0a, 0x03, 0x6d, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, - 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, - 0x03, 0x6d, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x6d, 0x61, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x52, 0x03, 0x6d, 0x61, 0x65, 0x22, 0xfe, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, - 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, - 0xfa, 0x42, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, 0x02, 0x69, 0x70, 0x12, 0x4c, 0x0a, 0x12, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x67, 0x6e, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x4e, 0x4e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, - 0x6e, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x12, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x6c, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, - 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x4c, 0x50, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6c, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xbe, 0x01, 0x0a, 0x10, 0x4b, 0x65, 0x65, 0x70, - 0x41, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x0b, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, - 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x23, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, - 0x01, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x02, - 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x70, - 0x01, 0xd0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x70, 0x2a, 0x49, 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, - 0x4c, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, - 0x50, 0x45, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, - 0x10, 0x53, 0x45, 0x45, 0x44, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, - 0x45, 0x10, 0x02, 0x32, 0x97, 0x06, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, - 0x43, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1e, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x53, - 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x65, 0x64, - 0x50, 0x65, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, - 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, - 0x46, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, - 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x15, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x22, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x57, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, - 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, - 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x61, + 0x69, 0x70, 0x22, 0x57, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, + 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, + 0x32, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x10, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x4e, 0x4e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x7a, 0x02, 0x10, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, + 0x06, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, + 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x29, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x06, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x35, + 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, + 0x3f, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x08, 0x66, 0x31, 0x5f, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x07, 0x66, 0x31, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x73, 0x0a, 0x10, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4d, 0x4c, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x7a, 0x02, 0x10, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x03, 0x6d, 0x73, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x6d, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x03, + 0x6d, 0x61, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, + 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x65, 0x22, 0xfe, + 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, + 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, + 0x02, 0x69, 0x70, 0x12, 0x4c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x67, 0x6e, + 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x47, 0x4e, 0x4e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, + 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6e, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x4c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x6c, 0x70, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4d, 0x4c, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6c, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, + 0xbe, 0x01, 0x0a, 0x10, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, + 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0a, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x70, 0x01, 0xd0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x70, + 0x2a, 0x49, 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, + 0x0a, 0x10, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, + 0x43, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, + 0x52, 0x43, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x45, 0x44, 0x5f, 0x50, 0x45, + 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x02, 0x32, 0xe4, 0x06, 0x0a, 0x07, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, 0x65, + 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x0e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, 0x21, + 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x14, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, + 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x65, + 0x64, 0x50, 0x65, 0x65, 0x72, 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, 0x46, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, + 0x32, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x76, 0x32, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0f, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, + 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, + 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x57, 0x0a, 0x0e, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x21, 0x2e, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, - 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x09, 0x4b, 0x65, 0x65, 0x70, - 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, - 0x76, 0x32, 0x2e, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 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, 0x28, 0x01, 0x42, 0x2b, 0x5a, - 0x29, 0x64, 0x37, 0x79, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x70, - 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, - 0x76, 0x32, 0x3b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x24, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x43, 0x0a, + 0x09, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 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, + 0x28, 0x01, 0x42, 0x2b, 0x5a, 0x29, 0x64, 0x37, 0x79, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2449,86 +2543,90 @@ func file_pkg_apis_manager_v2_manager_proto_rawDescGZIP() []byte { } var file_pkg_apis_manager_v2_manager_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_pkg_apis_manager_v2_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_pkg_apis_manager_v2_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_pkg_apis_manager_v2_manager_proto_goTypes = []interface{}{ (SourceType)(0), // 0: manager.v2.SourceType (*SeedPeerCluster)(nil), // 1: manager.v2.SeedPeerCluster (*SeedPeer)(nil), // 2: manager.v2.SeedPeer (*GetSeedPeerRequest)(nil), // 3: manager.v2.GetSeedPeerRequest (*UpdateSeedPeerRequest)(nil), // 4: manager.v2.UpdateSeedPeerRequest - (*SchedulerCluster)(nil), // 5: manager.v2.SchedulerCluster - (*Scheduler)(nil), // 6: manager.v2.Scheduler - (*GetSchedulerRequest)(nil), // 7: manager.v2.GetSchedulerRequest - (*UpdateSchedulerRequest)(nil), // 8: manager.v2.UpdateSchedulerRequest - (*ListSchedulersRequest)(nil), // 9: manager.v2.ListSchedulersRequest - (*ListSchedulersResponse)(nil), // 10: manager.v2.ListSchedulersResponse - (*ObjectStorage)(nil), // 11: manager.v2.ObjectStorage - (*GetObjectStorageRequest)(nil), // 12: manager.v2.GetObjectStorageRequest - (*Bucket)(nil), // 13: manager.v2.Bucket - (*ListBucketsRequest)(nil), // 14: manager.v2.ListBucketsRequest - (*ListBucketsResponse)(nil), // 15: manager.v2.ListBucketsResponse - (*URLPriority)(nil), // 16: manager.v2.URLPriority - (*ApplicationPriority)(nil), // 17: manager.v2.ApplicationPriority - (*Application)(nil), // 18: manager.v2.Application - (*ListApplicationsRequest)(nil), // 19: manager.v2.ListApplicationsRequest - (*ListApplicationsResponse)(nil), // 20: manager.v2.ListApplicationsResponse - (*CreateGNNRequest)(nil), // 21: manager.v2.CreateGNNRequest - (*CreateMLPRequest)(nil), // 22: manager.v2.CreateMLPRequest - (*CreateModelRequest)(nil), // 23: manager.v2.CreateModelRequest - (*KeepAliveRequest)(nil), // 24: manager.v2.KeepAliveRequest - nil, // 25: manager.v2.ListSchedulersRequest.HostInfoEntry - (v2.Priority)(0), // 26: common.v2.Priority - (*emptypb.Empty)(nil), // 27: google.protobuf.Empty + (*DeleteSeedPeerRequest)(nil), // 5: manager.v2.DeleteSeedPeerRequest + (*SchedulerCluster)(nil), // 6: manager.v2.SchedulerCluster + (*Scheduler)(nil), // 7: manager.v2.Scheduler + (*GetSchedulerRequest)(nil), // 8: manager.v2.GetSchedulerRequest + (*UpdateSchedulerRequest)(nil), // 9: manager.v2.UpdateSchedulerRequest + (*ListSchedulersRequest)(nil), // 10: manager.v2.ListSchedulersRequest + (*ListSchedulersResponse)(nil), // 11: manager.v2.ListSchedulersResponse + (*ObjectStorage)(nil), // 12: manager.v2.ObjectStorage + (*GetObjectStorageRequest)(nil), // 13: manager.v2.GetObjectStorageRequest + (*Bucket)(nil), // 14: manager.v2.Bucket + (*ListBucketsRequest)(nil), // 15: manager.v2.ListBucketsRequest + (*ListBucketsResponse)(nil), // 16: manager.v2.ListBucketsResponse + (*URLPriority)(nil), // 17: manager.v2.URLPriority + (*ApplicationPriority)(nil), // 18: manager.v2.ApplicationPriority + (*Application)(nil), // 19: manager.v2.Application + (*ListApplicationsRequest)(nil), // 20: manager.v2.ListApplicationsRequest + (*ListApplicationsResponse)(nil), // 21: manager.v2.ListApplicationsResponse + (*CreateGNNRequest)(nil), // 22: manager.v2.CreateGNNRequest + (*CreateMLPRequest)(nil), // 23: manager.v2.CreateMLPRequest + (*CreateModelRequest)(nil), // 24: manager.v2.CreateModelRequest + (*KeepAliveRequest)(nil), // 25: manager.v2.KeepAliveRequest + nil, // 26: manager.v2.ListSchedulersRequest.HostInfoEntry + (v2.Priority)(0), // 27: common.v2.Priority + (*emptypb.Empty)(nil), // 28: google.protobuf.Empty } var file_pkg_apis_manager_v2_manager_proto_depIdxs = []int32{ 1, // 0: manager.v2.SeedPeer.seed_peer_cluster:type_name -> manager.v2.SeedPeerCluster - 6, // 1: manager.v2.SeedPeer.schedulers:type_name -> manager.v2.Scheduler + 7, // 1: manager.v2.SeedPeer.schedulers:type_name -> manager.v2.Scheduler 0, // 2: manager.v2.GetSeedPeerRequest.source_type:type_name -> manager.v2.SourceType 0, // 3: manager.v2.UpdateSeedPeerRequest.source_type:type_name -> manager.v2.SourceType - 5, // 4: manager.v2.Scheduler.scheduler_cluster:type_name -> manager.v2.SchedulerCluster - 2, // 5: manager.v2.Scheduler.seed_peers:type_name -> manager.v2.SeedPeer - 0, // 6: manager.v2.GetSchedulerRequest.source_type:type_name -> manager.v2.SourceType - 0, // 7: manager.v2.UpdateSchedulerRequest.source_type:type_name -> manager.v2.SourceType - 0, // 8: manager.v2.ListSchedulersRequest.source_type:type_name -> manager.v2.SourceType - 25, // 9: manager.v2.ListSchedulersRequest.host_info:type_name -> manager.v2.ListSchedulersRequest.HostInfoEntry - 6, // 10: manager.v2.ListSchedulersResponse.schedulers:type_name -> manager.v2.Scheduler - 0, // 11: manager.v2.GetObjectStorageRequest.source_type:type_name -> manager.v2.SourceType - 0, // 12: manager.v2.ListBucketsRequest.source_type:type_name -> manager.v2.SourceType - 13, // 13: manager.v2.ListBucketsResponse.buckets:type_name -> manager.v2.Bucket - 26, // 14: manager.v2.URLPriority.value:type_name -> common.v2.Priority - 26, // 15: manager.v2.ApplicationPriority.value:type_name -> common.v2.Priority - 16, // 16: manager.v2.ApplicationPriority.urls:type_name -> manager.v2.URLPriority - 17, // 17: manager.v2.Application.priority:type_name -> manager.v2.ApplicationPriority - 0, // 18: manager.v2.ListApplicationsRequest.source_type:type_name -> manager.v2.SourceType - 18, // 19: manager.v2.ListApplicationsResponse.applications:type_name -> manager.v2.Application - 21, // 20: manager.v2.CreateModelRequest.create_gnn_request:type_name -> manager.v2.CreateGNNRequest - 22, // 21: manager.v2.CreateModelRequest.create_mlp_request:type_name -> manager.v2.CreateMLPRequest - 0, // 22: manager.v2.KeepAliveRequest.source_type:type_name -> manager.v2.SourceType - 3, // 23: manager.v2.Manager.GetSeedPeer:input_type -> manager.v2.GetSeedPeerRequest - 4, // 24: manager.v2.Manager.UpdateSeedPeer:input_type -> manager.v2.UpdateSeedPeerRequest - 7, // 25: manager.v2.Manager.GetScheduler:input_type -> manager.v2.GetSchedulerRequest - 8, // 26: manager.v2.Manager.UpdateScheduler:input_type -> manager.v2.UpdateSchedulerRequest - 9, // 27: manager.v2.Manager.ListSchedulers:input_type -> manager.v2.ListSchedulersRequest - 12, // 28: manager.v2.Manager.GetObjectStorage:input_type -> manager.v2.GetObjectStorageRequest - 14, // 29: manager.v2.Manager.ListBuckets:input_type -> manager.v2.ListBucketsRequest - 19, // 30: manager.v2.Manager.ListApplications:input_type -> manager.v2.ListApplicationsRequest - 23, // 31: manager.v2.Manager.CreateModel:input_type -> manager.v2.CreateModelRequest - 24, // 32: manager.v2.Manager.KeepAlive:input_type -> manager.v2.KeepAliveRequest - 2, // 33: manager.v2.Manager.GetSeedPeer:output_type -> manager.v2.SeedPeer - 2, // 34: manager.v2.Manager.UpdateSeedPeer:output_type -> manager.v2.SeedPeer - 6, // 35: manager.v2.Manager.GetScheduler:output_type -> manager.v2.Scheduler - 6, // 36: manager.v2.Manager.UpdateScheduler:output_type -> manager.v2.Scheduler - 10, // 37: manager.v2.Manager.ListSchedulers:output_type -> manager.v2.ListSchedulersResponse - 11, // 38: manager.v2.Manager.GetObjectStorage:output_type -> manager.v2.ObjectStorage - 15, // 39: manager.v2.Manager.ListBuckets:output_type -> manager.v2.ListBucketsResponse - 20, // 40: manager.v2.Manager.ListApplications:output_type -> manager.v2.ListApplicationsResponse - 27, // 41: manager.v2.Manager.CreateModel:output_type -> google.protobuf.Empty - 27, // 42: manager.v2.Manager.KeepAlive:output_type -> google.protobuf.Empty - 33, // [33:43] is the sub-list for method output_type - 23, // [23:33] is the sub-list for method input_type - 23, // [23:23] is the sub-list for extension type_name - 23, // [23:23] is the sub-list for extension extendee - 0, // [0:23] is the sub-list for field type_name + 0, // 4: manager.v2.DeleteSeedPeerRequest.source_type:type_name -> manager.v2.SourceType + 6, // 5: manager.v2.Scheduler.scheduler_cluster:type_name -> manager.v2.SchedulerCluster + 2, // 6: manager.v2.Scheduler.seed_peers:type_name -> manager.v2.SeedPeer + 0, // 7: manager.v2.GetSchedulerRequest.source_type:type_name -> manager.v2.SourceType + 0, // 8: manager.v2.UpdateSchedulerRequest.source_type:type_name -> manager.v2.SourceType + 0, // 9: manager.v2.ListSchedulersRequest.source_type:type_name -> manager.v2.SourceType + 26, // 10: manager.v2.ListSchedulersRequest.host_info:type_name -> manager.v2.ListSchedulersRequest.HostInfoEntry + 7, // 11: manager.v2.ListSchedulersResponse.schedulers:type_name -> manager.v2.Scheduler + 0, // 12: manager.v2.GetObjectStorageRequest.source_type:type_name -> manager.v2.SourceType + 0, // 13: manager.v2.ListBucketsRequest.source_type:type_name -> manager.v2.SourceType + 14, // 14: manager.v2.ListBucketsResponse.buckets:type_name -> manager.v2.Bucket + 27, // 15: manager.v2.URLPriority.value:type_name -> common.v2.Priority + 27, // 16: manager.v2.ApplicationPriority.value:type_name -> common.v2.Priority + 17, // 17: manager.v2.ApplicationPriority.urls:type_name -> manager.v2.URLPriority + 18, // 18: manager.v2.Application.priority:type_name -> manager.v2.ApplicationPriority + 0, // 19: manager.v2.ListApplicationsRequest.source_type:type_name -> manager.v2.SourceType + 19, // 20: manager.v2.ListApplicationsResponse.applications:type_name -> manager.v2.Application + 22, // 21: manager.v2.CreateModelRequest.create_gnn_request:type_name -> manager.v2.CreateGNNRequest + 23, // 22: manager.v2.CreateModelRequest.create_mlp_request:type_name -> manager.v2.CreateMLPRequest + 0, // 23: manager.v2.KeepAliveRequest.source_type:type_name -> manager.v2.SourceType + 3, // 24: manager.v2.Manager.GetSeedPeer:input_type -> manager.v2.GetSeedPeerRequest + 4, // 25: manager.v2.Manager.UpdateSeedPeer:input_type -> manager.v2.UpdateSeedPeerRequest + 5, // 26: manager.v2.Manager.DeleteSeedPeer:input_type -> manager.v2.DeleteSeedPeerRequest + 8, // 27: manager.v2.Manager.GetScheduler:input_type -> manager.v2.GetSchedulerRequest + 9, // 28: manager.v2.Manager.UpdateScheduler:input_type -> manager.v2.UpdateSchedulerRequest + 10, // 29: manager.v2.Manager.ListSchedulers:input_type -> manager.v2.ListSchedulersRequest + 13, // 30: manager.v2.Manager.GetObjectStorage:input_type -> manager.v2.GetObjectStorageRequest + 15, // 31: manager.v2.Manager.ListBuckets:input_type -> manager.v2.ListBucketsRequest + 20, // 32: manager.v2.Manager.ListApplications:input_type -> manager.v2.ListApplicationsRequest + 24, // 33: manager.v2.Manager.CreateModel:input_type -> manager.v2.CreateModelRequest + 25, // 34: manager.v2.Manager.KeepAlive:input_type -> manager.v2.KeepAliveRequest + 2, // 35: manager.v2.Manager.GetSeedPeer:output_type -> manager.v2.SeedPeer + 2, // 36: manager.v2.Manager.UpdateSeedPeer:output_type -> manager.v2.SeedPeer + 28, // 37: manager.v2.Manager.DeleteSeedPeer:output_type -> google.protobuf.Empty + 7, // 38: manager.v2.Manager.GetScheduler:output_type -> manager.v2.Scheduler + 7, // 39: manager.v2.Manager.UpdateScheduler:output_type -> manager.v2.Scheduler + 11, // 40: manager.v2.Manager.ListSchedulers:output_type -> manager.v2.ListSchedulersResponse + 12, // 41: manager.v2.Manager.GetObjectStorage:output_type -> manager.v2.ObjectStorage + 16, // 42: manager.v2.Manager.ListBuckets:output_type -> manager.v2.ListBucketsResponse + 21, // 43: manager.v2.Manager.ListApplications:output_type -> manager.v2.ListApplicationsResponse + 28, // 44: manager.v2.Manager.CreateModel:output_type -> google.protobuf.Empty + 28, // 45: manager.v2.Manager.KeepAlive:output_type -> google.protobuf.Empty + 35, // [35:46] is the sub-list for method output_type + 24, // [24:35] is the sub-list for method input_type + 24, // [24:24] is the sub-list for extension type_name + 24, // [24:24] is the sub-list for extension extendee + 0, // [0:24] is the sub-list for field type_name } func init() { file_pkg_apis_manager_v2_manager_proto_init() } @@ -2586,7 +2684,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SchedulerCluster); i { + switch v := v.(*DeleteSeedPeerRequest); i { case 0: return &v.state case 1: @@ -2598,7 +2696,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Scheduler); i { + switch v := v.(*SchedulerCluster); i { case 0: return &v.state case 1: @@ -2610,7 +2708,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSchedulerRequest); i { + switch v := v.(*Scheduler); i { case 0: return &v.state case 1: @@ -2622,7 +2720,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateSchedulerRequest); i { + switch v := v.(*GetSchedulerRequest); i { case 0: return &v.state case 1: @@ -2634,7 +2732,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListSchedulersRequest); i { + switch v := v.(*UpdateSchedulerRequest); i { case 0: return &v.state case 1: @@ -2646,7 +2744,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListSchedulersResponse); i { + switch v := v.(*ListSchedulersRequest); i { case 0: return &v.state case 1: @@ -2658,7 +2756,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ObjectStorage); i { + switch v := v.(*ListSchedulersResponse); i { case 0: return &v.state case 1: @@ -2670,7 +2768,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetObjectStorageRequest); i { + switch v := v.(*ObjectStorage); i { case 0: return &v.state case 1: @@ -2682,7 +2780,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Bucket); i { + switch v := v.(*GetObjectStorageRequest); i { case 0: return &v.state case 1: @@ -2694,7 +2792,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListBucketsRequest); i { + switch v := v.(*Bucket); i { case 0: return &v.state case 1: @@ -2706,7 +2804,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListBucketsResponse); i { + switch v := v.(*ListBucketsRequest); i { case 0: return &v.state case 1: @@ -2718,7 +2816,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*URLPriority); i { + switch v := v.(*ListBucketsResponse); i { case 0: return &v.state case 1: @@ -2730,7 +2828,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApplicationPriority); i { + switch v := v.(*URLPriority); i { case 0: return &v.state case 1: @@ -2742,7 +2840,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Application); i { + switch v := v.(*ApplicationPriority); i { case 0: return &v.state case 1: @@ -2754,7 +2852,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListApplicationsRequest); i { + switch v := v.(*Application); i { case 0: return &v.state case 1: @@ -2766,7 +2864,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListApplicationsResponse); i { + switch v := v.(*ListApplicationsRequest); i { case 0: return &v.state case 1: @@ -2778,7 +2876,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateGNNRequest); i { + switch v := v.(*ListApplicationsResponse); i { case 0: return &v.state case 1: @@ -2790,7 +2888,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateMLPRequest); i { + switch v := v.(*CreateGNNRequest); i { case 0: return &v.state case 1: @@ -2802,7 +2900,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateModelRequest); i { + switch v := v.(*CreateMLPRequest); i { case 0: return &v.state case 1: @@ -2814,6 +2912,18 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } } file_pkg_apis_manager_v2_manager_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateModelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_apis_manager_v2_manager_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeepAliveRequest); i { case 0: return &v.state @@ -2828,9 +2938,9 @@ func file_pkg_apis_manager_v2_manager_proto_init() { } file_pkg_apis_manager_v2_manager_proto_msgTypes[1].OneofWrappers = []interface{}{} file_pkg_apis_manager_v2_manager_proto_msgTypes[3].OneofWrappers = []interface{}{} - file_pkg_apis_manager_v2_manager_proto_msgTypes[5].OneofWrappers = []interface{}{} - file_pkg_apis_manager_v2_manager_proto_msgTypes[7].OneofWrappers = []interface{}{} - file_pkg_apis_manager_v2_manager_proto_msgTypes[22].OneofWrappers = []interface{}{ + file_pkg_apis_manager_v2_manager_proto_msgTypes[6].OneofWrappers = []interface{}{} + file_pkg_apis_manager_v2_manager_proto_msgTypes[8].OneofWrappers = []interface{}{} + file_pkg_apis_manager_v2_manager_proto_msgTypes[23].OneofWrappers = []interface{}{ (*CreateModelRequest_CreateGnnRequest)(nil), (*CreateModelRequest_CreateMlpRequest)(nil), } @@ -2840,7 +2950,7 @@ func file_pkg_apis_manager_v2_manager_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_apis_manager_v2_manager_proto_rawDesc, NumEnums: 1, - NumMessages: 25, + NumMessages: 26, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/apis/manager/v2/manager.pb.validate.go b/pkg/apis/manager/v2/manager.pb.validate.go index 9dd1f5e..61a6d7f 100644 --- a/pkg/apis/manager/v2/manager.pb.validate.go +++ b/pkg/apis/manager/v2/manager.pb.validate.go @@ -785,6 +785,187 @@ var _UpdateSeedPeerRequest_Type_InLookup = map[string]struct{}{ "weak": {}, } +// Validate checks the field values on DeleteSeedPeerRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *DeleteSeedPeerRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on DeleteSeedPeerRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// DeleteSeedPeerRequestMultiError, or nil if none found. +func (m *DeleteSeedPeerRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *DeleteSeedPeerRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if _, ok := SourceType_name[int32(m.GetSourceType())]; !ok { + err := DeleteSeedPeerRequestValidationError{ + field: "SourceType", + reason: "value must be one of the defined enum values", + } + if !all { + return err + } + errors = append(errors, err) + } + + if err := m._validateHostname(m.GetHostname()); err != nil { + err = DeleteSeedPeerRequestValidationError{ + field: "Hostname", + reason: "value must be a valid hostname", + cause: err, + } + if !all { + return err + } + errors = append(errors, err) + } + + if m.GetSeedPeerClusterId() < 1 { + err := DeleteSeedPeerRequestValidationError{ + field: "SeedPeerClusterId", + reason: "value must be greater than or equal to 1", + } + if !all { + return err + } + errors = append(errors, err) + } + + if m.GetIp() != "" { + + if ip := net.ParseIP(m.GetIp()); ip == nil { + err := DeleteSeedPeerRequestValidationError{ + field: "Ip", + reason: "value must be a valid IP address", + } + if !all { + return err + } + errors = append(errors, err) + } + + } + + if len(errors) > 0 { + return DeleteSeedPeerRequestMultiError(errors) + } + + return nil +} + +func (m *DeleteSeedPeerRequest) _validateHostname(host string) error { + s := strings.ToLower(strings.TrimSuffix(host, ".")) + + if len(host) > 253 { + return errors.New("hostname cannot exceed 253 characters") + } + + for _, part := range strings.Split(s, ".") { + if l := len(part); l == 0 || l > 63 { + return errors.New("hostname part must be non-empty and cannot exceed 63 characters") + } + + if part[0] == '-' { + return errors.New("hostname parts cannot begin with hyphens") + } + + if part[len(part)-1] == '-' { + return errors.New("hostname parts cannot end with hyphens") + } + + for _, r := range part { + if (r < 'a' || r > 'z') && (r < '0' || r > '9') && r != '-' { + return fmt.Errorf("hostname parts can only contain alphanumeric characters or hyphens, got %q", string(r)) + } + } + } + + return nil +} + +// DeleteSeedPeerRequestMultiError is an error wrapping multiple validation +// errors returned by DeleteSeedPeerRequest.ValidateAll() if the designated +// constraints aren't met. +type DeleteSeedPeerRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m DeleteSeedPeerRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m DeleteSeedPeerRequestMultiError) AllErrors() []error { return m } + +// DeleteSeedPeerRequestValidationError is the validation error returned by +// DeleteSeedPeerRequest.Validate if the designated constraints aren't met. +type DeleteSeedPeerRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e DeleteSeedPeerRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e DeleteSeedPeerRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e DeleteSeedPeerRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e DeleteSeedPeerRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e DeleteSeedPeerRequestValidationError) ErrorName() string { + return "DeleteSeedPeerRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e DeleteSeedPeerRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sDeleteSeedPeerRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = DeleteSeedPeerRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = DeleteSeedPeerRequestValidationError{} + // Validate checks the field values on SchedulerCluster with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. diff --git a/pkg/apis/manager/v2/manager.proto b/pkg/apis/manager/v2/manager.proto index f4add11..c570c7f 100644 --- a/pkg/apis/manager/v2/manager.proto +++ b/pkg/apis/manager/v2/manager.proto @@ -112,6 +112,18 @@ message UpdateSeedPeerRequest { int32 object_storage_port = 10 [(validate.rules).int32 = {gte: 1024, lt: 65535, ignore_empty: true}]; } +// DeleteSeedPeerRequest represents request of DeleteSeedPeer. +message DeleteSeedPeerRequest { + // Request source type. + SourceType source_type = 1 [(validate.rules).enum.defined_only = true]; + // Seed peer hostname. + string hostname = 2 [(validate.rules).string.hostname = true]; + // ID of the cluster to which the seed peer belongs. + uint64 seed_peer_cluster_id = 3 [(validate.rules).uint64 = {gte: 1}]; + // Seed peer ip. + string ip = 4 [(validate.rules).string = {ip: true, ignore_empty: true}]; +} + // SeedPeerCluster represents cluster of scheduler. message SchedulerCluster { // Cluster id. @@ -362,6 +374,9 @@ service Manager { // Update SeedPeer configuration. rpc UpdateSeedPeer(UpdateSeedPeerRequest) returns(SeedPeer); + // Delete SeedPeer configuration. + rpc DeleteSeedPeer(DeleteSeedPeerRequest) returns(google.protobuf.Empty); + // Get Scheduler and Scheduler cluster configuration. rpc GetScheduler(GetSchedulerRequest)returns(Scheduler); diff --git a/pkg/apis/manager/v2/manager_grpc.pb.go b/pkg/apis/manager/v2/manager_grpc.pb.go index b976993..44ea3a3 100644 --- a/pkg/apis/manager/v2/manager_grpc.pb.go +++ b/pkg/apis/manager/v2/manager_grpc.pb.go @@ -27,6 +27,8 @@ type ManagerClient interface { GetSeedPeer(ctx context.Context, in *GetSeedPeerRequest, opts ...grpc.CallOption) (*SeedPeer, error) // Update SeedPeer configuration. UpdateSeedPeer(ctx context.Context, in *UpdateSeedPeerRequest, opts ...grpc.CallOption) (*SeedPeer, error) + // Delete SeedPeer configuration. + DeleteSeedPeer(ctx context.Context, in *DeleteSeedPeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) // Get Scheduler and Scheduler cluster configuration. GetScheduler(ctx context.Context, in *GetSchedulerRequest, opts ...grpc.CallOption) (*Scheduler, error) // Update scheduler configuration. @@ -71,6 +73,15 @@ func (c *managerClient) UpdateSeedPeer(ctx context.Context, in *UpdateSeedPeerRe return out, nil } +func (c *managerClient) DeleteSeedPeer(ctx context.Context, in *DeleteSeedPeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/manager.v2.Manager/DeleteSeedPeer", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *managerClient) GetScheduler(ctx context.Context, in *GetSchedulerRequest, opts ...grpc.CallOption) (*Scheduler, error) { out := new(Scheduler) err := c.cc.Invoke(ctx, "/manager.v2.Manager/GetScheduler", in, out, opts...) @@ -176,6 +187,8 @@ type ManagerServer interface { GetSeedPeer(context.Context, *GetSeedPeerRequest) (*SeedPeer, error) // Update SeedPeer configuration. UpdateSeedPeer(context.Context, *UpdateSeedPeerRequest) (*SeedPeer, error) + // Delete SeedPeer configuration. + DeleteSeedPeer(context.Context, *DeleteSeedPeerRequest) (*emptypb.Empty, error) // Get Scheduler and Scheduler cluster configuration. GetScheduler(context.Context, *GetSchedulerRequest) (*Scheduler, error) // Update scheduler configuration. @@ -204,6 +217,9 @@ func (UnimplementedManagerServer) GetSeedPeer(context.Context, *GetSeedPeerReque func (UnimplementedManagerServer) UpdateSeedPeer(context.Context, *UpdateSeedPeerRequest) (*SeedPeer, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateSeedPeer not implemented") } +func (UnimplementedManagerServer) DeleteSeedPeer(context.Context, *DeleteSeedPeerRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteSeedPeer not implemented") +} func (UnimplementedManagerServer) GetScheduler(context.Context, *GetSchedulerRequest) (*Scheduler, error) { return nil, status.Errorf(codes.Unimplemented, "method GetScheduler not implemented") } @@ -276,6 +292,24 @@ func _Manager_UpdateSeedPeer_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _Manager_DeleteSeedPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteSeedPeerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ManagerServer).DeleteSeedPeer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/manager.v2.Manager/DeleteSeedPeer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ManagerServer).DeleteSeedPeer(ctx, req.(*DeleteSeedPeerRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Manager_GetScheduler_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetSchedulerRequest) if err := dec(in); err != nil { @@ -443,6 +477,10 @@ var Manager_ServiceDesc = grpc.ServiceDesc{ MethodName: "UpdateSeedPeer", Handler: _Manager_UpdateSeedPeer_Handler, }, + { + MethodName: "DeleteSeedPeer", + Handler: _Manager_DeleteSeedPeer_Handler, + }, { MethodName: "GetScheduler", Handler: _Manager_GetScheduler_Handler, diff --git a/pkg/apis/manager/v2/mocks/manager_mock.go b/pkg/apis/manager/v2/mocks/manager_mock.go index cc43784..591d1d3 100644 --- a/pkg/apis/manager/v2/mocks/manager_mock.go +++ b/pkg/apis/manager/v2/mocks/manager_mock.go @@ -58,6 +58,26 @@ func (mr *MockManagerClientMockRecorder) CreateModel(ctx, in interface{}, opts . return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateModel", reflect.TypeOf((*MockManagerClient)(nil).CreateModel), varargs...) } +// DeleteSeedPeer mocks base method. +func (m *MockManagerClient) DeleteSeedPeer(ctx context.Context, in *manager.DeleteSeedPeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteSeedPeer", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteSeedPeer indicates an expected call of DeleteSeedPeer. +func (mr *MockManagerClientMockRecorder) DeleteSeedPeer(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteSeedPeer", reflect.TypeOf((*MockManagerClient)(nil).DeleteSeedPeer), varargs...) +} + // GetObjectStorage mocks base method. func (m *MockManagerClient) GetObjectStorage(ctx context.Context, in *manager.GetObjectStorageRequest, opts ...grpc.CallOption) (*manager.ObjectStorage, error) { m.ctrl.T.Helper() @@ -413,6 +433,21 @@ func (mr *MockManagerServerMockRecorder) CreateModel(arg0, arg1 interface{}) *go return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateModel", reflect.TypeOf((*MockManagerServer)(nil).CreateModel), arg0, arg1) } +// DeleteSeedPeer mocks base method. +func (m *MockManagerServer) DeleteSeedPeer(arg0 context.Context, arg1 *manager.DeleteSeedPeerRequest) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteSeedPeer", arg0, arg1) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteSeedPeer indicates an expected call of DeleteSeedPeer. +func (mr *MockManagerServerMockRecorder) DeleteSeedPeer(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteSeedPeer", reflect.TypeOf((*MockManagerServer)(nil).DeleteSeedPeer), arg0, arg1) +} + // GetObjectStorage mocks base method. func (m *MockManagerServer) GetObjectStorage(arg0 context.Context, arg1 *manager.GetObjectStorageRequest) (*manager.ObjectStorage, error) { m.ctrl.T.Helper() diff --git a/proto/manager.proto b/proto/manager.proto index a1ed0b5..33dd698 100644 --- a/proto/manager.proto +++ b/proto/manager.proto @@ -109,6 +109,18 @@ message UpdateSeedPeerRequest { int32 object_storage_port = 10; } +// DeleteSeedPeerRequest represents request of DeleteSeedPeer. +message DeleteSeedPeerRequest { + // Request source type. + SourceType source_type = 1; + // Seed peer hostname. + string hostname = 2; + // ID of the cluster to which the seed peer belongs. + uint64 seed_peer_cluster_id = 3; + // Seed peer ip. + string ip = 4; +} + // SeedPeerCluster represents cluster of scheduler. message SchedulerCluster { // Cluster id. @@ -357,6 +369,9 @@ service Manager { // Update SeedPeer configuration. rpc UpdateSeedPeer(UpdateSeedPeerRequest) returns(SeedPeer); + // Delete SeedPeer configuration. + rpc DeleteSeedPeer(DeleteSeedPeerRequest) returns(google.protobuf.Empty); + // Get Scheduler and Scheduler cluster configuration. rpc GetScheduler(GetSchedulerRequest)returns(Scheduler); diff --git a/src/descriptor.bin b/src/descriptor.bin index c847b3fdddd5401ec10a92391b7c828368a616bf..ae45f602da125c9c71254c36f8435a2fccbb554c 100644 GIT binary patch delta 6140 zcmZ8leQ;FO72kW_=H=~6$j94kvTR7Qd>IgkK-SMKP%D(NzjNQadFuXke|yjG zckempp7ZW|E&GEf4hP@9?=?EPs%hM7Zw8(1!j3$ctW4G>rzDfppGYQa7Kp!@;$AVtJft-Rweh4NT)ZY0Mj+1#6=(#~ocKU{fFc3Rl>^_7jtPZ zggpM%2>Ez(rjr887p9ZwASad? zFRz?Et2S8^pE-3#5)tf&Fr|=4QS+9D$~@FhLxX3tvQ?x~h@9X{g0h$G&Z~3T2nPS7 z*@y;UDBWWd*e{99EW1eU1nBpI!m;eWolL8m`E12=eS1Na*do=VBTRr+hK7ot?bx?L z4I#iOsTUNBMSZ!-isa1N_zzSOR5sMAI5dD(#8VAIwO&N~dwYcK%irJQtZ7x%$yt4S zOmQtnXgOpEjJ{2#K<;IMO-?{IO~-5$fz5JE%eb%!yGCJUtE`wvWpIg{-_pMnLntoM zF$9F+5`koLgaIMAL?D}d$W0FLtMW)o5qO-rSACw~DG|!{csRd+IKYL9hs-ULg&)Mq zOya;T6XYHMK*%f;X`06?EEA3!9?U{!8HdMR9%#9I;e#T`7?4@+%W&?N`!bxn<-&=1 zyTKU;EGYE62X%$){wRM8=VpcP1LtOi?>pya1^Yfk`2gEhvUpD%zH=5<>6`+Bw@O&< zxdQ}m6`#Af;+alxjeKFxfP_gVcx(LiI4NsH$UR}01#gX;JdSm$6I>@y^+V;Cd-CoB z26>%NP6c_LK<&GUN(FhHK=I$L7PXw<>w<>IhR4h0#xoI?z`iZ)1%Epp$AZM`B0NMx zNW3nJhuQZjiI5ZAAlH9*7lIu^#5VZB4nbyvNDF(s5M(xpoI(vDvq20TY>!YfwiDbW z^Y#|QeH$KZ^226>w@Fx89?u4ElL$xbpWy7KI_4G;*ePrFmRaoS7GdQ#J-;tks1&C1 zx!8de_D^64)g3x6fUw@7lL*L`oW!3()pE>tMc`vOeBZ-icK%&q6{_r7ToJqE?+(XH zF@$@&1bR0|77&KJ1e&)8A-GGRd-IXB_`JTy6_LOY8+lJ}1dyk6MF4{L9#_N!#Y06j z_hlE0ave1LWY%rg*~Ki#&755>CyP;wDklt)niicJK*+S{Isk-Bi!LWXChBssxDxlM za>9_uz6=+}9$$tFV~;K;7(-@{E+>n3zL#@Rhar!BFSs!F>RezJyuF+YZpaoP%=^&J z(U7N1`%QBC>`FWws;g>hy=DgksKLVRb%0RYr^^fwYWuj%9zkY9j=A3uffKU#uMdU! zK<*cKGIQaEIJK>u+60DJvsI@S5QeQfwSZ7;<C+ zfFK^?-0~AW#Lub2GQX`5JPyubpT}uEtOJ5s@D6i8Mk^lB5jk=H$hr_2*ys^KZXW~$ z?}*4PQfCm5EybY0_CUo$?vBAW7LGso?DVP08C5gmbCNZ)Dyn9Bp$ze(oo(DFB_Q;U ziI7`*fY3W8!a1sAh3MxnJ}xLH=JtoPQWBqP9qjhpAhVZFdZx|4U-NL(Q079^vFB-!Y z50mHR=dDA*sxo2~6X}Uyx-7M}o(Rzu@yY@fUP6z$|zd_`qshw8<>X)2Xh1eq$-fM8w`sqUi_5X>uF>yIPU>5loO2>eHg*o3$&*^nnk zA1(=}gYc!Wid40wbIf~HwPA=P_UdW_gki6)Hb5x%>S{~p0Da|F8^+k*SK1jsHRn|u zAc$Y-YD?#!U*~E|UQe&@LOTUR7^5haRK4w zpr{mM1Z4qvPZvN~E+Fse0tm?ki+6qAApe*ur8fGF;O9! zb=mA`zfJ0EuD+SV0EZD4?!68WZZ0P8UIz%Z#pLu?hYS#_E~Wtm_K&e@mSes`f#oD( zqvKEg?9nG`DynKKWWQr04uK>piba%AwOX+D`S_fvm9zD$35?)@q><$IAYjFcxP<`- zNl7S-$KXP?W3HsYI{A-dlcr|FZlw-fHg9@0uazBl9s9vLFu*#naF+oDeKnf7iWDH0 zSr^)He63vC-oG3}1bnRyI3Q%!Qd+LZMynGEIvz7{r?EA4>$1&Ga;7$3j z_Iv6a*sbRf^E27u-EJhx!fq#2S65a{n_7#fNW5aY7iSnC&aiOf3<&y0eVPEV%tk&< z{9tl;x0`Vm@nHI{+IL<6ojP@{VWb6l-m9 z{`j=RM9c9O-XQOl5PZnJLAW#UOPm8l!L4%Wi9w|pgSgcva^v0V6S?tjW#UjpMCiB4 z7fuXJKmc*yM&6Se5WH=a>t2Qd!P`ay2dVZMcFgS**d^OfOwI|zZaaBhGt6<{>2?T= zp}13b2tZiw)Exp4iaT|O2(y3hs1AW4Ja|WY0LW9iLjZ#Jj_wd)j%1VS5cgsXVv|o~ z%_f~w%!1g&IeijGC&w}0r$7s8wLC6=y*awFfke8jKAI)X&%)sxFyALDuG(G>JGEQ> z;bgoVLqu%1KCFOnakoCKfZ*+>yus?Q0%FD8bX&3gG**l_=7$t$m7kxSBERi;R!K*A ziyzDFr{c1)Gn(&SJMbrX9}}L&#Yj?wUHoKO$6(nF6Ze$||H0%FisY&T5Mgvc{-R@0 z0z(AhfDQs6Ryd%e2gsHjJ>F8TV}443v}19Z`?RE(i`QCBJ;EHCOx1%%>7U8zytY7bXxDTato zkB$!@PwBt{g4e@=eMl{c09=x)tA@W zWZeD6E5(kme7oBm!;;s0F+LmDd@=U;8YL#-t$>#Y`dU79cKjIj_G=s*Z%qTNuPJ<+ zhHOW7+{0IDu+XP&$kwx?#&9FQL8f{GDi%KW)>jFe@dgdFlp?j3fIu|UNZC42$jjZs#`2eug+^aGQbAj2^reG82`w~6jrUf=C!u;nmYo|lmOp*e`>R=? z)%&Yipw%09KaN{1uZGV+4Tju!ZsJ&et#0sF3xU?)uNDHW!5CG>%@;I$_GvU^^!$)g le&=g6Ox2`$0U>-I{{dfQUD5ym delta 5599 zcmZ`-dvH|M8Q=5m-Me>hUb}a*yJ5*=A!rmx5E2zoDxv5y}b6`=H~Ma&r@jC@9m%y2>X6& zF1z|DHMjnKcBcIcn+(G-7W)1qPc%-DS6Xr&HiY9}Xyw^S+b|6BIsQcyPG+U5=0CHz zwq{Xk-jijvooNSH7GR;J5qOJ285;S4vUBWwWd)*I`9xEm9M~66X1OW?Dz)K=Jw~aJ z<9}8*G!@8)TH;S;x+(;fXLG`Kp;7@@LeXSo#Fy%)7tEda)QCTR__Kt9F4vDumsr^v zF*)Mc*C|Ve<6kOg?JroC4#WU)=?IY%u+)mVL<7X7d81qxp!nR+Tv%NF^un6OBQ6A# zf_5PQOV5qC5P+rU;6f#G9&pSTgsp`FEk8Aqr5eY(e<4eEmq#vH%J2UKS`@T2Zh_ zgd!S(_p->1sdxiKjiRd^DL0%_HZm_2-a>y~(%SR60f&zr# z#d@y*A(&Y&GNLXo1T*VJZlQ)SvtEoTwkIevwqtCR-3LqHyA9trdWp2b+bFEC%d^4T zD55d@mly%lG2alr?Q-IwnNiNr8^Ri`Dr0izZ;^jKlq$y(j%*Q>E(IVIw}`AfWe^Ys zw}{dCs-aA7x2@de67c z=7Map>Hp6h23dcL^X^`?*WTDi*rrfRL|$R#0vcXW)QGWQzxM)R2OB zfTO-i5rGcM;eSp9&yNfo6qG&@0l_;c;zg>R0a;UwEmogIi;HzwK7Ne%es5zSQxl*PWa%BExa6JHw5N2jNNiPTO_h z@w}h(cwEVoI#5W#JIR4^L2RD)9{HcPiQsXvdORK%vPX9Sq~P^%2k=2>GwPL(wwHj% zQ`hV9xRAXfls+#ZWla%J*pn0wIqQ?V+b2{Y4dC^8JT7FP$KyiwG4EBsB0{;pIk#iE z0Fz7EFUWLL!KLgM!Spu~QZV~@Kp(^&8IJk2@cm16etd5<1A1Qzt4Iw@2B&&J9j#cR zb_0530HHXbM+OiE2lU8fa9+OQk*UBEj(np-0A!I)86bGy=%LBrR9{d-10v`8f=6VV z7xd6T3gQJG8f4eVbj;ZB5(+ddh54wKD8u;1btS8? zMnewkAqGTf!}{n41aVk6qg0~-Vy9t|U!dL!Iga@f`But(UDF=Rf!<4GMb%3ohc|eI za4pJA{pQ!dN-e5+s%D9MA%YCCK$xxyAegU^dm#eE4zCa{M0_pG;Xqf&2fB+Yu!LtT zh|hLcn0M4%@*V_cF5`?Y~^!H=XW7cQJXuX;}Hyr&nW)B}s}p-@2Dppi}+Am|&& zz0Lw+n+=2(;0IKMy{(rsJ}oH661;kk$L`gWdx$~`UOiz5_&OWmp4%krKFtS@TW*ub zW0RXGl)igG3f?BdH~D(S1KKS6KOH+gq7K8&9*+;h%^r^r!_Ca&w^xL}YHt!1Cljek z+0`AtBONNPgZy*)!w4mqc$4Dk3nw5o-{hN9%M{bu=b-}rJY;dwK;Zy`V^Hk11n0))Y4E+)UBayhKs z@~KlP@HkVub;N)yBKN8R2;OeO7q~?6kf}YgQ<61;sLkDG2Exs`#GHMuezc+4?BB44YV+c#Sd_RduU6XT5z$s0c}kSk8* z6{njVKZ19NB^irvahZrkw_a!8Uf9&!0Fu*g-OKG;bN!Aa-~}&Tfb9 zCrCl;;C{+xqUCeU6GUC)S6u)M?Gt3>;4clfi=aBmn3xt4p@9I?XDo!!?W9@V7*+agw@}Vzok0zkk!_CJ{l;HgIsyW3H z27C3K0z$D@&nX}b_UbuJu%~@$PN!mx{PgMk04kZ=4S*o_aboXQ8zKRxiSm+DYw^3kUWxrKQF7!&MZAoruyrIe}j+b$x#n?hOl#<%5LFt1;i!; za_8BbN(abP$>-m|7@*jAE*wKJ2B_k8+`X9r;kR=Bmop|a_gmE5RZ{|rUauio-_oS1 zd~pQ}=sS7#%hJgl)^}v8F!yhd}Bqx0}uAE<1Lu9HK7z+^f5QTN9 VAy^rrgc?4U!paaeFaN5e>c5<=20;J- diff --git a/src/manager.v2.rs b/src/manager.v2.rs index 5d672d2..b13861a 100644 --- a/src/manager.v2.rs +++ b/src/manager.v2.rs @@ -111,6 +111,23 @@ pub struct UpdateSeedPeerRequest { #[prost(int32, tag = "10")] pub object_storage_port: i32, } +/// DeleteSeedPeerRequest represents request of DeleteSeedPeer. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeleteSeedPeerRequest { + /// Request source type. + #[prost(enumeration = "SourceType", tag = "1")] + pub source_type: i32, + /// Seed peer hostname. + #[prost(string, tag = "2")] + pub hostname: ::prost::alloc::string::String, + /// ID of the cluster to which the seed peer belongs. + #[prost(uint64, tag = "3")] + pub seed_peer_cluster_id: u64, + /// Seed peer ip. + #[prost(string, tag = "4")] + pub ip: ::prost::alloc::string::String, +} /// SeedPeerCluster represents cluster of scheduler. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -622,6 +639,29 @@ pub mod manager_client { .insert(GrpcMethod::new("manager.v2.Manager", "UpdateSeedPeer")); self.inner.unary(req, path, codec).await } + /// Delete SeedPeer configuration. + pub async fn delete_seed_peer( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/manager.v2.Manager/DeleteSeedPeer", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("manager.v2.Manager", "DeleteSeedPeer")); + self.inner.unary(req, path, codec).await + } /// Get Scheduler and Scheduler cluster configuration. pub async fn get_scheduler( &mut self, @@ -834,6 +874,11 @@ pub mod manager_server { &self, request: tonic::Request, ) -> std::result::Result, tonic::Status>; + /// Delete SeedPeer configuration. + async fn delete_seed_peer( + &self, + request: tonic::Request, + ) -> std::result::Result, tonic::Status>; /// Get Scheduler and Scheduler cluster configuration. async fn get_scheduler( &self, @@ -1056,6 +1101,52 @@ pub mod manager_server { }; Box::pin(fut) } + "/manager.v2.Manager/DeleteSeedPeer" => { + #[allow(non_camel_case_types)] + struct DeleteSeedPeerSvc(pub Arc); + impl< + T: Manager, + > tonic::server::UnaryService + for DeleteSeedPeerSvc { + type Response = (); + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + (*inner).delete_seed_peer(request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DeleteSeedPeerSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } "/manager.v2.Manager/GetScheduler" => { #[allow(non_camel_case_types)] struct GetSchedulerSvc(pub Arc);