// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.25.0
// 	protoc        v3.12.3
// 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"`
	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"`
}

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) 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
}

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"`
}

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
}

// 获取单个节点信息
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"`
}

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
}

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"`
}

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
}

// 节点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"`
}

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
}

// 修改节点安装状态
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"`
}

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
}

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[60]
		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[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 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, 0x9e, 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, 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, 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, 0xf9, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x12,
	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x12, 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, 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, 0x38, 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, 0x22, 0x59, 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, 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, 0xee, 0x01, 0x0a, 0x20,
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 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, 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, 0xc0, 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, 0x32, 0xe2, 0x1b, 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, 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, 61)
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
	(*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade)(nil), // 60: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade
	(*NodeLogin)(nil),                                                // 61: pb.NodeLogin
	(*Node)(nil),                                                     // 62: pb.Node
	(*BasicNode)(nil),                                                // 63: pb.BasicNode
	(*NodeInstallStatus)(nil),                                        // 64: pb.NodeInstallStatus
	(*DNSRoute)(nil),                                                 // 65: pb.DNSRoute
	(*SizeCapacity)(nil),                                             // 66: pb.SizeCapacity
	(*RPCCountResponse)(nil),                                         // 67: pb.RPCCountResponse
	(*RPCSuccess)(nil),                                               // 68: pb.RPCSuccess
}
var file_service_node_proto_depIdxs = []int32{
	61, // 0: pb.CreateNodeRequest.nodeLogin:type_name -> pb.NodeLogin
	62, // 1: pb.ListEnabledNodesMatchResponse.nodes:type_name -> pb.Node
	62, // 2: pb.FindAllEnabledNodesWithNodeClusterIdResponse.nodes:type_name -> pb.Node
	62, // 3: pb.FindEnabledNodeResponse.node:type_name -> pb.Node
	63, // 4: pb.FindEnabledBasicNodeResponse.node:type_name -> pb.BasicNode
	62, // 5: pb.FindAllEnabledNodesWithNodeGrantIdResponse.nodes:type_name -> pb.Node
	62, // 6: pb.FindAllNotInstalledNodesWithNodeClusterIdResponse.nodes:type_name -> pb.Node
	60, // 7: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.nodes:type_name -> pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade
	64, // 8: pb.FindNodeInstallStatusResponse.installStatus:type_name -> pb.NodeInstallStatus
	61, // 9: pb.UpdateNodeLoginRequest.nodeLogin:type_name -> pb.NodeLogin
	46, // 10: pb.FindAllEnabledNodesDNSWithNodeClusterIdResponse.nodes:type_name -> pb.NodeDNSInfo
	65, // 11: pb.NodeDNSInfo.routes:type_name -> pb.DNSRoute
	46, // 12: pb.FindEnabledNodeDNSResponse.node:type_name -> pb.NodeDNSInfo
	62, // 13: pb.FindEnabledNodesWithIdsResponse.nodes:type_name -> pb.Node
	66, // 14: pb.UpdateNodeCacheRequest.maxCacheDiskCapacity:type_name -> pb.SizeCapacity
	66, // 15: pb.UpdateNodeCacheRequest.maxCacheMemoryCapacity:type_name -> pb.SizeCapacity
	62, // 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
	1,  // 57: pb.NodeService.createNode:output_type -> pb.CreateNodeResponse
	3,  // 58: pb.NodeService.registerClusterNode:output_type -> pb.RegisterClusterNodeResponse
	67, // 59: pb.NodeService.countAllEnabledNodes:output_type -> pb.RPCCountResponse
	67, // 60: pb.NodeService.countAllEnabledNodesMatch:output_type -> pb.RPCCountResponse
	6,  // 61: pb.NodeService.listEnabledNodesMatch:output_type -> pb.ListEnabledNodesMatchResponse
	8,  // 62: pb.NodeService.findAllEnabledNodesWithNodeClusterId:output_type -> pb.FindAllEnabledNodesWithNodeClusterIdResponse
	68, // 63: pb.NodeService.deleteNode:output_type -> pb.RPCSuccess
	68, // 64: pb.NodeService.deleteNodeFromNodeCluster:output_type -> pb.RPCSuccess
	68, // 65: pb.NodeService.updateNode:output_type -> pb.RPCSuccess
	13, // 66: pb.NodeService.findEnabledNode:output_type -> pb.FindEnabledNodeResponse
	15, // 67: pb.NodeService.findEnabledBasicNode:output_type -> pb.FindEnabledBasicNodeResponse
	17, // 68: pb.NodeService.findCurrentNodeConfig:output_type -> pb.FindCurrentNodeConfigResponse
	18, // 69: pb.NodeService.nodeStream:output_type -> pb.NodeStreamMessage
	18, // 70: pb.NodeService.sendCommandToNode:output_type -> pb.NodeStreamMessage
	68, // 71: pb.NodeService.updateNodeStatus:output_type -> pb.RPCSuccess
	68, // 72: pb.NodeService.updateNodeIsInstalled:output_type -> pb.RPCSuccess
	23, // 73: pb.NodeService.installNode:output_type -> pb.InstallNodeResponse
	25, // 74: pb.NodeService.upgradeNode:output_type -> pb.UpgradeNodeResponse
	27, // 75: pb.NodeService.startNode:output_type -> pb.StartNodeResponse
	29, // 76: pb.NodeService.stopNode:output_type -> pb.StopNodeResponse
	68, // 77: pb.NodeService.updateNodeConnectedAPINodes:output_type -> pb.RPCSuccess
	67, // 78: pb.NodeService.countAllEnabledNodesWithNodeGrantId:output_type -> pb.RPCCountResponse
	33, // 79: pb.NodeService.findAllEnabledNodesWithNodeGrantId:output_type -> pb.FindAllEnabledNodesWithNodeGrantIdResponse
	67, // 80: pb.NodeService.countAllNotInstalledNodesWithNodeClusterId:output_type -> pb.RPCCountResponse
	35, // 81: pb.NodeService.findAllNotInstalledNodesWithNodeClusterId:output_type -> pb.FindAllNotInstalledNodesWithNodeClusterIdResponse
	67, // 82: pb.NodeService.countAllUpgradeNodesWithNodeClusterId:output_type -> pb.RPCCountResponse
	39, // 83: pb.NodeService.findAllUpgradeNodesWithNodeClusterId:output_type -> pb.FindAllUpgradeNodesWithNodeClusterIdResponse
	41, // 84: pb.NodeService.findNodeInstallStatus:output_type -> pb.FindNodeInstallStatusResponse
	68, // 85: pb.NodeService.updateNodeLogin:output_type -> pb.RPCSuccess
	67, // 86: pb.NodeService.countAllEnabledNodesWithNodeGroupId:output_type -> pb.RPCCountResponse
	45, // 87: pb.NodeService.findAllEnabledNodesDNSWithNodeClusterId:output_type -> pb.FindAllEnabledNodesDNSWithNodeClusterIdResponse
	48, // 88: pb.NodeService.findEnabledNodeDNS:output_type -> pb.FindEnabledNodeDNSResponse
	68, // 89: pb.NodeService.updateNodeDNS:output_type -> pb.RPCSuccess
	67, // 90: pb.NodeService.countAllEnabledNodesWithNodeRegionId:output_type -> pb.RPCCountResponse
	52, // 91: pb.NodeService.findEnabledNodesWithIds:output_type -> pb.FindEnabledNodesWithIdsResponse
	54, // 92: pb.NodeService.checkNodeLatestVersion:output_type -> pb.CheckNodeLatestVersionResponse
	68, // 93: pb.NodeService.updateNodeUp:output_type -> pb.RPCSuccess
	57, // 94: pb.NodeService.downloadNodeInstallationFile:output_type -> pb.DownloadNodeInstallationFileResponse
	68, // 95: pb.NodeService.updateNodeSystem:output_type -> pb.RPCSuccess
	68, // 96: pb.NodeService.updateNodeCache:output_type -> pb.RPCSuccess
	57, // [57:97] is the sub-list for method output_type
	17, // [17:57] 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.(*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:   61,
			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)
}

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
}

// 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)
}

// 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 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)
}

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,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "nodeStream",
			Handler:       _NodeService_NodeStream_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "service_node.proto",
}
