// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.25.0
// 	protoc        v3.12.3
// source: service_ns_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 FindAllEnabledNSNodesWithNSClusterIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsClusterId int64 `protobuf:"varint,1,opt,name=nsClusterId,proto3" json:"nsClusterId,omitempty"`
}

func (x *FindAllEnabledNSNodesWithNSClusterIdRequest) Reset() {
	*x = FindAllEnabledNSNodesWithNSClusterIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindAllEnabledNSNodesWithNSClusterIdRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindAllEnabledNSNodesWithNSClusterIdRequest) ProtoMessage() {}

func (x *FindAllEnabledNSNodesWithNSClusterIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 FindAllEnabledNSNodesWithNSClusterIdRequest.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNSNodesWithNSClusterIdRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{0}
}

func (x *FindAllEnabledNSNodesWithNSClusterIdRequest) GetNsClusterId() int64 {
	if x != nil {
		return x.NsClusterId
	}
	return 0
}

type FindAllEnabledNSNodesWithNSClusterIdResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsNodes []*NSNode `protobuf:"bytes,1,rep,name=nsNodes,proto3" json:"nsNodes,omitempty"`
}

func (x *FindAllEnabledNSNodesWithNSClusterIdResponse) Reset() {
	*x = FindAllEnabledNSNodesWithNSClusterIdResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindAllEnabledNSNodesWithNSClusterIdResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindAllEnabledNSNodesWithNSClusterIdResponse) ProtoMessage() {}

func (x *FindAllEnabledNSNodesWithNSClusterIdResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 FindAllEnabledNSNodesWithNSClusterIdResponse.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNSNodesWithNSClusterIdResponse) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{1}
}

func (x *FindAllEnabledNSNodesWithNSClusterIdResponse) GetNsNodes() []*NSNode {
	if x != nil {
		return x.NsNodes
	}
	return nil
}

// 所有可用的节点数量
type CountAllEnabledNSNodesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *CountAllEnabledNSNodesRequest) Reset() {
	*x = CountAllEnabledNSNodesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CountAllEnabledNSNodesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CountAllEnabledNSNodesRequest) ProtoMessage() {}

func (x *CountAllEnabledNSNodesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 CountAllEnabledNSNodesRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledNSNodesRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{2}
}

// 计算匹配的节点数量
type CountAllEnabledNSNodesMatchRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsClusterId  int64  `protobuf:"varint,1,opt,name=nsClusterId,proto3" json:"nsClusterId,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"`
}

func (x *CountAllEnabledNSNodesMatchRequest) Reset() {
	*x = CountAllEnabledNSNodesMatchRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CountAllEnabledNSNodesMatchRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CountAllEnabledNSNodesMatchRequest) ProtoMessage() {}

func (x *CountAllEnabledNSNodesMatchRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 CountAllEnabledNSNodesMatchRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledNSNodesMatchRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{3}
}

func (x *CountAllEnabledNSNodesMatchRequest) GetNsClusterId() int64 {
	if x != nil {
		return x.NsClusterId
	}
	return 0
}

func (x *CountAllEnabledNSNodesMatchRequest) GetInstallState() int32 {
	if x != nil {
		return x.InstallState
	}
	return 0
}

func (x *CountAllEnabledNSNodesMatchRequest) GetActiveState() int32 {
	if x != nil {
		return x.ActiveState
	}
	return 0
}

func (x *CountAllEnabledNSNodesMatchRequest) GetKeyword() string {
	if x != nil {
		return x.Keyword
	}
	return ""
}

// 列出单页节点
type ListEnabledNSNodesMatchRequest 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"`
	NsClusterId  int64  `protobuf:"varint,3,opt,name=nsClusterId,proto3" json:"nsClusterId,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"`
}

func (x *ListEnabledNSNodesMatchRequest) Reset() {
	*x = ListEnabledNSNodesMatchRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListEnabledNSNodesMatchRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListEnabledNSNodesMatchRequest) ProtoMessage() {}

func (x *ListEnabledNSNodesMatchRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 ListEnabledNSNodesMatchRequest.ProtoReflect.Descriptor instead.
func (*ListEnabledNSNodesMatchRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{4}
}

func (x *ListEnabledNSNodesMatchRequest) GetOffset() int64 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *ListEnabledNSNodesMatchRequest) GetSize() int64 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *ListEnabledNSNodesMatchRequest) GetNsClusterId() int64 {
	if x != nil {
		return x.NsClusterId
	}
	return 0
}

func (x *ListEnabledNSNodesMatchRequest) GetInstallState() int32 {
	if x != nil {
		return x.InstallState
	}
	return 0
}

func (x *ListEnabledNSNodesMatchRequest) GetActiveState() int32 {
	if x != nil {
		return x.ActiveState
	}
	return 0
}

func (x *ListEnabledNSNodesMatchRequest) GetKeyword() string {
	if x != nil {
		return x.Keyword
	}
	return ""
}

type ListEnabledNSNodesMatchResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsNodes []*NSNode `protobuf:"bytes,1,rep,name=nsNodes,proto3" json:"nsNodes,omitempty"`
}

func (x *ListEnabledNSNodesMatchResponse) Reset() {
	*x = ListEnabledNSNodesMatchResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListEnabledNSNodesMatchResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListEnabledNSNodesMatchResponse) ProtoMessage() {}

func (x *ListEnabledNSNodesMatchResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 ListEnabledNSNodesMatchResponse.ProtoReflect.Descriptor instead.
func (*ListEnabledNSNodesMatchResponse) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{5}
}

func (x *ListEnabledNSNodesMatchResponse) GetNsNodes() []*NSNode {
	if x != nil {
		return x.NsNodes
	}
	return nil
}

// 计算需要升级的节点数量
type CountAllUpgradeNSNodesWithNSClusterIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsClusterId int64 `protobuf:"varint,1,opt,name=nsClusterId,proto3" json:"nsClusterId,omitempty"`
}

func (x *CountAllUpgradeNSNodesWithNSClusterIdRequest) Reset() {
	*x = CountAllUpgradeNSNodesWithNSClusterIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CountAllUpgradeNSNodesWithNSClusterIdRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CountAllUpgradeNSNodesWithNSClusterIdRequest) ProtoMessage() {}

func (x *CountAllUpgradeNSNodesWithNSClusterIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 CountAllUpgradeNSNodesWithNSClusterIdRequest.ProtoReflect.Descriptor instead.
func (*CountAllUpgradeNSNodesWithNSClusterIdRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{6}
}

func (x *CountAllUpgradeNSNodesWithNSClusterIdRequest) GetNsClusterId() int64 {
	if x != nil {
		return x.NsClusterId
	}
	return 0
}

// 创建节点
type CreateNSNodeRequest 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"`
}

func (x *CreateNSNodeRequest) Reset() {
	*x = CreateNSNodeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreateNSNodeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateNSNodeRequest) ProtoMessage() {}

func (x *CreateNSNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 CreateNSNodeRequest.ProtoReflect.Descriptor instead.
func (*CreateNSNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{7}
}

func (x *CreateNSNodeRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *CreateNSNodeRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *CreateNSNodeRequest) GetNodeLogin() *NodeLogin {
	if x != nil {
		return x.NodeLogin
	}
	return nil
}

type CreateNSNodeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsNodeId int64 `protobuf:"varint,1,opt,name=nsNodeId,proto3" json:"nsNodeId,omitempty"`
}

func (x *CreateNSNodeResponse) Reset() {
	*x = CreateNSNodeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreateNSNodeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateNSNodeResponse) ProtoMessage() {}

func (x *CreateNSNodeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 CreateNSNodeResponse.ProtoReflect.Descriptor instead.
func (*CreateNSNodeResponse) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{8}
}

func (x *CreateNSNodeResponse) GetNsNodeId() int64 {
	if x != nil {
		return x.NsNodeId
	}
	return 0
}

// 删除节点
type DeleteNSNodeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsNodeId int64 `protobuf:"varint,1,opt,name=nsNodeId,proto3" json:"nsNodeId,omitempty"`
}

func (x *DeleteNSNodeRequest) Reset() {
	*x = DeleteNSNodeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeleteNSNodeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteNSNodeRequest) ProtoMessage() {}

func (x *DeleteNSNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 DeleteNSNodeRequest.ProtoReflect.Descriptor instead.
func (*DeleteNSNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{9}
}

func (x *DeleteNSNodeRequest) GetNsNodeId() int64 {
	if x != nil {
		return x.NsNodeId
	}
	return 0
}

// 获取单个节点信息
type FindEnabledNSNodeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsNodeId int64 `protobuf:"varint,1,opt,name=nsNodeId,proto3" json:"nsNodeId,omitempty"`
}

func (x *FindEnabledNSNodeRequest) Reset() {
	*x = FindEnabledNSNodeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindEnabledNSNodeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindEnabledNSNodeRequest) ProtoMessage() {}

func (x *FindEnabledNSNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 FindEnabledNSNodeRequest.ProtoReflect.Descriptor instead.
func (*FindEnabledNSNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{10}
}

func (x *FindEnabledNSNodeRequest) GetNsNodeId() int64 {
	if x != nil {
		return x.NsNodeId
	}
	return 0
}

type FindEnabledNSNodeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsNode *NSNode `protobuf:"bytes,1,opt,name=nsNode,proto3" json:"nsNode,omitempty"`
}

func (x *FindEnabledNSNodeResponse) Reset() {
	*x = FindEnabledNSNodeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindEnabledNSNodeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindEnabledNSNodeResponse) ProtoMessage() {}

func (x *FindEnabledNSNodeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 FindEnabledNSNodeResponse.ProtoReflect.Descriptor instead.
func (*FindEnabledNSNodeResponse) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{11}
}

func (x *FindEnabledNSNodeResponse) GetNsNode() *NSNode {
	if x != nil {
		return x.NsNode
	}
	return nil
}

// 修改节点
type UpdateNSNodeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsNodeId    int64      `protobuf:"varint,1,opt,name=nsNodeId,proto3" json:"nsNodeId,omitempty"`
	Name        string     `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	NsClusterId int64      `protobuf:"varint,3,opt,name=nsClusterId,proto3" json:"nsClusterId,omitempty"`
	NodeLogin   *NodeLogin `protobuf:"bytes,4,opt,name=nodeLogin,proto3" json:"nodeLogin,omitempty"`
	IsOn        bool       `protobuf:"varint,6,opt,name=isOn,proto3" json:"isOn,omitempty"`
}

func (x *UpdateNSNodeRequest) Reset() {
	*x = UpdateNSNodeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNSNodeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNSNodeRequest) ProtoMessage() {}

func (x *UpdateNSNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 UpdateNSNodeRequest.ProtoReflect.Descriptor instead.
func (*UpdateNSNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{12}
}

func (x *UpdateNSNodeRequest) GetNsNodeId() int64 {
	if x != nil {
		return x.NsNodeId
	}
	return 0
}

func (x *UpdateNSNodeRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *UpdateNSNodeRequest) GetNsClusterId() int64 {
	if x != nil {
		return x.NsClusterId
	}
	return 0
}

func (x *UpdateNSNodeRequest) GetNodeLogin() *NodeLogin {
	if x != nil {
		return x.NodeLogin
	}
	return nil
}

func (x *UpdateNSNodeRequest) GetIsOn() bool {
	if x != nil {
		return x.IsOn
	}
	return false
}

// 安装节点
type InstallNSNodeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsNodeId int64 `protobuf:"varint,1,opt,name=nsNodeId,proto3" json:"nsNodeId,omitempty"`
}

func (x *InstallNSNodeRequest) Reset() {
	*x = InstallNSNodeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *InstallNSNodeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InstallNSNodeRequest) ProtoMessage() {}

func (x *InstallNSNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 InstallNSNodeRequest.ProtoReflect.Descriptor instead.
func (*InstallNSNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{13}
}

func (x *InstallNSNodeRequest) GetNsNodeId() int64 {
	if x != nil {
		return x.NsNodeId
	}
	return 0
}

type InstallNSNodeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *InstallNSNodeResponse) Reset() {
	*x = InstallNSNodeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *InstallNSNodeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InstallNSNodeResponse) ProtoMessage() {}

func (x *InstallNSNodeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 InstallNSNodeResponse.ProtoReflect.Descriptor instead.
func (*InstallNSNodeResponse) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{14}
}

// 读取节点安装状态
type FindNSNodeInstallStatusRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsNodeId int64 `protobuf:"varint,1,opt,name=nsNodeId,proto3" json:"nsNodeId,omitempty"`
}

func (x *FindNSNodeInstallStatusRequest) Reset() {
	*x = FindNSNodeInstallStatusRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindNSNodeInstallStatusRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindNSNodeInstallStatusRequest) ProtoMessage() {}

func (x *FindNSNodeInstallStatusRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 FindNSNodeInstallStatusRequest.ProtoReflect.Descriptor instead.
func (*FindNSNodeInstallStatusRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{15}
}

func (x *FindNSNodeInstallStatusRequest) GetNsNodeId() int64 {
	if x != nil {
		return x.NsNodeId
	}
	return 0
}

type FindNSNodeInstallStatusResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	InstallStatus *NodeInstallStatus `protobuf:"bytes,1,opt,name=installStatus,proto3" json:"installStatus,omitempty"`
}

func (x *FindNSNodeInstallStatusResponse) Reset() {
	*x = FindNSNodeInstallStatusResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindNSNodeInstallStatusResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindNSNodeInstallStatusResponse) ProtoMessage() {}

func (x *FindNSNodeInstallStatusResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 FindNSNodeInstallStatusResponse.ProtoReflect.Descriptor instead.
func (*FindNSNodeInstallStatusResponse) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{16}
}

func (x *FindNSNodeInstallStatusResponse) GetInstallStatus() *NodeInstallStatus {
	if x != nil {
		return x.InstallStatus
	}
	return nil
}

// 修改节点安装状态
type UpdateNSNodeIsInstalledRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsNodeId    int64 `protobuf:"varint,1,opt,name=nsNodeId,proto3" json:"nsNodeId,omitempty"`
	IsInstalled bool  `protobuf:"varint,2,opt,name=isInstalled,proto3" json:"isInstalled,omitempty"`
}

func (x *UpdateNSNodeIsInstalledRequest) Reset() {
	*x = UpdateNSNodeIsInstalledRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNSNodeIsInstalledRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNSNodeIsInstalledRequest) ProtoMessage() {}

func (x *UpdateNSNodeIsInstalledRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 UpdateNSNodeIsInstalledRequest.ProtoReflect.Descriptor instead.
func (*UpdateNSNodeIsInstalledRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{17}
}

func (x *UpdateNSNodeIsInstalledRequest) GetNsNodeId() int64 {
	if x != nil {
		return x.NsNodeId
	}
	return 0
}

func (x *UpdateNSNodeIsInstalledRequest) GetIsInstalled() bool {
	if x != nil {
		return x.IsInstalled
	}
	return false
}

// 更新节点状态
type UpdateNSNodeStatusRequest 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 *UpdateNSNodeStatusRequest) Reset() {
	*x = UpdateNSNodeStatusRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNSNodeStatusRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNSNodeStatusRequest) ProtoMessage() {}

func (x *UpdateNSNodeStatusRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 UpdateNSNodeStatusRequest.ProtoReflect.Descriptor instead.
func (*UpdateNSNodeStatusRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{18}
}

func (x *UpdateNSNodeStatusRequest) GetNodeId() int64 {
	if x != nil {
		return x.NodeId
	}
	return 0
}

func (x *UpdateNSNodeStatusRequest) GetStatusJSON() []byte {
	if x != nil {
		return x.StatusJSON
	}
	return nil
}

// 获取当前节点信息
type FindCurrentNSNodeConfigRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *FindCurrentNSNodeConfigRequest) Reset() {
	*x = FindCurrentNSNodeConfigRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindCurrentNSNodeConfigRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindCurrentNSNodeConfigRequest) ProtoMessage() {}

func (x *FindCurrentNSNodeConfigRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 FindCurrentNSNodeConfigRequest.ProtoReflect.Descriptor instead.
func (*FindCurrentNSNodeConfigRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{19}
}

type FindCurrentNSNodeConfigResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsNodeJSON []byte `protobuf:"bytes,1,opt,name=nsNodeJSON,proto3" json:"nsNodeJSON,omitempty"`
}

func (x *FindCurrentNSNodeConfigResponse) Reset() {
	*x = FindCurrentNSNodeConfigResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindCurrentNSNodeConfigResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindCurrentNSNodeConfigResponse) ProtoMessage() {}

func (x *FindCurrentNSNodeConfigResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 FindCurrentNSNodeConfigResponse.ProtoReflect.Descriptor instead.
func (*FindCurrentNSNodeConfigResponse) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{20}
}

func (x *FindCurrentNSNodeConfigResponse) GetNsNodeJSON() []byte {
	if x != nil {
		return x.NsNodeJSON
	}
	return nil
}

// 检查新版本
type CheckNSNodeLatestVersionRequest 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 *CheckNSNodeLatestVersionRequest) Reset() {
	*x = CheckNSNodeLatestVersionRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CheckNSNodeLatestVersionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckNSNodeLatestVersionRequest) ProtoMessage() {}

func (x *CheckNSNodeLatestVersionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 CheckNSNodeLatestVersionRequest.ProtoReflect.Descriptor instead.
func (*CheckNSNodeLatestVersionRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{21}
}

func (x *CheckNSNodeLatestVersionRequest) GetOs() string {
	if x != nil {
		return x.Os
	}
	return ""
}

func (x *CheckNSNodeLatestVersionRequest) GetArch() string {
	if x != nil {
		return x.Arch
	}
	return ""
}

func (x *CheckNSNodeLatestVersionRequest) GetCurrentVersion() string {
	if x != nil {
		return x.CurrentVersion
	}
	return ""
}

type CheckNSNodeLatestVersionResponse 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 *CheckNSNodeLatestVersionResponse) Reset() {
	*x = CheckNSNodeLatestVersionResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CheckNSNodeLatestVersionResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckNSNodeLatestVersionResponse) ProtoMessage() {}

func (x *CheckNSNodeLatestVersionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 CheckNSNodeLatestVersionResponse.ProtoReflect.Descriptor instead.
func (*CheckNSNodeLatestVersionResponse) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{22}
}

func (x *CheckNSNodeLatestVersionResponse) GetHasNewVersion() bool {
	if x != nil {
		return x.HasNewVersion
	}
	return false
}

func (x *CheckNSNodeLatestVersionResponse) GetNewVersion() string {
	if x != nil {
		return x.NewVersion
	}
	return ""
}

// 下载最新DNS节点安装文件
type DownloadNSNodeInstallationFileRequest 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 *DownloadNSNodeInstallationFileRequest) Reset() {
	*x = DownloadNSNodeInstallationFileRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DownloadNSNodeInstallationFileRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DownloadNSNodeInstallationFileRequest) ProtoMessage() {}

func (x *DownloadNSNodeInstallationFileRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 DownloadNSNodeInstallationFileRequest.ProtoReflect.Descriptor instead.
func (*DownloadNSNodeInstallationFileRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{23}
}

func (x *DownloadNSNodeInstallationFileRequest) GetOs() string {
	if x != nil {
		return x.Os
	}
	return ""
}

func (x *DownloadNSNodeInstallationFileRequest) GetArch() string {
	if x != nil {
		return x.Arch
	}
	return ""
}

func (x *DownloadNSNodeInstallationFileRequest) GetChunkOffset() int64 {
	if x != nil {
		return x.ChunkOffset
	}
	return 0
}

type DownloadNSNodeInstallationFileResponse 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 *DownloadNSNodeInstallationFileResponse) Reset() {
	*x = DownloadNSNodeInstallationFileResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DownloadNSNodeInstallationFileResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DownloadNSNodeInstallationFileResponse) ProtoMessage() {}

func (x *DownloadNSNodeInstallationFileResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 DownloadNSNodeInstallationFileResponse.ProtoReflect.Descriptor instead.
func (*DownloadNSNodeInstallationFileResponse) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{24}
}

func (x *DownloadNSNodeInstallationFileResponse) GetChunkData() []byte {
	if x != nil {
		return x.ChunkData
	}
	return nil
}

func (x *DownloadNSNodeInstallationFileResponse) GetSum() string {
	if x != nil {
		return x.Sum
	}
	return ""
}

func (x *DownloadNSNodeInstallationFileResponse) GetOffset() int64 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *DownloadNSNodeInstallationFileResponse) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *DownloadNSNodeInstallationFileResponse) GetFilename() string {
	if x != nil {
		return x.Filename
	}
	return ""
}

// 节点stream
type NSNodeStreamMessage struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsNodeId       int64  `protobuf:"varint,1,opt,name=nsNodeId,proto3" json:"nsNodeId,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 *NSNodeStreamMessage) Reset() {
	*x = NSNodeStreamMessage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NSNodeStreamMessage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NSNodeStreamMessage) ProtoMessage() {}

func (x *NSNodeStreamMessage) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 NSNodeStreamMessage.ProtoReflect.Descriptor instead.
func (*NSNodeStreamMessage) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{25}
}

func (x *NSNodeStreamMessage) GetNsNodeId() int64 {
	if x != nil {
		return x.NsNodeId
	}
	return 0
}

func (x *NSNodeStreamMessage) GetRequestId() int64 {
	if x != nil {
		return x.RequestId
	}
	return 0
}

func (x *NSNodeStreamMessage) GetTimeoutSeconds() int32 {
	if x != nil {
		return x.TimeoutSeconds
	}
	return 0
}

func (x *NSNodeStreamMessage) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

func (x *NSNodeStreamMessage) GetDataJSON() []byte {
	if x != nil {
		return x.DataJSON
	}
	return nil
}

func (x *NSNodeStreamMessage) GetIsOk() bool {
	if x != nil {
		return x.IsOk
	}
	return false
}

func (x *NSNodeStreamMessage) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

// 更改节点连接的API节点信息
type UpdateNSNodeConnectedAPINodesRequest 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 *UpdateNSNodeConnectedAPINodesRequest) Reset() {
	*x = UpdateNSNodeConnectedAPINodesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNSNodeConnectedAPINodesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNSNodeConnectedAPINodesRequest) ProtoMessage() {}

func (x *UpdateNSNodeConnectedAPINodesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 UpdateNSNodeConnectedAPINodesRequest.ProtoReflect.Descriptor instead.
func (*UpdateNSNodeConnectedAPINodesRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{26}
}

func (x *UpdateNSNodeConnectedAPINodesRequest) GetApiNodeIds() []int64 {
	if x != nil {
		return x.ApiNodeIds
	}
	return nil
}

// 修改节点登录信息
type UpdateNSNodeLoginRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsNodeId  int64      `protobuf:"varint,1,opt,name=nsNodeId,proto3" json:"nsNodeId,omitempty"`
	NodeLogin *NodeLogin `protobuf:"bytes,2,opt,name=nodeLogin,proto3" json:"nodeLogin,omitempty"`
}

func (x *UpdateNSNodeLoginRequest) Reset() {
	*x = UpdateNSNodeLoginRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNSNodeLoginRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNSNodeLoginRequest) ProtoMessage() {}

func (x *UpdateNSNodeLoginRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 UpdateNSNodeLoginRequest.ProtoReflect.Descriptor instead.
func (*UpdateNSNodeLoginRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{27}
}

func (x *UpdateNSNodeLoginRequest) GetNsNodeId() int64 {
	if x != nil {
		return x.NsNodeId
	}
	return 0
}

func (x *UpdateNSNodeLoginRequest) GetNodeLogin() *NodeLogin {
	if x != nil {
		return x.NodeLogin
	}
	return nil
}

// 启动节点
type StartNSNodeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsNodeId int64 `protobuf:"varint,1,opt,name=nsNodeId,proto3" json:"nsNodeId,omitempty"`
}

func (x *StartNSNodeRequest) Reset() {
	*x = StartNSNodeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StartNSNodeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StartNSNodeRequest) ProtoMessage() {}

func (x *StartNSNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 StartNSNodeRequest.ProtoReflect.Descriptor instead.
func (*StartNSNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{28}
}

func (x *StartNSNodeRequest) GetNsNodeId() int64 {
	if x != nil {
		return x.NsNodeId
	}
	return 0
}

type StartNSNodeResponse 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 *StartNSNodeResponse) Reset() {
	*x = StartNSNodeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StartNSNodeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StartNSNodeResponse) ProtoMessage() {}

func (x *StartNSNodeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 StartNSNodeResponse.ProtoReflect.Descriptor instead.
func (*StartNSNodeResponse) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{29}
}

func (x *StartNSNodeResponse) GetIsOk() bool {
	if x != nil {
		return x.IsOk
	}
	return false
}

func (x *StartNSNodeResponse) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

// 停止节点
type StopNSNodeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NsNodeId int64 `protobuf:"varint,1,opt,name=nsNodeId,proto3" json:"nsNodeId,omitempty"`
}

func (x *StopNSNodeRequest) Reset() {
	*x = StopNSNodeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StopNSNodeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StopNSNodeRequest) ProtoMessage() {}

func (x *StopNSNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 StopNSNodeRequest.ProtoReflect.Descriptor instead.
func (*StopNSNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{30}
}

func (x *StopNSNodeRequest) GetNsNodeId() int64 {
	if x != nil {
		return x.NsNodeId
	}
	return 0
}

type StopNSNodeResponse 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 *StopNSNodeResponse) Reset() {
	*x = StopNSNodeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_ns_node_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StopNSNodeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StopNSNodeResponse) ProtoMessage() {}

func (x *StopNSNodeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_ns_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 StopNSNodeResponse.ProtoReflect.Descriptor instead.
func (*StopNSNodeResponse) Descriptor() ([]byte, []int) {
	return file_service_ns_node_proto_rawDescGZIP(), []int{31}
}

func (x *StopNSNodeResponse) GetIsOk() bool {
	if x != nil {
		return x.IsOk
	}
	return false
}

func (x *StopNSNodeResponse) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

var File_service_ns_node_proto protoreflect.FileDescriptor

var file_service_ns_node_proto_rawDesc = []byte{
	0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x73, 0x5f, 0x6e, 0x6f, 0x64,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x1a, 0x6d, 0x6f, 0x64,
	0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x73, 0x5f, 0x6e, 0x6f, 0x64,
	0x65, 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,
	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, 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, 0x22, 0x4f, 0x0a, 0x2b, 0x46, 0x69, 0x6e,
	0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
	0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x73, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e,
	0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x54, 0x0a, 0x2c, 0x46, 0x69,
	0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f,
	0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x07, 0x6e, 0x73,
	0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62,
	0x2e, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x73,
	0x22, 0x1f, 0x0a, 0x1d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x22, 0xa6, 0x01, 0x0a, 0x22, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63,
	0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x73, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e,
	0x73, 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, 0x22, 0xce, 0x01, 0x0a, 0x1e, 0x4c,
	0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 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, 0x20, 0x0a, 0x0b, 0x6e, 0x73, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
	0x6e, 0x73, 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, 0x22, 0x47, 0x0a, 0x1f, 0x4c,
	0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65,
	0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24,
	0x0a, 0x07, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6e, 0x73, 0x4e,
	0x6f, 0x64, 0x65, 0x73, 0x22, 0x50, 0x0a, 0x2c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
	0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69,
	0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x73, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x4e, 0x53, 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, 0x22, 0x32, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53,
	0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08,
	0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
	0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x1a, 0x0a, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x18, 0x46,
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64,
	0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64,
	0x65, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x22, 0x0a, 0x06, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6e, 0x73,
	0x4e, 0x6f, 0x64, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
	0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
	0x6e, 0x73, 0x4e, 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, 0x20, 0x0a, 0x0b,
	0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0b, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2b,
	0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e,
	0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x69,
	0x73, 0x4f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x22,
	0x32, 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64,
	0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64,
	0x65, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x53,
	0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x0a, 0x1e,
	0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 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, 0x1a,
	0x0a, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x1f, 0x46, 0x69,
	0x6e, 0x64, 0x4e, 0x53, 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, 0x5e, 0x0a, 0x1e, 0x55, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74,
	0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
	0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
	0x6e, 0x73, 0x4e, 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, 0x53, 0x0a, 0x19, 0x55, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 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,
	0x20, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x53,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x22, 0x41, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x4a, 0x53,
	0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65,
	0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x6d, 0x0a, 0x1f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x53, 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, 0x68, 0x0a, 0x20, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x53, 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, 0x6d, 0x0a,
	0x25, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x53, 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, 0xa6, 0x01, 0x0a,
	0x26, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x53, 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, 0xd5, 0x01, 0x0a, 0x13, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65,
	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a,
	0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x08, 0x6e, 0x73, 0x4e, 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, 0x46, 0x0a,
	0x24, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 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, 0x63, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x08, 0x6e, 0x73, 0x4e, 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, 0x30, 0x0a, 0x12, 0x53, 0x74,
	0x61, 0x72, 0x74, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x13,
	0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x53, 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, 0x2f, 0x0a,
	0x11, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x3e,
	0x0a, 0x12, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x53, 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, 0x32, 0xd3,
	0x0e, 0x0a, 0x0d, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53,
	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, 0x53, 0x4e,
	0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 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, 0x53,
	0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x16,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e,
	0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 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,
	0x5b, 0x0a, 0x1b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26,
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x64, 0x4e, 0x53, 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, 0x62, 0x0a, 0x17,
	0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
	0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73,
	0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d,
	0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62,
	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f,
	0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 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, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53,
	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, 0x53,
	0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 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, 0x41, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
	0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e,
	0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e,
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53,
	0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
	0x4e, 0x53, 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, 0x50, 0x0a,
	0x11, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f,
	0x64, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12,
	0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 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, 0x44, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74,
	0x61, 0x6c, 0x6c, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x49,
	0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c,
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62,
	0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74,
	0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46,
	0x69, 0x6e, 0x64, 0x4e, 0x53, 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, 0x23, 0x2e,
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 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, 0x4d, 0x0a, 0x17, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f,
	0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x22, 0x2e,
	0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 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, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
	0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x4e, 0x53, 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, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x43, 0x75,
	0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65,
	0x6e, 0x74, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43,
	0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x63, 0x68,
	0x65, 0x63, 0x6b, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63,
	0x6b, 0x4e, 0x53, 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, 0x24, 0x2e, 0x70, 0x62,
	0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x53, 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, 0x77, 0x0a, 0x1e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x53, 0x4e,
	0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46,
	0x69, 0x6c, 0x65, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
	0x64, 0x4e, 0x53, 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, 0x2a,
	0x2e, 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x53, 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, 0x44, 0x0a, 0x0c, 0x6e, 0x73,
	0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e,
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53,
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x01, 0x30, 0x01,
	0x12, 0x47, 0x0a, 0x13, 0x73, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54,
	0x6f, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x4e,
	0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65,
	0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x59, 0x0a, 0x1d, 0x75, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
	0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 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, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53,
	0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 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, 0x3e, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74,
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x72,
	0x74, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17,
	0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x70, 0x4e,
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e,
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70,
	0x62, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_service_ns_node_proto_rawDescOnce sync.Once
	file_service_ns_node_proto_rawDescData = file_service_ns_node_proto_rawDesc
)

func file_service_ns_node_proto_rawDescGZIP() []byte {
	file_service_ns_node_proto_rawDescOnce.Do(func() {
		file_service_ns_node_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_ns_node_proto_rawDescData)
	})
	return file_service_ns_node_proto_rawDescData
}

var file_service_ns_node_proto_msgTypes = make([]protoimpl.MessageInfo, 32)
var file_service_ns_node_proto_goTypes = []interface{}{
	(*FindAllEnabledNSNodesWithNSClusterIdRequest)(nil),  // 0: pb.FindAllEnabledNSNodesWithNSClusterIdRequest
	(*FindAllEnabledNSNodesWithNSClusterIdResponse)(nil), // 1: pb.FindAllEnabledNSNodesWithNSClusterIdResponse
	(*CountAllEnabledNSNodesRequest)(nil),                // 2: pb.CountAllEnabledNSNodesRequest
	(*CountAllEnabledNSNodesMatchRequest)(nil),           // 3: pb.CountAllEnabledNSNodesMatchRequest
	(*ListEnabledNSNodesMatchRequest)(nil),               // 4: pb.ListEnabledNSNodesMatchRequest
	(*ListEnabledNSNodesMatchResponse)(nil),              // 5: pb.ListEnabledNSNodesMatchResponse
	(*CountAllUpgradeNSNodesWithNSClusterIdRequest)(nil), // 6: pb.CountAllUpgradeNSNodesWithNSClusterIdRequest
	(*CreateNSNodeRequest)(nil),                          // 7: pb.CreateNSNodeRequest
	(*CreateNSNodeResponse)(nil),                         // 8: pb.CreateNSNodeResponse
	(*DeleteNSNodeRequest)(nil),                          // 9: pb.DeleteNSNodeRequest
	(*FindEnabledNSNodeRequest)(nil),                     // 10: pb.FindEnabledNSNodeRequest
	(*FindEnabledNSNodeResponse)(nil),                    // 11: pb.FindEnabledNSNodeResponse
	(*UpdateNSNodeRequest)(nil),                          // 12: pb.UpdateNSNodeRequest
	(*InstallNSNodeRequest)(nil),                         // 13: pb.InstallNSNodeRequest
	(*InstallNSNodeResponse)(nil),                        // 14: pb.InstallNSNodeResponse
	(*FindNSNodeInstallStatusRequest)(nil),               // 15: pb.FindNSNodeInstallStatusRequest
	(*FindNSNodeInstallStatusResponse)(nil),              // 16: pb.FindNSNodeInstallStatusResponse
	(*UpdateNSNodeIsInstalledRequest)(nil),               // 17: pb.UpdateNSNodeIsInstalledRequest
	(*UpdateNSNodeStatusRequest)(nil),                    // 18: pb.UpdateNSNodeStatusRequest
	(*FindCurrentNSNodeConfigRequest)(nil),               // 19: pb.FindCurrentNSNodeConfigRequest
	(*FindCurrentNSNodeConfigResponse)(nil),              // 20: pb.FindCurrentNSNodeConfigResponse
	(*CheckNSNodeLatestVersionRequest)(nil),              // 21: pb.CheckNSNodeLatestVersionRequest
	(*CheckNSNodeLatestVersionResponse)(nil),             // 22: pb.CheckNSNodeLatestVersionResponse
	(*DownloadNSNodeInstallationFileRequest)(nil),        // 23: pb.DownloadNSNodeInstallationFileRequest
	(*DownloadNSNodeInstallationFileResponse)(nil),       // 24: pb.DownloadNSNodeInstallationFileResponse
	(*NSNodeStreamMessage)(nil),                          // 25: pb.NSNodeStreamMessage
	(*UpdateNSNodeConnectedAPINodesRequest)(nil),         // 26: pb.UpdateNSNodeConnectedAPINodesRequest
	(*UpdateNSNodeLoginRequest)(nil),                     // 27: pb.UpdateNSNodeLoginRequest
	(*StartNSNodeRequest)(nil),                           // 28: pb.StartNSNodeRequest
	(*StartNSNodeResponse)(nil),                          // 29: pb.StartNSNodeResponse
	(*StopNSNodeRequest)(nil),                            // 30: pb.StopNSNodeRequest
	(*StopNSNodeResponse)(nil),                           // 31: pb.StopNSNodeResponse
	(*NSNode)(nil),                                       // 32: pb.NSNode
	(*NodeLogin)(nil),                                    // 33: pb.NodeLogin
	(*NodeInstallStatus)(nil),                            // 34: pb.NodeInstallStatus
	(*RPCCountResponse)(nil),                             // 35: pb.RPCCountResponse
	(*RPCSuccess)(nil),                                   // 36: pb.RPCSuccess
}
var file_service_ns_node_proto_depIdxs = []int32{
	32, // 0: pb.FindAllEnabledNSNodesWithNSClusterIdResponse.nsNodes:type_name -> pb.NSNode
	32, // 1: pb.ListEnabledNSNodesMatchResponse.nsNodes:type_name -> pb.NSNode
	33, // 2: pb.CreateNSNodeRequest.nodeLogin:type_name -> pb.NodeLogin
	32, // 3: pb.FindEnabledNSNodeResponse.nsNode:type_name -> pb.NSNode
	33, // 4: pb.UpdateNSNodeRequest.nodeLogin:type_name -> pb.NodeLogin
	34, // 5: pb.FindNSNodeInstallStatusResponse.installStatus:type_name -> pb.NodeInstallStatus
	33, // 6: pb.UpdateNSNodeLoginRequest.nodeLogin:type_name -> pb.NodeLogin
	0,  // 7: pb.NSNodeService.findAllEnabledNSNodesWithNSClusterId:input_type -> pb.FindAllEnabledNSNodesWithNSClusterIdRequest
	2,  // 8: pb.NSNodeService.countAllEnabledNSNodes:input_type -> pb.CountAllEnabledNSNodesRequest
	3,  // 9: pb.NSNodeService.countAllEnabledNSNodesMatch:input_type -> pb.CountAllEnabledNSNodesMatchRequest
	4,  // 10: pb.NSNodeService.listEnabledNSNodesMatch:input_type -> pb.ListEnabledNSNodesMatchRequest
	6,  // 11: pb.NSNodeService.countAllUpgradeNSNodesWithNSClusterId:input_type -> pb.CountAllUpgradeNSNodesWithNSClusterIdRequest
	7,  // 12: pb.NSNodeService.createNSNode:input_type -> pb.CreateNSNodeRequest
	9,  // 13: pb.NSNodeService.deleteNSNode:input_type -> pb.DeleteNSNodeRequest
	10, // 14: pb.NSNodeService.findEnabledNSNode:input_type -> pb.FindEnabledNSNodeRequest
	12, // 15: pb.NSNodeService.updateNSNode:input_type -> pb.UpdateNSNodeRequest
	13, // 16: pb.NSNodeService.installNSNode:input_type -> pb.InstallNSNodeRequest
	15, // 17: pb.NSNodeService.findNSNodeInstallStatus:input_type -> pb.FindNSNodeInstallStatusRequest
	17, // 18: pb.NSNodeService.updateNSNodeIsInstalled:input_type -> pb.UpdateNSNodeIsInstalledRequest
	18, // 19: pb.NSNodeService.updateNSNodeStatus:input_type -> pb.UpdateNSNodeStatusRequest
	19, // 20: pb.NSNodeService.findCurrentNSNodeConfig:input_type -> pb.FindCurrentNSNodeConfigRequest
	21, // 21: pb.NSNodeService.checkNSNodeLatestVersion:input_type -> pb.CheckNSNodeLatestVersionRequest
	23, // 22: pb.NSNodeService.downloadNSNodeInstallationFile:input_type -> pb.DownloadNSNodeInstallationFileRequest
	25, // 23: pb.NSNodeService.nsNodeStream:input_type -> pb.NSNodeStreamMessage
	25, // 24: pb.NSNodeService.sendCommandToNSNode:input_type -> pb.NSNodeStreamMessage
	26, // 25: pb.NSNodeService.updateNSNodeConnectedAPINodes:input_type -> pb.UpdateNSNodeConnectedAPINodesRequest
	27, // 26: pb.NSNodeService.updateNSNodeLogin:input_type -> pb.UpdateNSNodeLoginRequest
	28, // 27: pb.NSNodeService.startNSNode:input_type -> pb.StartNSNodeRequest
	30, // 28: pb.NSNodeService.stopNSNode:input_type -> pb.StopNSNodeRequest
	1,  // 29: pb.NSNodeService.findAllEnabledNSNodesWithNSClusterId:output_type -> pb.FindAllEnabledNSNodesWithNSClusterIdResponse
	35, // 30: pb.NSNodeService.countAllEnabledNSNodes:output_type -> pb.RPCCountResponse
	35, // 31: pb.NSNodeService.countAllEnabledNSNodesMatch:output_type -> pb.RPCCountResponse
	5,  // 32: pb.NSNodeService.listEnabledNSNodesMatch:output_type -> pb.ListEnabledNSNodesMatchResponse
	35, // 33: pb.NSNodeService.countAllUpgradeNSNodesWithNSClusterId:output_type -> pb.RPCCountResponse
	8,  // 34: pb.NSNodeService.createNSNode:output_type -> pb.CreateNSNodeResponse
	36, // 35: pb.NSNodeService.deleteNSNode:output_type -> pb.RPCSuccess
	11, // 36: pb.NSNodeService.findEnabledNSNode:output_type -> pb.FindEnabledNSNodeResponse
	36, // 37: pb.NSNodeService.updateNSNode:output_type -> pb.RPCSuccess
	14, // 38: pb.NSNodeService.installNSNode:output_type -> pb.InstallNSNodeResponse
	16, // 39: pb.NSNodeService.findNSNodeInstallStatus:output_type -> pb.FindNSNodeInstallStatusResponse
	36, // 40: pb.NSNodeService.updateNSNodeIsInstalled:output_type -> pb.RPCSuccess
	36, // 41: pb.NSNodeService.updateNSNodeStatus:output_type -> pb.RPCSuccess
	20, // 42: pb.NSNodeService.findCurrentNSNodeConfig:output_type -> pb.FindCurrentNSNodeConfigResponse
	22, // 43: pb.NSNodeService.checkNSNodeLatestVersion:output_type -> pb.CheckNSNodeLatestVersionResponse
	24, // 44: pb.NSNodeService.downloadNSNodeInstallationFile:output_type -> pb.DownloadNSNodeInstallationFileResponse
	25, // 45: pb.NSNodeService.nsNodeStream:output_type -> pb.NSNodeStreamMessage
	25, // 46: pb.NSNodeService.sendCommandToNSNode:output_type -> pb.NSNodeStreamMessage
	36, // 47: pb.NSNodeService.updateNSNodeConnectedAPINodes:output_type -> pb.RPCSuccess
	36, // 48: pb.NSNodeService.updateNSNodeLogin:output_type -> pb.RPCSuccess
	29, // 49: pb.NSNodeService.startNSNode:output_type -> pb.StartNSNodeResponse
	31, // 50: pb.NSNodeService.stopNSNode:output_type -> pb.StopNSNodeResponse
	29, // [29:51] is the sub-list for method output_type
	7,  // [7:29] is the sub-list for method input_type
	7,  // [7:7] is the sub-list for extension type_name
	7,  // [7:7] is the sub-list for extension extendee
	0,  // [0:7] is the sub-list for field type_name
}

func init() { file_service_ns_node_proto_init() }
func file_service_ns_node_proto_init() {
	if File_service_ns_node_proto != nil {
		return
	}
	file_models_model_ns_node_proto_init()
	file_models_model_node_install_status_proto_init()
	file_models_rpc_messages_proto_init()
	file_models_model_node_login_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_service_ns_node_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNSNodesWithNSClusterIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNSNodesWithNSClusterIdResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CountAllEnabledNSNodesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CountAllEnabledNSNodesMatchRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListEnabledNSNodesMatchRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListEnabledNSNodesMatchResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CountAllUpgradeNSNodesWithNSClusterIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateNSNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateNSNodeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteNSNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNSNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNSNodeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNSNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InstallNSNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InstallNSNodeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNSNodeInstallStatusRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNSNodeInstallStatusResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNSNodeIsInstalledRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNSNodeStatusRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindCurrentNSNodeConfigRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindCurrentNSNodeConfigResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CheckNSNodeLatestVersionRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CheckNSNodeLatestVersionResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadNSNodeInstallationFileRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadNSNodeInstallationFileResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NSNodeStreamMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNSNodeConnectedAPINodesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNSNodeLoginRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StartNSNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StartNSNodeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StopNSNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_ns_node_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StopNSNodeResponse); 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_ns_node_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   32,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_service_ns_node_proto_goTypes,
		DependencyIndexes: file_service_ns_node_proto_depIdxs,
		MessageInfos:      file_service_ns_node_proto_msgTypes,
	}.Build()
	File_service_ns_node_proto = out.File
	file_service_ns_node_proto_rawDesc = nil
	file_service_ns_node_proto_goTypes = nil
	file_service_ns_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

// NSNodeServiceClient is the client API for NSNodeService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type NSNodeServiceClient interface {
	// 根据集群查找所有节点
	FindAllEnabledNSNodesWithNSClusterId(ctx context.Context, in *FindAllEnabledNSNodesWithNSClusterIdRequest, opts ...grpc.CallOption) (*FindAllEnabledNSNodesWithNSClusterIdResponse, error)
	// 所有可用的节点数量
	CountAllEnabledNSNodes(ctx context.Context, in *CountAllEnabledNSNodesRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
	// 计算匹配的节点数量
	CountAllEnabledNSNodesMatch(ctx context.Context, in *CountAllEnabledNSNodesMatchRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
	// 列出单页节点
	ListEnabledNSNodesMatch(ctx context.Context, in *ListEnabledNSNodesMatchRequest, opts ...grpc.CallOption) (*ListEnabledNSNodesMatchResponse, error)
	// 计算需要升级的节点数量
	CountAllUpgradeNSNodesWithNSClusterId(ctx context.Context, in *CountAllUpgradeNSNodesWithNSClusterIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
	// 创建节点
	CreateNSNode(ctx context.Context, in *CreateNSNodeRequest, opts ...grpc.CallOption) (*CreateNSNodeResponse, error)
	// 删除节点
	DeleteNSNode(ctx context.Context, in *DeleteNSNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 获取单个节点信息
	FindEnabledNSNode(ctx context.Context, in *FindEnabledNSNodeRequest, opts ...grpc.CallOption) (*FindEnabledNSNodeResponse, error)
	// 修改节点
	UpdateNSNode(ctx context.Context, in *UpdateNSNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 安装节点
	InstallNSNode(ctx context.Context, in *InstallNSNodeRequest, opts ...grpc.CallOption) (*InstallNSNodeResponse, error)
	// 读取节点安装状态
	FindNSNodeInstallStatus(ctx context.Context, in *FindNSNodeInstallStatusRequest, opts ...grpc.CallOption) (*FindNSNodeInstallStatusResponse, error)
	// 修改节点安装状态
	UpdateNSNodeIsInstalled(ctx context.Context, in *UpdateNSNodeIsInstalledRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 更新节点状态
	UpdateNSNodeStatus(ctx context.Context, in *UpdateNSNodeStatusRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 获取当前节点信息
	FindCurrentNSNodeConfig(ctx context.Context, in *FindCurrentNSNodeConfigRequest, opts ...grpc.CallOption) (*FindCurrentNSNodeConfigResponse, error)
	// 检查新版本
	CheckNSNodeLatestVersion(ctx context.Context, in *CheckNSNodeLatestVersionRequest, opts ...grpc.CallOption) (*CheckNSNodeLatestVersionResponse, error)
	// 下载最新DNS节点安装文件
	DownloadNSNodeInstallationFile(ctx context.Context, in *DownloadNSNodeInstallationFileRequest, opts ...grpc.CallOption) (*DownloadNSNodeInstallationFileResponse, error)
	// 节点stream
	NsNodeStream(ctx context.Context, opts ...grpc.CallOption) (NSNodeService_NsNodeStreamClient, error)
	// 向节点发送命令
	SendCommandToNSNode(ctx context.Context, in *NSNodeStreamMessage, opts ...grpc.CallOption) (*NSNodeStreamMessage, error)
	// 更改节点连接的API节点信息
	UpdateNSNodeConnectedAPINodes(ctx context.Context, in *UpdateNSNodeConnectedAPINodesRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 修改节点登录信息
	UpdateNSNodeLogin(ctx context.Context, in *UpdateNSNodeLoginRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 启动节点
	StartNSNode(ctx context.Context, in *StartNSNodeRequest, opts ...grpc.CallOption) (*StartNSNodeResponse, error)
	// 停止节点
	StopNSNode(ctx context.Context, in *StopNSNodeRequest, opts ...grpc.CallOption) (*StopNSNodeResponse, error)
}

type nSNodeServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewNSNodeServiceClient(cc grpc.ClientConnInterface) NSNodeServiceClient {
	return &nSNodeServiceClient{cc}
}

func (c *nSNodeServiceClient) FindAllEnabledNSNodesWithNSClusterId(ctx context.Context, in *FindAllEnabledNSNodesWithNSClusterIdRequest, opts ...grpc.CallOption) (*FindAllEnabledNSNodesWithNSClusterIdResponse, error) {
	out := new(FindAllEnabledNSNodesWithNSClusterIdResponse)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/findAllEnabledNSNodesWithNSClusterId", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) CountAllEnabledNSNodes(ctx context.Context, in *CountAllEnabledNSNodesRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
	out := new(RPCCountResponse)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/countAllEnabledNSNodes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) CountAllEnabledNSNodesMatch(ctx context.Context, in *CountAllEnabledNSNodesMatchRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
	out := new(RPCCountResponse)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/countAllEnabledNSNodesMatch", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) ListEnabledNSNodesMatch(ctx context.Context, in *ListEnabledNSNodesMatchRequest, opts ...grpc.CallOption) (*ListEnabledNSNodesMatchResponse, error) {
	out := new(ListEnabledNSNodesMatchResponse)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/listEnabledNSNodesMatch", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) CountAllUpgradeNSNodesWithNSClusterId(ctx context.Context, in *CountAllUpgradeNSNodesWithNSClusterIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
	out := new(RPCCountResponse)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/countAllUpgradeNSNodesWithNSClusterId", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) CreateNSNode(ctx context.Context, in *CreateNSNodeRequest, opts ...grpc.CallOption) (*CreateNSNodeResponse, error) {
	out := new(CreateNSNodeResponse)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/createNSNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) DeleteNSNode(ctx context.Context, in *DeleteNSNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/deleteNSNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) FindEnabledNSNode(ctx context.Context, in *FindEnabledNSNodeRequest, opts ...grpc.CallOption) (*FindEnabledNSNodeResponse, error) {
	out := new(FindEnabledNSNodeResponse)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/findEnabledNSNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) UpdateNSNode(ctx context.Context, in *UpdateNSNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/updateNSNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) InstallNSNode(ctx context.Context, in *InstallNSNodeRequest, opts ...grpc.CallOption) (*InstallNSNodeResponse, error) {
	out := new(InstallNSNodeResponse)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/installNSNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) FindNSNodeInstallStatus(ctx context.Context, in *FindNSNodeInstallStatusRequest, opts ...grpc.CallOption) (*FindNSNodeInstallStatusResponse, error) {
	out := new(FindNSNodeInstallStatusResponse)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/findNSNodeInstallStatus", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) UpdateNSNodeIsInstalled(ctx context.Context, in *UpdateNSNodeIsInstalledRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/updateNSNodeIsInstalled", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) UpdateNSNodeStatus(ctx context.Context, in *UpdateNSNodeStatusRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/updateNSNodeStatus", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) FindCurrentNSNodeConfig(ctx context.Context, in *FindCurrentNSNodeConfigRequest, opts ...grpc.CallOption) (*FindCurrentNSNodeConfigResponse, error) {
	out := new(FindCurrentNSNodeConfigResponse)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/findCurrentNSNodeConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) CheckNSNodeLatestVersion(ctx context.Context, in *CheckNSNodeLatestVersionRequest, opts ...grpc.CallOption) (*CheckNSNodeLatestVersionResponse, error) {
	out := new(CheckNSNodeLatestVersionResponse)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/checkNSNodeLatestVersion", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) DownloadNSNodeInstallationFile(ctx context.Context, in *DownloadNSNodeInstallationFileRequest, opts ...grpc.CallOption) (*DownloadNSNodeInstallationFileResponse, error) {
	out := new(DownloadNSNodeInstallationFileResponse)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/downloadNSNodeInstallationFile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) NsNodeStream(ctx context.Context, opts ...grpc.CallOption) (NSNodeService_NsNodeStreamClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NSNodeService_serviceDesc.Streams[0], "/pb.NSNodeService/nsNodeStream", opts...)
	if err != nil {
		return nil, err
	}
	x := &nSNodeServiceNsNodeStreamClient{stream}
	return x, nil
}

type NSNodeService_NsNodeStreamClient interface {
	Send(*NSNodeStreamMessage) error
	Recv() (*NSNodeStreamMessage, error)
	grpc.ClientStream
}

type nSNodeServiceNsNodeStreamClient struct {
	grpc.ClientStream
}

func (x *nSNodeServiceNsNodeStreamClient) Send(m *NSNodeStreamMessage) error {
	return x.ClientStream.SendMsg(m)
}

func (x *nSNodeServiceNsNodeStreamClient) Recv() (*NSNodeStreamMessage, error) {
	m := new(NSNodeStreamMessage)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *nSNodeServiceClient) SendCommandToNSNode(ctx context.Context, in *NSNodeStreamMessage, opts ...grpc.CallOption) (*NSNodeStreamMessage, error) {
	out := new(NSNodeStreamMessage)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/sendCommandToNSNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) UpdateNSNodeConnectedAPINodes(ctx context.Context, in *UpdateNSNodeConnectedAPINodesRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/updateNSNodeConnectedAPINodes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) UpdateNSNodeLogin(ctx context.Context, in *UpdateNSNodeLoginRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/updateNSNodeLogin", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) StartNSNode(ctx context.Context, in *StartNSNodeRequest, opts ...grpc.CallOption) (*StartNSNodeResponse, error) {
	out := new(StartNSNodeResponse)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/startNSNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nSNodeServiceClient) StopNSNode(ctx context.Context, in *StopNSNodeRequest, opts ...grpc.CallOption) (*StopNSNodeResponse, error) {
	out := new(StopNSNodeResponse)
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/stopNSNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// NSNodeServiceServer is the server API for NSNodeService service.
type NSNodeServiceServer interface {
	// 根据集群查找所有节点
	FindAllEnabledNSNodesWithNSClusterId(context.Context, *FindAllEnabledNSNodesWithNSClusterIdRequest) (*FindAllEnabledNSNodesWithNSClusterIdResponse, error)
	// 所有可用的节点数量
	CountAllEnabledNSNodes(context.Context, *CountAllEnabledNSNodesRequest) (*RPCCountResponse, error)
	// 计算匹配的节点数量
	CountAllEnabledNSNodesMatch(context.Context, *CountAllEnabledNSNodesMatchRequest) (*RPCCountResponse, error)
	// 列出单页节点
	ListEnabledNSNodesMatch(context.Context, *ListEnabledNSNodesMatchRequest) (*ListEnabledNSNodesMatchResponse, error)
	// 计算需要升级的节点数量
	CountAllUpgradeNSNodesWithNSClusterId(context.Context, *CountAllUpgradeNSNodesWithNSClusterIdRequest) (*RPCCountResponse, error)
	// 创建节点
	CreateNSNode(context.Context, *CreateNSNodeRequest) (*CreateNSNodeResponse, error)
	// 删除节点
	DeleteNSNode(context.Context, *DeleteNSNodeRequest) (*RPCSuccess, error)
	// 获取单个节点信息
	FindEnabledNSNode(context.Context, *FindEnabledNSNodeRequest) (*FindEnabledNSNodeResponse, error)
	// 修改节点
	UpdateNSNode(context.Context, *UpdateNSNodeRequest) (*RPCSuccess, error)
	// 安装节点
	InstallNSNode(context.Context, *InstallNSNodeRequest) (*InstallNSNodeResponse, error)
	// 读取节点安装状态
	FindNSNodeInstallStatus(context.Context, *FindNSNodeInstallStatusRequest) (*FindNSNodeInstallStatusResponse, error)
	// 修改节点安装状态
	UpdateNSNodeIsInstalled(context.Context, *UpdateNSNodeIsInstalledRequest) (*RPCSuccess, error)
	// 更新节点状态
	UpdateNSNodeStatus(context.Context, *UpdateNSNodeStatusRequest) (*RPCSuccess, error)
	// 获取当前节点信息
	FindCurrentNSNodeConfig(context.Context, *FindCurrentNSNodeConfigRequest) (*FindCurrentNSNodeConfigResponse, error)
	// 检查新版本
	CheckNSNodeLatestVersion(context.Context, *CheckNSNodeLatestVersionRequest) (*CheckNSNodeLatestVersionResponse, error)
	// 下载最新DNS节点安装文件
	DownloadNSNodeInstallationFile(context.Context, *DownloadNSNodeInstallationFileRequest) (*DownloadNSNodeInstallationFileResponse, error)
	// 节点stream
	NsNodeStream(NSNodeService_NsNodeStreamServer) error
	// 向节点发送命令
	SendCommandToNSNode(context.Context, *NSNodeStreamMessage) (*NSNodeStreamMessage, error)
	// 更改节点连接的API节点信息
	UpdateNSNodeConnectedAPINodes(context.Context, *UpdateNSNodeConnectedAPINodesRequest) (*RPCSuccess, error)
	// 修改节点登录信息
	UpdateNSNodeLogin(context.Context, *UpdateNSNodeLoginRequest) (*RPCSuccess, error)
	// 启动节点
	StartNSNode(context.Context, *StartNSNodeRequest) (*StartNSNodeResponse, error)
	// 停止节点
	StopNSNode(context.Context, *StopNSNodeRequest) (*StopNSNodeResponse, error)
}

// UnimplementedNSNodeServiceServer can be embedded to have forward compatible implementations.
type UnimplementedNSNodeServiceServer struct {
}

func (*UnimplementedNSNodeServiceServer) FindAllEnabledNSNodesWithNSClusterId(context.Context, *FindAllEnabledNSNodesWithNSClusterIdRequest) (*FindAllEnabledNSNodesWithNSClusterIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledNSNodesWithNSClusterId not implemented")
}
func (*UnimplementedNSNodeServiceServer) CountAllEnabledNSNodes(context.Context, *CountAllEnabledNSNodesRequest) (*RPCCountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNSNodes not implemented")
}
func (*UnimplementedNSNodeServiceServer) CountAllEnabledNSNodesMatch(context.Context, *CountAllEnabledNSNodesMatchRequest) (*RPCCountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNSNodesMatch not implemented")
}
func (*UnimplementedNSNodeServiceServer) ListEnabledNSNodesMatch(context.Context, *ListEnabledNSNodesMatchRequest) (*ListEnabledNSNodesMatchResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListEnabledNSNodesMatch not implemented")
}
func (*UnimplementedNSNodeServiceServer) CountAllUpgradeNSNodesWithNSClusterId(context.Context, *CountAllUpgradeNSNodesWithNSClusterIdRequest) (*RPCCountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CountAllUpgradeNSNodesWithNSClusterId not implemented")
}
func (*UnimplementedNSNodeServiceServer) CreateNSNode(context.Context, *CreateNSNodeRequest) (*CreateNSNodeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateNSNode not implemented")
}
func (*UnimplementedNSNodeServiceServer) DeleteNSNode(context.Context, *DeleteNSNodeRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteNSNode not implemented")
}
func (*UnimplementedNSNodeServiceServer) FindEnabledNSNode(context.Context, *FindEnabledNSNodeRequest) (*FindEnabledNSNodeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindEnabledNSNode not implemented")
}
func (*UnimplementedNSNodeServiceServer) UpdateNSNode(context.Context, *UpdateNSNodeRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNSNode not implemented")
}
func (*UnimplementedNSNodeServiceServer) InstallNSNode(context.Context, *InstallNSNodeRequest) (*InstallNSNodeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method InstallNSNode not implemented")
}
func (*UnimplementedNSNodeServiceServer) FindNSNodeInstallStatus(context.Context, *FindNSNodeInstallStatusRequest) (*FindNSNodeInstallStatusResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindNSNodeInstallStatus not implemented")
}
func (*UnimplementedNSNodeServiceServer) UpdateNSNodeIsInstalled(context.Context, *UpdateNSNodeIsInstalledRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNSNodeIsInstalled not implemented")
}
func (*UnimplementedNSNodeServiceServer) UpdateNSNodeStatus(context.Context, *UpdateNSNodeStatusRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNSNodeStatus not implemented")
}
func (*UnimplementedNSNodeServiceServer) FindCurrentNSNodeConfig(context.Context, *FindCurrentNSNodeConfigRequest) (*FindCurrentNSNodeConfigResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindCurrentNSNodeConfig not implemented")
}
func (*UnimplementedNSNodeServiceServer) CheckNSNodeLatestVersion(context.Context, *CheckNSNodeLatestVersionRequest) (*CheckNSNodeLatestVersionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CheckNSNodeLatestVersion not implemented")
}
func (*UnimplementedNSNodeServiceServer) DownloadNSNodeInstallationFile(context.Context, *DownloadNSNodeInstallationFileRequest) (*DownloadNSNodeInstallationFileResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DownloadNSNodeInstallationFile not implemented")
}
func (*UnimplementedNSNodeServiceServer) NsNodeStream(NSNodeService_NsNodeStreamServer) error {
	return status.Errorf(codes.Unimplemented, "method NsNodeStream not implemented")
}
func (*UnimplementedNSNodeServiceServer) SendCommandToNSNode(context.Context, *NSNodeStreamMessage) (*NSNodeStreamMessage, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SendCommandToNSNode not implemented")
}
func (*UnimplementedNSNodeServiceServer) UpdateNSNodeConnectedAPINodes(context.Context, *UpdateNSNodeConnectedAPINodesRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNSNodeConnectedAPINodes not implemented")
}
func (*UnimplementedNSNodeServiceServer) UpdateNSNodeLogin(context.Context, *UpdateNSNodeLoginRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNSNodeLogin not implemented")
}
func (*UnimplementedNSNodeServiceServer) StartNSNode(context.Context, *StartNSNodeRequest) (*StartNSNodeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method StartNSNode not implemented")
}
func (*UnimplementedNSNodeServiceServer) StopNSNode(context.Context, *StopNSNodeRequest) (*StopNSNodeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method StopNSNode not implemented")
}

func RegisterNSNodeServiceServer(s *grpc.Server, srv NSNodeServiceServer) {
	s.RegisterService(&_NSNodeService_serviceDesc, srv)
}

func _NSNodeService_FindAllEnabledNSNodesWithNSClusterId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindAllEnabledNSNodesWithNSClusterIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).FindAllEnabledNSNodesWithNSClusterId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/FindAllEnabledNSNodesWithNSClusterId",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).FindAllEnabledNSNodesWithNSClusterId(ctx, req.(*FindAllEnabledNSNodesWithNSClusterIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_CountAllEnabledNSNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CountAllEnabledNSNodesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).CountAllEnabledNSNodes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/CountAllEnabledNSNodes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).CountAllEnabledNSNodes(ctx, req.(*CountAllEnabledNSNodesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_CountAllEnabledNSNodesMatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CountAllEnabledNSNodesMatchRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).CountAllEnabledNSNodesMatch(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/CountAllEnabledNSNodesMatch",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).CountAllEnabledNSNodesMatch(ctx, req.(*CountAllEnabledNSNodesMatchRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_ListEnabledNSNodesMatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListEnabledNSNodesMatchRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).ListEnabledNSNodesMatch(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/ListEnabledNSNodesMatch",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).ListEnabledNSNodesMatch(ctx, req.(*ListEnabledNSNodesMatchRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_CountAllUpgradeNSNodesWithNSClusterId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CountAllUpgradeNSNodesWithNSClusterIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).CountAllUpgradeNSNodesWithNSClusterId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/CountAllUpgradeNSNodesWithNSClusterId",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).CountAllUpgradeNSNodesWithNSClusterId(ctx, req.(*CountAllUpgradeNSNodesWithNSClusterIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_CreateNSNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateNSNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).CreateNSNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/CreateNSNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).CreateNSNode(ctx, req.(*CreateNSNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_DeleteNSNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteNSNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).DeleteNSNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/DeleteNSNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).DeleteNSNode(ctx, req.(*DeleteNSNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_FindEnabledNSNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindEnabledNSNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).FindEnabledNSNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/FindEnabledNSNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).FindEnabledNSNode(ctx, req.(*FindEnabledNSNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_UpdateNSNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNSNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).UpdateNSNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/UpdateNSNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).UpdateNSNode(ctx, req.(*UpdateNSNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_InstallNSNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(InstallNSNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).InstallNSNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/InstallNSNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).InstallNSNode(ctx, req.(*InstallNSNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_FindNSNodeInstallStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindNSNodeInstallStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).FindNSNodeInstallStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/FindNSNodeInstallStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).FindNSNodeInstallStatus(ctx, req.(*FindNSNodeInstallStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_UpdateNSNodeIsInstalled_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNSNodeIsInstalledRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).UpdateNSNodeIsInstalled(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/UpdateNSNodeIsInstalled",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).UpdateNSNodeIsInstalled(ctx, req.(*UpdateNSNodeIsInstalledRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_UpdateNSNodeStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNSNodeStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).UpdateNSNodeStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/UpdateNSNodeStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).UpdateNSNodeStatus(ctx, req.(*UpdateNSNodeStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_FindCurrentNSNodeConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindCurrentNSNodeConfigRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).FindCurrentNSNodeConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/FindCurrentNSNodeConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).FindCurrentNSNodeConfig(ctx, req.(*FindCurrentNSNodeConfigRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_CheckNSNodeLatestVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CheckNSNodeLatestVersionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).CheckNSNodeLatestVersion(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/CheckNSNodeLatestVersion",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).CheckNSNodeLatestVersion(ctx, req.(*CheckNSNodeLatestVersionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_DownloadNSNodeInstallationFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DownloadNSNodeInstallationFileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).DownloadNSNodeInstallationFile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/DownloadNSNodeInstallationFile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).DownloadNSNodeInstallationFile(ctx, req.(*DownloadNSNodeInstallationFileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_NsNodeStream_Handler(srv interface{}, stream grpc.ServerStream) error {
	return srv.(NSNodeServiceServer).NsNodeStream(&nSNodeServiceNsNodeStreamServer{stream})
}

type NSNodeService_NsNodeStreamServer interface {
	Send(*NSNodeStreamMessage) error
	Recv() (*NSNodeStreamMessage, error)
	grpc.ServerStream
}

type nSNodeServiceNsNodeStreamServer struct {
	grpc.ServerStream
}

func (x *nSNodeServiceNsNodeStreamServer) Send(m *NSNodeStreamMessage) error {
	return x.ServerStream.SendMsg(m)
}

func (x *nSNodeServiceNsNodeStreamServer) Recv() (*NSNodeStreamMessage, error) {
	m := new(NSNodeStreamMessage)
	if err := x.ServerStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func _NSNodeService_SendCommandToNSNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NSNodeStreamMessage)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).SendCommandToNSNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/SendCommandToNSNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).SendCommandToNSNode(ctx, req.(*NSNodeStreamMessage))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_UpdateNSNodeConnectedAPINodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNSNodeConnectedAPINodesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).UpdateNSNodeConnectedAPINodes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/UpdateNSNodeConnectedAPINodes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).UpdateNSNodeConnectedAPINodes(ctx, req.(*UpdateNSNodeConnectedAPINodesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_UpdateNSNodeLogin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNSNodeLoginRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).UpdateNSNodeLogin(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/UpdateNSNodeLogin",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).UpdateNSNodeLogin(ctx, req.(*UpdateNSNodeLoginRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_StartNSNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StartNSNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).StartNSNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/StartNSNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).StartNSNode(ctx, req.(*StartNSNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NSNodeService_StopNSNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StopNSNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NSNodeServiceServer).StopNSNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NSNodeService/StopNSNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NSNodeServiceServer).StopNSNode(ctx, req.(*StopNSNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _NSNodeService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "pb.NSNodeService",
	HandlerType: (*NSNodeServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "findAllEnabledNSNodesWithNSClusterId",
			Handler:    _NSNodeService_FindAllEnabledNSNodesWithNSClusterId_Handler,
		},
		{
			MethodName: "countAllEnabledNSNodes",
			Handler:    _NSNodeService_CountAllEnabledNSNodes_Handler,
		},
		{
			MethodName: "countAllEnabledNSNodesMatch",
			Handler:    _NSNodeService_CountAllEnabledNSNodesMatch_Handler,
		},
		{
			MethodName: "listEnabledNSNodesMatch",
			Handler:    _NSNodeService_ListEnabledNSNodesMatch_Handler,
		},
		{
			MethodName: "countAllUpgradeNSNodesWithNSClusterId",
			Handler:    _NSNodeService_CountAllUpgradeNSNodesWithNSClusterId_Handler,
		},
		{
			MethodName: "createNSNode",
			Handler:    _NSNodeService_CreateNSNode_Handler,
		},
		{
			MethodName: "deleteNSNode",
			Handler:    _NSNodeService_DeleteNSNode_Handler,
		},
		{
			MethodName: "findEnabledNSNode",
			Handler:    _NSNodeService_FindEnabledNSNode_Handler,
		},
		{
			MethodName: "updateNSNode",
			Handler:    _NSNodeService_UpdateNSNode_Handler,
		},
		{
			MethodName: "installNSNode",
			Handler:    _NSNodeService_InstallNSNode_Handler,
		},
		{
			MethodName: "findNSNodeInstallStatus",
			Handler:    _NSNodeService_FindNSNodeInstallStatus_Handler,
		},
		{
			MethodName: "updateNSNodeIsInstalled",
			Handler:    _NSNodeService_UpdateNSNodeIsInstalled_Handler,
		},
		{
			MethodName: "updateNSNodeStatus",
			Handler:    _NSNodeService_UpdateNSNodeStatus_Handler,
		},
		{
			MethodName: "findCurrentNSNodeConfig",
			Handler:    _NSNodeService_FindCurrentNSNodeConfig_Handler,
		},
		{
			MethodName: "checkNSNodeLatestVersion",
			Handler:    _NSNodeService_CheckNSNodeLatestVersion_Handler,
		},
		{
			MethodName: "downloadNSNodeInstallationFile",
			Handler:    _NSNodeService_DownloadNSNodeInstallationFile_Handler,
		},
		{
			MethodName: "sendCommandToNSNode",
			Handler:    _NSNodeService_SendCommandToNSNode_Handler,
		},
		{
			MethodName: "updateNSNodeConnectedAPINodes",
			Handler:    _NSNodeService_UpdateNSNodeConnectedAPINodes_Handler,
		},
		{
			MethodName: "updateNSNodeLogin",
			Handler:    _NSNodeService_UpdateNSNodeLogin_Handler,
		},
		{
			MethodName: "startNSNode",
			Handler:    _NSNodeService_StartNSNode_Handler,
		},
		{
			MethodName: "stopNSNode",
			Handler:    _NSNodeService_StopNSNode_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "nsNodeStream",
			Handler:       _NSNodeService_NsNodeStream_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "service_ns_node.proto",
}
