diff --git a/pkg/rpc/pb/model_node_cluster.pb.go b/pkg/rpc/pb/model_node_cluster.pb.go index 4c4ec07..dddd6a5 100644 --- a/pkg/rpc/pb/model_node_cluster.pb.go +++ b/pkg/rpc/pb/model_node_cluster.pb.go @@ -35,6 +35,8 @@ type NodeCluster struct { CreatedAt int64 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt,omitempty"` GrantId int64 `protobuf:"varint,4,opt,name=grantId,proto3" json:"grantId,omitempty"` InstallDir string `protobuf:"bytes,5,opt,name=installDir,proto3" json:"installDir,omitempty"` + UniqueId string `protobuf:"bytes,6,opt,name=uniqueId,proto3" json:"uniqueId,omitempty"` + Secret string `protobuf:"bytes,7,opt,name=secret,proto3" json:"secret,omitempty"` } func (x *NodeCluster) Reset() { @@ -104,11 +106,25 @@ func (x *NodeCluster) GetInstallDir() string { return "" } +func (x *NodeCluster) GetUniqueId() string { + if x != nil { + return x.UniqueId + } + return "" +} + +func (x *NodeCluster) GetSecret() string { + if x != nil { + return x.Secret + } + return "" +} + var File_model_node_cluster_proto protoreflect.FileDescriptor var file_model_node_cluster_proto_rawDesc = []byte{ 0x0a, 0x18, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x89, + 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xbd, 0x01, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, @@ -117,8 +133,11 @@ var file_model_node_cluster_proto_rawDesc = []byte{ 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, - 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x6e, + 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x6e, + 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x06, + 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pkg/rpc/pb/service_node.pb.go b/pkg/rpc/pb/service_node.pb.go index fc469bb..fde530f 100644 --- a/pkg/rpc/pb/service_node.pb.go +++ b/pkg/rpc/pb/service_node.pb.go @@ -140,6 +140,117 @@ func (x *CreateNodeResponse) GetNodeId() int64 { return 0 } +// 注册集群节点 +type RegisterClusterNodeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *RegisterClusterNodeRequest) Reset() { + *x = RegisterClusterNodeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisterClusterNodeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterClusterNodeRequest) ProtoMessage() {} + +func (x *RegisterClusterNodeRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterClusterNodeRequest.ProtoReflect.Descriptor instead. +func (*RegisterClusterNodeRequest) Descriptor() ([]byte, []int) { + return file_service_node_proto_rawDescGZIP(), []int{2} +} + +func (x *RegisterClusterNodeRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type RegisterClusterNodeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UniqueId string `protobuf:"bytes,1,opt,name=uniqueId,proto3" json:"uniqueId,omitempty"` + Secret string `protobuf:"bytes,2,opt,name=secret,proto3" json:"secret,omitempty"` + Endpoints []string `protobuf:"bytes,3,rep,name=endpoints,proto3" json:"endpoints,omitempty"` +} + +func (x *RegisterClusterNodeResponse) Reset() { + *x = RegisterClusterNodeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisterClusterNodeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterClusterNodeResponse) ProtoMessage() {} + +func (x *RegisterClusterNodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterClusterNodeResponse.ProtoReflect.Descriptor instead. +func (*RegisterClusterNodeResponse) Descriptor() ([]byte, []int) { + return file_service_node_proto_rawDescGZIP(), []int{3} +} + +func (x *RegisterClusterNodeResponse) GetUniqueId() string { + if x != nil { + return x.UniqueId + } + return "" +} + +func (x *RegisterClusterNodeResponse) GetSecret() string { + if x != nil { + return x.Secret + } + return "" +} + +func (x *RegisterClusterNodeResponse) GetEndpoints() []string { + if x != nil { + return x.Endpoints + } + return nil +} + // 节点数量 type CountAllEnabledNodesRequest struct { state protoimpl.MessageState @@ -150,7 +261,7 @@ type CountAllEnabledNodesRequest struct { func (x *CountAllEnabledNodesRequest) Reset() { *x = CountAllEnabledNodesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[2] + mi := &file_service_node_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -163,7 +274,7 @@ func (x *CountAllEnabledNodesRequest) String() string { func (*CountAllEnabledNodesRequest) ProtoMessage() {} func (x *CountAllEnabledNodesRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[2] + mi := &file_service_node_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -176,7 +287,7 @@ func (x *CountAllEnabledNodesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CountAllEnabledNodesRequest.ProtoReflect.Descriptor instead. func (*CountAllEnabledNodesRequest) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{2} + return file_service_node_proto_rawDescGZIP(), []int{4} } type CountAllEnabledNodesResponse struct { @@ -190,7 +301,7 @@ type CountAllEnabledNodesResponse struct { func (x *CountAllEnabledNodesResponse) Reset() { *x = CountAllEnabledNodesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[3] + mi := &file_service_node_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -203,7 +314,7 @@ func (x *CountAllEnabledNodesResponse) String() string { func (*CountAllEnabledNodesResponse) ProtoMessage() {} func (x *CountAllEnabledNodesResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[3] + mi := &file_service_node_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -216,7 +327,7 @@ func (x *CountAllEnabledNodesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CountAllEnabledNodesResponse.ProtoReflect.Descriptor instead. func (*CountAllEnabledNodesResponse) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{3} + return file_service_node_proto_rawDescGZIP(), []int{5} } func (x *CountAllEnabledNodesResponse) GetCount() int64 { @@ -242,7 +353,7 @@ type ListEnabledNodesMatchRequest struct { func (x *ListEnabledNodesMatchRequest) Reset() { *x = ListEnabledNodesMatchRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[4] + mi := &file_service_node_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -255,7 +366,7 @@ func (x *ListEnabledNodesMatchRequest) String() string { func (*ListEnabledNodesMatchRequest) ProtoMessage() {} func (x *ListEnabledNodesMatchRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[4] + mi := &file_service_node_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -268,7 +379,7 @@ func (x *ListEnabledNodesMatchRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListEnabledNodesMatchRequest.ProtoReflect.Descriptor instead. func (*ListEnabledNodesMatchRequest) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{4} + return file_service_node_proto_rawDescGZIP(), []int{6} } func (x *ListEnabledNodesMatchRequest) GetOffset() int64 { @@ -317,7 +428,7 @@ type ListEnabledNodesMatchResponse struct { func (x *ListEnabledNodesMatchResponse) Reset() { *x = ListEnabledNodesMatchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[5] + mi := &file_service_node_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -330,7 +441,7 @@ func (x *ListEnabledNodesMatchResponse) String() string { func (*ListEnabledNodesMatchResponse) ProtoMessage() {} func (x *ListEnabledNodesMatchResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[5] + mi := &file_service_node_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -343,7 +454,7 @@ func (x *ListEnabledNodesMatchResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListEnabledNodesMatchResponse.ProtoReflect.Descriptor instead. func (*ListEnabledNodesMatchResponse) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{5} + return file_service_node_proto_rawDescGZIP(), []int{7} } func (x *ListEnabledNodesMatchResponse) GetNodes() []*Node { @@ -365,7 +476,7 @@ type FindAllEnabledNodesWithClusterIdRequest struct { func (x *FindAllEnabledNodesWithClusterIdRequest) Reset() { *x = FindAllEnabledNodesWithClusterIdRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[6] + mi := &file_service_node_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -378,7 +489,7 @@ func (x *FindAllEnabledNodesWithClusterIdRequest) String() string { func (*FindAllEnabledNodesWithClusterIdRequest) ProtoMessage() {} func (x *FindAllEnabledNodesWithClusterIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[6] + mi := &file_service_node_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -391,7 +502,7 @@ func (x *FindAllEnabledNodesWithClusterIdRequest) ProtoReflect() protoreflect.Me // Deprecated: Use FindAllEnabledNodesWithClusterIdRequest.ProtoReflect.Descriptor instead. func (*FindAllEnabledNodesWithClusterIdRequest) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{6} + return file_service_node_proto_rawDescGZIP(), []int{8} } func (x *FindAllEnabledNodesWithClusterIdRequest) GetClusterId() int64 { @@ -412,7 +523,7 @@ type FindAllEnabledNodesWithClusterIdResponse struct { func (x *FindAllEnabledNodesWithClusterIdResponse) Reset() { *x = FindAllEnabledNodesWithClusterIdResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[7] + mi := &file_service_node_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -425,7 +536,7 @@ func (x *FindAllEnabledNodesWithClusterIdResponse) String() string { func (*FindAllEnabledNodesWithClusterIdResponse) ProtoMessage() {} func (x *FindAllEnabledNodesWithClusterIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[7] + mi := &file_service_node_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -438,7 +549,7 @@ func (x *FindAllEnabledNodesWithClusterIdResponse) ProtoReflect() protoreflect.M // Deprecated: Use FindAllEnabledNodesWithClusterIdResponse.ProtoReflect.Descriptor instead. func (*FindAllEnabledNodesWithClusterIdResponse) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{7} + return file_service_node_proto_rawDescGZIP(), []int{9} } func (x *FindAllEnabledNodesWithClusterIdResponse) GetNodes() []*Node { @@ -460,7 +571,7 @@ type DisableNodeRequest struct { func (x *DisableNodeRequest) Reset() { *x = DisableNodeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[8] + mi := &file_service_node_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -473,7 +584,7 @@ func (x *DisableNodeRequest) String() string { func (*DisableNodeRequest) ProtoMessage() {} func (x *DisableNodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[8] + mi := &file_service_node_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -486,7 +597,7 @@ func (x *DisableNodeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableNodeRequest.ProtoReflect.Descriptor instead. func (*DisableNodeRequest) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{8} + return file_service_node_proto_rawDescGZIP(), []int{10} } func (x *DisableNodeRequest) GetNodeId() int64 { @@ -505,7 +616,7 @@ type DisableNodeResponse struct { func (x *DisableNodeResponse) Reset() { *x = DisableNodeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[9] + mi := &file_service_node_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -518,7 +629,7 @@ func (x *DisableNodeResponse) String() string { func (*DisableNodeResponse) ProtoMessage() {} func (x *DisableNodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[9] + mi := &file_service_node_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -531,7 +642,7 @@ func (x *DisableNodeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableNodeResponse.ProtoReflect.Descriptor instead. func (*DisableNodeResponse) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{9} + return file_service_node_proto_rawDescGZIP(), []int{11} } // 修改节点 @@ -551,7 +662,7 @@ type UpdateNodeRequest struct { func (x *UpdateNodeRequest) Reset() { *x = UpdateNodeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[10] + mi := &file_service_node_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -564,7 +675,7 @@ func (x *UpdateNodeRequest) String() string { func (*UpdateNodeRequest) ProtoMessage() {} func (x *UpdateNodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[10] + mi := &file_service_node_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -577,7 +688,7 @@ func (x *UpdateNodeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateNodeRequest.ProtoReflect.Descriptor instead. func (*UpdateNodeRequest) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{10} + return file_service_node_proto_rawDescGZIP(), []int{12} } func (x *UpdateNodeRequest) GetNodeId() int64 { @@ -634,7 +745,7 @@ type FindEnabledNodeRequest struct { func (x *FindEnabledNodeRequest) Reset() { *x = FindEnabledNodeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[11] + mi := &file_service_node_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -647,7 +758,7 @@ func (x *FindEnabledNodeRequest) String() string { func (*FindEnabledNodeRequest) ProtoMessage() {} func (x *FindEnabledNodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[11] + mi := &file_service_node_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -660,7 +771,7 @@ func (x *FindEnabledNodeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FindEnabledNodeRequest.ProtoReflect.Descriptor instead. func (*FindEnabledNodeRequest) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{11} + return file_service_node_proto_rawDescGZIP(), []int{13} } func (x *FindEnabledNodeRequest) GetNodeId() int64 { @@ -681,7 +792,7 @@ type FindEnabledNodeResponse struct { func (x *FindEnabledNodeResponse) Reset() { *x = FindEnabledNodeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[12] + mi := &file_service_node_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -694,7 +805,7 @@ func (x *FindEnabledNodeResponse) String() string { func (*FindEnabledNodeResponse) ProtoMessage() {} func (x *FindEnabledNodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[12] + mi := &file_service_node_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -707,7 +818,7 @@ func (x *FindEnabledNodeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FindEnabledNodeResponse.ProtoReflect.Descriptor instead. func (*FindEnabledNodeResponse) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{12} + return file_service_node_proto_rawDescGZIP(), []int{14} } func (x *FindEnabledNodeResponse) GetNode() *Node { @@ -727,7 +838,7 @@ type ComposeNodeConfigRequest struct { func (x *ComposeNodeConfigRequest) Reset() { *x = ComposeNodeConfigRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[13] + mi := &file_service_node_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -740,7 +851,7 @@ func (x *ComposeNodeConfigRequest) String() string { func (*ComposeNodeConfigRequest) ProtoMessage() {} func (x *ComposeNodeConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[13] + mi := &file_service_node_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -753,7 +864,7 @@ func (x *ComposeNodeConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ComposeNodeConfigRequest.ProtoReflect.Descriptor instead. func (*ComposeNodeConfigRequest) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{13} + return file_service_node_proto_rawDescGZIP(), []int{15} } type ComposeNodeConfigResponse struct { @@ -767,7 +878,7 @@ type ComposeNodeConfigResponse struct { func (x *ComposeNodeConfigResponse) Reset() { *x = ComposeNodeConfigResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[14] + mi := &file_service_node_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -780,7 +891,7 @@ func (x *ComposeNodeConfigResponse) String() string { func (*ComposeNodeConfigResponse) ProtoMessage() {} func (x *ComposeNodeConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[14] + mi := &file_service_node_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -793,7 +904,7 @@ func (x *ComposeNodeConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ComposeNodeConfigResponse.ProtoReflect.Descriptor instead. func (*ComposeNodeConfigResponse) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{14} + return file_service_node_proto_rawDescGZIP(), []int{16} } func (x *ComposeNodeConfigResponse) GetNodeJSON() []byte { @@ -821,7 +932,7 @@ type NodeStreamMessage struct { func (x *NodeStreamMessage) Reset() { *x = NodeStreamMessage{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[15] + mi := &file_service_node_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -834,7 +945,7 @@ func (x *NodeStreamMessage) String() string { func (*NodeStreamMessage) ProtoMessage() {} func (x *NodeStreamMessage) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[15] + mi := &file_service_node_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -847,7 +958,7 @@ func (x *NodeStreamMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeStreamMessage.ProtoReflect.Descriptor instead. func (*NodeStreamMessage) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{15} + return file_service_node_proto_rawDescGZIP(), []int{17} } func (x *NodeStreamMessage) GetNodeId() int64 { @@ -912,7 +1023,7 @@ type UpdateNodeStatusRequest struct { func (x *UpdateNodeStatusRequest) Reset() { *x = UpdateNodeStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[16] + mi := &file_service_node_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -925,7 +1036,7 @@ func (x *UpdateNodeStatusRequest) String() string { func (*UpdateNodeStatusRequest) ProtoMessage() {} func (x *UpdateNodeStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[16] + mi := &file_service_node_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -938,7 +1049,7 @@ func (x *UpdateNodeStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateNodeStatusRequest.ProtoReflect.Descriptor instead. func (*UpdateNodeStatusRequest) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{16} + return file_service_node_proto_rawDescGZIP(), []int{18} } func (x *UpdateNodeStatusRequest) GetNodeId() int64 { @@ -967,7 +1078,7 @@ type SyncNodesVersionWithClusterRequest struct { func (x *SyncNodesVersionWithClusterRequest) Reset() { *x = SyncNodesVersionWithClusterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[17] + mi := &file_service_node_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -980,7 +1091,7 @@ func (x *SyncNodesVersionWithClusterRequest) String() string { func (*SyncNodesVersionWithClusterRequest) ProtoMessage() {} func (x *SyncNodesVersionWithClusterRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[17] + mi := &file_service_node_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -993,7 +1104,7 @@ func (x *SyncNodesVersionWithClusterRequest) ProtoReflect() protoreflect.Message // Deprecated: Use SyncNodesVersionWithClusterRequest.ProtoReflect.Descriptor instead. func (*SyncNodesVersionWithClusterRequest) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{17} + return file_service_node_proto_rawDescGZIP(), []int{19} } func (x *SyncNodesVersionWithClusterRequest) GetClusterId() int64 { @@ -1012,7 +1123,7 @@ type SyncNodesVersionWithClusterResponse struct { func (x *SyncNodesVersionWithClusterResponse) Reset() { *x = SyncNodesVersionWithClusterResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[18] + mi := &file_service_node_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1025,7 +1136,7 @@ func (x *SyncNodesVersionWithClusterResponse) String() string { func (*SyncNodesVersionWithClusterResponse) ProtoMessage() {} func (x *SyncNodesVersionWithClusterResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[18] + mi := &file_service_node_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1038,7 +1149,7 @@ func (x *SyncNodesVersionWithClusterResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use SyncNodesVersionWithClusterResponse.ProtoReflect.Descriptor instead. func (*SyncNodesVersionWithClusterResponse) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{18} + return file_service_node_proto_rawDescGZIP(), []int{20} } // 计算匹配的节点数量 @@ -1055,7 +1166,7 @@ type CountAllEnabledNodesMatchRequest struct { func (x *CountAllEnabledNodesMatchRequest) Reset() { *x = CountAllEnabledNodesMatchRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[19] + mi := &file_service_node_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1068,7 +1179,7 @@ func (x *CountAllEnabledNodesMatchRequest) String() string { func (*CountAllEnabledNodesMatchRequest) ProtoMessage() {} func (x *CountAllEnabledNodesMatchRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[19] + mi := &file_service_node_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1081,7 +1192,7 @@ func (x *CountAllEnabledNodesMatchRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CountAllEnabledNodesMatchRequest.ProtoReflect.Descriptor instead. func (*CountAllEnabledNodesMatchRequest) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{19} + return file_service_node_proto_rawDescGZIP(), []int{21} } func (x *CountAllEnabledNodesMatchRequest) GetClusterId() int64 { @@ -1116,7 +1227,7 @@ type CountAllEnabledNodesMatchResponse struct { func (x *CountAllEnabledNodesMatchResponse) Reset() { *x = CountAllEnabledNodesMatchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[20] + mi := &file_service_node_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1129,7 +1240,7 @@ func (x *CountAllEnabledNodesMatchResponse) String() string { func (*CountAllEnabledNodesMatchResponse) ProtoMessage() {} func (x *CountAllEnabledNodesMatchResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[20] + mi := &file_service_node_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1142,7 +1253,7 @@ func (x *CountAllEnabledNodesMatchResponse) ProtoReflect() protoreflect.Message // Deprecated: Use CountAllEnabledNodesMatchResponse.ProtoReflect.Descriptor instead. func (*CountAllEnabledNodesMatchResponse) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{20} + return file_service_node_proto_rawDescGZIP(), []int{22} } func (x *CountAllEnabledNodesMatchResponse) GetCount() int64 { @@ -1165,7 +1276,7 @@ type UpdateNodeIsInstalledRequest struct { func (x *UpdateNodeIsInstalledRequest) Reset() { *x = UpdateNodeIsInstalledRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[21] + mi := &file_service_node_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1178,7 +1289,7 @@ func (x *UpdateNodeIsInstalledRequest) String() string { func (*UpdateNodeIsInstalledRequest) ProtoMessage() {} func (x *UpdateNodeIsInstalledRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[21] + mi := &file_service_node_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1191,7 +1302,7 @@ func (x *UpdateNodeIsInstalledRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateNodeIsInstalledRequest.ProtoReflect.Descriptor instead. func (*UpdateNodeIsInstalledRequest) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{21} + return file_service_node_proto_rawDescGZIP(), []int{23} } func (x *UpdateNodeIsInstalledRequest) GetNodeId() int64 { @@ -1220,7 +1331,7 @@ type InstallNodeRequest struct { func (x *InstallNodeRequest) Reset() { *x = InstallNodeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[22] + mi := &file_service_node_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1233,7 +1344,7 @@ func (x *InstallNodeRequest) String() string { func (*InstallNodeRequest) ProtoMessage() {} func (x *InstallNodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[22] + mi := &file_service_node_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1246,7 +1357,7 @@ func (x *InstallNodeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InstallNodeRequest.ProtoReflect.Descriptor instead. func (*InstallNodeRequest) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{22} + return file_service_node_proto_rawDescGZIP(), []int{24} } func (x *InstallNodeRequest) GetNodeId() int64 { @@ -1265,7 +1376,7 @@ type InstallNodeResponse struct { func (x *InstallNodeResponse) Reset() { *x = InstallNodeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[23] + mi := &file_service_node_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1278,7 +1389,7 @@ func (x *InstallNodeResponse) String() string { func (*InstallNodeResponse) ProtoMessage() {} func (x *InstallNodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[23] + mi := &file_service_node_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1291,7 +1402,7 @@ func (x *InstallNodeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InstallNodeResponse.ProtoReflect.Descriptor instead. func (*InstallNodeResponse) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{23} + return file_service_node_proto_rawDescGZIP(), []int{25} } // 更改节点连接的API节点信息 @@ -1306,7 +1417,7 @@ type UpdateNodeConnectedAPINodesRequest struct { func (x *UpdateNodeConnectedAPINodesRequest) Reset() { *x = UpdateNodeConnectedAPINodesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[24] + mi := &file_service_node_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1319,7 +1430,7 @@ func (x *UpdateNodeConnectedAPINodesRequest) String() string { func (*UpdateNodeConnectedAPINodesRequest) ProtoMessage() {} func (x *UpdateNodeConnectedAPINodesRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[24] + mi := &file_service_node_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1332,7 +1443,7 @@ func (x *UpdateNodeConnectedAPINodesRequest) ProtoReflect() protoreflect.Message // Deprecated: Use UpdateNodeConnectedAPINodesRequest.ProtoReflect.Descriptor instead. func (*UpdateNodeConnectedAPINodesRequest) Descriptor() ([]byte, []int) { - return file_service_node_proto_rawDescGZIP(), []int{24} + return file_service_node_proto_rawDescGZIP(), []int{26} } func (x *UpdateNodeConnectedAPINodesRequest) GetApiNodeIds() []int64 { @@ -1360,199 +1471,215 @@ var file_service_node_proto_rawDesc = []byte{ 0x69, 0x6e, 0x22, 0x2c, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, - 0x22, 0x1d, 0x0a, 0x1b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x34, 0x0a, 0x1c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xae, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, - 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x3f, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x27, 0x46, 0x69, 0x6e, 0x64, 0x41, - 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, - 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, - 0x22, 0x4a, 0x0a, 0x28, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x05, - 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x2c, 0x0a, 0x12, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x44, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xae, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x23, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, - 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x43, 0x50, 0x55, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x43, 0x50, 0x55, 0x12, 0x12, - 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, - 0x4f, 0x6e, 0x22, 0x30, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, - 0x64, 0x65, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x1c, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, - 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x1a, 0x0a, - 0x18, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x37, 0x0a, 0x19, 0x43, 0x6f, 0x6d, - 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4a, 0x53, - 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4a, 0x53, - 0x4f, 0x4e, 0x22, 0xcf, 0x01, 0x0a, 0x11, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x26, - 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, - 0x74, 0x61, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x64, 0x61, - 0x74, 0x61, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x22, 0x51, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x22, 0x30, 0x0a, 0x1a, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x6f, 0x0a, 0x1b, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x22, 0x34, 0x0a, 0x1c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xae, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, + 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x3f, 0x0a, 0x1d, 0x4c, 0x69, 0x73, + 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x6e, 0x6f, + 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x27, 0x46, 0x69, + 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x28, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1e, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, + 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, + 0x2c, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x15, 0x0a, + 0x13, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xae, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, + 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, + 0x69, 0x6e, 0x52, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, + 0x43, 0x50, 0x55, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x43, 0x50, + 0x55, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x22, 0x30, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x42, 0x0a, 0x22, 0x53, 0x79, 0x6e, 0x63, 0x4e, - 0x6f, 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x25, 0x0a, 0x23, 0x53, - 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x57, - 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x20, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, + 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, + 0x22, 0x1a, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x37, 0x0a, 0x19, + 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, + 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6e, 0x6f, 0x64, + 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0xcf, 0x01, 0x0a, 0x11, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, + 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, + 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x64, 0x61, 0x74, 0x61, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x08, 0x64, 0x61, 0x74, 0x61, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, + 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x18, 0x0a, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x51, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x42, 0x0a, 0x22, 0x53, 0x79, + 0x6e, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, + 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x25, + 0x0a, 0x23, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x20, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, + 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x39, + 0x0a, 0x21, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x58, 0x0a, 0x1c, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, + 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, + 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, + 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, + 0x64, 0x22, 0x15, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, + 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x03, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x32, 0x85, + 0x0b, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, + 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, + 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, + 0x64, 0x65, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, + 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, + 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, + 0x0a, 0x19, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x24, 0x2e, 0x70, 0x62, + 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x39, 0x0a, 0x21, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x58, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x20, - 0x0a, 0x0b, 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, - 0x22, 0x2c, 0x0a, 0x12, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x15, - 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, - 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, - 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, - 0x0a, 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x32, 0xad, 0x0a, 0x0a, 0x0b, - 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, - 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, - 0x15, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x20, 0x66, - 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, - 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, - 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x44, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, - 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, - 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, - 0x01, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x11, 0x73, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, - 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x45, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6e, 0x0a, - 0x1b, 0x73, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x70, - 0x62, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, - 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, - 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x68, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, + 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, + 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e, + 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, + 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, + 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, + 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, + 0x52, 0x50, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x12, 0x4a, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, + 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, + 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x15, 0x2e, 0x70, + 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x41, + 0x0a, 0x11, 0x73, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x6f, 0x4e, + 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x45, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6e, 0x0a, 0x1b, 0x73, 0x79, 0x6e, 0x63, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x6e, + 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x74, + 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, - 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3e, - 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e, - 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, - 0x0a, 0x1b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x26, 0x2e, - 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, - 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3e, 0x0a, 0x0b, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1b, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1567,77 +1694,81 @@ func file_service_node_proto_rawDescGZIP() []byte { return file_service_node_proto_rawDescData } -var file_service_node_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_service_node_proto_msgTypes = make([]protoimpl.MessageInfo, 27) var file_service_node_proto_goTypes = []interface{}{ (*CreateNodeRequest)(nil), // 0: pb.CreateNodeRequest (*CreateNodeResponse)(nil), // 1: pb.CreateNodeResponse - (*CountAllEnabledNodesRequest)(nil), // 2: pb.CountAllEnabledNodesRequest - (*CountAllEnabledNodesResponse)(nil), // 3: pb.CountAllEnabledNodesResponse - (*ListEnabledNodesMatchRequest)(nil), // 4: pb.ListEnabledNodesMatchRequest - (*ListEnabledNodesMatchResponse)(nil), // 5: pb.ListEnabledNodesMatchResponse - (*FindAllEnabledNodesWithClusterIdRequest)(nil), // 6: pb.FindAllEnabledNodesWithClusterIdRequest - (*FindAllEnabledNodesWithClusterIdResponse)(nil), // 7: pb.FindAllEnabledNodesWithClusterIdResponse - (*DisableNodeRequest)(nil), // 8: pb.DisableNodeRequest - (*DisableNodeResponse)(nil), // 9: pb.DisableNodeResponse - (*UpdateNodeRequest)(nil), // 10: pb.UpdateNodeRequest - (*FindEnabledNodeRequest)(nil), // 11: pb.FindEnabledNodeRequest - (*FindEnabledNodeResponse)(nil), // 12: pb.FindEnabledNodeResponse - (*ComposeNodeConfigRequest)(nil), // 13: pb.ComposeNodeConfigRequest - (*ComposeNodeConfigResponse)(nil), // 14: pb.ComposeNodeConfigResponse - (*NodeStreamMessage)(nil), // 15: pb.NodeStreamMessage - (*UpdateNodeStatusRequest)(nil), // 16: pb.UpdateNodeStatusRequest - (*SyncNodesVersionWithClusterRequest)(nil), // 17: pb.SyncNodesVersionWithClusterRequest - (*SyncNodesVersionWithClusterResponse)(nil), // 18: pb.SyncNodesVersionWithClusterResponse - (*CountAllEnabledNodesMatchRequest)(nil), // 19: pb.CountAllEnabledNodesMatchRequest - (*CountAllEnabledNodesMatchResponse)(nil), // 20: pb.CountAllEnabledNodesMatchResponse - (*UpdateNodeIsInstalledRequest)(nil), // 21: pb.UpdateNodeIsInstalledRequest - (*InstallNodeRequest)(nil), // 22: pb.InstallNodeRequest - (*InstallNodeResponse)(nil), // 23: pb.InstallNodeResponse - (*UpdateNodeConnectedAPINodesRequest)(nil), // 24: pb.UpdateNodeConnectedAPINodesRequest - (*NodeLogin)(nil), // 25: pb.NodeLogin - (*Node)(nil), // 26: pb.Node - (*RPCUpdateSuccess)(nil), // 27: pb.RPCUpdateSuccess + (*RegisterClusterNodeRequest)(nil), // 2: pb.RegisterClusterNodeRequest + (*RegisterClusterNodeResponse)(nil), // 3: pb.RegisterClusterNodeResponse + (*CountAllEnabledNodesRequest)(nil), // 4: pb.CountAllEnabledNodesRequest + (*CountAllEnabledNodesResponse)(nil), // 5: pb.CountAllEnabledNodesResponse + (*ListEnabledNodesMatchRequest)(nil), // 6: pb.ListEnabledNodesMatchRequest + (*ListEnabledNodesMatchResponse)(nil), // 7: pb.ListEnabledNodesMatchResponse + (*FindAllEnabledNodesWithClusterIdRequest)(nil), // 8: pb.FindAllEnabledNodesWithClusterIdRequest + (*FindAllEnabledNodesWithClusterIdResponse)(nil), // 9: pb.FindAllEnabledNodesWithClusterIdResponse + (*DisableNodeRequest)(nil), // 10: pb.DisableNodeRequest + (*DisableNodeResponse)(nil), // 11: pb.DisableNodeResponse + (*UpdateNodeRequest)(nil), // 12: pb.UpdateNodeRequest + (*FindEnabledNodeRequest)(nil), // 13: pb.FindEnabledNodeRequest + (*FindEnabledNodeResponse)(nil), // 14: pb.FindEnabledNodeResponse + (*ComposeNodeConfigRequest)(nil), // 15: pb.ComposeNodeConfigRequest + (*ComposeNodeConfigResponse)(nil), // 16: pb.ComposeNodeConfigResponse + (*NodeStreamMessage)(nil), // 17: pb.NodeStreamMessage + (*UpdateNodeStatusRequest)(nil), // 18: pb.UpdateNodeStatusRequest + (*SyncNodesVersionWithClusterRequest)(nil), // 19: pb.SyncNodesVersionWithClusterRequest + (*SyncNodesVersionWithClusterResponse)(nil), // 20: pb.SyncNodesVersionWithClusterResponse + (*CountAllEnabledNodesMatchRequest)(nil), // 21: pb.CountAllEnabledNodesMatchRequest + (*CountAllEnabledNodesMatchResponse)(nil), // 22: pb.CountAllEnabledNodesMatchResponse + (*UpdateNodeIsInstalledRequest)(nil), // 23: pb.UpdateNodeIsInstalledRequest + (*InstallNodeRequest)(nil), // 24: pb.InstallNodeRequest + (*InstallNodeResponse)(nil), // 25: pb.InstallNodeResponse + (*UpdateNodeConnectedAPINodesRequest)(nil), // 26: pb.UpdateNodeConnectedAPINodesRequest + (*NodeLogin)(nil), // 27: pb.NodeLogin + (*Node)(nil), // 28: pb.Node + (*RPCUpdateSuccess)(nil), // 29: pb.RPCUpdateSuccess } var file_service_node_proto_depIdxs = []int32{ - 25, // 0: pb.CreateNodeRequest.Login:type_name -> pb.NodeLogin - 26, // 1: pb.ListEnabledNodesMatchResponse.nodes:type_name -> pb.Node - 26, // 2: pb.FindAllEnabledNodesWithClusterIdResponse.nodes:type_name -> pb.Node - 25, // 3: pb.UpdateNodeRequest.Login:type_name -> pb.NodeLogin - 26, // 4: pb.FindEnabledNodeResponse.node:type_name -> pb.Node + 27, // 0: pb.CreateNodeRequest.Login:type_name -> pb.NodeLogin + 28, // 1: pb.ListEnabledNodesMatchResponse.nodes:type_name -> pb.Node + 28, // 2: pb.FindAllEnabledNodesWithClusterIdResponse.nodes:type_name -> pb.Node + 27, // 3: pb.UpdateNodeRequest.Login:type_name -> pb.NodeLogin + 28, // 4: pb.FindEnabledNodeResponse.node:type_name -> pb.Node 0, // 5: pb.NodeService.createNode:input_type -> pb.CreateNodeRequest - 2, // 6: pb.NodeService.countAllEnabledNodes:input_type -> pb.CountAllEnabledNodesRequest - 19, // 7: pb.NodeService.countAllEnabledNodesMatch:input_type -> pb.CountAllEnabledNodesMatchRequest - 4, // 8: pb.NodeService.listEnabledNodesMatch:input_type -> pb.ListEnabledNodesMatchRequest - 6, // 9: pb.NodeService.findAllEnabledNodesWithClusterId:input_type -> pb.FindAllEnabledNodesWithClusterIdRequest - 8, // 10: pb.NodeService.disableNode:input_type -> pb.DisableNodeRequest - 10, // 11: pb.NodeService.updateNode:input_type -> pb.UpdateNodeRequest - 11, // 12: pb.NodeService.findEnabledNode:input_type -> pb.FindEnabledNodeRequest - 13, // 13: pb.NodeService.composeNodeConfig:input_type -> pb.ComposeNodeConfigRequest - 15, // 14: pb.NodeService.nodeStream:input_type -> pb.NodeStreamMessage - 15, // 15: pb.NodeService.sendCommandToNode:input_type -> pb.NodeStreamMessage - 16, // 16: pb.NodeService.updateNodeStatus:input_type -> pb.UpdateNodeStatusRequest - 17, // 17: pb.NodeService.syncNodesVersionWithCluster:input_type -> pb.SyncNodesVersionWithClusterRequest - 21, // 18: pb.NodeService.updateNodeIsInstalled:input_type -> pb.UpdateNodeIsInstalledRequest - 22, // 19: pb.NodeService.installNode:input_type -> pb.InstallNodeRequest - 24, // 20: pb.NodeService.updateNodeConnectedAPINodes:input_type -> pb.UpdateNodeConnectedAPINodesRequest - 1, // 21: pb.NodeService.createNode:output_type -> pb.CreateNodeResponse - 3, // 22: pb.NodeService.countAllEnabledNodes:output_type -> pb.CountAllEnabledNodesResponse - 20, // 23: pb.NodeService.countAllEnabledNodesMatch:output_type -> pb.CountAllEnabledNodesMatchResponse - 5, // 24: pb.NodeService.listEnabledNodesMatch:output_type -> pb.ListEnabledNodesMatchResponse - 7, // 25: pb.NodeService.findAllEnabledNodesWithClusterId:output_type -> pb.FindAllEnabledNodesWithClusterIdResponse - 9, // 26: pb.NodeService.disableNode:output_type -> pb.DisableNodeResponse - 27, // 27: pb.NodeService.updateNode:output_type -> pb.RPCUpdateSuccess - 12, // 28: pb.NodeService.findEnabledNode:output_type -> pb.FindEnabledNodeResponse - 14, // 29: pb.NodeService.composeNodeConfig:output_type -> pb.ComposeNodeConfigResponse - 15, // 30: pb.NodeService.nodeStream:output_type -> pb.NodeStreamMessage - 15, // 31: pb.NodeService.sendCommandToNode:output_type -> pb.NodeStreamMessage - 27, // 32: pb.NodeService.updateNodeStatus:output_type -> pb.RPCUpdateSuccess - 18, // 33: pb.NodeService.syncNodesVersionWithCluster:output_type -> pb.SyncNodesVersionWithClusterResponse - 27, // 34: pb.NodeService.updateNodeIsInstalled:output_type -> pb.RPCUpdateSuccess - 23, // 35: pb.NodeService.installNode:output_type -> pb.InstallNodeResponse - 27, // 36: pb.NodeService.updateNodeConnectedAPINodes:output_type -> pb.RPCUpdateSuccess - 21, // [21:37] is the sub-list for method output_type - 5, // [5:21] is the sub-list for method input_type + 2, // 6: pb.NodeService.registerClusterNode:input_type -> pb.RegisterClusterNodeRequest + 4, // 7: pb.NodeService.countAllEnabledNodes:input_type -> pb.CountAllEnabledNodesRequest + 21, // 8: pb.NodeService.countAllEnabledNodesMatch:input_type -> pb.CountAllEnabledNodesMatchRequest + 6, // 9: pb.NodeService.listEnabledNodesMatch:input_type -> pb.ListEnabledNodesMatchRequest + 8, // 10: pb.NodeService.findAllEnabledNodesWithClusterId:input_type -> pb.FindAllEnabledNodesWithClusterIdRequest + 10, // 11: pb.NodeService.disableNode:input_type -> pb.DisableNodeRequest + 12, // 12: pb.NodeService.updateNode:input_type -> pb.UpdateNodeRequest + 13, // 13: pb.NodeService.findEnabledNode:input_type -> pb.FindEnabledNodeRequest + 15, // 14: pb.NodeService.composeNodeConfig:input_type -> pb.ComposeNodeConfigRequest + 17, // 15: pb.NodeService.nodeStream:input_type -> pb.NodeStreamMessage + 17, // 16: pb.NodeService.sendCommandToNode:input_type -> pb.NodeStreamMessage + 18, // 17: pb.NodeService.updateNodeStatus:input_type -> pb.UpdateNodeStatusRequest + 19, // 18: pb.NodeService.syncNodesVersionWithCluster:input_type -> pb.SyncNodesVersionWithClusterRequest + 23, // 19: pb.NodeService.updateNodeIsInstalled:input_type -> pb.UpdateNodeIsInstalledRequest + 24, // 20: pb.NodeService.installNode:input_type -> pb.InstallNodeRequest + 26, // 21: pb.NodeService.updateNodeConnectedAPINodes:input_type -> pb.UpdateNodeConnectedAPINodesRequest + 1, // 22: pb.NodeService.createNode:output_type -> pb.CreateNodeResponse + 3, // 23: pb.NodeService.registerClusterNode:output_type -> pb.RegisterClusterNodeResponse + 5, // 24: pb.NodeService.countAllEnabledNodes:output_type -> pb.CountAllEnabledNodesResponse + 22, // 25: pb.NodeService.countAllEnabledNodesMatch:output_type -> pb.CountAllEnabledNodesMatchResponse + 7, // 26: pb.NodeService.listEnabledNodesMatch:output_type -> pb.ListEnabledNodesMatchResponse + 9, // 27: pb.NodeService.findAllEnabledNodesWithClusterId:output_type -> pb.FindAllEnabledNodesWithClusterIdResponse + 11, // 28: pb.NodeService.disableNode:output_type -> pb.DisableNodeResponse + 29, // 29: pb.NodeService.updateNode:output_type -> pb.RPCUpdateSuccess + 14, // 30: pb.NodeService.findEnabledNode:output_type -> pb.FindEnabledNodeResponse + 16, // 31: pb.NodeService.composeNodeConfig:output_type -> pb.ComposeNodeConfigResponse + 17, // 32: pb.NodeService.nodeStream:output_type -> pb.NodeStreamMessage + 17, // 33: pb.NodeService.sendCommandToNode:output_type -> pb.NodeStreamMessage + 29, // 34: pb.NodeService.updateNodeStatus:output_type -> pb.RPCUpdateSuccess + 20, // 35: pb.NodeService.syncNodesVersionWithCluster:output_type -> pb.SyncNodesVersionWithClusterResponse + 29, // 36: pb.NodeService.updateNodeIsInstalled:output_type -> pb.RPCUpdateSuccess + 25, // 37: pb.NodeService.installNode:output_type -> pb.InstallNodeResponse + 29, // 38: pb.NodeService.updateNodeConnectedAPINodes:output_type -> pb.RPCUpdateSuccess + 22, // [22:39] is the sub-list for method output_type + 5, // [5:22] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name @@ -1677,7 +1808,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CountAllEnabledNodesRequest); i { + switch v := v.(*RegisterClusterNodeRequest); i { case 0: return &v.state case 1: @@ -1689,7 +1820,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CountAllEnabledNodesResponse); i { + switch v := v.(*RegisterClusterNodeResponse); i { case 0: return &v.state case 1: @@ -1701,7 +1832,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListEnabledNodesMatchRequest); i { + switch v := v.(*CountAllEnabledNodesRequest); i { case 0: return &v.state case 1: @@ -1713,7 +1844,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListEnabledNodesMatchResponse); i { + switch v := v.(*CountAllEnabledNodesResponse); i { case 0: return &v.state case 1: @@ -1725,7 +1856,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindAllEnabledNodesWithClusterIdRequest); i { + switch v := v.(*ListEnabledNodesMatchRequest); i { case 0: return &v.state case 1: @@ -1737,7 +1868,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindAllEnabledNodesWithClusterIdResponse); i { + switch v := v.(*ListEnabledNodesMatchResponse); i { case 0: return &v.state case 1: @@ -1749,7 +1880,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableNodeRequest); i { + switch v := v.(*FindAllEnabledNodesWithClusterIdRequest); i { case 0: return &v.state case 1: @@ -1761,7 +1892,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableNodeResponse); i { + switch v := v.(*FindAllEnabledNodesWithClusterIdResponse); i { case 0: return &v.state case 1: @@ -1773,7 +1904,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateNodeRequest); i { + switch v := v.(*DisableNodeRequest); i { case 0: return &v.state case 1: @@ -1785,7 +1916,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindEnabledNodeRequest); i { + switch v := v.(*DisableNodeResponse); i { case 0: return &v.state case 1: @@ -1797,7 +1928,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindEnabledNodeResponse); i { + switch v := v.(*UpdateNodeRequest); i { case 0: return &v.state case 1: @@ -1809,7 +1940,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ComposeNodeConfigRequest); i { + switch v := v.(*FindEnabledNodeRequest); i { case 0: return &v.state case 1: @@ -1821,7 +1952,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ComposeNodeConfigResponse); i { + switch v := v.(*FindEnabledNodeResponse); i { case 0: return &v.state case 1: @@ -1833,7 +1964,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeStreamMessage); i { + switch v := v.(*ComposeNodeConfigRequest); i { case 0: return &v.state case 1: @@ -1845,7 +1976,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateNodeStatusRequest); i { + switch v := v.(*ComposeNodeConfigResponse); i { case 0: return &v.state case 1: @@ -1857,7 +1988,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncNodesVersionWithClusterRequest); i { + switch v := v.(*NodeStreamMessage); i { case 0: return &v.state case 1: @@ -1869,7 +2000,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncNodesVersionWithClusterResponse); i { + switch v := v.(*UpdateNodeStatusRequest); i { case 0: return &v.state case 1: @@ -1881,7 +2012,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CountAllEnabledNodesMatchRequest); i { + switch v := v.(*SyncNodesVersionWithClusterRequest); i { case 0: return &v.state case 1: @@ -1893,7 +2024,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CountAllEnabledNodesMatchResponse); i { + switch v := v.(*SyncNodesVersionWithClusterResponse); i { case 0: return &v.state case 1: @@ -1905,7 +2036,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateNodeIsInstalledRequest); i { + switch v := v.(*CountAllEnabledNodesMatchRequest); i { case 0: return &v.state case 1: @@ -1917,7 +2048,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InstallNodeRequest); i { + switch v := v.(*CountAllEnabledNodesMatchResponse); i { case 0: return &v.state case 1: @@ -1929,7 +2060,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InstallNodeResponse); i { + switch v := v.(*UpdateNodeIsInstalledRequest); i { case 0: return &v.state case 1: @@ -1941,6 +2072,30 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstallNodeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstallNodeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNodeConnectedAPINodesRequest); i { case 0: return &v.state @@ -1959,7 +2114,7 @@ func file_service_node_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_node_proto_rawDesc, NumEnums: 0, - NumMessages: 25, + NumMessages: 27, NumExtensions: 0, NumServices: 1, }, @@ -1987,6 +2142,8 @@ const _ = grpc.SupportPackageIsVersion6 type NodeServiceClient interface { // 创建节点 CreateNode(ctx context.Context, in *CreateNodeRequest, opts ...grpc.CallOption) (*CreateNodeResponse, error) + // 注册集群节点 + RegisterClusterNode(ctx context.Context, in *RegisterClusterNodeRequest, opts ...grpc.CallOption) (*RegisterClusterNodeResponse, error) // 节点数量 CountAllEnabledNodes(ctx context.Context, in *CountAllEnabledNodesRequest, opts ...grpc.CallOption) (*CountAllEnabledNodesResponse, error) // 计算匹配的节点数量 @@ -2036,6 +2193,15 @@ func (c *nodeServiceClient) CreateNode(ctx context.Context, in *CreateNodeReques return out, nil } +func (c *nodeServiceClient) RegisterClusterNode(ctx context.Context, in *RegisterClusterNodeRequest, opts ...grpc.CallOption) (*RegisterClusterNodeResponse, error) { + out := new(RegisterClusterNodeResponse) + err := c.cc.Invoke(ctx, "/pb.NodeService/registerClusterNode", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeServiceClient) CountAllEnabledNodes(ctx context.Context, in *CountAllEnabledNodesRequest, opts ...grpc.CallOption) (*CountAllEnabledNodesResponse, error) { out := new(CountAllEnabledNodesResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/countAllEnabledNodes", in, out, opts...) @@ -2197,6 +2363,8 @@ func (c *nodeServiceClient) UpdateNodeConnectedAPINodes(ctx context.Context, in type NodeServiceServer interface { // 创建节点 CreateNode(context.Context, *CreateNodeRequest) (*CreateNodeResponse, error) + // 注册集群节点 + RegisterClusterNode(context.Context, *RegisterClusterNodeRequest) (*RegisterClusterNodeResponse, error) // 节点数量 CountAllEnabledNodes(context.Context, *CountAllEnabledNodesRequest) (*CountAllEnabledNodesResponse, error) // 计算匹配的节点数量 @@ -2236,6 +2404,9 @@ type UnimplementedNodeServiceServer struct { func (*UnimplementedNodeServiceServer) CreateNode(context.Context, *CreateNodeRequest) (*CreateNodeResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateNode not implemented") } +func (*UnimplementedNodeServiceServer) RegisterClusterNode(context.Context, *RegisterClusterNodeRequest) (*RegisterClusterNodeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RegisterClusterNode not implemented") +} func (*UnimplementedNodeServiceServer) CountAllEnabledNodes(context.Context, *CountAllEnabledNodesRequest) (*CountAllEnabledNodesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodes not implemented") } @@ -2304,6 +2475,24 @@ func _NodeService_CreateNode_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _NodeService_RegisterClusterNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RegisterClusterNodeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServiceServer).RegisterClusterNode(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeService/RegisterClusterNode", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServiceServer).RegisterClusterNode(ctx, req.(*RegisterClusterNodeRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _NodeService_CountAllEnabledNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CountAllEnabledNodesRequest) if err := dec(in); err != nil { @@ -2590,6 +2779,10 @@ var _NodeService_serviceDesc = grpc.ServiceDesc{ MethodName: "createNode", Handler: _NodeService_CreateNode_Handler, }, + { + MethodName: "registerClusterNode", + Handler: _NodeService_RegisterClusterNode_Handler, + }, { MethodName: "countAllEnabledNodes", Handler: _NodeService_CountAllEnabledNodes_Handler, diff --git a/pkg/rpc/pb/service_node_cluster.pb.go b/pkg/rpc/pb/service_node_cluster.pb.go index d62c9eb..8404313 100644 --- a/pkg/rpc/pb/service_node_cluster.pb.go +++ b/pkg/rpc/pb/service_node_cluster.pb.go @@ -565,6 +565,109 @@ func (x *FindEnabledNodeClusterResponse) GetCluster() *NodeCluster { return nil } +// 查找集群的API节点信息 +type FindAPINodesWithNodeClusterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClusterId int64 `protobuf:"varint,1,opt,name=clusterId,proto3" json:"clusterId,omitempty"` +} + +func (x *FindAPINodesWithNodeClusterRequest) Reset() { + *x = FindAPINodesWithNodeClusterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_cluster_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindAPINodesWithNodeClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindAPINodesWithNodeClusterRequest) ProtoMessage() {} + +func (x *FindAPINodesWithNodeClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_cluster_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FindAPINodesWithNodeClusterRequest.ProtoReflect.Descriptor instead. +func (*FindAPINodesWithNodeClusterRequest) Descriptor() ([]byte, []int) { + return file_service_node_cluster_proto_rawDescGZIP(), []int{11} +} + +func (x *FindAPINodesWithNodeClusterRequest) GetClusterId() int64 { + if x != nil { + return x.ClusterId + } + return 0 +} + +type FindAPINodesWithNodeClusterResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UseAllAPINodes bool `protobuf:"varint,1,opt,name=useAllAPINodes,proto3" json:"useAllAPINodes,omitempty"` + ApiNodes []*APINode `protobuf:"bytes,2,rep,name=apiNodes,proto3" json:"apiNodes,omitempty"` +} + +func (x *FindAPINodesWithNodeClusterResponse) Reset() { + *x = FindAPINodesWithNodeClusterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_cluster_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindAPINodesWithNodeClusterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindAPINodesWithNodeClusterResponse) ProtoMessage() {} + +func (x *FindAPINodesWithNodeClusterResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_cluster_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FindAPINodesWithNodeClusterResponse.ProtoReflect.Descriptor instead. +func (*FindAPINodesWithNodeClusterResponse) Descriptor() ([]byte, []int) { + return file_service_node_cluster_proto_rawDescGZIP(), []int{12} +} + +func (x *FindAPINodesWithNodeClusterResponse) GetUseAllAPINodes() bool { + if x != nil { + return x.UseAllAPINodes + } + return false +} + +func (x *FindAPINodesWithNodeClusterResponse) GetApiNodes() []*APINode { + if x != nil { + return x.ApiNodes + } + return nil +} + // 计算所有集群数量 type CountAllEnabledNodeClustersRequest struct { state protoimpl.MessageState @@ -575,7 +678,7 @@ type CountAllEnabledNodeClustersRequest struct { func (x *CountAllEnabledNodeClustersRequest) Reset() { *x = CountAllEnabledNodeClustersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_cluster_proto_msgTypes[11] + mi := &file_service_node_cluster_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -588,7 +691,7 @@ func (x *CountAllEnabledNodeClustersRequest) String() string { func (*CountAllEnabledNodeClustersRequest) ProtoMessage() {} func (x *CountAllEnabledNodeClustersRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_node_cluster_proto_msgTypes[11] + mi := &file_service_node_cluster_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -601,7 +704,7 @@ func (x *CountAllEnabledNodeClustersRequest) ProtoReflect() protoreflect.Message // Deprecated: Use CountAllEnabledNodeClustersRequest.ProtoReflect.Descriptor instead. func (*CountAllEnabledNodeClustersRequest) Descriptor() ([]byte, []int) { - return file_service_node_cluster_proto_rawDescGZIP(), []int{11} + return file_service_node_cluster_proto_rawDescGZIP(), []int{13} } type CountAllEnabledNodeClustersResponse struct { @@ -615,7 +718,7 @@ type CountAllEnabledNodeClustersResponse struct { func (x *CountAllEnabledNodeClustersResponse) Reset() { *x = CountAllEnabledNodeClustersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_cluster_proto_msgTypes[12] + mi := &file_service_node_cluster_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -628,7 +731,7 @@ func (x *CountAllEnabledNodeClustersResponse) String() string { func (*CountAllEnabledNodeClustersResponse) ProtoMessage() {} func (x *CountAllEnabledNodeClustersResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_node_cluster_proto_msgTypes[12] + mi := &file_service_node_cluster_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -641,7 +744,7 @@ func (x *CountAllEnabledNodeClustersResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use CountAllEnabledNodeClustersResponse.ProtoReflect.Descriptor instead. func (*CountAllEnabledNodeClustersResponse) Descriptor() ([]byte, []int) { - return file_service_node_cluster_proto_rawDescGZIP(), []int{12} + return file_service_node_cluster_proto_rawDescGZIP(), []int{14} } func (x *CountAllEnabledNodeClustersResponse) GetCount() int64 { @@ -664,7 +767,7 @@ type ListEnabledNodeClustersRequest struct { func (x *ListEnabledNodeClustersRequest) Reset() { *x = ListEnabledNodeClustersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_cluster_proto_msgTypes[13] + mi := &file_service_node_cluster_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -677,7 +780,7 @@ func (x *ListEnabledNodeClustersRequest) String() string { func (*ListEnabledNodeClustersRequest) ProtoMessage() {} func (x *ListEnabledNodeClustersRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_node_cluster_proto_msgTypes[13] + mi := &file_service_node_cluster_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -690,7 +793,7 @@ func (x *ListEnabledNodeClustersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListEnabledNodeClustersRequest.ProtoReflect.Descriptor instead. func (*ListEnabledNodeClustersRequest) Descriptor() ([]byte, []int) { - return file_service_node_cluster_proto_rawDescGZIP(), []int{13} + return file_service_node_cluster_proto_rawDescGZIP(), []int{15} } func (x *ListEnabledNodeClustersRequest) GetOffset() int64 { @@ -718,7 +821,7 @@ type ListEnabledNodeClustersResponse struct { func (x *ListEnabledNodeClustersResponse) Reset() { *x = ListEnabledNodeClustersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_cluster_proto_msgTypes[14] + mi := &file_service_node_cluster_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -731,7 +834,7 @@ func (x *ListEnabledNodeClustersResponse) String() string { func (*ListEnabledNodeClustersResponse) ProtoMessage() {} func (x *ListEnabledNodeClustersResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_node_cluster_proto_msgTypes[14] + mi := &file_service_node_cluster_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -744,7 +847,7 @@ func (x *ListEnabledNodeClustersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListEnabledNodeClustersResponse.ProtoReflect.Descriptor instead. func (*ListEnabledNodeClustersResponse) Descriptor() ([]byte, []int) { - return file_service_node_cluster_proto_rawDescGZIP(), []int{14} + return file_service_node_cluster_proto_rawDescGZIP(), []int{16} } func (x *ListEnabledNodeClustersResponse) GetClusters() []*NodeCluster { @@ -760,123 +863,143 @@ var file_service_node_cluster_proto_rawDesc = []byte{ 0x0a, 0x1a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x18, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x72, 0x70, 0x63, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x23, - 0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x51, 0x0a, 0x22, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x22, 0x23, 0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, - 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x51, 0x0a, 0x22, 0x46, - 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x64, - 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x22, 0x68, - 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x22, 0x39, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x49, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x12, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x23, 0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x51, 0x0a, 0x22, 0x46, 0x69, 0x6e, + 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x2b, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x22, 0x23, 0x0a, 0x21, + 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x51, 0x0a, 0x22, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x22, 0x68, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x22, 0x39, 0x0a, 0x19, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x22, 0x39, + 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x18, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x22, 0x24, 0x0a, 0x22, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x23, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4c, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, + 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, + 0x69, 0x72, 0x22, 0x39, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x1c, 0x0a, + 0x1a, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x0a, 0x1d, 0x46, + 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x1e, 0x46, 0x69, + 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x07, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x42, 0x0a, 0x22, 0x46, 0x69, 0x6e, 0x64, 0x41, + 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x76, 0x0a, 0x23, 0x46, + 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, + 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x41, 0x6c, 0x6c, 0x41, 0x50, 0x49, 0x4e, + 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x41, + 0x6c, 0x6c, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x61, 0x70, + 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, + 0x62, 0x2e, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x61, 0x70, 0x69, 0x4e, 0x6f, + 0x64, 0x65, 0x73, 0x22, 0x24, 0x0a, 0x22, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x23, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4c, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, + 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4e, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, - 0x7a, 0x65, 0x22, 0x4e, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x73, 0x32, 0x93, 0x06, 0x0a, 0x12, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x32, 0x83, 0x07, 0x0a, 0x12, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, - 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x11, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, - 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x44, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, - 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, - 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, - 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x41, - 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, - 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, - 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x1b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, - 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, - 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, - 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, + 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x70, + 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, + 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66, + 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x1b, + 0x66, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, + 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x70, 0x62, + 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, + 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, + 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, + 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, + 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, + 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, + 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x1b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, + 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, + 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -891,7 +1014,7 @@ func file_service_node_cluster_proto_rawDescGZIP() []byte { return file_service_node_cluster_proto_rawDescData } -var file_service_node_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_service_node_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 17) var file_service_node_cluster_proto_goTypes = []interface{}{ (*FindAllEnabledNodeClustersRequest)(nil), // 0: pb.FindAllEnabledNodeClustersRequest (*FindAllEnabledNodeClustersResponse)(nil), // 1: pb.FindAllEnabledNodeClustersResponse @@ -904,39 +1027,45 @@ var file_service_node_cluster_proto_goTypes = []interface{}{ (*DisableNodeClusterResponse)(nil), // 8: pb.DisableNodeClusterResponse (*FindEnabledNodeClusterRequest)(nil), // 9: pb.FindEnabledNodeClusterRequest (*FindEnabledNodeClusterResponse)(nil), // 10: pb.FindEnabledNodeClusterResponse - (*CountAllEnabledNodeClustersRequest)(nil), // 11: pb.CountAllEnabledNodeClustersRequest - (*CountAllEnabledNodeClustersResponse)(nil), // 12: pb.CountAllEnabledNodeClustersResponse - (*ListEnabledNodeClustersRequest)(nil), // 13: pb.ListEnabledNodeClustersRequest - (*ListEnabledNodeClustersResponse)(nil), // 14: pb.ListEnabledNodeClustersResponse - (*NodeCluster)(nil), // 15: pb.NodeCluster - (*RPCUpdateSuccess)(nil), // 16: pb.RPCUpdateSuccess + (*FindAPINodesWithNodeClusterRequest)(nil), // 11: pb.FindAPINodesWithNodeClusterRequest + (*FindAPINodesWithNodeClusterResponse)(nil), // 12: pb.FindAPINodesWithNodeClusterResponse + (*CountAllEnabledNodeClustersRequest)(nil), // 13: pb.CountAllEnabledNodeClustersRequest + (*CountAllEnabledNodeClustersResponse)(nil), // 14: pb.CountAllEnabledNodeClustersResponse + (*ListEnabledNodeClustersRequest)(nil), // 15: pb.ListEnabledNodeClustersRequest + (*ListEnabledNodeClustersResponse)(nil), // 16: pb.ListEnabledNodeClustersResponse + (*NodeCluster)(nil), // 17: pb.NodeCluster + (*APINode)(nil), // 18: pb.APINode + (*RPCUpdateSuccess)(nil), // 19: pb.RPCUpdateSuccess } var file_service_node_cluster_proto_depIdxs = []int32{ - 15, // 0: pb.FindAllEnabledNodeClustersResponse.clusters:type_name -> pb.NodeCluster - 15, // 1: pb.FindAllChangedNodeClustersResponse.clusters:type_name -> pb.NodeCluster - 15, // 2: pb.FindEnabledNodeClusterResponse.cluster:type_name -> pb.NodeCluster - 15, // 3: pb.ListEnabledNodeClustersResponse.clusters:type_name -> pb.NodeCluster - 4, // 4: pb.NodeClusterService.createNodeCluster:input_type -> pb.CreateNodeClusterRequest - 6, // 5: pb.NodeClusterService.updateNodeCluster:input_type -> pb.UpdateNodeClusterRequest - 7, // 6: pb.NodeClusterService.disableNodeCluster:input_type -> pb.DisableNodeClusterRequest - 9, // 7: pb.NodeClusterService.findEnabledNodeCluster:input_type -> pb.FindEnabledNodeClusterRequest - 0, // 8: pb.NodeClusterService.findAllEnabledNodeClusters:input_type -> pb.FindAllEnabledNodeClustersRequest - 2, // 9: pb.NodeClusterService.findAllChangedNodeClusters:input_type -> pb.FindAllChangedNodeClustersRequest - 11, // 10: pb.NodeClusterService.countAllEnabledNodeClusters:input_type -> pb.CountAllEnabledNodeClustersRequest - 13, // 11: pb.NodeClusterService.listEnabledNodeClusters:input_type -> pb.ListEnabledNodeClustersRequest - 5, // 12: pb.NodeClusterService.createNodeCluster:output_type -> pb.CreateNodeClusterResponse - 16, // 13: pb.NodeClusterService.updateNodeCluster:output_type -> pb.RPCUpdateSuccess - 8, // 14: pb.NodeClusterService.disableNodeCluster:output_type -> pb.DisableNodeClusterResponse - 10, // 15: pb.NodeClusterService.findEnabledNodeCluster:output_type -> pb.FindEnabledNodeClusterResponse - 1, // 16: pb.NodeClusterService.findAllEnabledNodeClusters:output_type -> pb.FindAllEnabledNodeClustersResponse - 3, // 17: pb.NodeClusterService.findAllChangedNodeClusters:output_type -> pb.FindAllChangedNodeClustersResponse - 12, // 18: pb.NodeClusterService.countAllEnabledNodeClusters:output_type -> pb.CountAllEnabledNodeClustersResponse - 14, // 19: pb.NodeClusterService.listEnabledNodeClusters:output_type -> pb.ListEnabledNodeClustersResponse - 12, // [12:20] is the sub-list for method output_type - 4, // [4:12] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 17, // 0: pb.FindAllEnabledNodeClustersResponse.clusters:type_name -> pb.NodeCluster + 17, // 1: pb.FindAllChangedNodeClustersResponse.clusters:type_name -> pb.NodeCluster + 17, // 2: pb.FindEnabledNodeClusterResponse.cluster:type_name -> pb.NodeCluster + 18, // 3: pb.FindAPINodesWithNodeClusterResponse.apiNodes:type_name -> pb.APINode + 17, // 4: pb.ListEnabledNodeClustersResponse.clusters:type_name -> pb.NodeCluster + 4, // 5: pb.NodeClusterService.createNodeCluster:input_type -> pb.CreateNodeClusterRequest + 6, // 6: pb.NodeClusterService.updateNodeCluster:input_type -> pb.UpdateNodeClusterRequest + 7, // 7: pb.NodeClusterService.disableNodeCluster:input_type -> pb.DisableNodeClusterRequest + 9, // 8: pb.NodeClusterService.findEnabledNodeCluster:input_type -> pb.FindEnabledNodeClusterRequest + 11, // 9: pb.NodeClusterService.findAPINodesWithNodeCluster:input_type -> pb.FindAPINodesWithNodeClusterRequest + 0, // 10: pb.NodeClusterService.findAllEnabledNodeClusters:input_type -> pb.FindAllEnabledNodeClustersRequest + 2, // 11: pb.NodeClusterService.findAllChangedNodeClusters:input_type -> pb.FindAllChangedNodeClustersRequest + 13, // 12: pb.NodeClusterService.countAllEnabledNodeClusters:input_type -> pb.CountAllEnabledNodeClustersRequest + 15, // 13: pb.NodeClusterService.listEnabledNodeClusters:input_type -> pb.ListEnabledNodeClustersRequest + 5, // 14: pb.NodeClusterService.createNodeCluster:output_type -> pb.CreateNodeClusterResponse + 19, // 15: pb.NodeClusterService.updateNodeCluster:output_type -> pb.RPCUpdateSuccess + 8, // 16: pb.NodeClusterService.disableNodeCluster:output_type -> pb.DisableNodeClusterResponse + 10, // 17: pb.NodeClusterService.findEnabledNodeCluster:output_type -> pb.FindEnabledNodeClusterResponse + 12, // 18: pb.NodeClusterService.findAPINodesWithNodeCluster:output_type -> pb.FindAPINodesWithNodeClusterResponse + 1, // 19: pb.NodeClusterService.findAllEnabledNodeClusters:output_type -> pb.FindAllEnabledNodeClustersResponse + 3, // 20: pb.NodeClusterService.findAllChangedNodeClusters:output_type -> pb.FindAllChangedNodeClustersResponse + 14, // 21: pb.NodeClusterService.countAllEnabledNodeClusters:output_type -> pb.CountAllEnabledNodeClustersResponse + 16, // 22: pb.NodeClusterService.listEnabledNodeClusters:output_type -> pb.ListEnabledNodeClustersResponse + 14, // [14:23] is the sub-list for method output_type + 5, // [5:14] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name } func init() { file_service_node_cluster_proto_init() } @@ -945,6 +1074,7 @@ func file_service_node_cluster_proto_init() { return } file_model_node_cluster_proto_init() + file_model_api_node_proto_init() file_rpc_messages_proto_init() if !protoimpl.UnsafeEnabled { file_service_node_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { @@ -1080,7 +1210,7 @@ func file_service_node_cluster_proto_init() { } } file_service_node_cluster_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CountAllEnabledNodeClustersRequest); i { + switch v := v.(*FindAPINodesWithNodeClusterRequest); i { case 0: return &v.state case 1: @@ -1092,7 +1222,7 @@ func file_service_node_cluster_proto_init() { } } file_service_node_cluster_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CountAllEnabledNodeClustersResponse); i { + switch v := v.(*FindAPINodesWithNodeClusterResponse); i { case 0: return &v.state case 1: @@ -1104,7 +1234,7 @@ func file_service_node_cluster_proto_init() { } } file_service_node_cluster_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListEnabledNodeClustersRequest); i { + switch v := v.(*CountAllEnabledNodeClustersRequest); i { case 0: return &v.state case 1: @@ -1116,6 +1246,30 @@ func file_service_node_cluster_proto_init() { } } file_service_node_cluster_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CountAllEnabledNodeClustersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_cluster_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEnabledNodeClustersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_cluster_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListEnabledNodeClustersResponse); i { case 0: return &v.state @@ -1134,7 +1288,7 @@ func file_service_node_cluster_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_node_cluster_proto_rawDesc, NumEnums: 0, - NumMessages: 15, + NumMessages: 17, NumExtensions: 0, NumServices: 1, }, @@ -1168,7 +1322,9 @@ type NodeClusterServiceClient interface { DisableNodeCluster(ctx context.Context, in *DisableNodeClusterRequest, opts ...grpc.CallOption) (*DisableNodeClusterResponse, error) // 查找单个集群信息 FindEnabledNodeCluster(ctx context.Context, in *FindEnabledNodeClusterRequest, opts ...grpc.CallOption) (*FindEnabledNodeClusterResponse, error) - // 获取所有集群的信息 + // 查找集群的API节点信息 + FindAPINodesWithNodeCluster(ctx context.Context, in *FindAPINodesWithNodeClusterRequest, opts ...grpc.CallOption) (*FindAPINodesWithNodeClusterResponse, error) + // 获取所有可用集群 FindAllEnabledNodeClusters(ctx context.Context, in *FindAllEnabledNodeClustersRequest, opts ...grpc.CallOption) (*FindAllEnabledNodeClustersResponse, error) // 获取变更的集群 FindAllChangedNodeClusters(ctx context.Context, in *FindAllChangedNodeClustersRequest, opts ...grpc.CallOption) (*FindAllChangedNodeClustersResponse, error) @@ -1222,6 +1378,15 @@ func (c *nodeClusterServiceClient) FindEnabledNodeCluster(ctx context.Context, i return out, nil } +func (c *nodeClusterServiceClient) FindAPINodesWithNodeCluster(ctx context.Context, in *FindAPINodesWithNodeClusterRequest, opts ...grpc.CallOption) (*FindAPINodesWithNodeClusterResponse, error) { + out := new(FindAPINodesWithNodeClusterResponse) + err := c.cc.Invoke(ctx, "/pb.NodeClusterService/findAPINodesWithNodeCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClusterServiceClient) FindAllEnabledNodeClusters(ctx context.Context, in *FindAllEnabledNodeClustersRequest, opts ...grpc.CallOption) (*FindAllEnabledNodeClustersResponse, error) { out := new(FindAllEnabledNodeClustersResponse) err := c.cc.Invoke(ctx, "/pb.NodeClusterService/findAllEnabledNodeClusters", in, out, opts...) @@ -1268,7 +1433,9 @@ type NodeClusterServiceServer interface { DisableNodeCluster(context.Context, *DisableNodeClusterRequest) (*DisableNodeClusterResponse, error) // 查找单个集群信息 FindEnabledNodeCluster(context.Context, *FindEnabledNodeClusterRequest) (*FindEnabledNodeClusterResponse, error) - // 获取所有集群的信息 + // 查找集群的API节点信息 + FindAPINodesWithNodeCluster(context.Context, *FindAPINodesWithNodeClusterRequest) (*FindAPINodesWithNodeClusterResponse, error) + // 获取所有可用集群 FindAllEnabledNodeClusters(context.Context, *FindAllEnabledNodeClustersRequest) (*FindAllEnabledNodeClustersResponse, error) // 获取变更的集群 FindAllChangedNodeClusters(context.Context, *FindAllChangedNodeClustersRequest) (*FindAllChangedNodeClustersResponse, error) @@ -1294,6 +1461,9 @@ func (*UnimplementedNodeClusterServiceServer) DisableNodeCluster(context.Context func (*UnimplementedNodeClusterServiceServer) FindEnabledNodeCluster(context.Context, *FindEnabledNodeClusterRequest) (*FindEnabledNodeClusterResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindEnabledNodeCluster not implemented") } +func (*UnimplementedNodeClusterServiceServer) FindAPINodesWithNodeCluster(context.Context, *FindAPINodesWithNodeClusterRequest) (*FindAPINodesWithNodeClusterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindAPINodesWithNodeCluster not implemented") +} func (*UnimplementedNodeClusterServiceServer) FindAllEnabledNodeClusters(context.Context, *FindAllEnabledNodeClustersRequest) (*FindAllEnabledNodeClustersResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledNodeClusters not implemented") } @@ -1383,6 +1553,24 @@ func _NodeClusterService_FindEnabledNodeCluster_Handler(srv interface{}, ctx con return interceptor(ctx, in, info, handler) } +func _NodeClusterService_FindAPINodesWithNodeCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FindAPINodesWithNodeClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeClusterServiceServer).FindAPINodesWithNodeCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeClusterService/FindAPINodesWithNodeCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeClusterServiceServer).FindAPINodesWithNodeCluster(ctx, req.(*FindAPINodesWithNodeClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _NodeClusterService_FindAllEnabledNodeClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FindAllEnabledNodeClustersRequest) if err := dec(in); err != nil { @@ -1475,6 +1663,10 @@ var _NodeClusterService_serviceDesc = grpc.ServiceDesc{ MethodName: "findEnabledNodeCluster", Handler: _NodeClusterService_FindEnabledNodeCluster_Handler, }, + { + MethodName: "findAPINodesWithNodeCluster", + Handler: _NodeClusterService_FindAPINodesWithNodeCluster_Handler, + }, { MethodName: "findAllEnabledNodeClusters", Handler: _NodeClusterService_FindAllEnabledNodeClusters_Handler, diff --git a/pkg/rpc/protos/model_node_cluster.proto b/pkg/rpc/protos/model_node_cluster.proto index 810aec8..762efcb 100644 --- a/pkg/rpc/protos/model_node_cluster.proto +++ b/pkg/rpc/protos/model_node_cluster.proto @@ -9,4 +9,6 @@ message NodeCluster { int64 createdAt = 3; int64 grantId = 4; string installDir = 5; + string uniqueId = 6; + string secret = 7; } \ No newline at end of file diff --git a/pkg/rpc/protos/service_node.proto b/pkg/rpc/protos/service_node.proto index 1da5d4d..82c31c4 100644 --- a/pkg/rpc/protos/service_node.proto +++ b/pkg/rpc/protos/service_node.proto @@ -10,6 +10,9 @@ service NodeService { // 创建节点 rpc createNode (CreateNodeRequest) returns (CreateNodeResponse); + // 注册集群节点 + rpc registerClusterNode (RegisterClusterNodeRequest) returns (RegisterClusterNodeResponse); + // 节点数量 rpc countAllEnabledNodes (CountAllEnabledNodesRequest) returns (CountAllEnabledNodesResponse); @@ -67,6 +70,17 @@ message CreateNodeResponse { int64 nodeId = 1; } +// 注册集群节点 +message RegisterClusterNodeRequest { + string name = 1; +} + +message RegisterClusterNodeResponse { + string uniqueId = 1; + string secret = 2; + repeated string endpoints = 3; +} + // 节点数量 message CountAllEnabledNodesRequest { diff --git a/pkg/rpc/protos/service_node_cluster.proto b/pkg/rpc/protos/service_node_cluster.proto index a8afeb8..5e6ea41 100644 --- a/pkg/rpc/protos/service_node_cluster.proto +++ b/pkg/rpc/protos/service_node_cluster.proto @@ -3,6 +3,7 @@ option go_package = "./pb"; package pb; import "model_node_cluster.proto"; +import "model_api_node.proto"; import "rpc_messages.proto"; service NodeClusterService { @@ -18,7 +19,10 @@ service NodeClusterService { // 查找单个集群信息 rpc findEnabledNodeCluster (FindEnabledNodeClusterRequest) returns (FindEnabledNodeClusterResponse); - // 获取所有集群的信息 + // 查找集群的API节点信息 + rpc findAPINodesWithNodeCluster (FindAPINodesWithNodeClusterRequest) returns (FindAPINodesWithNodeClusterResponse); + + // 获取所有可用集群 rpc findAllEnabledNodeClusters (FindAllEnabledNodeClustersRequest) returns (FindAllEnabledNodeClustersResponse); // 获取变更的集群 @@ -86,6 +90,16 @@ message FindEnabledNodeClusterResponse { NodeCluster cluster = 1; } +// 查找集群的API节点信息 +message FindAPINodesWithNodeClusterRequest { + int64 clusterId = 1; +} + +message FindAPINodesWithNodeClusterResponse { + bool useAllAPINodes = 1; + repeated APINode apiNodes = 2; +} + // 计算所有集群数量 message CountAllEnabledNodeClustersRequest {