// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0 // protoc v3.19.4 // source: service_node.proto package pb import ( context "context" proto "github.com/golang/protobuf/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This is a compile-time assertion that a sufficiently up-to-date version // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 // 创建节点 type CreateNodeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` NodeClusterId int64 `protobuf:"varint,2,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` NodeLogin *NodeLogin `protobuf:"bytes,3,opt,name=nodeLogin,proto3" json:"nodeLogin,omitempty"` NodeGroupId int64 `protobuf:"varint,4,opt,name=nodeGroupId,proto3" json:"nodeGroupId,omitempty"` // Deprecated: Do not use. DnsDomainId int64 `protobuf:"varint,5,opt,name=dnsDomainId,proto3" json:"dnsDomainId,omitempty"` DnsRoutes []string `protobuf:"bytes,6,rep,name=dnsRoutes,proto3" json:"dnsRoutes,omitempty"` NodeRegionId int64 `protobuf:"varint,7,opt,name=nodeRegionId,proto3" json:"nodeRegionId,omitempty"` } func (x *CreateNodeRequest) Reset() { *x = CreateNodeRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateNodeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateNodeRequest) ProtoMessage() {} func (x *CreateNodeRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CreateNodeRequest.ProtoReflect.Descriptor instead. func (*CreateNodeRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{0} } func (x *CreateNodeRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *CreateNodeRequest) GetNodeClusterId() int64 { if x != nil { return x.NodeClusterId } return 0 } func (x *CreateNodeRequest) GetNodeLogin() *NodeLogin { if x != nil { return x.NodeLogin } return nil } func (x *CreateNodeRequest) GetNodeGroupId() int64 { if x != nil { return x.NodeGroupId } return 0 } // Deprecated: Do not use. func (x *CreateNodeRequest) GetDnsDomainId() int64 { if x != nil { return x.DnsDomainId } return 0 } func (x *CreateNodeRequest) GetDnsRoutes() []string { if x != nil { return x.DnsRoutes } return nil } func (x *CreateNodeRequest) GetNodeRegionId() int64 { if x != nil { return x.NodeRegionId } return 0 } type CreateNodeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` } func (x *CreateNodeResponse) Reset() { *x = CreateNodeResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateNodeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateNodeResponse) ProtoMessage() {} func (x *CreateNodeResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CreateNodeResponse.ProtoReflect.Descriptor instead. func (*CreateNodeResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{1} } func (x *CreateNodeResponse) GetNodeId() int64 { if x != nil { return x.NodeId } 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 sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CountAllEnabledNodesRequest) Reset() { *x = CountAllEnabledNodesRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CountAllEnabledNodesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CountAllEnabledNodesRequest) ProtoMessage() {} func (x *CountAllEnabledNodesRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CountAllEnabledNodesRequest.ProtoReflect.Descriptor instead. func (*CountAllEnabledNodesRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{4} } // 列出单页节点 type ListEnabledNodesMatchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` NodeClusterId int64 `protobuf:"varint,3,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` InstallState int32 `protobuf:"varint,4,opt,name=installState,proto3" json:"installState,omitempty"` ActiveState int32 `protobuf:"varint,5,opt,name=activeState,proto3" json:"activeState,omitempty"` Keyword string `protobuf:"bytes,6,opt,name=keyword,proto3" json:"keyword,omitempty"` NodeGroupId int64 `protobuf:"varint,7,opt,name=nodeGroupId,proto3" json:"nodeGroupId,omitempty"` NodeRegionId int64 `protobuf:"varint,8,opt,name=nodeRegionId,proto3" json:"nodeRegionId,omitempty"` Level int32 `protobuf:"varint,9,opt,name=level,proto3" json:"level,omitempty"` CpuAsc bool `protobuf:"varint,20,opt,name=cpuAsc,proto3" json:"cpuAsc,omitempty"` CpuDesc bool `protobuf:"varint,21,opt,name=cpuDesc,proto3" json:"cpuDesc,omitempty"` MemoryAsc bool `protobuf:"varint,22,opt,name=memoryAsc,proto3" json:"memoryAsc,omitempty"` MemoryDesc bool `protobuf:"varint,23,opt,name=memoryDesc,proto3" json:"memoryDesc,omitempty"` TrafficInAsc bool `protobuf:"varint,24,opt,name=trafficInAsc,proto3" json:"trafficInAsc,omitempty"` TrafficInDesc bool `protobuf:"varint,25,opt,name=trafficInDesc,proto3" json:"trafficInDesc,omitempty"` TrafficOutAsc bool `protobuf:"varint,26,opt,name=trafficOutAsc,proto3" json:"trafficOutAsc,omitempty"` TrafficOutDesc bool `protobuf:"varint,27,opt,name=trafficOutDesc,proto3" json:"trafficOutDesc,omitempty"` LoadAsc bool `protobuf:"varint,28,opt,name=loadAsc,proto3" json:"loadAsc,omitempty"` LoadDesc bool `protobuf:"varint,29,opt,name=loadDesc,proto3" json:"loadDesc,omitempty"` } func (x *ListEnabledNodesMatchRequest) Reset() { *x = ListEnabledNodesMatchRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListEnabledNodesMatchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListEnabledNodesMatchRequest) ProtoMessage() {} func (x *ListEnabledNodesMatchRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListEnabledNodesMatchRequest.ProtoReflect.Descriptor instead. func (*ListEnabledNodesMatchRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{5} } func (x *ListEnabledNodesMatchRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *ListEnabledNodesMatchRequest) GetSize() int64 { if x != nil { return x.Size } return 0 } func (x *ListEnabledNodesMatchRequest) GetNodeClusterId() int64 { if x != nil { return x.NodeClusterId } return 0 } func (x *ListEnabledNodesMatchRequest) GetInstallState() int32 { if x != nil { return x.InstallState } return 0 } func (x *ListEnabledNodesMatchRequest) GetActiveState() int32 { if x != nil { return x.ActiveState } return 0 } func (x *ListEnabledNodesMatchRequest) GetKeyword() string { if x != nil { return x.Keyword } return "" } func (x *ListEnabledNodesMatchRequest) GetNodeGroupId() int64 { if x != nil { return x.NodeGroupId } return 0 } func (x *ListEnabledNodesMatchRequest) GetNodeRegionId() int64 { if x != nil { return x.NodeRegionId } return 0 } func (x *ListEnabledNodesMatchRequest) GetLevel() int32 { if x != nil { return x.Level } return 0 } func (x *ListEnabledNodesMatchRequest) GetCpuAsc() bool { if x != nil { return x.CpuAsc } return false } func (x *ListEnabledNodesMatchRequest) GetCpuDesc() bool { if x != nil { return x.CpuDesc } return false } func (x *ListEnabledNodesMatchRequest) GetMemoryAsc() bool { if x != nil { return x.MemoryAsc } return false } func (x *ListEnabledNodesMatchRequest) GetMemoryDesc() bool { if x != nil { return x.MemoryDesc } return false } func (x *ListEnabledNodesMatchRequest) GetTrafficInAsc() bool { if x != nil { return x.TrafficInAsc } return false } func (x *ListEnabledNodesMatchRequest) GetTrafficInDesc() bool { if x != nil { return x.TrafficInDesc } return false } func (x *ListEnabledNodesMatchRequest) GetTrafficOutAsc() bool { if x != nil { return x.TrafficOutAsc } return false } func (x *ListEnabledNodesMatchRequest) GetTrafficOutDesc() bool { if x != nil { return x.TrafficOutDesc } return false } func (x *ListEnabledNodesMatchRequest) GetLoadAsc() bool { if x != nil { return x.LoadAsc } return false } func (x *ListEnabledNodesMatchRequest) GetLoadDesc() bool { if x != nil { return x.LoadDesc } return false } type ListEnabledNodesMatchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` } func (x *ListEnabledNodesMatchResponse) Reset() { *x = ListEnabledNodesMatchResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListEnabledNodesMatchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListEnabledNodesMatchResponse) ProtoMessage() {} func (x *ListEnabledNodesMatchResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListEnabledNodesMatchResponse.ProtoReflect.Descriptor instead. func (*ListEnabledNodesMatchResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{6} } func (x *ListEnabledNodesMatchResponse) GetNodes() []*Node { if x != nil { return x.Nodes } return nil } // 根据集群查找所有节点 type FindAllEnabledNodesWithNodeClusterIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` } func (x *FindAllEnabledNodesWithNodeClusterIdRequest) Reset() { *x = FindAllEnabledNodesWithNodeClusterIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAllEnabledNodesWithNodeClusterIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAllEnabledNodesWithNodeClusterIdRequest) ProtoMessage() {} func (x *FindAllEnabledNodesWithNodeClusterIdRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindAllEnabledNodesWithNodeClusterIdRequest.ProtoReflect.Descriptor instead. func (*FindAllEnabledNodesWithNodeClusterIdRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{7} } func (x *FindAllEnabledNodesWithNodeClusterIdRequest) GetNodeClusterId() int64 { if x != nil { return x.NodeClusterId } return 0 } type FindAllEnabledNodesWithNodeClusterIdResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` } func (x *FindAllEnabledNodesWithNodeClusterIdResponse) Reset() { *x = FindAllEnabledNodesWithNodeClusterIdResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAllEnabledNodesWithNodeClusterIdResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAllEnabledNodesWithNodeClusterIdResponse) ProtoMessage() {} func (x *FindAllEnabledNodesWithNodeClusterIdResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindAllEnabledNodesWithNodeClusterIdResponse.ProtoReflect.Descriptor instead. func (*FindAllEnabledNodesWithNodeClusterIdResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{8} } func (x *FindAllEnabledNodesWithNodeClusterIdResponse) GetNodes() []*Node { if x != nil { return x.Nodes } return nil } // 删除节点 type DeleteNodeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` } func (x *DeleteNodeRequest) Reset() { *x = DeleteNodeRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteNodeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteNodeRequest) ProtoMessage() {} func (x *DeleteNodeRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeleteNodeRequest.ProtoReflect.Descriptor instead. func (*DeleteNodeRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{9} } func (x *DeleteNodeRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } // 从集群中删除节点 type DeleteNodeFromNodeClusterRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` NodeClusterId int64 `protobuf:"varint,2,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` } func (x *DeleteNodeFromNodeClusterRequest) Reset() { *x = DeleteNodeFromNodeClusterRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteNodeFromNodeClusterRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteNodeFromNodeClusterRequest) ProtoMessage() {} func (x *DeleteNodeFromNodeClusterRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeleteNodeFromNodeClusterRequest.ProtoReflect.Descriptor instead. func (*DeleteNodeFromNodeClusterRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{10} } func (x *DeleteNodeFromNodeClusterRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } func (x *DeleteNodeFromNodeClusterRequest) GetNodeClusterId() int64 { if x != nil { return x.NodeClusterId } return 0 } // 修改节点 type UpdateNodeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` NodeClusterId int64 `protobuf:"varint,3,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` SecondaryNodeClusterIds []int64 `protobuf:"varint,13,rep,packed,name=secondaryNodeClusterIds,proto3" json:"secondaryNodeClusterIds,omitempty"` IsOn bool `protobuf:"varint,6,opt,name=isOn,proto3" json:"isOn,omitempty"` NodeGroupId int64 `protobuf:"varint,7,opt,name=nodeGroupId,proto3" json:"nodeGroupId,omitempty"` NodeRegionId int64 `protobuf:"varint,10,opt,name=nodeRegionId,proto3" json:"nodeRegionId,omitempty"` Level int32 `protobuf:"varint,14,opt,name=level,proto3" json:"level,omitempty"` } func (x *UpdateNodeRequest) Reset() { *x = UpdateNodeRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateNodeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateNodeRequest) ProtoMessage() {} func (x *UpdateNodeRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_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 UpdateNodeRequest.ProtoReflect.Descriptor instead. func (*UpdateNodeRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{11} } func (x *UpdateNodeRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } func (x *UpdateNodeRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *UpdateNodeRequest) GetNodeClusterId() int64 { if x != nil { return x.NodeClusterId } return 0 } func (x *UpdateNodeRequest) GetSecondaryNodeClusterIds() []int64 { if x != nil { return x.SecondaryNodeClusterIds } return nil } func (x *UpdateNodeRequest) GetIsOn() bool { if x != nil { return x.IsOn } return false } func (x *UpdateNodeRequest) GetNodeGroupId() int64 { if x != nil { return x.NodeGroupId } return 0 } func (x *UpdateNodeRequest) GetNodeRegionId() int64 { if x != nil { return x.NodeRegionId } return 0 } func (x *UpdateNodeRequest) GetLevel() int32 { if x != nil { return x.Level } return 0 } // 获取单个节点信息 type FindEnabledNodeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` } func (x *FindEnabledNodeRequest) Reset() { *x = FindEnabledNodeRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindEnabledNodeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindEnabledNodeRequest) ProtoMessage() {} func (x *FindEnabledNodeRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_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 FindEnabledNodeRequest.ProtoReflect.Descriptor instead. func (*FindEnabledNodeRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{12} } func (x *FindEnabledNodeRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } type FindEnabledNodeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` } func (x *FindEnabledNodeResponse) Reset() { *x = FindEnabledNodeResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindEnabledNodeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindEnabledNodeResponse) ProtoMessage() {} func (x *FindEnabledNodeResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindEnabledNodeResponse.ProtoReflect.Descriptor instead. func (*FindEnabledNodeResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{13} } func (x *FindEnabledNodeResponse) GetNode() *Node { if x != nil { return x.Node } return nil } // 获取单个节点基本信息 type FindEnabledBasicNodeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` } func (x *FindEnabledBasicNodeRequest) Reset() { *x = FindEnabledBasicNodeRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindEnabledBasicNodeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindEnabledBasicNodeRequest) ProtoMessage() {} func (x *FindEnabledBasicNodeRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindEnabledBasicNodeRequest.ProtoReflect.Descriptor instead. func (*FindEnabledBasicNodeRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{14} } func (x *FindEnabledBasicNodeRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } type FindEnabledBasicNodeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Node *BasicNode `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` } func (x *FindEnabledBasicNodeResponse) Reset() { *x = FindEnabledBasicNodeResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindEnabledBasicNodeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindEnabledBasicNodeResponse) ProtoMessage() {} func (x *FindEnabledBasicNodeResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindEnabledBasicNodeResponse.ProtoReflect.Descriptor instead. func (*FindEnabledBasicNodeResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{15} } func (x *FindEnabledBasicNodeResponse) GetNode() *BasicNode { if x != nil { return x.Node } return nil } // 组合单个节点配置 type FindCurrentNodeConfigRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // 由于登录信息中已经包含了节点信息,所以这里不需要nodeId Version int64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` Compress bool `protobuf:"varint,2,opt,name=compress,proto3" json:"compress,omitempty"` // 是否压缩 NodeTaskVersion int64 `protobuf:"varint,3,opt,name=nodeTaskVersion,proto3" json:"nodeTaskVersion,omitempty"` // 通知任务版本 } func (x *FindCurrentNodeConfigRequest) Reset() { *x = FindCurrentNodeConfigRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindCurrentNodeConfigRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindCurrentNodeConfigRequest) ProtoMessage() {} func (x *FindCurrentNodeConfigRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindCurrentNodeConfigRequest.ProtoReflect.Descriptor instead. func (*FindCurrentNodeConfigRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{16} } func (x *FindCurrentNodeConfigRequest) GetVersion() int64 { if x != nil { return x.Version } return 0 } func (x *FindCurrentNodeConfigRequest) GetCompress() bool { if x != nil { return x.Compress } return false } func (x *FindCurrentNodeConfigRequest) GetNodeTaskVersion() int64 { if x != nil { return x.NodeTaskVersion } return 0 } type FindCurrentNodeConfigResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeJSON []byte `protobuf:"bytes,1,opt,name=nodeJSON,proto3" json:"nodeJSON,omitempty"` IsChanged bool `protobuf:"varint,2,opt,name=isChanged,proto3" json:"isChanged,omitempty"` IsCompressed bool `protobuf:"varint,3,opt,name=isCompressed,proto3" json:"isCompressed,omitempty"` DataSize int64 `protobuf:"varint,4,opt,name=dataSize,proto3" json:"dataSize,omitempty"` } func (x *FindCurrentNodeConfigResponse) Reset() { *x = FindCurrentNodeConfigResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindCurrentNodeConfigResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindCurrentNodeConfigResponse) ProtoMessage() {} func (x *FindCurrentNodeConfigResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindCurrentNodeConfigResponse.ProtoReflect.Descriptor instead. func (*FindCurrentNodeConfigResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{17} } func (x *FindCurrentNodeConfigResponse) GetNodeJSON() []byte { if x != nil { return x.NodeJSON } return nil } func (x *FindCurrentNodeConfigResponse) GetIsChanged() bool { if x != nil { return x.IsChanged } return false } func (x *FindCurrentNodeConfigResponse) GetIsCompressed() bool { if x != nil { return x.IsCompressed } return false } func (x *FindCurrentNodeConfigResponse) GetDataSize() int64 { if x != nil { return x.DataSize } return 0 } // 节点stream type NodeStreamMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` RequestId int64 `protobuf:"varint,2,opt,name=requestId,proto3" json:"requestId,omitempty"` TimeoutSeconds int32 `protobuf:"varint,3,opt,name=timeoutSeconds,proto3" json:"timeoutSeconds,omitempty"` Code string `protobuf:"bytes,4,opt,name=code,proto3" json:"code,omitempty"` DataJSON []byte `protobuf:"bytes,5,opt,name=dataJSON,proto3" json:"dataJSON,omitempty"` IsOk bool `protobuf:"varint,6,opt,name=isOk,proto3" json:"isOk,omitempty"` Message string `protobuf:"bytes,7,opt,name=message,proto3" json:"message,omitempty"` } func (x *NodeStreamMessage) Reset() { *x = NodeStreamMessage{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NodeStreamMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*NodeStreamMessage) ProtoMessage() {} func (x *NodeStreamMessage) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NodeStreamMessage.ProtoReflect.Descriptor instead. func (*NodeStreamMessage) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{18} } func (x *NodeStreamMessage) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } func (x *NodeStreamMessage) GetRequestId() int64 { if x != nil { return x.RequestId } return 0 } func (x *NodeStreamMessage) GetTimeoutSeconds() int32 { if x != nil { return x.TimeoutSeconds } return 0 } func (x *NodeStreamMessage) GetCode() string { if x != nil { return x.Code } return "" } func (x *NodeStreamMessage) GetDataJSON() []byte { if x != nil { return x.DataJSON } return nil } func (x *NodeStreamMessage) GetIsOk() bool { if x != nil { return x.IsOk } return false } func (x *NodeStreamMessage) GetMessage() string { if x != nil { return x.Message } return "" } // 更新节点状态 type UpdateNodeStatusRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` StatusJSON []byte `protobuf:"bytes,2,opt,name=statusJSON,proto3" json:"statusJSON,omitempty"` } func (x *UpdateNodeStatusRequest) Reset() { *x = UpdateNodeStatusRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateNodeStatusRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateNodeStatusRequest) ProtoMessage() {} func (x *UpdateNodeStatusRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateNodeStatusRequest.ProtoReflect.Descriptor instead. func (*UpdateNodeStatusRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{19} } func (x *UpdateNodeStatusRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } func (x *UpdateNodeStatusRequest) GetStatusJSON() []byte { if x != nil { return x.StatusJSON } return nil } // 计算匹配的节点数量 type CountAllEnabledNodesMatchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` InstallState int32 `protobuf:"varint,2,opt,name=installState,proto3" json:"installState,omitempty"` ActiveState int32 `protobuf:"varint,3,opt,name=activeState,proto3" json:"activeState,omitempty"` Keyword string `protobuf:"bytes,4,opt,name=keyword,proto3" json:"keyword,omitempty"` NodeGroupId int64 `protobuf:"varint,5,opt,name=nodeGroupId,proto3" json:"nodeGroupId,omitempty"` NodeRegionId int64 `protobuf:"varint,6,opt,name=nodeRegionId,proto3" json:"nodeRegionId,omitempty"` Level int32 `protobuf:"varint,7,opt,name=level,proto3" json:"level,omitempty"` } func (x *CountAllEnabledNodesMatchRequest) Reset() { *x = CountAllEnabledNodesMatchRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CountAllEnabledNodesMatchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CountAllEnabledNodesMatchRequest) ProtoMessage() {} func (x *CountAllEnabledNodesMatchRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CountAllEnabledNodesMatchRequest.ProtoReflect.Descriptor instead. func (*CountAllEnabledNodesMatchRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{20} } func (x *CountAllEnabledNodesMatchRequest) GetNodeClusterId() int64 { if x != nil { return x.NodeClusterId } return 0 } func (x *CountAllEnabledNodesMatchRequest) GetInstallState() int32 { if x != nil { return x.InstallState } return 0 } func (x *CountAllEnabledNodesMatchRequest) GetActiveState() int32 { if x != nil { return x.ActiveState } return 0 } func (x *CountAllEnabledNodesMatchRequest) GetKeyword() string { if x != nil { return x.Keyword } return "" } func (x *CountAllEnabledNodesMatchRequest) GetNodeGroupId() int64 { if x != nil { return x.NodeGroupId } return 0 } func (x *CountAllEnabledNodesMatchRequest) GetNodeRegionId() int64 { if x != nil { return x.NodeRegionId } return 0 } func (x *CountAllEnabledNodesMatchRequest) GetLevel() int32 { if x != nil { return x.Level } return 0 } // 修改节点安装状态 type UpdateNodeIsInstalledRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` IsInstalled bool `protobuf:"varint,2,opt,name=isInstalled,proto3" json:"isInstalled,omitempty"` } func (x *UpdateNodeIsInstalledRequest) Reset() { *x = UpdateNodeIsInstalledRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateNodeIsInstalledRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateNodeIsInstalledRequest) ProtoMessage() {} func (x *UpdateNodeIsInstalledRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateNodeIsInstalledRequest.ProtoReflect.Descriptor instead. func (*UpdateNodeIsInstalledRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{21} } func (x *UpdateNodeIsInstalledRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } func (x *UpdateNodeIsInstalledRequest) GetIsInstalled() bool { if x != nil { return x.IsInstalled } return false } // 安装节点 type InstallNodeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` } func (x *InstallNodeRequest) Reset() { *x = InstallNodeRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InstallNodeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*InstallNodeRequest) ProtoMessage() {} func (x *InstallNodeRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InstallNodeRequest.ProtoReflect.Descriptor instead. func (*InstallNodeRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{22} } func (x *InstallNodeRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } type InstallNodeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *InstallNodeResponse) Reset() { *x = InstallNodeResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InstallNodeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*InstallNodeResponse) ProtoMessage() {} func (x *InstallNodeResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InstallNodeResponse.ProtoReflect.Descriptor instead. func (*InstallNodeResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{23} } // 升级节点 type UpgradeNodeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` } func (x *UpgradeNodeRequest) Reset() { *x = UpgradeNodeRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpgradeNodeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpgradeNodeRequest) ProtoMessage() {} func (x *UpgradeNodeRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpgradeNodeRequest.ProtoReflect.Descriptor instead. func (*UpgradeNodeRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{24} } func (x *UpgradeNodeRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } type UpgradeNodeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *UpgradeNodeResponse) Reset() { *x = UpgradeNodeResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpgradeNodeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpgradeNodeResponse) ProtoMessage() {} func (x *UpgradeNodeResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpgradeNodeResponse.ProtoReflect.Descriptor instead. func (*UpgradeNodeResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{25} } // 启动节点 type StartNodeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` } func (x *StartNodeRequest) Reset() { *x = StartNodeRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StartNodeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StartNodeRequest) ProtoMessage() {} func (x *StartNodeRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StartNodeRequest.ProtoReflect.Descriptor instead. func (*StartNodeRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{26} } func (x *StartNodeRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } type StartNodeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IsOk bool `protobuf:"varint,1,opt,name=isOk,proto3" json:"isOk,omitempty"` Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` } func (x *StartNodeResponse) Reset() { *x = StartNodeResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StartNodeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StartNodeResponse) ProtoMessage() {} func (x *StartNodeResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StartNodeResponse.ProtoReflect.Descriptor instead. func (*StartNodeResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{27} } func (x *StartNodeResponse) GetIsOk() bool { if x != nil { return x.IsOk } return false } func (x *StartNodeResponse) GetError() string { if x != nil { return x.Error } return "" } // 停止节点 type StopNodeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` } func (x *StopNodeRequest) Reset() { *x = StopNodeRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StopNodeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StopNodeRequest) ProtoMessage() {} func (x *StopNodeRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StopNodeRequest.ProtoReflect.Descriptor instead. func (*StopNodeRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{28} } func (x *StopNodeRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } type StopNodeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IsOk bool `protobuf:"varint,1,opt,name=isOk,proto3" json:"isOk,omitempty"` Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` } func (x *StopNodeResponse) Reset() { *x = StopNodeResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StopNodeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StopNodeResponse) ProtoMessage() {} func (x *StopNodeResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StopNodeResponse.ProtoReflect.Descriptor instead. func (*StopNodeResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{29} } func (x *StopNodeResponse) GetIsOk() bool { if x != nil { return x.IsOk } return false } func (x *StopNodeResponse) GetError() string { if x != nil { return x.Error } return "" } // 更改节点连接的API节点信息 type UpdateNodeConnectedAPINodesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ApiNodeIds []int64 `protobuf:"varint,1,rep,packed,name=apiNodeIds,proto3" json:"apiNodeIds,omitempty"` } func (x *UpdateNodeConnectedAPINodesRequest) Reset() { *x = UpdateNodeConnectedAPINodesRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateNodeConnectedAPINodesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateNodeConnectedAPINodesRequest) ProtoMessage() {} func (x *UpdateNodeConnectedAPINodesRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateNodeConnectedAPINodesRequest.ProtoReflect.Descriptor instead. func (*UpdateNodeConnectedAPINodesRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{30} } func (x *UpdateNodeConnectedAPINodesRequest) GetApiNodeIds() []int64 { if x != nil { return x.ApiNodeIds } return nil } // 计算使用某个认证的节点数量 type CountAllEnabledNodesWithNodeGrantIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeGrantId int64 `protobuf:"varint,1,opt,name=nodeGrantId,proto3" json:"nodeGrantId,omitempty"` } func (x *CountAllEnabledNodesWithNodeGrantIdRequest) Reset() { *x = CountAllEnabledNodesWithNodeGrantIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CountAllEnabledNodesWithNodeGrantIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CountAllEnabledNodesWithNodeGrantIdRequest) ProtoMessage() {} func (x *CountAllEnabledNodesWithNodeGrantIdRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CountAllEnabledNodesWithNodeGrantIdRequest.ProtoReflect.Descriptor instead. func (*CountAllEnabledNodesWithNodeGrantIdRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{31} } func (x *CountAllEnabledNodesWithNodeGrantIdRequest) GetNodeGrantId() int64 { if x != nil { return x.NodeGrantId } return 0 } // 查找使用某个认证的所有节点 type FindAllEnabledNodesWithNodeGrantIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeGrantId int64 `protobuf:"varint,1,opt,name=nodeGrantId,proto3" json:"nodeGrantId,omitempty"` } func (x *FindAllEnabledNodesWithNodeGrantIdRequest) Reset() { *x = FindAllEnabledNodesWithNodeGrantIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAllEnabledNodesWithNodeGrantIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAllEnabledNodesWithNodeGrantIdRequest) ProtoMessage() {} func (x *FindAllEnabledNodesWithNodeGrantIdRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindAllEnabledNodesWithNodeGrantIdRequest.ProtoReflect.Descriptor instead. func (*FindAllEnabledNodesWithNodeGrantIdRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{32} } func (x *FindAllEnabledNodesWithNodeGrantIdRequest) GetNodeGrantId() int64 { if x != nil { return x.NodeGrantId } return 0 } type FindAllEnabledNodesWithNodeGrantIdResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` } func (x *FindAllEnabledNodesWithNodeGrantIdResponse) Reset() { *x = FindAllEnabledNodesWithNodeGrantIdResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAllEnabledNodesWithNodeGrantIdResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAllEnabledNodesWithNodeGrantIdResponse) ProtoMessage() {} func (x *FindAllEnabledNodesWithNodeGrantIdResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindAllEnabledNodesWithNodeGrantIdResponse.ProtoReflect.Descriptor instead. func (*FindAllEnabledNodesWithNodeGrantIdResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{33} } func (x *FindAllEnabledNodesWithNodeGrantIdResponse) GetNodes() []*Node { if x != nil { return x.Nodes } return nil } // 列出所有未安装的节点 type FindAllNotInstalledNodesWithNodeClusterIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` } func (x *FindAllNotInstalledNodesWithNodeClusterIdRequest) Reset() { *x = FindAllNotInstalledNodesWithNodeClusterIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAllNotInstalledNodesWithNodeClusterIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAllNotInstalledNodesWithNodeClusterIdRequest) ProtoMessage() {} func (x *FindAllNotInstalledNodesWithNodeClusterIdRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindAllNotInstalledNodesWithNodeClusterIdRequest.ProtoReflect.Descriptor instead. func (*FindAllNotInstalledNodesWithNodeClusterIdRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{34} } func (x *FindAllNotInstalledNodesWithNodeClusterIdRequest) GetNodeClusterId() int64 { if x != nil { return x.NodeClusterId } return 0 } type FindAllNotInstalledNodesWithNodeClusterIdResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` } func (x *FindAllNotInstalledNodesWithNodeClusterIdResponse) Reset() { *x = FindAllNotInstalledNodesWithNodeClusterIdResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAllNotInstalledNodesWithNodeClusterIdResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAllNotInstalledNodesWithNodeClusterIdResponse) ProtoMessage() {} func (x *FindAllNotInstalledNodesWithNodeClusterIdResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindAllNotInstalledNodesWithNodeClusterIdResponse.ProtoReflect.Descriptor instead. func (*FindAllNotInstalledNodesWithNodeClusterIdResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{35} } func (x *FindAllNotInstalledNodesWithNodeClusterIdResponse) GetNodes() []*Node { if x != nil { return x.Nodes } return nil } // 计算未安装的节点数量 type CountAllNotInstalledNodesWithNodeClusterIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` } func (x *CountAllNotInstalledNodesWithNodeClusterIdRequest) Reset() { *x = CountAllNotInstalledNodesWithNodeClusterIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CountAllNotInstalledNodesWithNodeClusterIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CountAllNotInstalledNodesWithNodeClusterIdRequest) ProtoMessage() {} func (x *CountAllNotInstalledNodesWithNodeClusterIdRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CountAllNotInstalledNodesWithNodeClusterIdRequest.ProtoReflect.Descriptor instead. func (*CountAllNotInstalledNodesWithNodeClusterIdRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{36} } func (x *CountAllNotInstalledNodesWithNodeClusterIdRequest) GetNodeClusterId() int64 { if x != nil { return x.NodeClusterId } return 0 } // 计算需要升级的节点数量 type CountAllUpgradeNodesWithNodeClusterIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` } func (x *CountAllUpgradeNodesWithNodeClusterIdRequest) Reset() { *x = CountAllUpgradeNodesWithNodeClusterIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CountAllUpgradeNodesWithNodeClusterIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CountAllUpgradeNodesWithNodeClusterIdRequest) ProtoMessage() {} func (x *CountAllUpgradeNodesWithNodeClusterIdRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CountAllUpgradeNodesWithNodeClusterIdRequest.ProtoReflect.Descriptor instead. func (*CountAllUpgradeNodesWithNodeClusterIdRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{37} } func (x *CountAllUpgradeNodesWithNodeClusterIdRequest) GetNodeClusterId() int64 { if x != nil { return x.NodeClusterId } return 0 } // 列出所有需要升级的节点 type FindAllUpgradeNodesWithNodeClusterIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` } func (x *FindAllUpgradeNodesWithNodeClusterIdRequest) Reset() { *x = FindAllUpgradeNodesWithNodeClusterIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAllUpgradeNodesWithNodeClusterIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAllUpgradeNodesWithNodeClusterIdRequest) ProtoMessage() {} func (x *FindAllUpgradeNodesWithNodeClusterIdRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[38] 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 FindAllUpgradeNodesWithNodeClusterIdRequest.ProtoReflect.Descriptor instead. func (*FindAllUpgradeNodesWithNodeClusterIdRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{38} } func (x *FindAllUpgradeNodesWithNodeClusterIdRequest) GetNodeClusterId() int64 { if x != nil { return x.NodeClusterId } return 0 } type FindAllUpgradeNodesWithNodeClusterIdResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Nodes []*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` } func (x *FindAllUpgradeNodesWithNodeClusterIdResponse) Reset() { *x = FindAllUpgradeNodesWithNodeClusterIdResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAllUpgradeNodesWithNodeClusterIdResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAllUpgradeNodesWithNodeClusterIdResponse) ProtoMessage() {} func (x *FindAllUpgradeNodesWithNodeClusterIdResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[39] 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 FindAllUpgradeNodesWithNodeClusterIdResponse.ProtoReflect.Descriptor instead. func (*FindAllUpgradeNodesWithNodeClusterIdResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{39} } func (x *FindAllUpgradeNodesWithNodeClusterIdResponse) GetNodes() []*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade { if x != nil { return x.Nodes } return nil } // 读取节点安装状态 type FindNodeInstallStatusRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` } func (x *FindNodeInstallStatusRequest) Reset() { *x = FindNodeInstallStatusRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindNodeInstallStatusRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindNodeInstallStatusRequest) ProtoMessage() {} func (x *FindNodeInstallStatusRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[40] 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 FindNodeInstallStatusRequest.ProtoReflect.Descriptor instead. func (*FindNodeInstallStatusRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{40} } func (x *FindNodeInstallStatusRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } type FindNodeInstallStatusResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields InstallStatus *NodeInstallStatus `protobuf:"bytes,1,opt,name=installStatus,proto3" json:"installStatus,omitempty"` } func (x *FindNodeInstallStatusResponse) Reset() { *x = FindNodeInstallStatusResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindNodeInstallStatusResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindNodeInstallStatusResponse) ProtoMessage() {} func (x *FindNodeInstallStatusResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[41] 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 FindNodeInstallStatusResponse.ProtoReflect.Descriptor instead. func (*FindNodeInstallStatusResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{41} } func (x *FindNodeInstallStatusResponse) GetInstallStatus() *NodeInstallStatus { if x != nil { return x.InstallStatus } return nil } // 修改节点登录信息 type UpdateNodeLoginRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` NodeLogin *NodeLogin `protobuf:"bytes,2,opt,name=nodeLogin,proto3" json:"nodeLogin,omitempty"` } func (x *UpdateNodeLoginRequest) Reset() { *x = UpdateNodeLoginRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateNodeLoginRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateNodeLoginRequest) ProtoMessage() {} func (x *UpdateNodeLoginRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[42] 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 UpdateNodeLoginRequest.ProtoReflect.Descriptor instead. func (*UpdateNodeLoginRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{42} } func (x *UpdateNodeLoginRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } func (x *UpdateNodeLoginRequest) GetNodeLogin() *NodeLogin { if x != nil { return x.NodeLogin } return nil } // 计算某个节点分组内的节点数量 type CountAllEnabledNodesWithNodeGroupIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeGroupId int64 `protobuf:"varint,1,opt,name=nodeGroupId,proto3" json:"nodeGroupId,omitempty"` } func (x *CountAllEnabledNodesWithNodeGroupIdRequest) Reset() { *x = CountAllEnabledNodesWithNodeGroupIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CountAllEnabledNodesWithNodeGroupIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CountAllEnabledNodesWithNodeGroupIdRequest) ProtoMessage() {} func (x *CountAllEnabledNodesWithNodeGroupIdRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[43] 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 CountAllEnabledNodesWithNodeGroupIdRequest.ProtoReflect.Descriptor instead. func (*CountAllEnabledNodesWithNodeGroupIdRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{43} } func (x *CountAllEnabledNodesWithNodeGroupIdRequest) GetNodeGroupId() int64 { if x != nil { return x.NodeGroupId } return 0 } // 取得某个集群下的所有节点 type FindAllEnabledNodesDNSWithNodeClusterIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` } func (x *FindAllEnabledNodesDNSWithNodeClusterIdRequest) Reset() { *x = FindAllEnabledNodesDNSWithNodeClusterIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAllEnabledNodesDNSWithNodeClusterIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAllEnabledNodesDNSWithNodeClusterIdRequest) ProtoMessage() {} func (x *FindAllEnabledNodesDNSWithNodeClusterIdRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[44] 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 FindAllEnabledNodesDNSWithNodeClusterIdRequest.ProtoReflect.Descriptor instead. func (*FindAllEnabledNodesDNSWithNodeClusterIdRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{44} } func (x *FindAllEnabledNodesDNSWithNodeClusterIdRequest) GetNodeClusterId() int64 { if x != nil { return x.NodeClusterId } return 0 } type FindAllEnabledNodesDNSWithNodeClusterIdResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Nodes []*NodeDNSInfo `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` } func (x *FindAllEnabledNodesDNSWithNodeClusterIdResponse) Reset() { *x = FindAllEnabledNodesDNSWithNodeClusterIdResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAllEnabledNodesDNSWithNodeClusterIdResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAllEnabledNodesDNSWithNodeClusterIdResponse) ProtoMessage() {} func (x *FindAllEnabledNodesDNSWithNodeClusterIdResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[45] 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 FindAllEnabledNodesDNSWithNodeClusterIdResponse.ProtoReflect.Descriptor instead. func (*FindAllEnabledNodesDNSWithNodeClusterIdResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{45} } func (x *FindAllEnabledNodesDNSWithNodeClusterIdResponse) GetNodes() []*NodeDNSInfo { if x != nil { return x.Nodes } return nil } type NodeDNSInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` IpAddr string `protobuf:"bytes,3,opt,name=ipAddr,proto3" json:"ipAddr,omitempty"` Routes []*DNSRoute `protobuf:"bytes,4,rep,name=routes,proto3" json:"routes,omitempty"` NodeClusterId int64 `protobuf:"varint,5,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` DnsDomainId int64 `protobuf:"varint,6,opt,name=dnsDomainId,proto3" json:"dnsDomainId,omitempty"` DnsDomainName string `protobuf:"bytes,7,opt,name=dnsDomainName,proto3" json:"dnsDomainName,omitempty"` NodeClusterDNSName string `protobuf:"bytes,8,opt,name=nodeClusterDNSName,proto3" json:"nodeClusterDNSName,omitempty"` } func (x *NodeDNSInfo) Reset() { *x = NodeDNSInfo{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NodeDNSInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*NodeDNSInfo) ProtoMessage() {} func (x *NodeDNSInfo) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[46] 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 NodeDNSInfo.ProtoReflect.Descriptor instead. func (*NodeDNSInfo) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{46} } func (x *NodeDNSInfo) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *NodeDNSInfo) GetName() string { if x != nil { return x.Name } return "" } func (x *NodeDNSInfo) GetIpAddr() string { if x != nil { return x.IpAddr } return "" } func (x *NodeDNSInfo) GetRoutes() []*DNSRoute { if x != nil { return x.Routes } return nil } func (x *NodeDNSInfo) GetNodeClusterId() int64 { if x != nil { return x.NodeClusterId } return 0 } func (x *NodeDNSInfo) GetDnsDomainId() int64 { if x != nil { return x.DnsDomainId } return 0 } func (x *NodeDNSInfo) GetDnsDomainName() string { if x != nil { return x.DnsDomainName } return "" } func (x *NodeDNSInfo) GetNodeClusterDNSName() string { if x != nil { return x.NodeClusterDNSName } return "" } // 查找单个节点的域名解析信息 type FindEnabledNodeDNSRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` NodeClusterId int64 `protobuf:"varint,2,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` } func (x *FindEnabledNodeDNSRequest) Reset() { *x = FindEnabledNodeDNSRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindEnabledNodeDNSRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindEnabledNodeDNSRequest) ProtoMessage() {} func (x *FindEnabledNodeDNSRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[47] 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 FindEnabledNodeDNSRequest.ProtoReflect.Descriptor instead. func (*FindEnabledNodeDNSRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{47} } func (x *FindEnabledNodeDNSRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } func (x *FindEnabledNodeDNSRequest) GetNodeClusterId() int64 { if x != nil { return x.NodeClusterId } return 0 } type FindEnabledNodeDNSResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Node *NodeDNSInfo `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` } func (x *FindEnabledNodeDNSResponse) Reset() { *x = FindEnabledNodeDNSResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindEnabledNodeDNSResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindEnabledNodeDNSResponse) ProtoMessage() {} func (x *FindEnabledNodeDNSResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[48] 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 FindEnabledNodeDNSResponse.ProtoReflect.Descriptor instead. func (*FindEnabledNodeDNSResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{48} } func (x *FindEnabledNodeDNSResponse) GetNode() *NodeDNSInfo { if x != nil { return x.Node } return nil } // 修改节点的DNS信息 type UpdateNodeDNSRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` IpAddr string `protobuf:"bytes,2,opt,name=ipAddr,proto3" json:"ipAddr,omitempty"` DnsDomainId int64 `protobuf:"varint,3,opt,name=dnsDomainId,proto3" json:"dnsDomainId,omitempty"` Routes []string `protobuf:"bytes,4,rep,name=routes,proto3" json:"routes,omitempty"` } func (x *UpdateNodeDNSRequest) Reset() { *x = UpdateNodeDNSRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateNodeDNSRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateNodeDNSRequest) ProtoMessage() {} func (x *UpdateNodeDNSRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[49] 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 UpdateNodeDNSRequest.ProtoReflect.Descriptor instead. func (*UpdateNodeDNSRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{49} } func (x *UpdateNodeDNSRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } func (x *UpdateNodeDNSRequest) GetIpAddr() string { if x != nil { return x.IpAddr } return "" } func (x *UpdateNodeDNSRequest) GetDnsDomainId() int64 { if x != nil { return x.DnsDomainId } return 0 } func (x *UpdateNodeDNSRequest) GetRoutes() []string { if x != nil { return x.Routes } return nil } // 计算某个区域下的节点数量 type CountAllEnabledNodesWithNodeRegionIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeRegionId int64 `protobuf:"varint,1,opt,name=nodeRegionId,proto3" json:"nodeRegionId,omitempty"` } func (x *CountAllEnabledNodesWithNodeRegionIdRequest) Reset() { *x = CountAllEnabledNodesWithNodeRegionIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CountAllEnabledNodesWithNodeRegionIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CountAllEnabledNodesWithNodeRegionIdRequest) ProtoMessage() {} func (x *CountAllEnabledNodesWithNodeRegionIdRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[50] 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 CountAllEnabledNodesWithNodeRegionIdRequest.ProtoReflect.Descriptor instead. func (*CountAllEnabledNodesWithNodeRegionIdRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{50} } func (x *CountAllEnabledNodesWithNodeRegionIdRequest) GetNodeRegionId() int64 { if x != nil { return x.NodeRegionId } return 0 } // 根据一组ID获取节点信息 type FindEnabledNodesWithIdsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeIds []int64 `protobuf:"varint,1,rep,packed,name=nodeIds,proto3" json:"nodeIds,omitempty"` } func (x *FindEnabledNodesWithIdsRequest) Reset() { *x = FindEnabledNodesWithIdsRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindEnabledNodesWithIdsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindEnabledNodesWithIdsRequest) ProtoMessage() {} func (x *FindEnabledNodesWithIdsRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[51] 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 FindEnabledNodesWithIdsRequest.ProtoReflect.Descriptor instead. func (*FindEnabledNodesWithIdsRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{51} } func (x *FindEnabledNodesWithIdsRequest) GetNodeIds() []int64 { if x != nil { return x.NodeIds } return nil } type FindEnabledNodesWithIdsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` } func (x *FindEnabledNodesWithIdsResponse) Reset() { *x = FindEnabledNodesWithIdsResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindEnabledNodesWithIdsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindEnabledNodesWithIdsResponse) ProtoMessage() {} func (x *FindEnabledNodesWithIdsResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[52] 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 FindEnabledNodesWithIdsResponse.ProtoReflect.Descriptor instead. func (*FindEnabledNodesWithIdsResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{52} } func (x *FindEnabledNodesWithIdsResponse) GetNodes() []*Node { if x != nil { return x.Nodes } return nil } // 检查新版本 type CheckNodeLatestVersionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Os string `protobuf:"bytes,1,opt,name=os,proto3" json:"os,omitempty"` Arch string `protobuf:"bytes,2,opt,name=arch,proto3" json:"arch,omitempty"` CurrentVersion string `protobuf:"bytes,3,opt,name=currentVersion,proto3" json:"currentVersion,omitempty"` } func (x *CheckNodeLatestVersionRequest) Reset() { *x = CheckNodeLatestVersionRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckNodeLatestVersionRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckNodeLatestVersionRequest) ProtoMessage() {} func (x *CheckNodeLatestVersionRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[53] 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 CheckNodeLatestVersionRequest.ProtoReflect.Descriptor instead. func (*CheckNodeLatestVersionRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{53} } func (x *CheckNodeLatestVersionRequest) GetOs() string { if x != nil { return x.Os } return "" } func (x *CheckNodeLatestVersionRequest) GetArch() string { if x != nil { return x.Arch } return "" } func (x *CheckNodeLatestVersionRequest) GetCurrentVersion() string { if x != nil { return x.CurrentVersion } return "" } type CheckNodeLatestVersionResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields HasNewVersion bool `protobuf:"varint,1,opt,name=hasNewVersion,proto3" json:"hasNewVersion,omitempty"` NewVersion string `protobuf:"bytes,2,opt,name=newVersion,proto3" json:"newVersion,omitempty"` } func (x *CheckNodeLatestVersionResponse) Reset() { *x = CheckNodeLatestVersionResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckNodeLatestVersionResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckNodeLatestVersionResponse) ProtoMessage() {} func (x *CheckNodeLatestVersionResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[54] 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 CheckNodeLatestVersionResponse.ProtoReflect.Descriptor instead. func (*CheckNodeLatestVersionResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{54} } func (x *CheckNodeLatestVersionResponse) GetHasNewVersion() bool { if x != nil { return x.HasNewVersion } return false } func (x *CheckNodeLatestVersionResponse) GetNewVersion() string { if x != nil { return x.NewVersion } return "" } // 设置节点上线状态 type UpdateNodeUpRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` IsUp bool `protobuf:"varint,2,opt,name=isUp,proto3" json:"isUp,omitempty"` } func (x *UpdateNodeUpRequest) Reset() { *x = UpdateNodeUpRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateNodeUpRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateNodeUpRequest) ProtoMessage() {} func (x *UpdateNodeUpRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[55] 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 UpdateNodeUpRequest.ProtoReflect.Descriptor instead. func (*UpdateNodeUpRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{55} } func (x *UpdateNodeUpRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } func (x *UpdateNodeUpRequest) GetIsUp() bool { if x != nil { return x.IsUp } return false } // 下载最新边缘节点安装文件 type DownloadNodeInstallationFileRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Os string `protobuf:"bytes,1,opt,name=os,proto3" json:"os,omitempty"` Arch string `protobuf:"bytes,2,opt,name=arch,proto3" json:"arch,omitempty"` ChunkOffset int64 `protobuf:"varint,3,opt,name=chunkOffset,proto3" json:"chunkOffset,omitempty"` } func (x *DownloadNodeInstallationFileRequest) Reset() { *x = DownloadNodeInstallationFileRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DownloadNodeInstallationFileRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DownloadNodeInstallationFileRequest) ProtoMessage() {} func (x *DownloadNodeInstallationFileRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[56] 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 DownloadNodeInstallationFileRequest.ProtoReflect.Descriptor instead. func (*DownloadNodeInstallationFileRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{56} } func (x *DownloadNodeInstallationFileRequest) GetOs() string { if x != nil { return x.Os } return "" } func (x *DownloadNodeInstallationFileRequest) GetArch() string { if x != nil { return x.Arch } return "" } func (x *DownloadNodeInstallationFileRequest) GetChunkOffset() int64 { if x != nil { return x.ChunkOffset } return 0 } type DownloadNodeInstallationFileResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ChunkData []byte `protobuf:"bytes,1,opt,name=chunkData,proto3" json:"chunkData,omitempty"` Sum string `protobuf:"bytes,2,opt,name=sum,proto3" json:"sum,omitempty"` // 文件的md5sum Offset int64 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"` Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` Filename string `protobuf:"bytes,5,opt,name=filename,proto3" json:"filename,omitempty"` } func (x *DownloadNodeInstallationFileResponse) Reset() { *x = DownloadNodeInstallationFileResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DownloadNodeInstallationFileResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DownloadNodeInstallationFileResponse) ProtoMessage() {} func (x *DownloadNodeInstallationFileResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[57] 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 DownloadNodeInstallationFileResponse.ProtoReflect.Descriptor instead. func (*DownloadNodeInstallationFileResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{57} } func (x *DownloadNodeInstallationFileResponse) GetChunkData() []byte { if x != nil { return x.ChunkData } return nil } func (x *DownloadNodeInstallationFileResponse) GetSum() string { if x != nil { return x.Sum } return "" } func (x *DownloadNodeInstallationFileResponse) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *DownloadNodeInstallationFileResponse) GetVersion() string { if x != nil { return x.Version } return "" } func (x *DownloadNodeInstallationFileResponse) GetFilename() string { if x != nil { return x.Filename } return "" } // 修改节点系统信息 type UpdateNodeSystemRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` MaxCPU int32 `protobuf:"varint,2,opt,name=maxCPU,proto3" json:"maxCPU,omitempty"` } func (x *UpdateNodeSystemRequest) Reset() { *x = UpdateNodeSystemRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateNodeSystemRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateNodeSystemRequest) ProtoMessage() {} func (x *UpdateNodeSystemRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[58] 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 UpdateNodeSystemRequest.ProtoReflect.Descriptor instead. func (*UpdateNodeSystemRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{58} } func (x *UpdateNodeSystemRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } func (x *UpdateNodeSystemRequest) GetMaxCPU() int32 { if x != nil { return x.MaxCPU } return 0 } // 修改节点缓存设置 type UpdateNodeCacheRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` MaxCacheDiskCapacity *SizeCapacity `protobuf:"bytes,2,opt,name=maxCacheDiskCapacity,proto3" json:"maxCacheDiskCapacity,omitempty"` MaxCacheMemoryCapacity *SizeCapacity `protobuf:"bytes,3,opt,name=maxCacheMemoryCapacity,proto3" json:"maxCacheMemoryCapacity,omitempty"` CacheDiskDir string `protobuf:"bytes,4,opt,name=cacheDiskDir,proto3" json:"cacheDiskDir,omitempty"` } func (x *UpdateNodeCacheRequest) Reset() { *x = UpdateNodeCacheRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateNodeCacheRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateNodeCacheRequest) ProtoMessage() {} func (x *UpdateNodeCacheRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[59] 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 UpdateNodeCacheRequest.ProtoReflect.Descriptor instead. func (*UpdateNodeCacheRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{59} } func (x *UpdateNodeCacheRequest) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } func (x *UpdateNodeCacheRequest) GetMaxCacheDiskCapacity() *SizeCapacity { if x != nil { return x.MaxCacheDiskCapacity } return nil } func (x *UpdateNodeCacheRequest) GetMaxCacheMemoryCapacity() *SizeCapacity { if x != nil { return x.MaxCacheMemoryCapacity } return nil } func (x *UpdateNodeCacheRequest) GetCacheDiskDir() string { if x != nil { return x.CacheDiskDir } return "" } // 读取节点级别信息 type FindNodeLevelInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *FindNodeLevelInfoRequest) Reset() { *x = FindNodeLevelInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindNodeLevelInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindNodeLevelInfoRequest) ProtoMessage() {} func (x *FindNodeLevelInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[60] 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 FindNodeLevelInfoRequest.ProtoReflect.Descriptor instead. func (*FindNodeLevelInfoRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{60} } type FindNodeLevelInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Level int32 `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"` ParentNodesMapJSON []byte `protobuf:"bytes,2,opt,name=parentNodesMapJSON,proto3" json:"parentNodesMapJSON,omitempty"` } func (x *FindNodeLevelInfoResponse) Reset() { *x = FindNodeLevelInfoResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindNodeLevelInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindNodeLevelInfoResponse) ProtoMessage() {} func (x *FindNodeLevelInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[61] 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 FindNodeLevelInfoResponse.ProtoReflect.Descriptor instead. func (*FindNodeLevelInfoResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{61} } func (x *FindNodeLevelInfoResponse) GetLevel() int32 { if x != nil { return x.Level } return 0 } func (x *FindNodeLevelInfoResponse) GetParentNodesMapJSON() []byte { if x != nil { return x.ParentNodesMapJSON } return nil } type FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` Os string `protobuf:"bytes,2,opt,name=os,proto3" json:"os,omitempty"` Arch string `protobuf:"bytes,3,opt,name=arch,proto3" json:"arch,omitempty"` OldVersion string `protobuf:"bytes,4,opt,name=oldVersion,proto3" json:"oldVersion,omitempty"` NewVersion string `protobuf:"bytes,5,opt,name=newVersion,proto3" json:"newVersion,omitempty"` } func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) Reset() { *x = FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) ProtoMessage() {} func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[62] 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 FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade.ProtoReflect.Descriptor instead. func (*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{39, 0} } func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) GetNode() *Node { if x != nil { return x.Node } return nil } func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) GetOs() string { if x != nil { return x.Os } return "" } func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) GetArch() string { if x != nil { return x.Arch } return "" } func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) GetOldVersion() string { if x != nil { return x.OldVersion } return "" } func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) GetNewVersion() string { if x != nil { return x.NewVersion } return "" } var File_service_node_proto protoreflect.FileDescriptor var file_service_node_proto_rawDesc = []byte{ 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 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, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0b, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 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, 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, 0xea, 0x04, 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, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 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, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x70, 0x75, 0x41, 0x73, 0x63, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, 0x70, 0x75, 0x41, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x70, 0x75, 0x44, 0x65, 0x73, 0x63, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x70, 0x75, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, 0x73, 0x63, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, 0x73, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x44, 0x65, 0x73, 0x63, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x44, 0x65, 0x73, 0x63, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x49, 0x6e, 0x41, 0x73, 0x63, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x49, 0x6e, 0x41, 0x73, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x49, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x49, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4f, 0x75, 0x74, 0x41, 0x73, 0x63, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4f, 0x75, 0x74, 0x41, 0x73, 0x63, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4f, 0x75, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4f, 0x75, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x63, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x73, 0x63, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x73, 0x63, 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, 0x53, 0x0a, 0x2b, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x2c, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 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, 0x2b, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 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, 0x22, 0x60, 0x0a, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x8f, 0x02, 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, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x17, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x03, 0x52, 0x17, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 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, 0x35, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x73, 0x69, 0x63, 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, 0x41, 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x7e, 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 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, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x53, 0x69, 0x7a, 0x65, 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, 0x84, 0x02, 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, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 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, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 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, 0x2c, 0x0a, 0x12, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 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, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x72, 0x74, 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, 0x3d, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x29, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 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, 0x3c, 0x0a, 0x10, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 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, 0x22, 0x4e, 0x0a, 0x2a, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x29, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x4c, 0x0a, 0x2a, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 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, 0x58, 0x0a, 0x30, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x31, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 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, 0x59, 0x0a, 0x31, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x54, 0x0a, 0x2c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x2b, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x94, 0x02, 0x0a, 0x2c, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x1a, 0x8f, 0x01, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 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, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x36, 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 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, 0x22, 0x5c, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x5d, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 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, 0x2b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x22, 0x4e, 0x0a, 0x2a, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x2f, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x8d, 0x02, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x49, 0x6e, 0x66, 0x6f, 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, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x12, 0x24, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x59, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 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, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 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, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x51, 0x0a, 0x2b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x3a, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x22, 0x41, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x73, 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, 0x6b, 0x0a, 0x1d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x63, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x66, 0x0a, 0x1e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x4e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x4e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x41, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 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, 0x69, 0x73, 0x55, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x55, 0x70, 0x22, 0x6b, 0x0a, 0x23, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xa4, 0x01, 0x0a, 0x24, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 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, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x43, 0x50, 0x55, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x43, 0x50, 0x55, 0x22, 0xe4, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x63, 0x68, 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, 0x44, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x69, 0x7a, 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x48, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x69, 0x7a, 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x44, 0x69, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x44, 0x69, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x61, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0xb4, 0x1c, 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, 0x4d, 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, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 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, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 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, 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, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 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, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 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, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x33, 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, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 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, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 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, 0x3f, 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, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 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, 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, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 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, 0x3e, 0x0a, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 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, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x23, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x22, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2d, 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, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 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, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x2a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x29, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x25, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x23, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x92, 0x01, 0x0a, 0x27, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6d, 0x0a, 0x24, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x71, 0x0a, 0x1c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 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 ( file_service_node_proto_rawDescOnce sync.Once file_service_node_proto_rawDescData = file_service_node_proto_rawDesc ) func file_service_node_proto_rawDescGZIP() []byte { file_service_node_proto_rawDescOnce.Do(func() { file_service_node_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_node_proto_rawDescData) }) return file_service_node_proto_rawDescData } var file_service_node_proto_msgTypes = make([]protoimpl.MessageInfo, 63) var file_service_node_proto_goTypes = []interface{}{ (*CreateNodeRequest)(nil), // 0: pb.CreateNodeRequest (*CreateNodeResponse)(nil), // 1: pb.CreateNodeResponse (*RegisterClusterNodeRequest)(nil), // 2: pb.RegisterClusterNodeRequest (*RegisterClusterNodeResponse)(nil), // 3: pb.RegisterClusterNodeResponse (*CountAllEnabledNodesRequest)(nil), // 4: pb.CountAllEnabledNodesRequest (*ListEnabledNodesMatchRequest)(nil), // 5: pb.ListEnabledNodesMatchRequest (*ListEnabledNodesMatchResponse)(nil), // 6: pb.ListEnabledNodesMatchResponse (*FindAllEnabledNodesWithNodeClusterIdRequest)(nil), // 7: pb.FindAllEnabledNodesWithNodeClusterIdRequest (*FindAllEnabledNodesWithNodeClusterIdResponse)(nil), // 8: pb.FindAllEnabledNodesWithNodeClusterIdResponse (*DeleteNodeRequest)(nil), // 9: pb.DeleteNodeRequest (*DeleteNodeFromNodeClusterRequest)(nil), // 10: pb.DeleteNodeFromNodeClusterRequest (*UpdateNodeRequest)(nil), // 11: pb.UpdateNodeRequest (*FindEnabledNodeRequest)(nil), // 12: pb.FindEnabledNodeRequest (*FindEnabledNodeResponse)(nil), // 13: pb.FindEnabledNodeResponse (*FindEnabledBasicNodeRequest)(nil), // 14: pb.FindEnabledBasicNodeRequest (*FindEnabledBasicNodeResponse)(nil), // 15: pb.FindEnabledBasicNodeResponse (*FindCurrentNodeConfigRequest)(nil), // 16: pb.FindCurrentNodeConfigRequest (*FindCurrentNodeConfigResponse)(nil), // 17: pb.FindCurrentNodeConfigResponse (*NodeStreamMessage)(nil), // 18: pb.NodeStreamMessage (*UpdateNodeStatusRequest)(nil), // 19: pb.UpdateNodeStatusRequest (*CountAllEnabledNodesMatchRequest)(nil), // 20: pb.CountAllEnabledNodesMatchRequest (*UpdateNodeIsInstalledRequest)(nil), // 21: pb.UpdateNodeIsInstalledRequest (*InstallNodeRequest)(nil), // 22: pb.InstallNodeRequest (*InstallNodeResponse)(nil), // 23: pb.InstallNodeResponse (*UpgradeNodeRequest)(nil), // 24: pb.UpgradeNodeRequest (*UpgradeNodeResponse)(nil), // 25: pb.UpgradeNodeResponse (*StartNodeRequest)(nil), // 26: pb.StartNodeRequest (*StartNodeResponse)(nil), // 27: pb.StartNodeResponse (*StopNodeRequest)(nil), // 28: pb.StopNodeRequest (*StopNodeResponse)(nil), // 29: pb.StopNodeResponse (*UpdateNodeConnectedAPINodesRequest)(nil), // 30: pb.UpdateNodeConnectedAPINodesRequest (*CountAllEnabledNodesWithNodeGrantIdRequest)(nil), // 31: pb.CountAllEnabledNodesWithNodeGrantIdRequest (*FindAllEnabledNodesWithNodeGrantIdRequest)(nil), // 32: pb.FindAllEnabledNodesWithNodeGrantIdRequest (*FindAllEnabledNodesWithNodeGrantIdResponse)(nil), // 33: pb.FindAllEnabledNodesWithNodeGrantIdResponse (*FindAllNotInstalledNodesWithNodeClusterIdRequest)(nil), // 34: pb.FindAllNotInstalledNodesWithNodeClusterIdRequest (*FindAllNotInstalledNodesWithNodeClusterIdResponse)(nil), // 35: pb.FindAllNotInstalledNodesWithNodeClusterIdResponse (*CountAllNotInstalledNodesWithNodeClusterIdRequest)(nil), // 36: pb.CountAllNotInstalledNodesWithNodeClusterIdRequest (*CountAllUpgradeNodesWithNodeClusterIdRequest)(nil), // 37: pb.CountAllUpgradeNodesWithNodeClusterIdRequest (*FindAllUpgradeNodesWithNodeClusterIdRequest)(nil), // 38: pb.FindAllUpgradeNodesWithNodeClusterIdRequest (*FindAllUpgradeNodesWithNodeClusterIdResponse)(nil), // 39: pb.FindAllUpgradeNodesWithNodeClusterIdResponse (*FindNodeInstallStatusRequest)(nil), // 40: pb.FindNodeInstallStatusRequest (*FindNodeInstallStatusResponse)(nil), // 41: pb.FindNodeInstallStatusResponse (*UpdateNodeLoginRequest)(nil), // 42: pb.UpdateNodeLoginRequest (*CountAllEnabledNodesWithNodeGroupIdRequest)(nil), // 43: pb.CountAllEnabledNodesWithNodeGroupIdRequest (*FindAllEnabledNodesDNSWithNodeClusterIdRequest)(nil), // 44: pb.FindAllEnabledNodesDNSWithNodeClusterIdRequest (*FindAllEnabledNodesDNSWithNodeClusterIdResponse)(nil), // 45: pb.FindAllEnabledNodesDNSWithNodeClusterIdResponse (*NodeDNSInfo)(nil), // 46: pb.NodeDNSInfo (*FindEnabledNodeDNSRequest)(nil), // 47: pb.FindEnabledNodeDNSRequest (*FindEnabledNodeDNSResponse)(nil), // 48: pb.FindEnabledNodeDNSResponse (*UpdateNodeDNSRequest)(nil), // 49: pb.UpdateNodeDNSRequest (*CountAllEnabledNodesWithNodeRegionIdRequest)(nil), // 50: pb.CountAllEnabledNodesWithNodeRegionIdRequest (*FindEnabledNodesWithIdsRequest)(nil), // 51: pb.FindEnabledNodesWithIdsRequest (*FindEnabledNodesWithIdsResponse)(nil), // 52: pb.FindEnabledNodesWithIdsResponse (*CheckNodeLatestVersionRequest)(nil), // 53: pb.CheckNodeLatestVersionRequest (*CheckNodeLatestVersionResponse)(nil), // 54: pb.CheckNodeLatestVersionResponse (*UpdateNodeUpRequest)(nil), // 55: pb.UpdateNodeUpRequest (*DownloadNodeInstallationFileRequest)(nil), // 56: pb.DownloadNodeInstallationFileRequest (*DownloadNodeInstallationFileResponse)(nil), // 57: pb.DownloadNodeInstallationFileResponse (*UpdateNodeSystemRequest)(nil), // 58: pb.UpdateNodeSystemRequest (*UpdateNodeCacheRequest)(nil), // 59: pb.UpdateNodeCacheRequest (*FindNodeLevelInfoRequest)(nil), // 60: pb.FindNodeLevelInfoRequest (*FindNodeLevelInfoResponse)(nil), // 61: pb.FindNodeLevelInfoResponse (*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade)(nil), // 62: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade (*NodeLogin)(nil), // 63: pb.NodeLogin (*Node)(nil), // 64: pb.Node (*BasicNode)(nil), // 65: pb.BasicNode (*NodeInstallStatus)(nil), // 66: pb.NodeInstallStatus (*DNSRoute)(nil), // 67: pb.DNSRoute (*SizeCapacity)(nil), // 68: pb.SizeCapacity (*RPCCountResponse)(nil), // 69: pb.RPCCountResponse (*RPCSuccess)(nil), // 70: pb.RPCSuccess } var file_service_node_proto_depIdxs = []int32{ 63, // 0: pb.CreateNodeRequest.nodeLogin:type_name -> pb.NodeLogin 64, // 1: pb.ListEnabledNodesMatchResponse.nodes:type_name -> pb.Node 64, // 2: pb.FindAllEnabledNodesWithNodeClusterIdResponse.nodes:type_name -> pb.Node 64, // 3: pb.FindEnabledNodeResponse.node:type_name -> pb.Node 65, // 4: pb.FindEnabledBasicNodeResponse.node:type_name -> pb.BasicNode 64, // 5: pb.FindAllEnabledNodesWithNodeGrantIdResponse.nodes:type_name -> pb.Node 64, // 6: pb.FindAllNotInstalledNodesWithNodeClusterIdResponse.nodes:type_name -> pb.Node 62, // 7: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.nodes:type_name -> pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade 66, // 8: pb.FindNodeInstallStatusResponse.installStatus:type_name -> pb.NodeInstallStatus 63, // 9: pb.UpdateNodeLoginRequest.nodeLogin:type_name -> pb.NodeLogin 46, // 10: pb.FindAllEnabledNodesDNSWithNodeClusterIdResponse.nodes:type_name -> pb.NodeDNSInfo 67, // 11: pb.NodeDNSInfo.routes:type_name -> pb.DNSRoute 46, // 12: pb.FindEnabledNodeDNSResponse.node:type_name -> pb.NodeDNSInfo 64, // 13: pb.FindEnabledNodesWithIdsResponse.nodes:type_name -> pb.Node 68, // 14: pb.UpdateNodeCacheRequest.maxCacheDiskCapacity:type_name -> pb.SizeCapacity 68, // 15: pb.UpdateNodeCacheRequest.maxCacheMemoryCapacity:type_name -> pb.SizeCapacity 64, // 16: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade.node:type_name -> pb.Node 0, // 17: pb.NodeService.createNode:input_type -> pb.CreateNodeRequest 2, // 18: pb.NodeService.registerClusterNode:input_type -> pb.RegisterClusterNodeRequest 4, // 19: pb.NodeService.countAllEnabledNodes:input_type -> pb.CountAllEnabledNodesRequest 20, // 20: pb.NodeService.countAllEnabledNodesMatch:input_type -> pb.CountAllEnabledNodesMatchRequest 5, // 21: pb.NodeService.listEnabledNodesMatch:input_type -> pb.ListEnabledNodesMatchRequest 7, // 22: pb.NodeService.findAllEnabledNodesWithNodeClusterId:input_type -> pb.FindAllEnabledNodesWithNodeClusterIdRequest 9, // 23: pb.NodeService.deleteNode:input_type -> pb.DeleteNodeRequest 10, // 24: pb.NodeService.deleteNodeFromNodeCluster:input_type -> pb.DeleteNodeFromNodeClusterRequest 11, // 25: pb.NodeService.updateNode:input_type -> pb.UpdateNodeRequest 12, // 26: pb.NodeService.findEnabledNode:input_type -> pb.FindEnabledNodeRequest 14, // 27: pb.NodeService.findEnabledBasicNode:input_type -> pb.FindEnabledBasicNodeRequest 16, // 28: pb.NodeService.findCurrentNodeConfig:input_type -> pb.FindCurrentNodeConfigRequest 18, // 29: pb.NodeService.nodeStream:input_type -> pb.NodeStreamMessage 18, // 30: pb.NodeService.sendCommandToNode:input_type -> pb.NodeStreamMessage 19, // 31: pb.NodeService.updateNodeStatus:input_type -> pb.UpdateNodeStatusRequest 21, // 32: pb.NodeService.updateNodeIsInstalled:input_type -> pb.UpdateNodeIsInstalledRequest 22, // 33: pb.NodeService.installNode:input_type -> pb.InstallNodeRequest 24, // 34: pb.NodeService.upgradeNode:input_type -> pb.UpgradeNodeRequest 26, // 35: pb.NodeService.startNode:input_type -> pb.StartNodeRequest 28, // 36: pb.NodeService.stopNode:input_type -> pb.StopNodeRequest 30, // 37: pb.NodeService.updateNodeConnectedAPINodes:input_type -> pb.UpdateNodeConnectedAPINodesRequest 31, // 38: pb.NodeService.countAllEnabledNodesWithNodeGrantId:input_type -> pb.CountAllEnabledNodesWithNodeGrantIdRequest 32, // 39: pb.NodeService.findAllEnabledNodesWithNodeGrantId:input_type -> pb.FindAllEnabledNodesWithNodeGrantIdRequest 36, // 40: pb.NodeService.countAllNotInstalledNodesWithNodeClusterId:input_type -> pb.CountAllNotInstalledNodesWithNodeClusterIdRequest 34, // 41: pb.NodeService.findAllNotInstalledNodesWithNodeClusterId:input_type -> pb.FindAllNotInstalledNodesWithNodeClusterIdRequest 37, // 42: pb.NodeService.countAllUpgradeNodesWithNodeClusterId:input_type -> pb.CountAllUpgradeNodesWithNodeClusterIdRequest 38, // 43: pb.NodeService.findAllUpgradeNodesWithNodeClusterId:input_type -> pb.FindAllUpgradeNodesWithNodeClusterIdRequest 40, // 44: pb.NodeService.findNodeInstallStatus:input_type -> pb.FindNodeInstallStatusRequest 42, // 45: pb.NodeService.updateNodeLogin:input_type -> pb.UpdateNodeLoginRequest 43, // 46: pb.NodeService.countAllEnabledNodesWithNodeGroupId:input_type -> pb.CountAllEnabledNodesWithNodeGroupIdRequest 44, // 47: pb.NodeService.findAllEnabledNodesDNSWithNodeClusterId:input_type -> pb.FindAllEnabledNodesDNSWithNodeClusterIdRequest 47, // 48: pb.NodeService.findEnabledNodeDNS:input_type -> pb.FindEnabledNodeDNSRequest 49, // 49: pb.NodeService.updateNodeDNS:input_type -> pb.UpdateNodeDNSRequest 50, // 50: pb.NodeService.countAllEnabledNodesWithNodeRegionId:input_type -> pb.CountAllEnabledNodesWithNodeRegionIdRequest 51, // 51: pb.NodeService.findEnabledNodesWithIds:input_type -> pb.FindEnabledNodesWithIdsRequest 53, // 52: pb.NodeService.checkNodeLatestVersion:input_type -> pb.CheckNodeLatestVersionRequest 55, // 53: pb.NodeService.updateNodeUp:input_type -> pb.UpdateNodeUpRequest 56, // 54: pb.NodeService.downloadNodeInstallationFile:input_type -> pb.DownloadNodeInstallationFileRequest 58, // 55: pb.NodeService.updateNodeSystem:input_type -> pb.UpdateNodeSystemRequest 59, // 56: pb.NodeService.updateNodeCache:input_type -> pb.UpdateNodeCacheRequest 60, // 57: pb.NodeService.findNodeLevelInfo:input_type -> pb.FindNodeLevelInfoRequest 1, // 58: pb.NodeService.createNode:output_type -> pb.CreateNodeResponse 3, // 59: pb.NodeService.registerClusterNode:output_type -> pb.RegisterClusterNodeResponse 69, // 60: pb.NodeService.countAllEnabledNodes:output_type -> pb.RPCCountResponse 69, // 61: pb.NodeService.countAllEnabledNodesMatch:output_type -> pb.RPCCountResponse 6, // 62: pb.NodeService.listEnabledNodesMatch:output_type -> pb.ListEnabledNodesMatchResponse 8, // 63: pb.NodeService.findAllEnabledNodesWithNodeClusterId:output_type -> pb.FindAllEnabledNodesWithNodeClusterIdResponse 70, // 64: pb.NodeService.deleteNode:output_type -> pb.RPCSuccess 70, // 65: pb.NodeService.deleteNodeFromNodeCluster:output_type -> pb.RPCSuccess 70, // 66: pb.NodeService.updateNode:output_type -> pb.RPCSuccess 13, // 67: pb.NodeService.findEnabledNode:output_type -> pb.FindEnabledNodeResponse 15, // 68: pb.NodeService.findEnabledBasicNode:output_type -> pb.FindEnabledBasicNodeResponse 17, // 69: pb.NodeService.findCurrentNodeConfig:output_type -> pb.FindCurrentNodeConfigResponse 18, // 70: pb.NodeService.nodeStream:output_type -> pb.NodeStreamMessage 18, // 71: pb.NodeService.sendCommandToNode:output_type -> pb.NodeStreamMessage 70, // 72: pb.NodeService.updateNodeStatus:output_type -> pb.RPCSuccess 70, // 73: pb.NodeService.updateNodeIsInstalled:output_type -> pb.RPCSuccess 23, // 74: pb.NodeService.installNode:output_type -> pb.InstallNodeResponse 25, // 75: pb.NodeService.upgradeNode:output_type -> pb.UpgradeNodeResponse 27, // 76: pb.NodeService.startNode:output_type -> pb.StartNodeResponse 29, // 77: pb.NodeService.stopNode:output_type -> pb.StopNodeResponse 70, // 78: pb.NodeService.updateNodeConnectedAPINodes:output_type -> pb.RPCSuccess 69, // 79: pb.NodeService.countAllEnabledNodesWithNodeGrantId:output_type -> pb.RPCCountResponse 33, // 80: pb.NodeService.findAllEnabledNodesWithNodeGrantId:output_type -> pb.FindAllEnabledNodesWithNodeGrantIdResponse 69, // 81: pb.NodeService.countAllNotInstalledNodesWithNodeClusterId:output_type -> pb.RPCCountResponse 35, // 82: pb.NodeService.findAllNotInstalledNodesWithNodeClusterId:output_type -> pb.FindAllNotInstalledNodesWithNodeClusterIdResponse 69, // 83: pb.NodeService.countAllUpgradeNodesWithNodeClusterId:output_type -> pb.RPCCountResponse 39, // 84: pb.NodeService.findAllUpgradeNodesWithNodeClusterId:output_type -> pb.FindAllUpgradeNodesWithNodeClusterIdResponse 41, // 85: pb.NodeService.findNodeInstallStatus:output_type -> pb.FindNodeInstallStatusResponse 70, // 86: pb.NodeService.updateNodeLogin:output_type -> pb.RPCSuccess 69, // 87: pb.NodeService.countAllEnabledNodesWithNodeGroupId:output_type -> pb.RPCCountResponse 45, // 88: pb.NodeService.findAllEnabledNodesDNSWithNodeClusterId:output_type -> pb.FindAllEnabledNodesDNSWithNodeClusterIdResponse 48, // 89: pb.NodeService.findEnabledNodeDNS:output_type -> pb.FindEnabledNodeDNSResponse 70, // 90: pb.NodeService.updateNodeDNS:output_type -> pb.RPCSuccess 69, // 91: pb.NodeService.countAllEnabledNodesWithNodeRegionId:output_type -> pb.RPCCountResponse 52, // 92: pb.NodeService.findEnabledNodesWithIds:output_type -> pb.FindEnabledNodesWithIdsResponse 54, // 93: pb.NodeService.checkNodeLatestVersion:output_type -> pb.CheckNodeLatestVersionResponse 70, // 94: pb.NodeService.updateNodeUp:output_type -> pb.RPCSuccess 57, // 95: pb.NodeService.downloadNodeInstallationFile:output_type -> pb.DownloadNodeInstallationFileResponse 70, // 96: pb.NodeService.updateNodeSystem:output_type -> pb.RPCSuccess 70, // 97: pb.NodeService.updateNodeCache:output_type -> pb.RPCSuccess 61, // 98: pb.NodeService.findNodeLevelInfo:output_type -> pb.FindNodeLevelInfoResponse 58, // [58:99] is the sub-list for method output_type 17, // [17:58] is the sub-list for method input_type 17, // [17:17] is the sub-list for extension type_name 17, // [17:17] is the sub-list for extension extendee 0, // [0:17] is the sub-list for field type_name } func init() { file_service_node_proto_init() } func file_service_node_proto_init() { if File_service_node_proto != nil { return } file_models_model_node_proto_init() file_models_model_node_login_proto_init() file_models_model_node_install_status_proto_init() file_models_model_dns_route_proto_init() file_models_model_size_capacity_proto_init() file_models_rpc_messages_proto_init() if !protoimpl.UnsafeEnabled { file_service_node_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateNodeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateNodeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegisterClusterNodeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegisterClusterNodeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CountAllEnabledNodesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListEnabledNodesMatchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListEnabledNodesMatchResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAllEnabledNodesWithNodeClusterIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAllEnabledNodesWithNodeClusterIdResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteNodeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteNodeFromNodeClusterRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNodeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindEnabledNodeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindEnabledNodeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindEnabledBasicNodeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindEnabledBasicNodeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindCurrentNodeConfigRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindCurrentNodeConfigResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeStreamMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNodeStatusRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CountAllEnabledNodesMatchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNodeIsInstalledRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[22].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[23].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[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpgradeNodeRequest); 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.(*UpgradeNodeResponse); 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.(*StartNodeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartNodeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StopNodeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StopNodeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNodeConnectedAPINodesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CountAllEnabledNodesWithNodeGrantIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAllEnabledNodesWithNodeGrantIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAllEnabledNodesWithNodeGrantIdResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAllNotInstalledNodesWithNodeClusterIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAllNotInstalledNodesWithNodeClusterIdResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CountAllNotInstalledNodesWithNodeClusterIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CountAllUpgradeNodesWithNodeClusterIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAllUpgradeNodesWithNodeClusterIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAllUpgradeNodesWithNodeClusterIdResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindNodeInstallStatusRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindNodeInstallStatusResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNodeLoginRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CountAllEnabledNodesWithNodeGroupIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAllEnabledNodesDNSWithNodeClusterIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAllEnabledNodesDNSWithNodeClusterIdResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeDNSInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindEnabledNodeDNSRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindEnabledNodeDNSResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNodeDNSRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CountAllEnabledNodesWithNodeRegionIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindEnabledNodesWithIdsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindEnabledNodesWithIdsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckNodeLatestVersionRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckNodeLatestVersionResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNodeUpRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DownloadNodeInstallationFileRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DownloadNodeInstallationFileResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNodeSystemRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNodeCacheRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindNodeLevelInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindNodeLevelInfoResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_node_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_node_proto_rawDesc, NumEnums: 0, NumMessages: 63, NumExtensions: 0, NumServices: 1, }, GoTypes: file_service_node_proto_goTypes, DependencyIndexes: file_service_node_proto_depIdxs, MessageInfos: file_service_node_proto_msgTypes, }.Build() File_service_node_proto = out.File file_service_node_proto_rawDesc = nil file_service_node_proto_goTypes = nil file_service_node_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // NodeServiceClient is the client API for NodeService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 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) (*RPCCountResponse, error) // 计算匹配的节点数量 CountAllEnabledNodesMatch(ctx context.Context, in *CountAllEnabledNodesMatchRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) // 列出单页节点 ListEnabledNodesMatch(ctx context.Context, in *ListEnabledNodesMatchRequest, opts ...grpc.CallOption) (*ListEnabledNodesMatchResponse, error) // 根据集群查找所有节点 FindAllEnabledNodesWithNodeClusterId(ctx context.Context, in *FindAllEnabledNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllEnabledNodesWithNodeClusterIdResponse, error) // 删除节点 DeleteNode(ctx context.Context, in *DeleteNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error) // 从集群中删除节点 DeleteNodeFromNodeCluster(ctx context.Context, in *DeleteNodeFromNodeClusterRequest, opts ...grpc.CallOption) (*RPCSuccess, error) // 修改节点 UpdateNode(ctx context.Context, in *UpdateNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error) // 获取单个节点信息 FindEnabledNode(ctx context.Context, in *FindEnabledNodeRequest, opts ...grpc.CallOption) (*FindEnabledNodeResponse, error) // 获取单个节点基本信息 FindEnabledBasicNode(ctx context.Context, in *FindEnabledBasicNodeRequest, opts ...grpc.CallOption) (*FindEnabledBasicNodeResponse, error) // 获取当前节点配置 FindCurrentNodeConfig(ctx context.Context, in *FindCurrentNodeConfigRequest, opts ...grpc.CallOption) (*FindCurrentNodeConfigResponse, error) // 节点stream NodeStream(ctx context.Context, opts ...grpc.CallOption) (NodeService_NodeStreamClient, error) // 向节点发送命令 SendCommandToNode(ctx context.Context, in *NodeStreamMessage, opts ...grpc.CallOption) (*NodeStreamMessage, error) // 更新节点状态 UpdateNodeStatus(ctx context.Context, in *UpdateNodeStatusRequest, opts ...grpc.CallOption) (*RPCSuccess, error) // 修改节点安装状态 UpdateNodeIsInstalled(ctx context.Context, in *UpdateNodeIsInstalledRequest, opts ...grpc.CallOption) (*RPCSuccess, error) // 安装节点 InstallNode(ctx context.Context, in *InstallNodeRequest, opts ...grpc.CallOption) (*InstallNodeResponse, error) // 升级节点 UpgradeNode(ctx context.Context, in *UpgradeNodeRequest, opts ...grpc.CallOption) (*UpgradeNodeResponse, error) // 启动节点 StartNode(ctx context.Context, in *StartNodeRequest, opts ...grpc.CallOption) (*StartNodeResponse, error) // 停止节点 StopNode(ctx context.Context, in *StopNodeRequest, opts ...grpc.CallOption) (*StopNodeResponse, error) // 更改节点连接的API节点信息 UpdateNodeConnectedAPINodes(ctx context.Context, in *UpdateNodeConnectedAPINodesRequest, opts ...grpc.CallOption) (*RPCSuccess, error) // 计算使用某个认证的节点数量 CountAllEnabledNodesWithNodeGrantId(ctx context.Context, in *CountAllEnabledNodesWithNodeGrantIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) // 查找使用某个认证的所有节点 FindAllEnabledNodesWithNodeGrantId(ctx context.Context, in *FindAllEnabledNodesWithNodeGrantIdRequest, opts ...grpc.CallOption) (*FindAllEnabledNodesWithNodeGrantIdResponse, error) // 计算没有安装的节点数量 CountAllNotInstalledNodesWithNodeClusterId(ctx context.Context, in *CountAllNotInstalledNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) // 列出所有未安装的节点 FindAllNotInstalledNodesWithNodeClusterId(ctx context.Context, in *FindAllNotInstalledNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllNotInstalledNodesWithNodeClusterIdResponse, error) // 计算需要升级的节点数量 CountAllUpgradeNodesWithNodeClusterId(ctx context.Context, in *CountAllUpgradeNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) // 列出所有需要升级的节点 FindAllUpgradeNodesWithNodeClusterId(ctx context.Context, in *FindAllUpgradeNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllUpgradeNodesWithNodeClusterIdResponse, error) // 读取节点安装状态 FindNodeInstallStatus(ctx context.Context, in *FindNodeInstallStatusRequest, opts ...grpc.CallOption) (*FindNodeInstallStatusResponse, error) // 修改节点登录信息 UpdateNodeLogin(ctx context.Context, in *UpdateNodeLoginRequest, opts ...grpc.CallOption) (*RPCSuccess, error) // 计算某个节点分组内的节点数量 CountAllEnabledNodesWithNodeGroupId(ctx context.Context, in *CountAllEnabledNodesWithNodeGroupIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) // 取得某个集群下的所有节点DNS信息 FindAllEnabledNodesDNSWithNodeClusterId(ctx context.Context, in *FindAllEnabledNodesDNSWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllEnabledNodesDNSWithNodeClusterIdResponse, error) // 查找单个节点的域名解析信息 FindEnabledNodeDNS(ctx context.Context, in *FindEnabledNodeDNSRequest, opts ...grpc.CallOption) (*FindEnabledNodeDNSResponse, error) // 修改节点的DNS解析信息 UpdateNodeDNS(ctx context.Context, in *UpdateNodeDNSRequest, opts ...grpc.CallOption) (*RPCSuccess, error) // 计算某个区域下的节点数量 CountAllEnabledNodesWithNodeRegionId(ctx context.Context, in *CountAllEnabledNodesWithNodeRegionIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) // 根据一组ID获取节点信息 FindEnabledNodesWithIds(ctx context.Context, in *FindEnabledNodesWithIdsRequest, opts ...grpc.CallOption) (*FindEnabledNodesWithIdsResponse, error) // 检查新版本 CheckNodeLatestVersion(ctx context.Context, in *CheckNodeLatestVersionRequest, opts ...grpc.CallOption) (*CheckNodeLatestVersionResponse, error) // 设置节点上线状态 UpdateNodeUp(ctx context.Context, in *UpdateNodeUpRequest, opts ...grpc.CallOption) (*RPCSuccess, error) // 下载最新边缘节点安装文件 DownloadNodeInstallationFile(ctx context.Context, in *DownloadNodeInstallationFileRequest, opts ...grpc.CallOption) (*DownloadNodeInstallationFileResponse, error) // 修改节点系统信息 UpdateNodeSystem(ctx context.Context, in *UpdateNodeSystemRequest, opts ...grpc.CallOption) (*RPCSuccess, error) // 修改节点缓存设置 UpdateNodeCache(ctx context.Context, in *UpdateNodeCacheRequest, opts ...grpc.CallOption) (*RPCSuccess, error) // 读取节点级别信息 FindNodeLevelInfo(ctx context.Context, in *FindNodeLevelInfoRequest, opts ...grpc.CallOption) (*FindNodeLevelInfoResponse, error) } type nodeServiceClient struct { cc grpc.ClientConnInterface } func NewNodeServiceClient(cc grpc.ClientConnInterface) NodeServiceClient { return &nodeServiceClient{cc} } func (c *nodeServiceClient) CreateNode(ctx context.Context, in *CreateNodeRequest, opts ...grpc.CallOption) (*CreateNodeResponse, error) { out := new(CreateNodeResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/createNode", in, out, opts...) if err != nil { return nil, err } 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) (*RPCCountResponse, error) { out := new(RPCCountResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/countAllEnabledNodes", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) CountAllEnabledNodesMatch(ctx context.Context, in *CountAllEnabledNodesMatchRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) { out := new(RPCCountResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/countAllEnabledNodesMatch", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) ListEnabledNodesMatch(ctx context.Context, in *ListEnabledNodesMatchRequest, opts ...grpc.CallOption) (*ListEnabledNodesMatchResponse, error) { out := new(ListEnabledNodesMatchResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/listEnabledNodesMatch", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) FindAllEnabledNodesWithNodeClusterId(ctx context.Context, in *FindAllEnabledNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllEnabledNodesWithNodeClusterIdResponse, error) { out := new(FindAllEnabledNodesWithNodeClusterIdResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/findAllEnabledNodesWithNodeClusterId", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) DeleteNode(ctx context.Context, in *DeleteNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { out := new(RPCSuccess) err := c.cc.Invoke(ctx, "/pb.NodeService/deleteNode", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) DeleteNodeFromNodeCluster(ctx context.Context, in *DeleteNodeFromNodeClusterRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { out := new(RPCSuccess) err := c.cc.Invoke(ctx, "/pb.NodeService/deleteNodeFromNodeCluster", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) UpdateNode(ctx context.Context, in *UpdateNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { out := new(RPCSuccess) err := c.cc.Invoke(ctx, "/pb.NodeService/updateNode", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) FindEnabledNode(ctx context.Context, in *FindEnabledNodeRequest, opts ...grpc.CallOption) (*FindEnabledNodeResponse, error) { out := new(FindEnabledNodeResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/findEnabledNode", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) FindEnabledBasicNode(ctx context.Context, in *FindEnabledBasicNodeRequest, opts ...grpc.CallOption) (*FindEnabledBasicNodeResponse, error) { out := new(FindEnabledBasicNodeResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/findEnabledBasicNode", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) FindCurrentNodeConfig(ctx context.Context, in *FindCurrentNodeConfigRequest, opts ...grpc.CallOption) (*FindCurrentNodeConfigResponse, error) { out := new(FindCurrentNodeConfigResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/findCurrentNodeConfig", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) NodeStream(ctx context.Context, opts ...grpc.CallOption) (NodeService_NodeStreamClient, error) { stream, err := c.cc.NewStream(ctx, &_NodeService_serviceDesc.Streams[0], "/pb.NodeService/nodeStream", opts...) if err != nil { return nil, err } x := &nodeServiceNodeStreamClient{stream} return x, nil } type NodeService_NodeStreamClient interface { Send(*NodeStreamMessage) error Recv() (*NodeStreamMessage, error) grpc.ClientStream } type nodeServiceNodeStreamClient struct { grpc.ClientStream } func (x *nodeServiceNodeStreamClient) Send(m *NodeStreamMessage) error { return x.ClientStream.SendMsg(m) } func (x *nodeServiceNodeStreamClient) Recv() (*NodeStreamMessage, error) { m := new(NodeStreamMessage) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *nodeServiceClient) SendCommandToNode(ctx context.Context, in *NodeStreamMessage, opts ...grpc.CallOption) (*NodeStreamMessage, error) { out := new(NodeStreamMessage) err := c.cc.Invoke(ctx, "/pb.NodeService/sendCommandToNode", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) UpdateNodeStatus(ctx context.Context, in *UpdateNodeStatusRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { out := new(RPCSuccess) err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeStatus", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) UpdateNodeIsInstalled(ctx context.Context, in *UpdateNodeIsInstalledRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { out := new(RPCSuccess) err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeIsInstalled", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) InstallNode(ctx context.Context, in *InstallNodeRequest, opts ...grpc.CallOption) (*InstallNodeResponse, error) { out := new(InstallNodeResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/installNode", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) UpgradeNode(ctx context.Context, in *UpgradeNodeRequest, opts ...grpc.CallOption) (*UpgradeNodeResponse, error) { out := new(UpgradeNodeResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/upgradeNode", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) StartNode(ctx context.Context, in *StartNodeRequest, opts ...grpc.CallOption) (*StartNodeResponse, error) { out := new(StartNodeResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/startNode", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) StopNode(ctx context.Context, in *StopNodeRequest, opts ...grpc.CallOption) (*StopNodeResponse, error) { out := new(StopNodeResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/stopNode", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) UpdateNodeConnectedAPINodes(ctx context.Context, in *UpdateNodeConnectedAPINodesRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { out := new(RPCSuccess) err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeConnectedAPINodes", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) CountAllEnabledNodesWithNodeGrantId(ctx context.Context, in *CountAllEnabledNodesWithNodeGrantIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) { out := new(RPCCountResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/countAllEnabledNodesWithNodeGrantId", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) FindAllEnabledNodesWithNodeGrantId(ctx context.Context, in *FindAllEnabledNodesWithNodeGrantIdRequest, opts ...grpc.CallOption) (*FindAllEnabledNodesWithNodeGrantIdResponse, error) { out := new(FindAllEnabledNodesWithNodeGrantIdResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/findAllEnabledNodesWithNodeGrantId", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) CountAllNotInstalledNodesWithNodeClusterId(ctx context.Context, in *CountAllNotInstalledNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) { out := new(RPCCountResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/countAllNotInstalledNodesWithNodeClusterId", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) FindAllNotInstalledNodesWithNodeClusterId(ctx context.Context, in *FindAllNotInstalledNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllNotInstalledNodesWithNodeClusterIdResponse, error) { out := new(FindAllNotInstalledNodesWithNodeClusterIdResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/findAllNotInstalledNodesWithNodeClusterId", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) CountAllUpgradeNodesWithNodeClusterId(ctx context.Context, in *CountAllUpgradeNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) { out := new(RPCCountResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/countAllUpgradeNodesWithNodeClusterId", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) FindAllUpgradeNodesWithNodeClusterId(ctx context.Context, in *FindAllUpgradeNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllUpgradeNodesWithNodeClusterIdResponse, error) { out := new(FindAllUpgradeNodesWithNodeClusterIdResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/findAllUpgradeNodesWithNodeClusterId", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) FindNodeInstallStatus(ctx context.Context, in *FindNodeInstallStatusRequest, opts ...grpc.CallOption) (*FindNodeInstallStatusResponse, error) { out := new(FindNodeInstallStatusResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/findNodeInstallStatus", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) UpdateNodeLogin(ctx context.Context, in *UpdateNodeLoginRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { out := new(RPCSuccess) err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeLogin", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) CountAllEnabledNodesWithNodeGroupId(ctx context.Context, in *CountAllEnabledNodesWithNodeGroupIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) { out := new(RPCCountResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/countAllEnabledNodesWithNodeGroupId", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) FindAllEnabledNodesDNSWithNodeClusterId(ctx context.Context, in *FindAllEnabledNodesDNSWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllEnabledNodesDNSWithNodeClusterIdResponse, error) { out := new(FindAllEnabledNodesDNSWithNodeClusterIdResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/findAllEnabledNodesDNSWithNodeClusterId", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) FindEnabledNodeDNS(ctx context.Context, in *FindEnabledNodeDNSRequest, opts ...grpc.CallOption) (*FindEnabledNodeDNSResponse, error) { out := new(FindEnabledNodeDNSResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/findEnabledNodeDNS", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) UpdateNodeDNS(ctx context.Context, in *UpdateNodeDNSRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { out := new(RPCSuccess) err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeDNS", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) CountAllEnabledNodesWithNodeRegionId(ctx context.Context, in *CountAllEnabledNodesWithNodeRegionIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) { out := new(RPCCountResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/countAllEnabledNodesWithNodeRegionId", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) FindEnabledNodesWithIds(ctx context.Context, in *FindEnabledNodesWithIdsRequest, opts ...grpc.CallOption) (*FindEnabledNodesWithIdsResponse, error) { out := new(FindEnabledNodesWithIdsResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/findEnabledNodesWithIds", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) CheckNodeLatestVersion(ctx context.Context, in *CheckNodeLatestVersionRequest, opts ...grpc.CallOption) (*CheckNodeLatestVersionResponse, error) { out := new(CheckNodeLatestVersionResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/checkNodeLatestVersion", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) UpdateNodeUp(ctx context.Context, in *UpdateNodeUpRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { out := new(RPCSuccess) err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeUp", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) DownloadNodeInstallationFile(ctx context.Context, in *DownloadNodeInstallationFileRequest, opts ...grpc.CallOption) (*DownloadNodeInstallationFileResponse, error) { out := new(DownloadNodeInstallationFileResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/downloadNodeInstallationFile", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) UpdateNodeSystem(ctx context.Context, in *UpdateNodeSystemRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { out := new(RPCSuccess) err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeSystem", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) UpdateNodeCache(ctx context.Context, in *UpdateNodeCacheRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { out := new(RPCSuccess) err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeCache", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nodeServiceClient) FindNodeLevelInfo(ctx context.Context, in *FindNodeLevelInfoRequest, opts ...grpc.CallOption) (*FindNodeLevelInfoResponse, error) { out := new(FindNodeLevelInfoResponse) err := c.cc.Invoke(ctx, "/pb.NodeService/findNodeLevelInfo", in, out, opts...) if err != nil { return nil, err } return out, nil } // NodeServiceServer is the server API for NodeService service. type NodeServiceServer interface { // 创建节点 CreateNode(context.Context, *CreateNodeRequest) (*CreateNodeResponse, error) // 注册集群节点 RegisterClusterNode(context.Context, *RegisterClusterNodeRequest) (*RegisterClusterNodeResponse, error) // 所有可用的节点数量 CountAllEnabledNodes(context.Context, *CountAllEnabledNodesRequest) (*RPCCountResponse, error) // 计算匹配的节点数量 CountAllEnabledNodesMatch(context.Context, *CountAllEnabledNodesMatchRequest) (*RPCCountResponse, error) // 列出单页节点 ListEnabledNodesMatch(context.Context, *ListEnabledNodesMatchRequest) (*ListEnabledNodesMatchResponse, error) // 根据集群查找所有节点 FindAllEnabledNodesWithNodeClusterId(context.Context, *FindAllEnabledNodesWithNodeClusterIdRequest) (*FindAllEnabledNodesWithNodeClusterIdResponse, error) // 删除节点 DeleteNode(context.Context, *DeleteNodeRequest) (*RPCSuccess, error) // 从集群中删除节点 DeleteNodeFromNodeCluster(context.Context, *DeleteNodeFromNodeClusterRequest) (*RPCSuccess, error) // 修改节点 UpdateNode(context.Context, *UpdateNodeRequest) (*RPCSuccess, error) // 获取单个节点信息 FindEnabledNode(context.Context, *FindEnabledNodeRequest) (*FindEnabledNodeResponse, error) // 获取单个节点基本信息 FindEnabledBasicNode(context.Context, *FindEnabledBasicNodeRequest) (*FindEnabledBasicNodeResponse, error) // 获取当前节点配置 FindCurrentNodeConfig(context.Context, *FindCurrentNodeConfigRequest) (*FindCurrentNodeConfigResponse, error) // 节点stream NodeStream(NodeService_NodeStreamServer) error // 向节点发送命令 SendCommandToNode(context.Context, *NodeStreamMessage) (*NodeStreamMessage, error) // 更新节点状态 UpdateNodeStatus(context.Context, *UpdateNodeStatusRequest) (*RPCSuccess, error) // 修改节点安装状态 UpdateNodeIsInstalled(context.Context, *UpdateNodeIsInstalledRequest) (*RPCSuccess, error) // 安装节点 InstallNode(context.Context, *InstallNodeRequest) (*InstallNodeResponse, error) // 升级节点 UpgradeNode(context.Context, *UpgradeNodeRequest) (*UpgradeNodeResponse, error) // 启动节点 StartNode(context.Context, *StartNodeRequest) (*StartNodeResponse, error) // 停止节点 StopNode(context.Context, *StopNodeRequest) (*StopNodeResponse, error) // 更改节点连接的API节点信息 UpdateNodeConnectedAPINodes(context.Context, *UpdateNodeConnectedAPINodesRequest) (*RPCSuccess, error) // 计算使用某个认证的节点数量 CountAllEnabledNodesWithNodeGrantId(context.Context, *CountAllEnabledNodesWithNodeGrantIdRequest) (*RPCCountResponse, error) // 查找使用某个认证的所有节点 FindAllEnabledNodesWithNodeGrantId(context.Context, *FindAllEnabledNodesWithNodeGrantIdRequest) (*FindAllEnabledNodesWithNodeGrantIdResponse, error) // 计算没有安装的节点数量 CountAllNotInstalledNodesWithNodeClusterId(context.Context, *CountAllNotInstalledNodesWithNodeClusterIdRequest) (*RPCCountResponse, error) // 列出所有未安装的节点 FindAllNotInstalledNodesWithNodeClusterId(context.Context, *FindAllNotInstalledNodesWithNodeClusterIdRequest) (*FindAllNotInstalledNodesWithNodeClusterIdResponse, error) // 计算需要升级的节点数量 CountAllUpgradeNodesWithNodeClusterId(context.Context, *CountAllUpgradeNodesWithNodeClusterIdRequest) (*RPCCountResponse, error) // 列出所有需要升级的节点 FindAllUpgradeNodesWithNodeClusterId(context.Context, *FindAllUpgradeNodesWithNodeClusterIdRequest) (*FindAllUpgradeNodesWithNodeClusterIdResponse, error) // 读取节点安装状态 FindNodeInstallStatus(context.Context, *FindNodeInstallStatusRequest) (*FindNodeInstallStatusResponse, error) // 修改节点登录信息 UpdateNodeLogin(context.Context, *UpdateNodeLoginRequest) (*RPCSuccess, error) // 计算某个节点分组内的节点数量 CountAllEnabledNodesWithNodeGroupId(context.Context, *CountAllEnabledNodesWithNodeGroupIdRequest) (*RPCCountResponse, error) // 取得某个集群下的所有节点DNS信息 FindAllEnabledNodesDNSWithNodeClusterId(context.Context, *FindAllEnabledNodesDNSWithNodeClusterIdRequest) (*FindAllEnabledNodesDNSWithNodeClusterIdResponse, error) // 查找单个节点的域名解析信息 FindEnabledNodeDNS(context.Context, *FindEnabledNodeDNSRequest) (*FindEnabledNodeDNSResponse, error) // 修改节点的DNS解析信息 UpdateNodeDNS(context.Context, *UpdateNodeDNSRequest) (*RPCSuccess, error) // 计算某个区域下的节点数量 CountAllEnabledNodesWithNodeRegionId(context.Context, *CountAllEnabledNodesWithNodeRegionIdRequest) (*RPCCountResponse, error) // 根据一组ID获取节点信息 FindEnabledNodesWithIds(context.Context, *FindEnabledNodesWithIdsRequest) (*FindEnabledNodesWithIdsResponse, error) // 检查新版本 CheckNodeLatestVersion(context.Context, *CheckNodeLatestVersionRequest) (*CheckNodeLatestVersionResponse, error) // 设置节点上线状态 UpdateNodeUp(context.Context, *UpdateNodeUpRequest) (*RPCSuccess, error) // 下载最新边缘节点安装文件 DownloadNodeInstallationFile(context.Context, *DownloadNodeInstallationFileRequest) (*DownloadNodeInstallationFileResponse, error) // 修改节点系统信息 UpdateNodeSystem(context.Context, *UpdateNodeSystemRequest) (*RPCSuccess, error) // 修改节点缓存设置 UpdateNodeCache(context.Context, *UpdateNodeCacheRequest) (*RPCSuccess, error) // 读取节点级别信息 FindNodeLevelInfo(context.Context, *FindNodeLevelInfoRequest) (*FindNodeLevelInfoResponse, error) } // UnimplementedNodeServiceServer can be embedded to have forward compatible implementations. 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) (*RPCCountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodes not implemented") } func (*UnimplementedNodeServiceServer) CountAllEnabledNodesMatch(context.Context, *CountAllEnabledNodesMatchRequest) (*RPCCountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodesMatch not implemented") } func (*UnimplementedNodeServiceServer) ListEnabledNodesMatch(context.Context, *ListEnabledNodesMatchRequest) (*ListEnabledNodesMatchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListEnabledNodesMatch not implemented") } func (*UnimplementedNodeServiceServer) FindAllEnabledNodesWithNodeClusterId(context.Context, *FindAllEnabledNodesWithNodeClusterIdRequest) (*FindAllEnabledNodesWithNodeClusterIdResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledNodesWithNodeClusterId not implemented") } func (*UnimplementedNodeServiceServer) DeleteNode(context.Context, *DeleteNodeRequest) (*RPCSuccess, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteNode not implemented") } func (*UnimplementedNodeServiceServer) DeleteNodeFromNodeCluster(context.Context, *DeleteNodeFromNodeClusterRequest) (*RPCSuccess, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteNodeFromNodeCluster not implemented") } func (*UnimplementedNodeServiceServer) UpdateNode(context.Context, *UpdateNodeRequest) (*RPCSuccess, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateNode not implemented") } func (*UnimplementedNodeServiceServer) FindEnabledNode(context.Context, *FindEnabledNodeRequest) (*FindEnabledNodeResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindEnabledNode not implemented") } func (*UnimplementedNodeServiceServer) FindEnabledBasicNode(context.Context, *FindEnabledBasicNodeRequest) (*FindEnabledBasicNodeResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindEnabledBasicNode not implemented") } func (*UnimplementedNodeServiceServer) FindCurrentNodeConfig(context.Context, *FindCurrentNodeConfigRequest) (*FindCurrentNodeConfigResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindCurrentNodeConfig not implemented") } func (*UnimplementedNodeServiceServer) NodeStream(NodeService_NodeStreamServer) error { return status.Errorf(codes.Unimplemented, "method NodeStream not implemented") } func (*UnimplementedNodeServiceServer) SendCommandToNode(context.Context, *NodeStreamMessage) (*NodeStreamMessage, error) { return nil, status.Errorf(codes.Unimplemented, "method SendCommandToNode not implemented") } func (*UnimplementedNodeServiceServer) UpdateNodeStatus(context.Context, *UpdateNodeStatusRequest) (*RPCSuccess, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeStatus not implemented") } func (*UnimplementedNodeServiceServer) UpdateNodeIsInstalled(context.Context, *UpdateNodeIsInstalledRequest) (*RPCSuccess, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeIsInstalled not implemented") } func (*UnimplementedNodeServiceServer) InstallNode(context.Context, *InstallNodeRequest) (*InstallNodeResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method InstallNode not implemented") } func (*UnimplementedNodeServiceServer) UpgradeNode(context.Context, *UpgradeNodeRequest) (*UpgradeNodeResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpgradeNode not implemented") } func (*UnimplementedNodeServiceServer) StartNode(context.Context, *StartNodeRequest) (*StartNodeResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method StartNode not implemented") } func (*UnimplementedNodeServiceServer) StopNode(context.Context, *StopNodeRequest) (*StopNodeResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method StopNode not implemented") } func (*UnimplementedNodeServiceServer) UpdateNodeConnectedAPINodes(context.Context, *UpdateNodeConnectedAPINodesRequest) (*RPCSuccess, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeConnectedAPINodes not implemented") } func (*UnimplementedNodeServiceServer) CountAllEnabledNodesWithNodeGrantId(context.Context, *CountAllEnabledNodesWithNodeGrantIdRequest) (*RPCCountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodesWithNodeGrantId not implemented") } func (*UnimplementedNodeServiceServer) FindAllEnabledNodesWithNodeGrantId(context.Context, *FindAllEnabledNodesWithNodeGrantIdRequest) (*FindAllEnabledNodesWithNodeGrantIdResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledNodesWithNodeGrantId not implemented") } func (*UnimplementedNodeServiceServer) CountAllNotInstalledNodesWithNodeClusterId(context.Context, *CountAllNotInstalledNodesWithNodeClusterIdRequest) (*RPCCountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CountAllNotInstalledNodesWithNodeClusterId not implemented") } func (*UnimplementedNodeServiceServer) FindAllNotInstalledNodesWithNodeClusterId(context.Context, *FindAllNotInstalledNodesWithNodeClusterIdRequest) (*FindAllNotInstalledNodesWithNodeClusterIdResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindAllNotInstalledNodesWithNodeClusterId not implemented") } func (*UnimplementedNodeServiceServer) CountAllUpgradeNodesWithNodeClusterId(context.Context, *CountAllUpgradeNodesWithNodeClusterIdRequest) (*RPCCountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CountAllUpgradeNodesWithNodeClusterId not implemented") } func (*UnimplementedNodeServiceServer) FindAllUpgradeNodesWithNodeClusterId(context.Context, *FindAllUpgradeNodesWithNodeClusterIdRequest) (*FindAllUpgradeNodesWithNodeClusterIdResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindAllUpgradeNodesWithNodeClusterId not implemented") } func (*UnimplementedNodeServiceServer) FindNodeInstallStatus(context.Context, *FindNodeInstallStatusRequest) (*FindNodeInstallStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindNodeInstallStatus not implemented") } func (*UnimplementedNodeServiceServer) UpdateNodeLogin(context.Context, *UpdateNodeLoginRequest) (*RPCSuccess, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeLogin not implemented") } func (*UnimplementedNodeServiceServer) CountAllEnabledNodesWithNodeGroupId(context.Context, *CountAllEnabledNodesWithNodeGroupIdRequest) (*RPCCountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodesWithNodeGroupId not implemented") } func (*UnimplementedNodeServiceServer) FindAllEnabledNodesDNSWithNodeClusterId(context.Context, *FindAllEnabledNodesDNSWithNodeClusterIdRequest) (*FindAllEnabledNodesDNSWithNodeClusterIdResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledNodesDNSWithNodeClusterId not implemented") } func (*UnimplementedNodeServiceServer) FindEnabledNodeDNS(context.Context, *FindEnabledNodeDNSRequest) (*FindEnabledNodeDNSResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindEnabledNodeDNS not implemented") } func (*UnimplementedNodeServiceServer) UpdateNodeDNS(context.Context, *UpdateNodeDNSRequest) (*RPCSuccess, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeDNS not implemented") } func (*UnimplementedNodeServiceServer) CountAllEnabledNodesWithNodeRegionId(context.Context, *CountAllEnabledNodesWithNodeRegionIdRequest) (*RPCCountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodesWithNodeRegionId not implemented") } func (*UnimplementedNodeServiceServer) FindEnabledNodesWithIds(context.Context, *FindEnabledNodesWithIdsRequest) (*FindEnabledNodesWithIdsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindEnabledNodesWithIds not implemented") } func (*UnimplementedNodeServiceServer) CheckNodeLatestVersion(context.Context, *CheckNodeLatestVersionRequest) (*CheckNodeLatestVersionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CheckNodeLatestVersion not implemented") } func (*UnimplementedNodeServiceServer) UpdateNodeUp(context.Context, *UpdateNodeUpRequest) (*RPCSuccess, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeUp not implemented") } func (*UnimplementedNodeServiceServer) DownloadNodeInstallationFile(context.Context, *DownloadNodeInstallationFileRequest) (*DownloadNodeInstallationFileResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DownloadNodeInstallationFile not implemented") } func (*UnimplementedNodeServiceServer) UpdateNodeSystem(context.Context, *UpdateNodeSystemRequest) (*RPCSuccess, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeSystem not implemented") } func (*UnimplementedNodeServiceServer) UpdateNodeCache(context.Context, *UpdateNodeCacheRequest) (*RPCSuccess, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeCache not implemented") } func (*UnimplementedNodeServiceServer) FindNodeLevelInfo(context.Context, *FindNodeLevelInfoRequest) (*FindNodeLevelInfoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindNodeLevelInfo not implemented") } func RegisterNodeServiceServer(s *grpc.Server, srv NodeServiceServer) { s.RegisterService(&_NodeService_serviceDesc, srv) } func _NodeService_CreateNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CreateNodeRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).CreateNode(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/CreateNode", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).CreateNode(ctx, req.(*CreateNodeRequest)) } 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 { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).CountAllEnabledNodes(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/CountAllEnabledNodes", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).CountAllEnabledNodes(ctx, req.(*CountAllEnabledNodesRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_CountAllEnabledNodesMatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CountAllEnabledNodesMatchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).CountAllEnabledNodesMatch(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/CountAllEnabledNodesMatch", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).CountAllEnabledNodesMatch(ctx, req.(*CountAllEnabledNodesMatchRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_ListEnabledNodesMatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListEnabledNodesMatchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).ListEnabledNodesMatch(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/ListEnabledNodesMatch", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).ListEnabledNodesMatch(ctx, req.(*ListEnabledNodesMatchRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_FindAllEnabledNodesWithNodeClusterId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FindAllEnabledNodesWithNodeClusterIdRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).FindAllEnabledNodesWithNodeClusterId(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/FindAllEnabledNodesWithNodeClusterId", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).FindAllEnabledNodesWithNodeClusterId(ctx, req.(*FindAllEnabledNodesWithNodeClusterIdRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_DeleteNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DeleteNodeRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).DeleteNode(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/DeleteNode", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).DeleteNode(ctx, req.(*DeleteNodeRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_DeleteNodeFromNodeCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DeleteNodeFromNodeClusterRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).DeleteNodeFromNodeCluster(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/DeleteNodeFromNodeCluster", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).DeleteNodeFromNodeCluster(ctx, req.(*DeleteNodeFromNodeClusterRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_UpdateNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateNodeRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).UpdateNode(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/UpdateNode", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).UpdateNode(ctx, req.(*UpdateNodeRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_FindEnabledNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FindEnabledNodeRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).FindEnabledNode(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/FindEnabledNode", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).FindEnabledNode(ctx, req.(*FindEnabledNodeRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_FindEnabledBasicNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FindEnabledBasicNodeRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).FindEnabledBasicNode(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/FindEnabledBasicNode", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).FindEnabledBasicNode(ctx, req.(*FindEnabledBasicNodeRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_FindCurrentNodeConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FindCurrentNodeConfigRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).FindCurrentNodeConfig(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/FindCurrentNodeConfig", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).FindCurrentNodeConfig(ctx, req.(*FindCurrentNodeConfigRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_NodeStream_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(NodeServiceServer).NodeStream(&nodeServiceNodeStreamServer{stream}) } type NodeService_NodeStreamServer interface { Send(*NodeStreamMessage) error Recv() (*NodeStreamMessage, error) grpc.ServerStream } type nodeServiceNodeStreamServer struct { grpc.ServerStream } func (x *nodeServiceNodeStreamServer) Send(m *NodeStreamMessage) error { return x.ServerStream.SendMsg(m) } func (x *nodeServiceNodeStreamServer) Recv() (*NodeStreamMessage, error) { m := new(NodeStreamMessage) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _NodeService_SendCommandToNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(NodeStreamMessage) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).SendCommandToNode(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/SendCommandToNode", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).SendCommandToNode(ctx, req.(*NodeStreamMessage)) } return interceptor(ctx, in, info, handler) } func _NodeService_UpdateNodeStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateNodeStatusRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).UpdateNodeStatus(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/UpdateNodeStatus", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).UpdateNodeStatus(ctx, req.(*UpdateNodeStatusRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_UpdateNodeIsInstalled_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateNodeIsInstalledRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).UpdateNodeIsInstalled(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/UpdateNodeIsInstalled", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).UpdateNodeIsInstalled(ctx, req.(*UpdateNodeIsInstalledRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_InstallNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(InstallNodeRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).InstallNode(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/InstallNode", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).InstallNode(ctx, req.(*InstallNodeRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_UpgradeNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpgradeNodeRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).UpgradeNode(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/UpgradeNode", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).UpgradeNode(ctx, req.(*UpgradeNodeRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_StartNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(StartNodeRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).StartNode(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/StartNode", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).StartNode(ctx, req.(*StartNodeRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_StopNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(StopNodeRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).StopNode(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/StopNode", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).StopNode(ctx, req.(*StopNodeRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_UpdateNodeConnectedAPINodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateNodeConnectedAPINodesRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).UpdateNodeConnectedAPINodes(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/UpdateNodeConnectedAPINodes", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).UpdateNodeConnectedAPINodes(ctx, req.(*UpdateNodeConnectedAPINodesRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_CountAllEnabledNodesWithNodeGrantId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CountAllEnabledNodesWithNodeGrantIdRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).CountAllEnabledNodesWithNodeGrantId(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/CountAllEnabledNodesWithNodeGrantId", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).CountAllEnabledNodesWithNodeGrantId(ctx, req.(*CountAllEnabledNodesWithNodeGrantIdRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_FindAllEnabledNodesWithNodeGrantId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FindAllEnabledNodesWithNodeGrantIdRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).FindAllEnabledNodesWithNodeGrantId(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/FindAllEnabledNodesWithNodeGrantId", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).FindAllEnabledNodesWithNodeGrantId(ctx, req.(*FindAllEnabledNodesWithNodeGrantIdRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_CountAllNotInstalledNodesWithNodeClusterId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CountAllNotInstalledNodesWithNodeClusterIdRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).CountAllNotInstalledNodesWithNodeClusterId(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/CountAllNotInstalledNodesWithNodeClusterId", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).CountAllNotInstalledNodesWithNodeClusterId(ctx, req.(*CountAllNotInstalledNodesWithNodeClusterIdRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_FindAllNotInstalledNodesWithNodeClusterId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FindAllNotInstalledNodesWithNodeClusterIdRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).FindAllNotInstalledNodesWithNodeClusterId(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/FindAllNotInstalledNodesWithNodeClusterId", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).FindAllNotInstalledNodesWithNodeClusterId(ctx, req.(*FindAllNotInstalledNodesWithNodeClusterIdRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_CountAllUpgradeNodesWithNodeClusterId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CountAllUpgradeNodesWithNodeClusterIdRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).CountAllUpgradeNodesWithNodeClusterId(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/CountAllUpgradeNodesWithNodeClusterId", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).CountAllUpgradeNodesWithNodeClusterId(ctx, req.(*CountAllUpgradeNodesWithNodeClusterIdRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_FindAllUpgradeNodesWithNodeClusterId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FindAllUpgradeNodesWithNodeClusterIdRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).FindAllUpgradeNodesWithNodeClusterId(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/FindAllUpgradeNodesWithNodeClusterId", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).FindAllUpgradeNodesWithNodeClusterId(ctx, req.(*FindAllUpgradeNodesWithNodeClusterIdRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_FindNodeInstallStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FindNodeInstallStatusRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).FindNodeInstallStatus(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/FindNodeInstallStatus", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).FindNodeInstallStatus(ctx, req.(*FindNodeInstallStatusRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_UpdateNodeLogin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateNodeLoginRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).UpdateNodeLogin(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/UpdateNodeLogin", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).UpdateNodeLogin(ctx, req.(*UpdateNodeLoginRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_CountAllEnabledNodesWithNodeGroupId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CountAllEnabledNodesWithNodeGroupIdRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).CountAllEnabledNodesWithNodeGroupId(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/CountAllEnabledNodesWithNodeGroupId", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).CountAllEnabledNodesWithNodeGroupId(ctx, req.(*CountAllEnabledNodesWithNodeGroupIdRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_FindAllEnabledNodesDNSWithNodeClusterId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FindAllEnabledNodesDNSWithNodeClusterIdRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).FindAllEnabledNodesDNSWithNodeClusterId(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/FindAllEnabledNodesDNSWithNodeClusterId", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).FindAllEnabledNodesDNSWithNodeClusterId(ctx, req.(*FindAllEnabledNodesDNSWithNodeClusterIdRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_FindEnabledNodeDNS_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FindEnabledNodeDNSRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).FindEnabledNodeDNS(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/FindEnabledNodeDNS", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).FindEnabledNodeDNS(ctx, req.(*FindEnabledNodeDNSRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_UpdateNodeDNS_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateNodeDNSRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).UpdateNodeDNS(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/UpdateNodeDNS", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).UpdateNodeDNS(ctx, req.(*UpdateNodeDNSRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_CountAllEnabledNodesWithNodeRegionId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CountAllEnabledNodesWithNodeRegionIdRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).CountAllEnabledNodesWithNodeRegionId(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/CountAllEnabledNodesWithNodeRegionId", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).CountAllEnabledNodesWithNodeRegionId(ctx, req.(*CountAllEnabledNodesWithNodeRegionIdRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_FindEnabledNodesWithIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FindEnabledNodesWithIdsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).FindEnabledNodesWithIds(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/FindEnabledNodesWithIds", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).FindEnabledNodesWithIds(ctx, req.(*FindEnabledNodesWithIdsRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_CheckNodeLatestVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CheckNodeLatestVersionRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).CheckNodeLatestVersion(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/CheckNodeLatestVersion", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).CheckNodeLatestVersion(ctx, req.(*CheckNodeLatestVersionRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_UpdateNodeUp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateNodeUpRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).UpdateNodeUp(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/UpdateNodeUp", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).UpdateNodeUp(ctx, req.(*UpdateNodeUpRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_DownloadNodeInstallationFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DownloadNodeInstallationFileRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).DownloadNodeInstallationFile(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/DownloadNodeInstallationFile", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).DownloadNodeInstallationFile(ctx, req.(*DownloadNodeInstallationFileRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_UpdateNodeSystem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateNodeSystemRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).UpdateNodeSystem(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/UpdateNodeSystem", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).UpdateNodeSystem(ctx, req.(*UpdateNodeSystemRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_UpdateNodeCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateNodeCacheRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).UpdateNodeCache(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/UpdateNodeCache", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).UpdateNodeCache(ctx, req.(*UpdateNodeCacheRequest)) } return interceptor(ctx, in, info, handler) } func _NodeService_FindNodeLevelInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FindNodeLevelInfoRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NodeServiceServer).FindNodeLevelInfo(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/pb.NodeService/FindNodeLevelInfo", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServiceServer).FindNodeLevelInfo(ctx, req.(*FindNodeLevelInfoRequest)) } return interceptor(ctx, in, info, handler) } var _NodeService_serviceDesc = grpc.ServiceDesc{ ServiceName: "pb.NodeService", HandlerType: (*NodeServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "createNode", Handler: _NodeService_CreateNode_Handler, }, { MethodName: "registerClusterNode", Handler: _NodeService_RegisterClusterNode_Handler, }, { MethodName: "countAllEnabledNodes", Handler: _NodeService_CountAllEnabledNodes_Handler, }, { MethodName: "countAllEnabledNodesMatch", Handler: _NodeService_CountAllEnabledNodesMatch_Handler, }, { MethodName: "listEnabledNodesMatch", Handler: _NodeService_ListEnabledNodesMatch_Handler, }, { MethodName: "findAllEnabledNodesWithNodeClusterId", Handler: _NodeService_FindAllEnabledNodesWithNodeClusterId_Handler, }, { MethodName: "deleteNode", Handler: _NodeService_DeleteNode_Handler, }, { MethodName: "deleteNodeFromNodeCluster", Handler: _NodeService_DeleteNodeFromNodeCluster_Handler, }, { MethodName: "updateNode", Handler: _NodeService_UpdateNode_Handler, }, { MethodName: "findEnabledNode", Handler: _NodeService_FindEnabledNode_Handler, }, { MethodName: "findEnabledBasicNode", Handler: _NodeService_FindEnabledBasicNode_Handler, }, { MethodName: "findCurrentNodeConfig", Handler: _NodeService_FindCurrentNodeConfig_Handler, }, { MethodName: "sendCommandToNode", Handler: _NodeService_SendCommandToNode_Handler, }, { MethodName: "updateNodeStatus", Handler: _NodeService_UpdateNodeStatus_Handler, }, { MethodName: "updateNodeIsInstalled", Handler: _NodeService_UpdateNodeIsInstalled_Handler, }, { MethodName: "installNode", Handler: _NodeService_InstallNode_Handler, }, { MethodName: "upgradeNode", Handler: _NodeService_UpgradeNode_Handler, }, { MethodName: "startNode", Handler: _NodeService_StartNode_Handler, }, { MethodName: "stopNode", Handler: _NodeService_StopNode_Handler, }, { MethodName: "updateNodeConnectedAPINodes", Handler: _NodeService_UpdateNodeConnectedAPINodes_Handler, }, { MethodName: "countAllEnabledNodesWithNodeGrantId", Handler: _NodeService_CountAllEnabledNodesWithNodeGrantId_Handler, }, { MethodName: "findAllEnabledNodesWithNodeGrantId", Handler: _NodeService_FindAllEnabledNodesWithNodeGrantId_Handler, }, { MethodName: "countAllNotInstalledNodesWithNodeClusterId", Handler: _NodeService_CountAllNotInstalledNodesWithNodeClusterId_Handler, }, { MethodName: "findAllNotInstalledNodesWithNodeClusterId", Handler: _NodeService_FindAllNotInstalledNodesWithNodeClusterId_Handler, }, { MethodName: "countAllUpgradeNodesWithNodeClusterId", Handler: _NodeService_CountAllUpgradeNodesWithNodeClusterId_Handler, }, { MethodName: "findAllUpgradeNodesWithNodeClusterId", Handler: _NodeService_FindAllUpgradeNodesWithNodeClusterId_Handler, }, { MethodName: "findNodeInstallStatus", Handler: _NodeService_FindNodeInstallStatus_Handler, }, { MethodName: "updateNodeLogin", Handler: _NodeService_UpdateNodeLogin_Handler, }, { MethodName: "countAllEnabledNodesWithNodeGroupId", Handler: _NodeService_CountAllEnabledNodesWithNodeGroupId_Handler, }, { MethodName: "findAllEnabledNodesDNSWithNodeClusterId", Handler: _NodeService_FindAllEnabledNodesDNSWithNodeClusterId_Handler, }, { MethodName: "findEnabledNodeDNS", Handler: _NodeService_FindEnabledNodeDNS_Handler, }, { MethodName: "updateNodeDNS", Handler: _NodeService_UpdateNodeDNS_Handler, }, { MethodName: "countAllEnabledNodesWithNodeRegionId", Handler: _NodeService_CountAllEnabledNodesWithNodeRegionId_Handler, }, { MethodName: "findEnabledNodesWithIds", Handler: _NodeService_FindEnabledNodesWithIds_Handler, }, { MethodName: "checkNodeLatestVersion", Handler: _NodeService_CheckNodeLatestVersion_Handler, }, { MethodName: "updateNodeUp", Handler: _NodeService_UpdateNodeUp_Handler, }, { MethodName: "downloadNodeInstallationFile", Handler: _NodeService_DownloadNodeInstallationFile_Handler, }, { MethodName: "updateNodeSystem", Handler: _NodeService_UpdateNodeSystem_Handler, }, { MethodName: "updateNodeCache", Handler: _NodeService_UpdateNodeCache_Handler, }, { MethodName: "findNodeLevelInfo", Handler: _NodeService_FindNodeLevelInfo_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "nodeStream", Handler: _NodeService_NodeStream_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "service_node.proto", }