// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.25.0
// 	protoc        v3.19.4
// source: service_node.proto

package pb

import (
	context "context"
	proto "github.com/golang/protobuf/proto"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4

// 创建节点
type CreateNodeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name          string     `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	NodeClusterId int64      `protobuf:"varint,2,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	NodeLogin     *NodeLogin `protobuf:"bytes,3,opt,name=nodeLogin,proto3" json:"nodeLogin,omitempty"`
	NodeGroupId   int64      `protobuf:"varint,4,opt,name=nodeGroupId,proto3" json:"nodeGroupId,omitempty"`
	// Deprecated: Do not use.
	DnsDomainId  int64    `protobuf:"varint,5,opt,name=dnsDomainId,proto3" json:"dnsDomainId,omitempty"`
	DnsRoutes    []string `protobuf:"bytes,6,rep,name=dnsRoutes,proto3" json:"dnsRoutes,omitempty"`
	NodeRegionId int64    `protobuf:"varint,7,opt,name=nodeRegionId,proto3" json:"nodeRegionId,omitempty"`
}

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

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

func (*CreateNodeRequest) ProtoMessage() {}

func (x *CreateNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateNodeRequest.ProtoReflect.Descriptor instead.
func (*CreateNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{0}
}

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

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

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

func (x *CreateNodeRequest) GetNodeGroupId() int64 {
	if x != nil {
		return x.NodeGroupId
	}
	return 0
}

// Deprecated: Do not use.
func (x *CreateNodeRequest) GetDnsDomainId() int64 {
	if x != nil {
		return x.DnsDomainId
	}
	return 0
}

func (x *CreateNodeRequest) GetDnsRoutes() []string {
	if x != nil {
		return x.DnsRoutes
	}
	return nil
}

func (x *CreateNodeRequest) GetNodeRegionId() int64 {
	if x != nil {
		return x.NodeRegionId
	}
	return 0
}

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

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
}

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

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

func (*CreateNodeResponse) ProtoMessage() {}

func (x *CreateNodeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateNodeResponse.ProtoReflect.Descriptor instead.
func (*CreateNodeResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{1}
}

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

// 注册集群节点
type RegisterClusterNodeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}

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

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

func (*RegisterClusterNodeRequest) ProtoMessage() {}

func (x *RegisterClusterNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RegisterClusterNodeRequest.ProtoReflect.Descriptor instead.
func (*RegisterClusterNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{2}
}

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

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

	UniqueId  string   `protobuf:"bytes,1,opt,name=uniqueId,proto3" json:"uniqueId,omitempty"`
	Secret    string   `protobuf:"bytes,2,opt,name=secret,proto3" json:"secret,omitempty"`
	Endpoints []string `protobuf:"bytes,3,rep,name=endpoints,proto3" json:"endpoints,omitempty"`
}

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

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

func (*RegisterClusterNodeResponse) ProtoMessage() {}

func (x *RegisterClusterNodeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RegisterClusterNodeResponse.ProtoReflect.Descriptor instead.
func (*RegisterClusterNodeResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{3}
}

func (x *RegisterClusterNodeResponse) GetUniqueId() string {
	if x != nil {
		return x.UniqueId
	}
	return ""
}

func (x *RegisterClusterNodeResponse) GetSecret() string {
	if x != nil {
		return x.Secret
	}
	return ""
}

func (x *RegisterClusterNodeResponse) GetEndpoints() []string {
	if x != nil {
		return x.Endpoints
	}
	return nil
}

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

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

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

func (*CountAllEnabledNodesRequest) ProtoMessage() {}

func (x *CountAllEnabledNodesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CountAllEnabledNodesRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledNodesRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{4}
}

// 列出单页节点
type ListEnabledNodesMatchRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Offset          int64  `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"`               // 读取位置
	Size            int64  `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`                   // 读取数量
	NodeClusterId   int64  `protobuf:"varint,3,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` // 集群ID
	InstallState    int32  `protobuf:"varint,4,opt,name=installState,proto3" json:"installState,omitempty"`   // 安装状态
	ActiveState     int32  `protobuf:"varint,5,opt,name=activeState,proto3" json:"activeState,omitempty"`     // 在线状态
	Keyword         string `protobuf:"bytes,6,opt,name=keyword,proto3" json:"keyword,omitempty"`              // 关键词
	NodeGroupId     int64  `protobuf:"varint,7,opt,name=nodeGroupId,proto3" json:"nodeGroupId,omitempty"`     // 节点分组ID
	NodeRegionId    int64  `protobuf:"varint,8,opt,name=nodeRegionId,proto3" json:"nodeRegionId,omitempty"`   // 节点区域ID
	Level           int32  `protobuf:"varint,9,opt,name=level,proto3" json:"level,omitempty"`                 // 节点级别，目前只有1（L1）和2（L2）
	CpuAsc          bool   `protobuf:"varint,20,opt,name=cpuAsc,proto3" json:"cpuAsc,omitempty"`
	CpuDesc         bool   `protobuf:"varint,21,opt,name=cpuDesc,proto3" json:"cpuDesc,omitempty"`
	MemoryAsc       bool   `protobuf:"varint,22,opt,name=memoryAsc,proto3" json:"memoryAsc,omitempty"`
	MemoryDesc      bool   `protobuf:"varint,23,opt,name=memoryDesc,proto3" json:"memoryDesc,omitempty"`
	TrafficInAsc    bool   `protobuf:"varint,24,opt,name=trafficInAsc,proto3" json:"trafficInAsc,omitempty"`
	TrafficInDesc   bool   `protobuf:"varint,25,opt,name=trafficInDesc,proto3" json:"trafficInDesc,omitempty"`
	TrafficOutAsc   bool   `protobuf:"varint,26,opt,name=trafficOutAsc,proto3" json:"trafficOutAsc,omitempty"`
	TrafficOutDesc  bool   `protobuf:"varint,27,opt,name=trafficOutDesc,proto3" json:"trafficOutDesc,omitempty"`
	LoadAsc         bool   `protobuf:"varint,28,opt,name=loadAsc,proto3" json:"loadAsc,omitempty"`
	LoadDesc        bool   `protobuf:"varint,29,opt,name=loadDesc,proto3" json:"loadDesc,omitempty"`
	ConnectionsAsc  bool   `protobuf:"varint,30,opt,name=connectionsAsc,proto3" json:"connectionsAsc,omitempty"`
	ConnectionsDesc bool   `protobuf:"varint,31,opt,name=connectionsDesc,proto3" json:"connectionsDesc,omitempty"`
}

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

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

func (*ListEnabledNodesMatchRequest) ProtoMessage() {}

func (x *ListEnabledNodesMatchRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListEnabledNodesMatchRequest.ProtoReflect.Descriptor instead.
func (*ListEnabledNodesMatchRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{5}
}

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

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

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

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

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

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

func (x *ListEnabledNodesMatchRequest) GetNodeGroupId() int64 {
	if x != nil {
		return x.NodeGroupId
	}
	return 0
}

func (x *ListEnabledNodesMatchRequest) GetNodeRegionId() int64 {
	if x != nil {
		return x.NodeRegionId
	}
	return 0
}

func (x *ListEnabledNodesMatchRequest) GetLevel() int32 {
	if x != nil {
		return x.Level
	}
	return 0
}

func (x *ListEnabledNodesMatchRequest) GetCpuAsc() bool {
	if x != nil {
		return x.CpuAsc
	}
	return false
}

func (x *ListEnabledNodesMatchRequest) GetCpuDesc() bool {
	if x != nil {
		return x.CpuDesc
	}
	return false
}

func (x *ListEnabledNodesMatchRequest) GetMemoryAsc() bool {
	if x != nil {
		return x.MemoryAsc
	}
	return false
}

func (x *ListEnabledNodesMatchRequest) GetMemoryDesc() bool {
	if x != nil {
		return x.MemoryDesc
	}
	return false
}

func (x *ListEnabledNodesMatchRequest) GetTrafficInAsc() bool {
	if x != nil {
		return x.TrafficInAsc
	}
	return false
}

func (x *ListEnabledNodesMatchRequest) GetTrafficInDesc() bool {
	if x != nil {
		return x.TrafficInDesc
	}
	return false
}

func (x *ListEnabledNodesMatchRequest) GetTrafficOutAsc() bool {
	if x != nil {
		return x.TrafficOutAsc
	}
	return false
}

func (x *ListEnabledNodesMatchRequest) GetTrafficOutDesc() bool {
	if x != nil {
		return x.TrafficOutDesc
	}
	return false
}

func (x *ListEnabledNodesMatchRequest) GetLoadAsc() bool {
	if x != nil {
		return x.LoadAsc
	}
	return false
}

func (x *ListEnabledNodesMatchRequest) GetLoadDesc() bool {
	if x != nil {
		return x.LoadDesc
	}
	return false
}

func (x *ListEnabledNodesMatchRequest) GetConnectionsAsc() bool {
	if x != nil {
		return x.ConnectionsAsc
	}
	return false
}

func (x *ListEnabledNodesMatchRequest) GetConnectionsDesc() bool {
	if x != nil {
		return x.ConnectionsDesc
	}
	return false
}

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

	Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
}

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

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

func (*ListEnabledNodesMatchResponse) ProtoMessage() {}

func (x *ListEnabledNodesMatchResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListEnabledNodesMatchResponse.ProtoReflect.Descriptor instead.
func (*ListEnabledNodesMatchResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{6}
}

func (x *ListEnabledNodesMatchResponse) GetNodes() []*Node {
	if x != nil {
		return x.Nodes
	}
	return nil
}

// 根据集群查找所有节点
type FindAllEnabledNodesWithNodeClusterIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId    int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`       // 集群ID
	IncludeSecondary bool  `protobuf:"varint,2,opt,name=includeSecondary,proto3" json:"includeSecondary,omitempty"` // 是否检查节点的从集群，如果为false，则只检查主集群ID
}

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

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

func (*FindAllEnabledNodesWithNodeClusterIdRequest) ProtoMessage() {}

func (x *FindAllEnabledNodesWithNodeClusterIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindAllEnabledNodesWithNodeClusterIdRequest.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodesWithNodeClusterIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{7}
}

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

func (x *FindAllEnabledNodesWithNodeClusterIdRequest) GetIncludeSecondary() bool {
	if x != nil {
		return x.IncludeSecondary
	}
	return false
}

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

	Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
}

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

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

func (*FindAllEnabledNodesWithNodeClusterIdResponse) ProtoMessage() {}

func (x *FindAllEnabledNodesWithNodeClusterIdResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindAllEnabledNodesWithNodeClusterIdResponse.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodesWithNodeClusterIdResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{8}
}

func (x *FindAllEnabledNodesWithNodeClusterIdResponse) GetNodes() []*Node {
	if x != nil {
		return x.Nodes
	}
	return nil
}

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

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
}

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

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

func (*DeleteNodeRequest) ProtoMessage() {}

func (x *DeleteNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteNodeRequest.ProtoReflect.Descriptor instead.
func (*DeleteNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{9}
}

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

// 从集群中删除节点
type DeleteNodeFromNodeClusterRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId        int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
	NodeClusterId int64 `protobuf:"varint,2,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

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

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

func (*DeleteNodeFromNodeClusterRequest) ProtoMessage() {}

func (x *DeleteNodeFromNodeClusterRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteNodeFromNodeClusterRequest.ProtoReflect.Descriptor instead.
func (*DeleteNodeFromNodeClusterRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{10}
}

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

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

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

	NodeId                  int64    `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
	Name                    string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	NodeClusterId           int64    `protobuf:"varint,3,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	SecondaryNodeClusterIds []int64  `protobuf:"varint,13,rep,packed,name=secondaryNodeClusterIds,proto3" json:"secondaryNodeClusterIds,omitempty"`
	IsOn                    bool     `protobuf:"varint,6,opt,name=isOn,proto3" json:"isOn,omitempty"`
	NodeGroupId             int64    `protobuf:"varint,7,opt,name=nodeGroupId,proto3" json:"nodeGroupId,omitempty"`
	NodeRegionId            int64    `protobuf:"varint,10,opt,name=nodeRegionId,proto3" json:"nodeRegionId,omitempty"`
	Level                   int32    `protobuf:"varint,14,opt,name=level,proto3" json:"level,omitempty"`
	LnAddrs                 []string `protobuf:"bytes,15,rep,name=lnAddrs,proto3" json:"lnAddrs,omitempty"`              // Ln节点访问地址
	EnableIPLists           bool     `protobuf:"varint,16,opt,name=enableIPLists,proto3" json:"enableIPLists,omitempty"` // 是否启用IP名单
}

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

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

func (*UpdateNodeRequest) ProtoMessage() {}

func (x *UpdateNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateNodeRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{11}
}

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

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

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

func (x *UpdateNodeRequest) GetSecondaryNodeClusterIds() []int64 {
	if x != nil {
		return x.SecondaryNodeClusterIds
	}
	return nil
}

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

func (x *UpdateNodeRequest) GetNodeGroupId() int64 {
	if x != nil {
		return x.NodeGroupId
	}
	return 0
}

func (x *UpdateNodeRequest) GetNodeRegionId() int64 {
	if x != nil {
		return x.NodeRegionId
	}
	return 0
}

func (x *UpdateNodeRequest) GetLevel() int32 {
	if x != nil {
		return x.Level
	}
	return 0
}

func (x *UpdateNodeRequest) GetLnAddrs() []string {
	if x != nil {
		return x.LnAddrs
	}
	return nil
}

func (x *UpdateNodeRequest) GetEnableIPLists() bool {
	if x != nil {
		return x.EnableIPLists
	}
	return false
}

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

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
}

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

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

func (*FindEnabledNodeRequest) ProtoMessage() {}

func (x *FindEnabledNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindEnabledNodeRequest.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{12}
}

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

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

	Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
}

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

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

func (*FindEnabledNodeResponse) ProtoMessage() {}

func (x *FindEnabledNodeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindEnabledNodeResponse.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{13}
}

func (x *FindEnabledNodeResponse) GetNode() *Node {
	if x != nil {
		return x.Node
	}
	return nil
}

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

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
}

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

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

func (*FindEnabledBasicNodeRequest) ProtoMessage() {}

func (x *FindEnabledBasicNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindEnabledBasicNodeRequest.ProtoReflect.Descriptor instead.
func (*FindEnabledBasicNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{14}
}

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

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

	Node *BasicNode `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
}

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

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

func (*FindEnabledBasicNodeResponse) ProtoMessage() {}

func (x *FindEnabledBasicNodeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindEnabledBasicNodeResponse.ProtoReflect.Descriptor instead.
func (*FindEnabledBasicNodeResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{15}
}

func (x *FindEnabledBasicNodeResponse) GetNode() *BasicNode {
	if x != nil {
		return x.Node
	}
	return nil
}

// 组合单个节点配置
type FindCurrentNodeConfigRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// 由于登录信息中已经包含了节点信息，所以这里不需要nodeId
	Version         int64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
	Compress        bool  `protobuf:"varint,2,opt,name=compress,proto3" json:"compress,omitempty"`               // 是否压缩
	NodeTaskVersion int64 `protobuf:"varint,3,opt,name=nodeTaskVersion,proto3" json:"nodeTaskVersion,omitempty"` // 通知任务版本
	UseDataMap      bool  `protobuf:"varint,4,opt,name=useDataMap,proto3" json:"useDataMap,omitempty"`           // 是否使用公共的数据集
}

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

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

func (*FindCurrentNodeConfigRequest) ProtoMessage() {}

func (x *FindCurrentNodeConfigRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindCurrentNodeConfigRequest.ProtoReflect.Descriptor instead.
func (*FindCurrentNodeConfigRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{16}
}

func (x *FindCurrentNodeConfigRequest) GetVersion() int64 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *FindCurrentNodeConfigRequest) GetCompress() bool {
	if x != nil {
		return x.Compress
	}
	return false
}

func (x *FindCurrentNodeConfigRequest) GetNodeTaskVersion() int64 {
	if x != nil {
		return x.NodeTaskVersion
	}
	return 0
}

func (x *FindCurrentNodeConfigRequest) GetUseDataMap() bool {
	if x != nil {
		return x.UseDataMap
	}
	return false
}

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

	NodeJSON     []byte `protobuf:"bytes,1,opt,name=nodeJSON,proto3" json:"nodeJSON,omitempty"`
	IsChanged    bool   `protobuf:"varint,2,opt,name=isChanged,proto3" json:"isChanged,omitempty"`
	IsCompressed bool   `protobuf:"varint,3,opt,name=isCompressed,proto3" json:"isCompressed,omitempty"`
	DataSize     int64  `protobuf:"varint,4,opt,name=dataSize,proto3" json:"dataSize,omitempty"`
	Timestamp    int64  `protobuf:"varint,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}

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

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

func (*FindCurrentNodeConfigResponse) ProtoMessage() {}

func (x *FindCurrentNodeConfigResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindCurrentNodeConfigResponse.ProtoReflect.Descriptor instead.
func (*FindCurrentNodeConfigResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{17}
}

func (x *FindCurrentNodeConfigResponse) GetNodeJSON() []byte {
	if x != nil {
		return x.NodeJSON
	}
	return nil
}

func (x *FindCurrentNodeConfigResponse) GetIsChanged() bool {
	if x != nil {
		return x.IsChanged
	}
	return false
}

func (x *FindCurrentNodeConfigResponse) GetIsCompressed() bool {
	if x != nil {
		return x.IsCompressed
	}
	return false
}

func (x *FindCurrentNodeConfigResponse) GetDataSize() int64 {
	if x != nil {
		return x.DataSize
	}
	return 0
}

func (x *FindCurrentNodeConfigResponse) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

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

	NodeId         int64  `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
	RequestId      int64  `protobuf:"varint,2,opt,name=requestId,proto3" json:"requestId,omitempty"`
	TimeoutSeconds int32  `protobuf:"varint,3,opt,name=timeoutSeconds,proto3" json:"timeoutSeconds,omitempty"`
	Code           string `protobuf:"bytes,4,opt,name=code,proto3" json:"code,omitempty"`
	DataJSON       []byte `protobuf:"bytes,5,opt,name=dataJSON,proto3" json:"dataJSON,omitempty"`
	IsOk           bool   `protobuf:"varint,6,opt,name=isOk,proto3" json:"isOk,omitempty"`
	Message        string `protobuf:"bytes,7,opt,name=message,proto3" json:"message,omitempty"`
}

func (x *NodeStreamMessage) Reset() {
	*x = NodeStreamMessage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*NodeStreamMessage) ProtoMessage() {}

func (x *NodeStreamMessage) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NodeStreamMessage.ProtoReflect.Descriptor instead.
func (*NodeStreamMessage) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{18}
}

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

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

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

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

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

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

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

// 更新节点状态
type UpdateNodeStatusRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId     int64  `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
	StatusJSON []byte `protobuf:"bytes,2,opt,name=statusJSON,proto3" json:"statusJSON,omitempty"`
}

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

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

func (*UpdateNodeStatusRequest) ProtoMessage() {}

func (x *UpdateNodeStatusRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[19]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateNodeStatusRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeStatusRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{19}
}

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

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

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

	NodeClusterId int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	InstallState  int32  `protobuf:"varint,2,opt,name=installState,proto3" json:"installState,omitempty"`
	ActiveState   int32  `protobuf:"varint,3,opt,name=activeState,proto3" json:"activeState,omitempty"`
	Keyword       string `protobuf:"bytes,4,opt,name=keyword,proto3" json:"keyword,omitempty"`
	NodeGroupId   int64  `protobuf:"varint,5,opt,name=nodeGroupId,proto3" json:"nodeGroupId,omitempty"`
	NodeRegionId  int64  `protobuf:"varint,6,opt,name=nodeRegionId,proto3" json:"nodeRegionId,omitempty"`
	Level         int32  `protobuf:"varint,7,opt,name=level,proto3" json:"level,omitempty"`
}

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

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

func (*CountAllEnabledNodesMatchRequest) ProtoMessage() {}

func (x *CountAllEnabledNodesMatchRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[20]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CountAllEnabledNodesMatchRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledNodesMatchRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{20}
}

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

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

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

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

func (x *CountAllEnabledNodesMatchRequest) GetNodeGroupId() int64 {
	if x != nil {
		return x.NodeGroupId
	}
	return 0
}

func (x *CountAllEnabledNodesMatchRequest) GetNodeRegionId() int64 {
	if x != nil {
		return x.NodeRegionId
	}
	return 0
}

func (x *CountAllEnabledNodesMatchRequest) GetLevel() int32 {
	if x != nil {
		return x.Level
	}
	return 0
}

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

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

func (x *UpdateNodeIsInstalledRequest) Reset() {
	*x = UpdateNodeIsInstalledRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateNodeIsInstalledRequest) ProtoMessage() {}

func (x *UpdateNodeIsInstalledRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[21]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateNodeIsInstalledRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeIsInstalledRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{21}
}

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

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

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

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
}

func (x *InstallNodeRequest) Reset() {
	*x = InstallNodeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*InstallNodeRequest) ProtoMessage() {}

func (x *InstallNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[22]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InstallNodeRequest.ProtoReflect.Descriptor instead.
func (*InstallNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{22}
}

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

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

func (x *InstallNodeResponse) Reset() {
	*x = InstallNodeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*InstallNodeResponse) ProtoMessage() {}

func (x *InstallNodeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[23]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InstallNodeResponse.ProtoReflect.Descriptor instead.
func (*InstallNodeResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{23}
}

// 升级节点
type UpgradeNodeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
}

func (x *UpgradeNodeRequest) Reset() {
	*x = UpgradeNodeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpgradeNodeRequest) ProtoMessage() {}

func (x *UpgradeNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[24]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpgradeNodeRequest.ProtoReflect.Descriptor instead.
func (*UpgradeNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{24}
}

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

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

func (x *UpgradeNodeResponse) Reset() {
	*x = UpgradeNodeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpgradeNodeResponse) ProtoMessage() {}

func (x *UpgradeNodeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[25]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpgradeNodeResponse.ProtoReflect.Descriptor instead.
func (*UpgradeNodeResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{25}
}

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

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
}

func (x *StartNodeRequest) Reset() {
	*x = StartNodeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StartNodeRequest) ProtoMessage() {}

func (x *StartNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[26]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StartNodeRequest.ProtoReflect.Descriptor instead.
func (*StartNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{26}
}

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

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

	IsOk  bool   `protobuf:"varint,1,opt,name=isOk,proto3" json:"isOk,omitempty"`
	Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
}

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

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

func (*StartNodeResponse) ProtoMessage() {}

func (x *StartNodeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[27]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StartNodeResponse.ProtoReflect.Descriptor instead.
func (*StartNodeResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{27}
}

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

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

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

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
}

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

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

func (*StopNodeRequest) ProtoMessage() {}

func (x *StopNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[28]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StopNodeRequest.ProtoReflect.Descriptor instead.
func (*StopNodeRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{28}
}

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

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

	IsOk  bool   `protobuf:"varint,1,opt,name=isOk,proto3" json:"isOk,omitempty"`
	Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *StopNodeResponse) Reset() {
	*x = StopNodeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StopNodeResponse) ProtoMessage() {}

func (x *StopNodeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[29]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StopNodeResponse.ProtoReflect.Descriptor instead.
func (*StopNodeResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{29}
}

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

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

// 更改节点连接的API节点信息
type UpdateNodeConnectedAPINodesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ApiNodeIds []int64 `protobuf:"varint,1,rep,packed,name=apiNodeIds,proto3" json:"apiNodeIds,omitempty"`
}

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

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

func (*UpdateNodeConnectedAPINodesRequest) ProtoMessage() {}

func (x *UpdateNodeConnectedAPINodesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[30]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateNodeConnectedAPINodesRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeConnectedAPINodesRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{30}
}

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

// 计算使用某个认证的节点数量
type CountAllEnabledNodesWithNodeGrantIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeGrantId int64 `protobuf:"varint,1,opt,name=nodeGrantId,proto3" json:"nodeGrantId,omitempty"`
}

func (x *CountAllEnabledNodesWithNodeGrantIdRequest) Reset() {
	*x = CountAllEnabledNodesWithNodeGrantIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CountAllEnabledNodesWithNodeGrantIdRequest) ProtoMessage() {}

func (x *CountAllEnabledNodesWithNodeGrantIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[31]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CountAllEnabledNodesWithNodeGrantIdRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledNodesWithNodeGrantIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{31}
}

func (x *CountAllEnabledNodesWithNodeGrantIdRequest) GetNodeGrantId() int64 {
	if x != nil {
		return x.NodeGrantId
	}
	return 0
}

// 查找使用某个认证的所有节点
type FindAllEnabledNodesWithNodeGrantIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeGrantId int64 `protobuf:"varint,1,opt,name=nodeGrantId,proto3" json:"nodeGrantId,omitempty"`
}

func (x *FindAllEnabledNodesWithNodeGrantIdRequest) Reset() {
	*x = FindAllEnabledNodesWithNodeGrantIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindAllEnabledNodesWithNodeGrantIdRequest) ProtoMessage() {}

func (x *FindAllEnabledNodesWithNodeGrantIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[32]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindAllEnabledNodesWithNodeGrantIdRequest.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodesWithNodeGrantIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{32}
}

func (x *FindAllEnabledNodesWithNodeGrantIdRequest) GetNodeGrantId() int64 {
	if x != nil {
		return x.NodeGrantId
	}
	return 0
}

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

	Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
}

func (x *FindAllEnabledNodesWithNodeGrantIdResponse) Reset() {
	*x = FindAllEnabledNodesWithNodeGrantIdResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindAllEnabledNodesWithNodeGrantIdResponse) ProtoMessage() {}

func (x *FindAllEnabledNodesWithNodeGrantIdResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[33]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindAllEnabledNodesWithNodeGrantIdResponse.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodesWithNodeGrantIdResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{33}
}

func (x *FindAllEnabledNodesWithNodeGrantIdResponse) GetNodes() []*Node {
	if x != nil {
		return x.Nodes
	}
	return nil
}

// 列出所有未安装的节点
type FindAllNotInstalledNodesWithNodeClusterIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *FindAllNotInstalledNodesWithNodeClusterIdRequest) Reset() {
	*x = FindAllNotInstalledNodesWithNodeClusterIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindAllNotInstalledNodesWithNodeClusterIdRequest) ProtoMessage() {}

func (x *FindAllNotInstalledNodesWithNodeClusterIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[34]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindAllNotInstalledNodesWithNodeClusterIdRequest.ProtoReflect.Descriptor instead.
func (*FindAllNotInstalledNodesWithNodeClusterIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{34}
}

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

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

	Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
}

func (x *FindAllNotInstalledNodesWithNodeClusterIdResponse) Reset() {
	*x = FindAllNotInstalledNodesWithNodeClusterIdResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindAllNotInstalledNodesWithNodeClusterIdResponse) ProtoMessage() {}

func (x *FindAllNotInstalledNodesWithNodeClusterIdResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[35]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindAllNotInstalledNodesWithNodeClusterIdResponse.ProtoReflect.Descriptor instead.
func (*FindAllNotInstalledNodesWithNodeClusterIdResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{35}
}

func (x *FindAllNotInstalledNodesWithNodeClusterIdResponse) GetNodes() []*Node {
	if x != nil {
		return x.Nodes
	}
	return nil
}

// 计算未安装的节点数量
type CountAllNotInstalledNodesWithNodeClusterIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *CountAllNotInstalledNodesWithNodeClusterIdRequest) Reset() {
	*x = CountAllNotInstalledNodesWithNodeClusterIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CountAllNotInstalledNodesWithNodeClusterIdRequest) ProtoMessage() {}

func (x *CountAllNotInstalledNodesWithNodeClusterIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[36]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CountAllNotInstalledNodesWithNodeClusterIdRequest.ProtoReflect.Descriptor instead.
func (*CountAllNotInstalledNodesWithNodeClusterIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{36}
}

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

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

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *CountAllUpgradeNodesWithNodeClusterIdRequest) Reset() {
	*x = CountAllUpgradeNodesWithNodeClusterIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CountAllUpgradeNodesWithNodeClusterIdRequest) ProtoMessage() {}

func (x *CountAllUpgradeNodesWithNodeClusterIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[37]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CountAllUpgradeNodesWithNodeClusterIdRequest.ProtoReflect.Descriptor instead.
func (*CountAllUpgradeNodesWithNodeClusterIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{37}
}

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

// 列出所有需要升级的节点
type FindAllUpgradeNodesWithNodeClusterIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *FindAllUpgradeNodesWithNodeClusterIdRequest) Reset() {
	*x = FindAllUpgradeNodesWithNodeClusterIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[38]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindAllUpgradeNodesWithNodeClusterIdRequest) ProtoMessage() {}

func (x *FindAllUpgradeNodesWithNodeClusterIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[38]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindAllUpgradeNodesWithNodeClusterIdRequest.ProtoReflect.Descriptor instead.
func (*FindAllUpgradeNodesWithNodeClusterIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{38}
}

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

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

	Nodes []*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
}

func (x *FindAllUpgradeNodesWithNodeClusterIdResponse) Reset() {
	*x = FindAllUpgradeNodesWithNodeClusterIdResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindAllUpgradeNodesWithNodeClusterIdResponse) ProtoMessage() {}

func (x *FindAllUpgradeNodesWithNodeClusterIdResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[39]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindAllUpgradeNodesWithNodeClusterIdResponse.ProtoReflect.Descriptor instead.
func (*FindAllUpgradeNodesWithNodeClusterIdResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{39}
}

func (x *FindAllUpgradeNodesWithNodeClusterIdResponse) GetNodes() []*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade {
	if x != nil {
		return x.Nodes
	}
	return nil
}

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

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
}

func (x *FindNodeInstallStatusRequest) Reset() {
	*x = FindNodeInstallStatusRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeInstallStatusRequest) ProtoMessage() {}

func (x *FindNodeInstallStatusRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[40]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindNodeInstallStatusRequest.ProtoReflect.Descriptor instead.
func (*FindNodeInstallStatusRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{40}
}

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

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

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

func (x *FindNodeInstallStatusResponse) Reset() {
	*x = FindNodeInstallStatusResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[41]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeInstallStatusResponse) ProtoMessage() {}

func (x *FindNodeInstallStatusResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[41]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindNodeInstallStatusResponse.ProtoReflect.Descriptor instead.
func (*FindNodeInstallStatusResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{41}
}

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

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

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

func (x *UpdateNodeLoginRequest) Reset() {
	*x = UpdateNodeLoginRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[42]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateNodeLoginRequest) ProtoMessage() {}

func (x *UpdateNodeLoginRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[42]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateNodeLoginRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeLoginRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{42}
}

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

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

// 计算某个节点分组内的节点数量
type CountAllEnabledNodesWithNodeGroupIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeGroupId int64 `protobuf:"varint,1,opt,name=nodeGroupId,proto3" json:"nodeGroupId,omitempty"`
}

func (x *CountAllEnabledNodesWithNodeGroupIdRequest) Reset() {
	*x = CountAllEnabledNodesWithNodeGroupIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[43]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CountAllEnabledNodesWithNodeGroupIdRequest) ProtoMessage() {}

func (x *CountAllEnabledNodesWithNodeGroupIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[43]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CountAllEnabledNodesWithNodeGroupIdRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledNodesWithNodeGroupIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{43}
}

func (x *CountAllEnabledNodesWithNodeGroupIdRequest) GetNodeGroupId() int64 {
	if x != nil {
		return x.NodeGroupId
	}
	return 0
}

// 取得某个集群下的所有节点DNS信息
type FindAllEnabledNodesDNSWithNodeClusterIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

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

func (x *FindAllEnabledNodesDNSWithNodeClusterIdRequest) Reset() {
	*x = FindAllEnabledNodesDNSWithNodeClusterIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[44]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindAllEnabledNodesDNSWithNodeClusterIdRequest) ProtoMessage() {}

func (x *FindAllEnabledNodesDNSWithNodeClusterIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[44]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindAllEnabledNodesDNSWithNodeClusterIdRequest.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodesDNSWithNodeClusterIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{44}
}

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

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

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

	Nodes []*NodeDNSInfo `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
}

func (x *FindAllEnabledNodesDNSWithNodeClusterIdResponse) Reset() {
	*x = FindAllEnabledNodesDNSWithNodeClusterIdResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[45]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindAllEnabledNodesDNSWithNodeClusterIdResponse) ProtoMessage() {}

func (x *FindAllEnabledNodesDNSWithNodeClusterIdResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[45]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindAllEnabledNodesDNSWithNodeClusterIdResponse.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodesDNSWithNodeClusterIdResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{45}
}

func (x *FindAllEnabledNodesDNSWithNodeClusterIdResponse) GetNodes() []*NodeDNSInfo {
	if x != nil {
		return x.Nodes
	}
	return nil
}

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

	Id                 int64       `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name               string      `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	IpAddr             string      `protobuf:"bytes,3,opt,name=ipAddr,proto3" json:"ipAddr,omitempty"`
	NodeIPAddressId    int64       `protobuf:"varint,9,opt,name=nodeIPAddressId,proto3" json:"nodeIPAddressId,omitempty"`
	Routes             []*DNSRoute `protobuf:"bytes,4,rep,name=routes,proto3" json:"routes,omitempty"`
	NodeClusterId      int64       `protobuf:"varint,5,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	DnsDomainId        int64       `protobuf:"varint,6,opt,name=dnsDomainId,proto3" json:"dnsDomainId,omitempty"`
	DnsDomainName      string      `protobuf:"bytes,7,opt,name=dnsDomainName,proto3" json:"dnsDomainName,omitempty"`
	NodeClusterDNSName string      `protobuf:"bytes,8,opt,name=nodeClusterDNSName,proto3" json:"nodeClusterDNSName,omitempty"`
	IsBackupForCluster bool        `protobuf:"varint,10,opt,name=isBackupForCluster,proto3" json:"isBackupForCluster,omitempty"` // 是否为集群备份节点
	IsBackupForGroup   bool        `protobuf:"varint,11,opt,name=isBackupForGroup,proto3" json:"isBackupForGroup,omitempty"`     // 是否为分组备份节点
	IsOffline          bool        `protobuf:"varint,12,opt,name=isOffline,proto3" json:"isOffline,omitempty"`                   // 是否下线
}

func (x *NodeDNSInfo) Reset() {
	*x = NodeDNSInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[46]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*NodeDNSInfo) ProtoMessage() {}

func (x *NodeDNSInfo) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[46]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NodeDNSInfo.ProtoReflect.Descriptor instead.
func (*NodeDNSInfo) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{46}
}

func (x *NodeDNSInfo) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *NodeDNSInfo) GetIpAddr() string {
	if x != nil {
		return x.IpAddr
	}
	return ""
}

func (x *NodeDNSInfo) GetNodeIPAddressId() int64 {
	if x != nil {
		return x.NodeIPAddressId
	}
	return 0
}

func (x *NodeDNSInfo) GetRoutes() []*DNSRoute {
	if x != nil {
		return x.Routes
	}
	return nil
}

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

func (x *NodeDNSInfo) GetDnsDomainId() int64 {
	if x != nil {
		return x.DnsDomainId
	}
	return 0
}

func (x *NodeDNSInfo) GetDnsDomainName() string {
	if x != nil {
		return x.DnsDomainName
	}
	return ""
}

func (x *NodeDNSInfo) GetNodeClusterDNSName() string {
	if x != nil {
		return x.NodeClusterDNSName
	}
	return ""
}

func (x *NodeDNSInfo) GetIsBackupForCluster() bool {
	if x != nil {
		return x.IsBackupForCluster
	}
	return false
}

func (x *NodeDNSInfo) GetIsBackupForGroup() bool {
	if x != nil {
		return x.IsBackupForGroup
	}
	return false
}

func (x *NodeDNSInfo) GetIsOffline() bool {
	if x != nil {
		return x.IsOffline
	}
	return false
}

// 查找单个节点的域名解析信息
type FindEnabledNodeDNSRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId        int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
	NodeClusterId int64 `protobuf:"varint,2,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	NodeIPAddrId  int64 `protobuf:"varint,3,opt,name=nodeIPAddrId,proto3" json:"nodeIPAddrId,omitempty"`
}

func (x *FindEnabledNodeDNSRequest) Reset() {
	*x = FindEnabledNodeDNSRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[47]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindEnabledNodeDNSRequest) ProtoMessage() {}

func (x *FindEnabledNodeDNSRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[47]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindEnabledNodeDNSRequest.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeDNSRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{47}
}

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

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

func (x *FindEnabledNodeDNSRequest) GetNodeIPAddrId() int64 {
	if x != nil {
		return x.NodeIPAddrId
	}
	return 0
}

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

	Node *NodeDNSInfo `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
}

func (x *FindEnabledNodeDNSResponse) Reset() {
	*x = FindEnabledNodeDNSResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[48]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindEnabledNodeDNSResponse) ProtoMessage() {}

func (x *FindEnabledNodeDNSResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[48]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindEnabledNodeDNSResponse.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeDNSResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{48}
}

func (x *FindEnabledNodeDNSResponse) GetNode() *NodeDNSInfo {
	if x != nil {
		return x.Node
	}
	return nil
}

// 修改节点的DNS信息
type UpdateNodeDNSRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId          int64    `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
	IpAddr          string   `protobuf:"bytes,2,opt,name=ipAddr,proto3" json:"ipAddr,omitempty"`
	NodeIPAddressId int64    `protobuf:"varint,5,opt,name=nodeIPAddressId,proto3" json:"nodeIPAddressId,omitempty"`
	DnsDomainId     int64    `protobuf:"varint,3,opt,name=dnsDomainId,proto3" json:"dnsDomainId,omitempty"`
	Routes          []string `protobuf:"bytes,4,rep,name=routes,proto3" json:"routes,omitempty"`
}

func (x *UpdateNodeDNSRequest) Reset() {
	*x = UpdateNodeDNSRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[49]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateNodeDNSRequest) ProtoMessage() {}

func (x *UpdateNodeDNSRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[49]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateNodeDNSRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeDNSRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{49}
}

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

func (x *UpdateNodeDNSRequest) GetIpAddr() string {
	if x != nil {
		return x.IpAddr
	}
	return ""
}

func (x *UpdateNodeDNSRequest) GetNodeIPAddressId() int64 {
	if x != nil {
		return x.NodeIPAddressId
	}
	return 0
}

func (x *UpdateNodeDNSRequest) GetDnsDomainId() int64 {
	if x != nil {
		return x.DnsDomainId
	}
	return 0
}

func (x *UpdateNodeDNSRequest) GetRoutes() []string {
	if x != nil {
		return x.Routes
	}
	return nil
}

// 计算某个区域下的节点数量
type CountAllEnabledNodesWithNodeRegionIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeRegionId int64 `protobuf:"varint,1,opt,name=nodeRegionId,proto3" json:"nodeRegionId,omitempty"`
}

func (x *CountAllEnabledNodesWithNodeRegionIdRequest) Reset() {
	*x = CountAllEnabledNodesWithNodeRegionIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[50]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CountAllEnabledNodesWithNodeRegionIdRequest) ProtoMessage() {}

func (x *CountAllEnabledNodesWithNodeRegionIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[50]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CountAllEnabledNodesWithNodeRegionIdRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledNodesWithNodeRegionIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{50}
}

func (x *CountAllEnabledNodesWithNodeRegionIdRequest) GetNodeRegionId() int64 {
	if x != nil {
		return x.NodeRegionId
	}
	return 0
}

// 根据一组ID获取节点信息
type FindEnabledNodesWithIdsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeIds []int64 `protobuf:"varint,1,rep,packed,name=nodeIds,proto3" json:"nodeIds,omitempty"`
}

func (x *FindEnabledNodesWithIdsRequest) Reset() {
	*x = FindEnabledNodesWithIdsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[51]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindEnabledNodesWithIdsRequest) ProtoMessage() {}

func (x *FindEnabledNodesWithIdsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[51]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindEnabledNodesWithIdsRequest.ProtoReflect.Descriptor instead.
func (*FindEnabledNodesWithIdsRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{51}
}

func (x *FindEnabledNodesWithIdsRequest) GetNodeIds() []int64 {
	if x != nil {
		return x.NodeIds
	}
	return nil
}

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

	Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
}

func (x *FindEnabledNodesWithIdsResponse) Reset() {
	*x = FindEnabledNodesWithIdsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[52]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindEnabledNodesWithIdsResponse) ProtoMessage() {}

func (x *FindEnabledNodesWithIdsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[52]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindEnabledNodesWithIdsResponse.ProtoReflect.Descriptor instead.
func (*FindEnabledNodesWithIdsResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{52}
}

func (x *FindEnabledNodesWithIdsResponse) GetNodes() []*Node {
	if x != nil {
		return x.Nodes
	}
	return nil
}

// 检查新版本
type CheckNodeLatestVersionRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Os             string `protobuf:"bytes,1,opt,name=os,proto3" json:"os,omitempty"`
	Arch           string `protobuf:"bytes,2,opt,name=arch,proto3" json:"arch,omitempty"`
	CurrentVersion string `protobuf:"bytes,3,opt,name=currentVersion,proto3" json:"currentVersion,omitempty"`
}

func (x *CheckNodeLatestVersionRequest) Reset() {
	*x = CheckNodeLatestVersionRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[53]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CheckNodeLatestVersionRequest) ProtoMessage() {}

func (x *CheckNodeLatestVersionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[53]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CheckNodeLatestVersionRequest.ProtoReflect.Descriptor instead.
func (*CheckNodeLatestVersionRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{53}
}

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

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

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

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

	HasNewVersion bool   `protobuf:"varint,1,opt,name=hasNewVersion,proto3" json:"hasNewVersion,omitempty"`
	NewVersion    string `protobuf:"bytes,2,opt,name=newVersion,proto3" json:"newVersion,omitempty"`
}

func (x *CheckNodeLatestVersionResponse) Reset() {
	*x = CheckNodeLatestVersionResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[54]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CheckNodeLatestVersionResponse) ProtoMessage() {}

func (x *CheckNodeLatestVersionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[54]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CheckNodeLatestVersionResponse.ProtoReflect.Descriptor instead.
func (*CheckNodeLatestVersionResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{54}
}

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

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

// 设置节点上线状态
type UpdateNodeUpRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
	IsUp   bool  `protobuf:"varint,2,opt,name=isUp,proto3" json:"isUp,omitempty"`
}

func (x *UpdateNodeUpRequest) Reset() {
	*x = UpdateNodeUpRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[55]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateNodeUpRequest) ProtoMessage() {}

func (x *UpdateNodeUpRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[55]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateNodeUpRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeUpRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{55}
}

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

func (x *UpdateNodeUpRequest) GetIsUp() bool {
	if x != nil {
		return x.IsUp
	}
	return false
}

// 下载最新边缘节点安装文件
type DownloadNodeInstallationFileRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Os          string `protobuf:"bytes,1,opt,name=os,proto3" json:"os,omitempty"`
	Arch        string `protobuf:"bytes,2,opt,name=arch,proto3" json:"arch,omitempty"`
	ChunkOffset int64  `protobuf:"varint,3,opt,name=chunkOffset,proto3" json:"chunkOffset,omitempty"`
}

func (x *DownloadNodeInstallationFileRequest) Reset() {
	*x = DownloadNodeInstallationFileRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[56]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DownloadNodeInstallationFileRequest) ProtoMessage() {}

func (x *DownloadNodeInstallationFileRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[56]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DownloadNodeInstallationFileRequest.ProtoReflect.Descriptor instead.
func (*DownloadNodeInstallationFileRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{56}
}

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

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

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

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

	ChunkData []byte `protobuf:"bytes,1,opt,name=chunkData,proto3" json:"chunkData,omitempty"`
	Sum       string `protobuf:"bytes,2,opt,name=sum,proto3" json:"sum,omitempty"` // 文件的md5sum
	Offset    int64  `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"`
	Version   string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
	Filename  string `protobuf:"bytes,5,opt,name=filename,proto3" json:"filename,omitempty"`
}

func (x *DownloadNodeInstallationFileResponse) Reset() {
	*x = DownloadNodeInstallationFileResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[57]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DownloadNodeInstallationFileResponse) ProtoMessage() {}

func (x *DownloadNodeInstallationFileResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[57]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DownloadNodeInstallationFileResponse.ProtoReflect.Descriptor instead.
func (*DownloadNodeInstallationFileResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{57}
}

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

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

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

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

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

// 修改节点系统信息
type UpdateNodeSystemRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
	MaxCPU int32 `protobuf:"varint,2,opt,name=maxCPU,proto3" json:"maxCPU,omitempty"`
}

func (x *UpdateNodeSystemRequest) Reset() {
	*x = UpdateNodeSystemRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[58]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateNodeSystemRequest) ProtoMessage() {}

func (x *UpdateNodeSystemRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[58]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateNodeSystemRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeSystemRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{58}
}

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

func (x *UpdateNodeSystemRequest) GetMaxCPU() int32 {
	if x != nil {
		return x.MaxCPU
	}
	return 0
}

// 修改节点缓存设置
type UpdateNodeCacheRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId                 int64         `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`                                // 节点ID
	MaxCacheDiskCapacity   *SizeCapacity `protobuf:"bytes,2,opt,name=maxCacheDiskCapacity,proto3" json:"maxCacheDiskCapacity,omitempty"`     // 磁盘容量限制
	MaxCacheMemoryCapacity *SizeCapacity `protobuf:"bytes,3,opt,name=maxCacheMemoryCapacity,proto3" json:"maxCacheMemoryCapacity,omitempty"` // 内存容量限制
	CacheDiskDir           string        `protobuf:"bytes,4,opt,name=cacheDiskDir,proto3" json:"cacheDiskDir,omitempty"`                     // 磁盘缓存目录
	CacheDiskSubDirsJSON   []byte        `protobuf:"bytes,5,opt,name=cacheDiskSubDirsJSON,proto3" json:"cacheDiskSubDirsJSON,omitempty"`     // 磁盘缓存子目录
}

func (x *UpdateNodeCacheRequest) Reset() {
	*x = UpdateNodeCacheRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[59]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateNodeCacheRequest) ProtoMessage() {}

func (x *UpdateNodeCacheRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[59]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateNodeCacheRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeCacheRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{59}
}

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

func (x *UpdateNodeCacheRequest) GetMaxCacheDiskCapacity() *SizeCapacity {
	if x != nil {
		return x.MaxCacheDiskCapacity
	}
	return nil
}

func (x *UpdateNodeCacheRequest) GetMaxCacheMemoryCapacity() *SizeCapacity {
	if x != nil {
		return x.MaxCacheMemoryCapacity
	}
	return nil
}

func (x *UpdateNodeCacheRequest) GetCacheDiskDir() string {
	if x != nil {
		return x.CacheDiskDir
	}
	return ""
}

func (x *UpdateNodeCacheRequest) GetCacheDiskSubDirsJSON() []byte {
	if x != nil {
		return x.CacheDiskSubDirsJSON
	}
	return nil
}

// 读取节点级别信息
type FindNodeLevelInfoRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *FindNodeLevelInfoRequest) Reset() {
	*x = FindNodeLevelInfoRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[60]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeLevelInfoRequest) ProtoMessage() {}

func (x *FindNodeLevelInfoRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[60]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindNodeLevelInfoRequest.ProtoReflect.Descriptor instead.
func (*FindNodeLevelInfoRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{60}
}

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

	Level              int32  `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"`
	ParentNodesMapJSON []byte `protobuf:"bytes,2,opt,name=parentNodesMapJSON,proto3" json:"parentNodesMapJSON,omitempty"`
}

func (x *FindNodeLevelInfoResponse) Reset() {
	*x = FindNodeLevelInfoResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[61]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeLevelInfoResponse) ProtoMessage() {}

func (x *FindNodeLevelInfoResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[61]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindNodeLevelInfoResponse.ProtoReflect.Descriptor instead.
func (*FindNodeLevelInfoResponse) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{61}
}

func (x *FindNodeLevelInfoResponse) GetLevel() int32 {
	if x != nil {
		return x.Level
	}
	return 0
}

func (x *FindNodeLevelInfoResponse) GetParentNodesMapJSON() []byte {
	if x != nil {
		return x.ParentNodesMapJSON
	}
	return nil
}

// 读取节点DNS Resolver
type FindNodeDNSResolverRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
}

func (x *FindNodeDNSResolverRequest) Reset() {
	*x = FindNodeDNSResolverRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[62]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeDNSResolverRequest) ProtoMessage() {}

func (x *FindNodeDNSResolverRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[62]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindNodeDNSResolverRequest.ProtoReflect.Descriptor instead.
func (*FindNodeDNSResolverRequest) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{62}
}

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

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

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

func (x *FindNodeDNSResolverResponse) Reset() {
	*x = FindNodeDNSResolverResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[63]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeDNSResolverResponse) ProtoMessage() {}

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

func (x *FindNodeDNSResolverResponse) GetDnsResolverJSON() []byte {
	if x != nil {
		return x.DnsResolverJSON
	}
	return nil
}

// 修改DNS Resolver
type UpdateNodeDNSResolverRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId          int64  `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
	DnsResolverJSON []byte `protobuf:"bytes,2,opt,name=dnsResolverJSON,proto3" json:"dnsResolverJSON,omitempty"`
}

func (x *UpdateNodeDNSResolverRequest) Reset() {
	*x = UpdateNodeDNSResolverRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[64]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateNodeDNSResolverRequest) ProtoMessage() {}

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

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

func (x *UpdateNodeDNSResolverRequest) GetDnsResolverJSON() []byte {
	if x != nil {
		return x.DnsResolverJSON
	}
	return nil
}

// 获取节点的DDoS设置
type FindNodeDDoSProtectionRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
}

func (x *FindNodeDDoSProtectionRequest) Reset() {
	*x = FindNodeDDoSProtectionRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[65]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeDDoSProtectionRequest) ProtoMessage() {}

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

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

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

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

func (x *FindNodeDDoSProtectionResponse) Reset() {
	*x = FindNodeDDoSProtectionResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[66]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeDDoSProtectionResponse) ProtoMessage() {}

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

func (x *FindNodeDDoSProtectionResponse) GetDdosProtectionJSON() []byte {
	if x != nil {
		return x.DdosProtectionJSON
	}
	return nil
}

// 修改节点的DDoS设置
type UpdateNodeDDoSProtectionRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId             int64  `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
	DdosProtectionJSON []byte `protobuf:"bytes,2,opt,name=ddosProtectionJSON,proto3" json:"ddosProtectionJSON,omitempty"`
}

func (x *UpdateNodeDDoSProtectionRequest) Reset() {
	*x = UpdateNodeDDoSProtectionRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[67]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateNodeDDoSProtectionRequest) ProtoMessage() {}

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

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

func (x *UpdateNodeDDoSProtectionRequest) GetDdosProtectionJSON() []byte {
	if x != nil {
		return x.DdosProtectionJSON
	}
	return nil
}

// 取得节点的服务全局配置
type FindNodeGlobalServerConfigRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
}

func (x *FindNodeGlobalServerConfigRequest) Reset() {
	*x = FindNodeGlobalServerConfigRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[68]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeGlobalServerConfigRequest) ProtoMessage() {}

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

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

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

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

func (x *FindNodeGlobalServerConfigResponse) Reset() {
	*x = FindNodeGlobalServerConfigResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[69]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeGlobalServerConfigResponse) ProtoMessage() {}

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

func (x *FindNodeGlobalServerConfigResponse) GetGlobalServerConfigJSON() []byte {
	if x != nil {
		return x.GlobalServerConfigJSON
	}
	return nil
}

// 取得节点的配置概要信息
type FindEnabledNodeConfigInfoRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
}

func (x *FindEnabledNodeConfigInfoRequest) Reset() {
	*x = FindEnabledNodeConfigInfoRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[70]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindEnabledNodeConfigInfoRequest) ProtoMessage() {}

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

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

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

	HasDNSInfo          bool `protobuf:"varint,1,opt,name=hasDNSInfo,proto3" json:"hasDNSInfo,omitempty"`                   // 是否有DNS设置
	HasCacheInfo        bool `protobuf:"varint,2,opt,name=hasCacheInfo,proto3" json:"hasCacheInfo,omitempty"`               // 是否有缓存设置
	HasThresholds       bool `protobuf:"varint,3,opt,name=hasThresholds,proto3" json:"hasThresholds,omitempty"`             // 是否有阈值设置
	HasSSH              bool `protobuf:"varint,4,opt,name=hasSSH,proto3" json:"hasSSH,omitempty"`                           // 是否有SSH设置
	HasSystemSettings   bool `protobuf:"varint,5,opt,name=hasSystemSettings,proto3" json:"hasSystemSettings,omitempty"`     // 是否有系统设置
	HasDDoSProtection   bool `protobuf:"varint,6,opt,name=hasDDoSProtection,proto3" json:"hasDDoSProtection,omitempty"`     // 是否有DDoS防护设置
	HasScheduleSettings bool `protobuf:"varint,7,opt,name=hasScheduleSettings,proto3" json:"hasScheduleSettings,omitempty"` // 是否有调度设置
}

func (x *FindEnabledNodeConfigInfoResponse) Reset() {
	*x = FindEnabledNodeConfigInfoResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[71]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindEnabledNodeConfigInfoResponse) ProtoMessage() {}

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

func (x *FindEnabledNodeConfigInfoResponse) GetHasDNSInfo() bool {
	if x != nil {
		return x.HasDNSInfo
	}
	return false
}

func (x *FindEnabledNodeConfigInfoResponse) GetHasCacheInfo() bool {
	if x != nil {
		return x.HasCacheInfo
	}
	return false
}

func (x *FindEnabledNodeConfigInfoResponse) GetHasThresholds() bool {
	if x != nil {
		return x.HasThresholds
	}
	return false
}

func (x *FindEnabledNodeConfigInfoResponse) GetHasSSH() bool {
	if x != nil {
		return x.HasSSH
	}
	return false
}

func (x *FindEnabledNodeConfigInfoResponse) GetHasSystemSettings() bool {
	if x != nil {
		return x.HasSystemSettings
	}
	return false
}

func (x *FindEnabledNodeConfigInfoResponse) GetHasDDoSProtection() bool {
	if x != nil {
		return x.HasDDoSProtection
	}
	return false
}

func (x *FindEnabledNodeConfigInfoResponse) GetHasScheduleSettings() bool {
	if x != nil {
		return x.HasScheduleSettings
	}
	return false
}

// 查找节点区域信息数量
type CountAllNodeRegionInfoRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeRegionId int64 `protobuf:"varint,1,opt,name=nodeRegionId,proto3" json:"nodeRegionId,omitempty"` // 区域ID，可选
}

func (x *CountAllNodeRegionInfoRequest) Reset() {
	*x = CountAllNodeRegionInfoRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[72]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CountAllNodeRegionInfoRequest) ProtoMessage() {}

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

func (x *CountAllNodeRegionInfoRequest) GetNodeRegionId() int64 {
	if x != nil {
		return x.NodeRegionId
	}
	return 0
}

// 列出单页节点区域信息
type ListNodeRegionInfoRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeRegionId int64 `protobuf:"varint,1,opt,name=nodeRegionId,proto3" json:"nodeRegionId,omitempty"` // 区域ID，可选
	Offset       int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
	Size         int64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
}

func (x *ListNodeRegionInfoRequest) Reset() {
	*x = ListNodeRegionInfoRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[73]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListNodeRegionInfoRequest) ProtoMessage() {}

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

func (x *ListNodeRegionInfoRequest) GetNodeRegionId() int64 {
	if x != nil {
		return x.NodeRegionId
	}
	return 0
}

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

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

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

	InfoList []*ListNodeRegionInfoResponse_Info `protobuf:"bytes,1,rep,name=infoList,proto3" json:"infoList,omitempty"`
}

func (x *ListNodeRegionInfoResponse) Reset() {
	*x = ListNodeRegionInfoResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[74]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListNodeRegionInfoResponse) ProtoMessage() {}

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

func (x *ListNodeRegionInfoResponse) GetInfoList() []*ListNodeRegionInfoResponse_Info {
	if x != nil {
		return x.InfoList
	}
	return nil
}

// 修改节点区域信息
type UpdateNodeRegionInfoRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId       int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
	NodeRegionId int64 `protobuf:"varint,2,opt,name=nodeRegionId,proto3" json:"nodeRegionId,omitempty"`
}

func (x *UpdateNodeRegionInfoRequest) Reset() {
	*x = UpdateNodeRegionInfoRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[75]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateNodeRegionInfoRequest) ProtoMessage() {}

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

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

func (x *UpdateNodeRegionInfoRequest) GetNodeRegionId() int64 {
	if x != nil {
		return x.NodeRegionId
	}
	return 0
}

// 查找单个节点的API相关配置
type FindNodeAPIConfigRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
}

func (x *FindNodeAPIConfigRequest) Reset() {
	*x = FindNodeAPIConfigRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[76]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeAPIConfigRequest) ProtoMessage() {}

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

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

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

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

func (x *FindNodeAPIConfigResponse) Reset() {
	*x = FindNodeAPIConfigResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[77]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeAPIConfigResponse) ProtoMessage() {}

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

func (x *FindNodeAPIConfigResponse) GetApiNodeAddrsJSON() []byte {
	if x != nil {
		return x.ApiNodeAddrsJSON
	}
	return nil
}

// 修改某个节点的API相关配置
type UpdateNodeAPIConfigRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId           int64  `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
	ApiNodeAddrsJSON []byte `protobuf:"bytes,2,opt,name=apiNodeAddrsJSON,proto3" json:"apiNodeAddrsJSON,omitempty"`
}

func (x *UpdateNodeAPIConfigRequest) Reset() {
	*x = UpdateNodeAPIConfigRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[78]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateNodeAPIConfigRequest) ProtoMessage() {}

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

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

func (x *UpdateNodeAPIConfigRequest) GetApiNodeAddrsJSON() []byte {
	if x != nil {
		return x.ApiNodeAddrsJSON
	}
	return nil
}

// 查找节点的UAM策略
type FindNodeUAMPoliciesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` // 节点ID
}

func (x *FindNodeUAMPoliciesRequest) Reset() {
	*x = FindNodeUAMPoliciesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[79]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeUAMPoliciesRequest) ProtoMessage() {}

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

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

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

	UamPolicies []*FindNodeUAMPoliciesResponse_UAMPolicy `protobuf:"bytes,1,rep,name=uamPolicies,proto3" json:"uamPolicies,omitempty"` // UAM策略列表
}

func (x *FindNodeUAMPoliciesResponse) Reset() {
	*x = FindNodeUAMPoliciesResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[80]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeUAMPoliciesResponse) ProtoMessage() {}

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

func (x *FindNodeUAMPoliciesResponse) GetUamPolicies() []*FindNodeUAMPoliciesResponse_UAMPolicy {
	if x != nil {
		return x.UamPolicies
	}
	return nil
}

// 查找节点的HTTP CC策略
type FindNodeHTTPCCPoliciesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` // 节点ID
}

func (x *FindNodeHTTPCCPoliciesRequest) Reset() {
	*x = FindNodeHTTPCCPoliciesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[81]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeHTTPCCPoliciesRequest) ProtoMessage() {}

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

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

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

	HttpCCPolicies []*FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy `protobuf:"bytes,1,rep,name=httpCCPolicies,proto3" json:"httpCCPolicies,omitempty"` // HTTP CC策略列表
}

func (x *FindNodeHTTPCCPoliciesResponse) Reset() {
	*x = FindNodeHTTPCCPoliciesResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[82]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeHTTPCCPoliciesResponse) ProtoMessage() {}

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

func (x *FindNodeHTTPCCPoliciesResponse) GetHttpCCPolicies() []*FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy {
	if x != nil {
		return x.HttpCCPolicies
	}
	return nil
}

// 查找节点的HTTP3策略
type FindNodeHTTP3PoliciesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` // 节点ID
}

func (x *FindNodeHTTP3PoliciesRequest) Reset() {
	*x = FindNodeHTTP3PoliciesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[83]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeHTTP3PoliciesRequest) ProtoMessage() {}

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

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

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

	Http3Policies []*FindNodeHTTP3PoliciesResponse_HTTP3Policy `protobuf:"bytes,1,rep,name=http3Policies,proto3" json:"http3Policies,omitempty"` // HTTP3策略列表
}

func (x *FindNodeHTTP3PoliciesResponse) Reset() {
	*x = FindNodeHTTP3PoliciesResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[84]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeHTTP3PoliciesResponse) ProtoMessage() {}

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

func (x *FindNodeHTTP3PoliciesResponse) GetHttp3Policies() []*FindNodeHTTP3PoliciesResponse_HTTP3Policy {
	if x != nil {
		return x.Http3Policies
	}
	return nil
}

// 查找节点的自定义页面策略
type FindNodeHTTPPagesPoliciesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` // 节点ID
}

func (x *FindNodeHTTPPagesPoliciesRequest) Reset() {
	*x = FindNodeHTTPPagesPoliciesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[85]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeHTTPPagesPoliciesRequest) ProtoMessage() {}

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

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

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

	HttpPagesPolicies []*FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy `protobuf:"bytes,1,rep,name=httpPagesPolicies,proto3" json:"httpPagesPolicies,omitempty"` // 自定义页面策略列表
}

func (x *FindNodeHTTPPagesPoliciesResponse) Reset() {
	*x = FindNodeHTTPPagesPoliciesResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[86]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeHTTPPagesPoliciesResponse) ProtoMessage() {}

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

func (x *FindNodeHTTPPagesPoliciesResponse) GetHttpPagesPolicies() []*FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy {
	if x != nil {
		return x.HttpPagesPolicies
	}
	return nil
}

// 查找节点调度信息
type FindNodeScheduleInfoRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` // 节点ID
}

func (x *FindNodeScheduleInfoRequest) Reset() {
	*x = FindNodeScheduleInfoRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[87]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeScheduleInfoRequest) ProtoMessage() {}

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

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

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

	ScheduleInfo *FindNodeScheduleInfoResponse_ScheduleInfo `protobuf:"bytes,1,opt,name=scheduleInfo,proto3" json:"scheduleInfo,omitempty"` // 调度信息
}

func (x *FindNodeScheduleInfoResponse) Reset() {
	*x = FindNodeScheduleInfoResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[88]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeScheduleInfoResponse) ProtoMessage() {}

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

func (x *FindNodeScheduleInfoResponse) GetScheduleInfo() *FindNodeScheduleInfoResponse_ScheduleInfo {
	if x != nil {
		return x.ScheduleInfo
	}
	return nil
}

// 修改节点调度信息
type UpdateNodeScheduleInfoRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId             int64    `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`                         // 节点ID
	OfflineDay         string   `protobuf:"bytes,2,opt,name=offlineDay,proto3" json:"offlineDay,omitempty"`                  // 下线日期，格式YYYYMMDD
	IsBackupForCluster bool     `protobuf:"varint,3,opt,name=isBackupForCluster,proto3" json:"isBackupForCluster,omitempty"` // 是否为集群备份节点
	IsBackupForGroup   bool     `protobuf:"varint,4,opt,name=isBackupForGroup,proto3" json:"isBackupForGroup,omitempty"`     // 是否为分组备份节点
	BackupIPs          []string `protobuf:"bytes,5,rep,name=backupIPs,proto3" json:"backupIPs,omitempty"`                    // 备用IP
}

func (x *UpdateNodeScheduleInfoRequest) Reset() {
	*x = UpdateNodeScheduleInfoRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[89]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateNodeScheduleInfoRequest) ProtoMessage() {}

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

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

func (x *UpdateNodeScheduleInfoRequest) GetOfflineDay() string {
	if x != nil {
		return x.OfflineDay
	}
	return ""
}

func (x *UpdateNodeScheduleInfoRequest) GetIsBackupForCluster() bool {
	if x != nil {
		return x.IsBackupForCluster
	}
	return false
}

func (x *UpdateNodeScheduleInfoRequest) GetIsBackupForGroup() bool {
	if x != nil {
		return x.IsBackupForGroup
	}
	return false
}

func (x *UpdateNodeScheduleInfoRequest) GetBackupIPs() []string {
	if x != nil {
		return x.BackupIPs
	}
	return nil
}

// 重置节点动作状态
type ResetNodeActionStatusRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` // 节点ID
}

func (x *ResetNodeActionStatusRequest) Reset() {
	*x = ResetNodeActionStatusRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[90]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ResetNodeActionStatusRequest) ProtoMessage() {}

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

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

// 查找集群的节点调度信息
type FindAllNodeScheduleInfoWithNodeClusterIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` // 集群ID
}

func (x *FindAllNodeScheduleInfoWithNodeClusterIdRequest) Reset() {
	*x = FindAllNodeScheduleInfoWithNodeClusterIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[91]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindAllNodeScheduleInfoWithNodeClusterIdRequest) ProtoMessage() {}

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

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

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

	Nodes []*FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` // 调动信息列表
}

func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse) Reset() {
	*x = FindAllNodeScheduleInfoWithNodeClusterIdResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[92]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindAllNodeScheduleInfoWithNodeClusterIdResponse) ProtoMessage() {}

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

func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse) GetNodes() []*FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo {
	if x != nil {
		return x.Nodes
	}
	return nil
}

// 同步动作设置到分组
type CopyNodeActionsToNodeGroupRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
}

func (x *CopyNodeActionsToNodeGroupRequest) Reset() {
	*x = CopyNodeActionsToNodeGroupRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[93]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CopyNodeActionsToNodeGroupRequest) ProtoMessage() {}

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

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

// 同步动作设置到集群
type CopyNodeActionsToNodeClusterRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
}

func (x *CopyNodeActionsToNodeClusterRequest) Reset() {
	*x = CopyNodeActionsToNodeClusterRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[94]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CopyNodeActionsToNodeClusterRequest) ProtoMessage() {}

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

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

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

	Node       *Node  `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
	Os         string `protobuf:"bytes,2,opt,name=os,proto3" json:"os,omitempty"`
	Arch       string `protobuf:"bytes,3,opt,name=arch,proto3" json:"arch,omitempty"`
	OldVersion string `protobuf:"bytes,4,opt,name=oldVersion,proto3" json:"oldVersion,omitempty"`
	NewVersion string `protobuf:"bytes,5,opt,name=newVersion,proto3" json:"newVersion,omitempty"`
}

func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) Reset() {
	*x = FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[95]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) ProtoMessage() {}

func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_proto_msgTypes[95]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade.ProtoReflect.Descriptor instead.
func (*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) Descriptor() ([]byte, []int) {
	return file_service_node_proto_rawDescGZIP(), []int{39, 0}
}

func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) GetNode() *Node {
	if x != nil {
		return x.Node
	}
	return nil
}

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

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

func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) GetOldVersion() string {
	if x != nil {
		return x.OldVersion
	}
	return ""
}

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

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

	Id          int64        `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name        string       `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	NodeRegion  *NodeRegion  `protobuf:"bytes,10,opt,name=nodeRegion,proto3" json:"nodeRegion,omitempty"`
	NodeCluster *NodeCluster `protobuf:"bytes,11,opt,name=nodeCluster,proto3" json:"nodeCluster,omitempty"`
}

func (x *ListNodeRegionInfoResponse_Info) Reset() {
	*x = ListNodeRegionInfoResponse_Info{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[96]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListNodeRegionInfoResponse_Info) ProtoMessage() {}

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

func (x *ListNodeRegionInfoResponse_Info) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *ListNodeRegionInfoResponse_Info) GetNodeRegion() *NodeRegion {
	if x != nil {
		return x.NodeRegion
	}
	return nil
}

func (x *ListNodeRegionInfoResponse_Info) GetNodeCluster() *NodeCluster {
	if x != nil {
		return x.NodeCluster
	}
	return nil
}

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

	NodeClusterId int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` // 集群ID
	UamPolicyJSON []byte `protobuf:"bytes,2,opt,name=uamPolicyJSON,proto3" json:"uamPolicyJSON,omitempty"`  // UAM策略配置
}

func (x *FindNodeUAMPoliciesResponse_UAMPolicy) Reset() {
	*x = FindNodeUAMPoliciesResponse_UAMPolicy{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[97]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeUAMPoliciesResponse_UAMPolicy) ProtoMessage() {}

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

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

func (x *FindNodeUAMPoliciesResponse_UAMPolicy) GetUamPolicyJSON() []byte {
	if x != nil {
		return x.UamPolicyJSON
	}
	return nil
}

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

	NodeClusterId    int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`      // 集群ID
	HttpCCPolicyJSON []byte `protobuf:"bytes,2,opt,name=httpCCPolicyJSON,proto3" json:"httpCCPolicyJSON,omitempty"` // HTTP CC策略配置
}

func (x *FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy) Reset() {
	*x = FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[98]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy) ProtoMessage() {}

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

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

func (x *FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy) GetHttpCCPolicyJSON() []byte {
	if x != nil {
		return x.HttpCCPolicyJSON
	}
	return nil
}

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

	NodeClusterId   int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`    // 集群ID
	Http3PolicyJSON []byte `protobuf:"bytes,2,opt,name=http3PolicyJSON,proto3" json:"http3PolicyJSON,omitempty"` // HTTP3策略配置
}

func (x *FindNodeHTTP3PoliciesResponse_HTTP3Policy) Reset() {
	*x = FindNodeHTTP3PoliciesResponse_HTTP3Policy{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[99]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeHTTP3PoliciesResponse_HTTP3Policy) ProtoMessage() {}

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

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

func (x *FindNodeHTTP3PoliciesResponse_HTTP3Policy) GetHttp3PolicyJSON() []byte {
	if x != nil {
		return x.Http3PolicyJSON
	}
	return nil
}

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

	NodeClusterId       int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`            // 集群ID
	HttpPagesPolicyJSON []byte `protobuf:"bytes,2,opt,name=httpPagesPolicyJSON,proto3" json:"httpPagesPolicyJSON,omitempty"` // 自定义页面策略配置
}

func (x *FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy) Reset() {
	*x = FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[100]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy) ProtoMessage() {}

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

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

func (x *FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy) GetHttpPagesPolicyJSON() []byte {
	if x != nil {
		return x.HttpPagesPolicyJSON
	}
	return nil
}

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

	OfflineDay         string   `protobuf:"bytes,1,opt,name=offlineDay,proto3" json:"offlineDay,omitempty"`                  // 下线日期，格式YYYYMMDD
	IsBackupForCluster bool     `protobuf:"varint,2,opt,name=isBackupForCluster,proto3" json:"isBackupForCluster,omitempty"` // 是否为集群备份节点
	IsBackupForGroup   bool     `protobuf:"varint,3,opt,name=isBackupForGroup,proto3" json:"isBackupForGroup,omitempty"`     // 是否为分组备份节点
	BackupIPs          []string `protobuf:"bytes,4,rep,name=backupIPs,proto3" json:"backupIPs,omitempty"`                    // 备用IP
	ActionStatusJSON   []byte   `protobuf:"bytes,5,opt,name=actionStatusJSON,proto3" json:"actionStatusJSON,omitempty"`      // 动作状态
}

func (x *FindNodeScheduleInfoResponse_ScheduleInfo) Reset() {
	*x = FindNodeScheduleInfoResponse_ScheduleInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[101]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindNodeScheduleInfoResponse_ScheduleInfo) ProtoMessage() {}

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

func (x *FindNodeScheduleInfoResponse_ScheduleInfo) GetOfflineDay() string {
	if x != nil {
		return x.OfflineDay
	}
	return ""
}

func (x *FindNodeScheduleInfoResponse_ScheduleInfo) GetIsBackupForCluster() bool {
	if x != nil {
		return x.IsBackupForCluster
	}
	return false
}

func (x *FindNodeScheduleInfoResponse_ScheduleInfo) GetIsBackupForGroup() bool {
	if x != nil {
		return x.IsBackupForGroup
	}
	return false
}

func (x *FindNodeScheduleInfoResponse_ScheduleInfo) GetBackupIPs() []string {
	if x != nil {
		return x.BackupIPs
	}
	return nil
}

func (x *FindNodeScheduleInfoResponse_ScheduleInfo) GetActionStatusJSON() []byte {
	if x != nil {
		return x.ActionStatusJSON
	}
	return nil
}

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

	NodeId             int64    `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`                         // 节点ID
	NodeName           string   `protobuf:"bytes,2,opt,name=nodeName,proto3" json:"nodeName,omitempty"`                      // 节点名称
	NodeGroupId        int64    `protobuf:"varint,3,opt,name=nodeGroupId,proto3" json:"nodeGroupId,omitempty"`               // 节点分组ID
	NodeGroupName      string   `protobuf:"bytes,4,opt,name=nodeGroupName,proto3" json:"nodeGroupName,omitempty"`            // 节点分组名称
	OfflineDay         string   `protobuf:"bytes,5,opt,name=offlineDay,proto3" json:"offlineDay,omitempty"`                  // 下线日期，格式YYYYMMDD
	IsBackupForCluster bool     `protobuf:"varint,6,opt,name=isBackupForCluster,proto3" json:"isBackupForCluster,omitempty"` // 是否为集群备份节点
	IsBackupForGroup   bool     `protobuf:"varint,7,opt,name=isBackupForGroup,proto3" json:"isBackupForGroup,omitempty"`     // 是否为分组备份节点
	BackupIPs          []string `protobuf:"bytes,8,rep,name=backupIPs,proto3" json:"backupIPs,omitempty"`                    // 备用IP
	ActionStatusJSON   []byte   `protobuf:"bytes,9,opt,name=actionStatusJSON,proto3" json:"actionStatusJSON,omitempty"`      // 动作状态
}

func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) Reset() {
	*x = FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_proto_msgTypes[102]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) ProtoMessage() {}

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

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

func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) GetNodeName() string {
	if x != nil {
		return x.NodeName
	}
	return ""
}

func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) GetNodeGroupId() int64 {
	if x != nil {
		return x.NodeGroupId
	}
	return 0
}

func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) GetNodeGroupName() string {
	if x != nil {
		return x.NodeGroupName
	}
	return ""
}

func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) GetOfflineDay() string {
	if x != nil {
		return x.OfflineDay
	}
	return ""
}

func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) GetIsBackupForCluster() bool {
	if x != nil {
		return x.IsBackupForCluster
	}
	return false
}

func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) GetIsBackupForGroup() bool {
	if x != nil {
		return x.IsBackupForGroup
	}
	return false
}

func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) GetBackupIPs() []string {
	if x != nil {
		return x.BackupIPs
	}
	return nil
}

func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) GetActionStatusJSON() []byte {
	if x != nil {
		return x.ActionStatusJSON
	}
	return nil
}

var File_service_node_proto protoreflect.FileDescriptor

var file_service_node_proto_rawDesc = []byte{
	0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73,
	0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x1a, 0x1d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f,
	0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x1a, 0x26, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e,
	0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73,
	0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d,
	0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69,
	0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73,
	0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
	0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x67,
	0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
	0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e,
	0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24,
	0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69,
	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64,
	0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69,
	0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75,
	0x70, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0b, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
	0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x64, 0x6e,
	0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6e, 0x73,
	0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e,
	0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52,
	0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e,
	0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x1a, 0x52, 0x65, 0x67,
	0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x6f, 0x0a, 0x1b, 0x52,
	0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f,
	0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x6e,
	0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x6e,
	0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1c,
	0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x1d, 0x0a, 0x1b,
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xbc, 0x05, 0x0a, 0x1c,
	0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73,
	0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06,
	0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66,
	0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22,
	0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61,
	0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74,
	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53,
	0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20,
	0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64,
	0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69,
	0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x70,
	0x75, 0x41, 0x73, 0x63, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, 0x70, 0x75, 0x41,
	0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x70, 0x75, 0x44, 0x65, 0x73, 0x63, 0x18, 0x15, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x70, 0x75, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1c, 0x0a, 0x09,
	0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, 0x73, 0x63, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x09, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, 0x73, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65,
	0x6d, 0x6f, 0x72, 0x79, 0x44, 0x65, 0x73, 0x63, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
	0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x44, 0x65, 0x73, 0x63, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x72,
	0x61, 0x66, 0x66, 0x69, 0x63, 0x49, 0x6e, 0x41, 0x73, 0x63, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0c, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x49, 0x6e, 0x41, 0x73, 0x63, 0x12, 0x24,
	0x0a, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x49, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x18,
	0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x49, 0x6e,
	0x44, 0x65, 0x73, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4f,
	0x75, 0x74, 0x41, 0x73, 0x63, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x72, 0x61,
	0x66, 0x66, 0x69, 0x63, 0x4f, 0x75, 0x74, 0x41, 0x73, 0x63, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x72,
	0x61, 0x66, 0x66, 0x69, 0x63, 0x4f, 0x75, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x1b, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4f, 0x75, 0x74, 0x44, 0x65,
	0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x63, 0x18, 0x1c, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x63, 0x12, 0x1a, 0x0a, 0x08,
	0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x73, 0x63, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
	0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x73, 0x63, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x6e,
	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x73, 0x63, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x73, 0x63,
	0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x44,
	0x65, 0x73, 0x63, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x44, 0x65, 0x73, 0x63, 0x22, 0x3f, 0x0a, 0x1d, 0x4c, 0x69,
	0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61,
	0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x6e,
	0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e,
	0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x7f, 0x0a, 0x2b, 0x46,
	0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
	0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
	0x12, 0x2a, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e,
	0x64, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c,
	0x75, 0x64, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x22, 0x4e, 0x0a, 0x2c,
	0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x05,
	0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62,
	0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x2b, 0x0a, 0x11,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x60, 0x0a, 0x20, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a,
	0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e,
	0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0xcf, 0x02, 0x0a, 0x11,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a,
	0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x17, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x18, 0x0d,
	0x20, 0x03, 0x28, 0x03, 0x52, 0x17, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x12, 0x0a,
	0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f,
	0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75,
	0x70, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f,
	0x6e, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52,
	0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
	0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a,
	0x07, 0x6c, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
	0x6c, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d,
	0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x22, 0x30, 0x0a,
	0x16, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22,
	0x37, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x04, 0x6e, 0x6f,
	0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f,
	0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x35, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64,
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22,
	0x41, 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x61,
	0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x21, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
	0x70, 0x62, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f,
	0x64, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65,
	0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a,
	0x08, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x08, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6e, 0x6f, 0x64,
	0x65, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61,
	0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61,
	0x4d, 0x61, 0x70, 0x22, 0xb7, 0x01, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72,
	0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4a, 0x53, 0x4f,
	0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4a, 0x53, 0x4f,
	0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12,
	0x22, 0x0a, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73,
	0x73, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x53, 0x69, 0x7a, 0x65, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x53, 0x69, 0x7a, 0x65, 0x12,
	0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xcf, 0x01,
	0x0a, 0x11, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x69, 0x6d,
	0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
	0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x4a, 0x53, 0x4f,
	0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x4a, 0x53, 0x4f,
	0x4e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22,
	0x51, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f,
	0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65,
	0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53,
	0x4f, 0x4e, 0x22, 0x84, 0x02, 0x0a, 0x20, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d,
	0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a,
	0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74,
	0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a,
	0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12,
	0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f,
	0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x58, 0x0a, 0x1c, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c,
	0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64,
	0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49,
	0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c,
	0x6c, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f,
	0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64,
	0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49,
	0x64, 0x22, 0x15, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x12, 0x55, 0x70, 0x67, 0x72,
	0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16,
	0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
	0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64,
	0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a,
	0x10, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x11, 0x53, 0x74, 0x61,
	0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12,
	0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73,
	0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x29, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70,
	0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e,
	0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64,
	0x65, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x10, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x22, 0x44, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x4e, 0x6f,
	0x64, 0x65, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x70, 0x69,
	0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x22, 0x4e, 0x0a, 0x2a, 0x43, 0x6f, 0x75, 0x6e, 0x74,
	0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57,
	0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61,
	0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65,
	0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x29, 0x46, 0x69, 0x6e, 0x64, 0x41,
	0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69,
	0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e,
	0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47,
	0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x4c, 0x0a, 0x2a, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74,
	0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e,
	0x6f, 0x64, 0x65, 0x73, 0x22, 0x58, 0x0a, 0x30, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e,
	0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73,
	0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x53,
	0x0a, 0x31, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74,
	0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f,
	0x64, 0x65, 0x73, 0x22, 0x59, 0x0a, 0x31, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e,
	0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73,
	0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x54,
	0x0a, 0x2c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64,
	0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24,
	0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x2b, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55,
	0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x94, 0x02, 0x0a, 0x2c, 0x46, 0x69,
	0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65,
	0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x05, 0x6e, 0x6f,
	0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x70, 0x62, 0x2e, 0x46,
	0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64,
	0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65,
	0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x1a, 0x8f,
	0x01, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1c,
	0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70,
	0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02,
	0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04,
	0x61, 0x72, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x63, 0x68,
	0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x22, 0x36, 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74,
	0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64,
	0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0d, 0x69, 0x6e, 0x73,
	0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c,
	0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x5d, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65,
	0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62,
	0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65,
	0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x22, 0x4e, 0x0a, 0x2a, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74,
	0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
	0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72,
	0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x78, 0x0a, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44, 0x4e, 0x53, 0x57,
	0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d,
	0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 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,
	0x58, 0x0a, 0x2f, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x49, 0x6e,
	0x66, 0x6f, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0xb1, 0x03, 0x0a, 0x0b, 0x4e, 0x6f,
	0x64, 0x65, 0x44, 0x4e, 0x53, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a,
	0x06, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69,
	0x70, 0x41, 0x64, 0x64, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f,
	0x6e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12,
	0x24, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72,
	0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64,
	0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x0b, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a,
	0x0d, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e,
	0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x44, 0x4e, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x12, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x4e,
	0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46,
	0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x12, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46,
	0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69,
	0x73, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
	0x1c, 0x0a, 0x09, 0x69, 0x73, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0c, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x7d, 0x0a,
	0x19, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
	0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f,
	0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65,
	0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65,
	0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c,
	0x6e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x1a,
	0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44,
	0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x6e, 0x6f,
	0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f,
	0x64, 0x65, 0x44, 0x4e, 0x53, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22,
	0xaa, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e,
	0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65,
	0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64,
	0x12, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x6e, 0x6f, 0x64, 0x65,
	0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
	0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49,
	0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61,
	0x69, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x51, 0x0a, 0x2b,
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69,
	0x6f, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6e,
	0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22,
	0x3a, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x03, 0x52, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x22, 0x41, 0x0a, 0x1f, 0x46,
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57,
	0x69, 0x74, 0x68, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e,
	0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e,
	0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x6b,
	0x0a, 0x1d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73,
	0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12,
	0x12, 0x0a, 0x04, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61,
	0x72, 0x63, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x56, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x75, 0x72,
	0x72, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x66, 0x0a, 0x1e, 0x43,
	0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a,
	0x0d, 0x68, 0x61, 0x73, 0x4e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x4e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x22, 0x41, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64,
	0x65, 0x55, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f,
	0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65,
	0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x55, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x04, 0x69, 0x73, 0x55, 0x70, 0x22, 0x6b, 0x0a, 0x23, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
	0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a,
	0x02, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x12, 0x0a,
	0x04, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x63,
	0x68, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x4f, 0x66, 0x66,
	0x73, 0x65, 0x74, 0x22, 0xa4, 0x01, 0x0a, 0x24, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
	0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09,
	0x63, 0x68, 0x75, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x75,
	0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06,
	0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66,
	0x66, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a,
	0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x17, 0x55, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a,
	0x06, 0x6d, 0x61, 0x78, 0x43, 0x50, 0x55, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d,
	0x61, 0x78, 0x43, 0x50, 0x55, 0x22, 0x98, 0x02, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x43,
	0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x69, 0x7a, 0x65,
	0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x43, 0x61, 0x63,
	0x68, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x48,
	0x0a, 0x16, 0x6d, 0x61, 0x78, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79,
	0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
	0x2e, 0x70, 0x62, 0x2e, 0x53, 0x69, 0x7a, 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79,
	0x52, 0x16, 0x6d, 0x61, 0x78, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79,
	0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x63, 0x68,
	0x65, 0x44, 0x69, 0x73, 0x6b, 0x44, 0x69, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
	0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x44, 0x69, 0x72, 0x12, 0x32, 0x0a, 0x14,
	0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x44, 0x69, 0x72, 0x73,
	0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x63, 0x61, 0x63, 0x68,
	0x65, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x44, 0x69, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
	0x22, 0x1a, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65,
	0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x61, 0x0a, 0x19,
	0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66,
	0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76,
	0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12,
	0x2e, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61,
	0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x70, 0x61, 0x72,
	0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x22,
	0x34, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65,
	0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a,
	0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e,
	0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64,
	0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c,
	0x76, 0x65, 0x72, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x64,
	0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x60,
	0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52,
	0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16,
	0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
	0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x6e, 0x73, 0x52, 0x65, 0x73,
	0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x0f, 0x64, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4a, 0x53, 0x4f, 0x4e,
	0x22, 0x37, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53,
	0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x1e, 0x46, 0x69, 0x6e,
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x64,
	0x64, 0x6f, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x53, 0x4f,
	0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x64, 0x64, 0x6f, 0x73, 0x50, 0x72, 0x6f,
	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x69, 0x0a, 0x1f, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f,
	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16,
	0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
	0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x64, 0x64, 0x6f, 0x73, 0x50, 0x72,
	0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x12, 0x64, 0x64, 0x6f, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x3b, 0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e,
	0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64,
	0x65, 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x22, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47,
	0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x67, 0x6c, 0x6f,
	0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a,
	0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x67, 0x6c, 0x6f, 0x62, 0x61,
	0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x53, 0x4f,
	0x4e, 0x22, 0x3a, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0xb3, 0x02,
	0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x44, 0x4e, 0x53, 0x49, 0x6e, 0x66,
	0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x44, 0x4e, 0x53, 0x49,
	0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x49,
	0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x54, 0x68,
	0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d,
	0x68, 0x61, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x16, 0x0a,
	0x06, 0x68, 0x61, 0x73, 0x53, 0x53, 0x48, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x68,
	0x61, 0x73, 0x53, 0x53, 0x48, 0x12, 0x2c, 0x0a, 0x11, 0x68, 0x61, 0x73, 0x53, 0x79, 0x73, 0x74,
	0x65, 0x6d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x11, 0x68, 0x61, 0x73, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x74, 0x74, 0x69,
	0x6e, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x68, 0x61, 0x73, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72,
	0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11,
	0x68, 0x61, 0x73, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x30, 0x0a, 0x13, 0x68, 0x61, 0x73, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
	0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13,
	0x68, 0x61, 0x73, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69,
	0x6e, 0x67, 0x73, 0x22, 0x43, 0x0a, 0x1d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e,
	0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69,
	0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65,
	0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x6b, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74,
	0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67,
	0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x6f, 0x64,
	0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66,
	0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
	0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0xed, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f,
	0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74,
	0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x69, 0x6e, 0x66,
	0x6f, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x8d, 0x01, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12,
	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65,
	0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69,
	0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x59, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
	0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 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, 0x22, 0x0a, 0x0c,
	0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64,
	0x22, 0x32, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06,
	0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f,
	0x64, 0x65, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65,
	0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x64, 0x64, 0x72,
	0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x61, 0x70, 0x69,
	0x4e, 0x6f, 0x64, 0x65, 0x41, 0x64, 0x64, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x60, 0x0a,
	0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 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, 0x2a, 0x0a, 0x10, 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x64,
	0x64, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x61,
	0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x64, 0x64, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22,
	0x34, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x41, 0x4d, 0x50, 0x6f,
	0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a,
	0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e,
	0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0xc3, 0x01, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0b, 0x75, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69,
	0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x62, 0x2e,
	0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63,
	0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x41, 0x4d, 0x50,
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x75, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69,
	0x65, 0x73, 0x1a, 0x57, 0x0a, 0x09, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
	0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69,
	0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x75, 0x61,
	0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x37, 0x0a, 0x1d, 0x46,
	0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c,
	0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06,
	0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f,
	0x64, 0x65, 0x49, 0x64, 0x22, 0xdb, 0x01, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64,
	0x65, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x43,
	0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54,
	0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
	0x52, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73,
	0x1a, 0x60, 0x0a, 0x0c, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
	0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x43, 0x43,
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x10, 0x68, 0x74, 0x74, 0x70, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53,
	0x4f, 0x4e, 0x22, 0x36, 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54,
	0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0xd3, 0x01, 0x0a, 0x1d, 0x46,
	0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69,
	0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0d,
	0x68, 0x74, 0x74, 0x70, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64,
	0x65, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69,
	0x63, 0x79, 0x52, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65,
	0x73, 0x1a, 0x5d, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
	0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x33, 0x50,
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x0f, 0x68, 0x74, 0x74, 0x70, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e,
	0x22, 0x3a, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50,
	0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0xf3, 0x01, 0x0a,
	0x21, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67,
	0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x63, 0x0a, 0x11, 0x68, 0x74, 0x74, 0x70, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50,
	0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e,
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x50,
	0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f,
	0x6c, 0x69, 0x63, 0x79, 0x52, 0x11, 0x68, 0x74, 0x74, 0x70, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50,
	0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x69, 0x0a, 0x0f, 0x48, 0x54, 0x54, 0x50, 0x50,
	0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
	0x12, 0x30, 0x0a, 0x13, 0x68, 0x74, 0x74, 0x70, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c,
	0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x68,
	0x74, 0x74, 0x70, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53,
	0x4f, 0x4e, 0x22, 0x35, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x1c, 0x46, 0x69,
	0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e,
	0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0c, 0x73, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
	0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0xd4, 0x01,
	0x0a, 0x0c, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e,
	0x0a, 0x0a, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x79, 0x12, 0x2e,
	0x0a, 0x12, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x6f, 0x72, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x42, 0x61,
	0x63, 0x6b, 0x75, 0x70, 0x46, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2a,
	0x0a, 0x10, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x6f, 0x72, 0x47, 0x72, 0x6f,
	0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b,
	0x75, 0x70, 0x46, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x61,
	0x63, 0x6b, 0x75, 0x70, 0x49, 0x50, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x62,
	0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x50, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x10, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x4a, 0x53, 0x4f, 0x4e, 0x22, 0xd1, 0x01, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
	0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 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, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x79, 0x12, 0x2e,
	0x0a, 0x12, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x6f, 0x72, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x42, 0x61,
	0x63, 0x6b, 0x75, 0x70, 0x46, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2a,
	0x0a, 0x10, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x6f, 0x72, 0x47, 0x72, 0x6f,
	0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b,
	0x75, 0x70, 0x46, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x61,
	0x63, 0x6b, 0x75, 0x70, 0x49, 0x50, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x62,
	0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x50, 0x73, 0x22, 0x36, 0x0a, 0x1c, 0x52, 0x65, 0x73, 0x65,
	0x74, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65,
	0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64,
	0x22, 0x57, 0x0a, 0x2f, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x53,
	0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0xde, 0x03, 0x0a, 0x30, 0x46, 0x69,
	0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x49, 0x6e, 0x66, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57,
	0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e,
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
	0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x1a, 0xd0, 0x02, 0x0a, 0x0c, 0x53, 0x63, 0x68, 0x65,
	0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 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, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b,
	0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x24,
	0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x44,
	0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e,
	0x65, 0x44, 0x61, 0x79, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70,
	0x46, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x12, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x6f, 0x72, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70,
	0x46, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10,
	0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70,
	0x12, 0x1c, 0x0a, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x50, 0x73, 0x18, 0x08, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x50, 0x73, 0x12, 0x2a,
	0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53,
	0x4f, 0x4e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x3b, 0x0a, 0x21, 0x43, 0x6f,
	0x70, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x4e,
	0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x23, 0x43, 0x6f, 0x70, 0x79, 0x4e,
	0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16,
	0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
	0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x32, 0xa4, 0x2b, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x53,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62,
	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e,
	0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e,
	0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e,
	0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e,
	0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x14, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75,
	0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x19, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
	0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75,
	0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
	0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e,
	0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, 0x2e, 0x70,
	0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
	0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21,
	0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e,
	0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70, 0x62,
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a,
	0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62,
	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
	0x46, 0x72, 0x6f, 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12,
	0x24, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x46,
	0x72, 0x6f, 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
	0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
	0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x66, 0x69,
	0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x2e,
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46,
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1f,
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42,
	0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x5c, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e,
	0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70,
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x3e, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x15, 0x2e,
	0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74,
	0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12,
	0x41, 0x0a, 0x11, 0x73, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x6f,
	0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74,
	0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x15, 0x2e, 0x70, 0x62,
	0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64,
	0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x20, 0x2e, 0x70,
	0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e,
	0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
	0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3e,
	0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e,
	0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61,
	0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e,
	0x0a, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e,
	0x70, 0x62, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61,
	0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38,
	0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x2e, 0x70, 0x62,
	0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x70,
	0x4e, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f,
	0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x53,
	0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x55, 0x0a, 0x1b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e,
	0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x26,
	0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f,
	0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x23, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41,
	0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69,
	0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x2e,
	0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47,
	0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e,
	0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x22, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e,
	0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e,
	0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74,
	0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46,
	0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
	0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49,
	0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x2a, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65,
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75,
	0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65,
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14,
	0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x29, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
	0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
	0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x49, 0x64, 0x12, 0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e,
	0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73,
	0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
	0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65,
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x6f, 0x0a, 0x25, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61,
	0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f,
	0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64,
	0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e,
	0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72,
	0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46,
	0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64,
	0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70, 0x62, 0x2e,
	0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f,
	0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15,
	0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x75, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1a, 0x2e,
	0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67,
	0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
	0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x23, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
	0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64,
	0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f,
	0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x92, 0x01, 0x0a, 0x27, 0x66, 0x69, 0x6e, 0x64, 0x41,
	0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44, 0x4e,
	0x53, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x49, 0x64, 0x12, 0x32, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69,
	0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
	0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44,
	0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x66,
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e,
	0x53, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e,
	0x53, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64,
	0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
	0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6d, 0x0a, 0x24, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f,
	0x6e, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74,
	0x68, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75,
	0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69,
	0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69,
	0x74, 0x68, 0x49, 0x64, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49,
	0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46,
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57,
	0x69, 0x74, 0x68, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f,
	0x0a, 0x16, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73,
	0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68,
	0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62,
	0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74,
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x12,
	0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x55,
	0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
	0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x71, 0x0a, 0x1c, 0x64, 0x6f, 0x77, 0x6e,
	0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x6f,
	0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c,
	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46,
	0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x75,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12,
	0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53,
	0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0f,
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12,
	0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
	0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66,
	0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
	0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65,
	0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65,
	0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a,
	0x13, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f,
	0x6c, 0x76, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
	0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x20,
	0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e,
	0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53,
	0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e,
	0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74,
	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e,
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53, 0x50,
	0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x4f, 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44,
	0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e,
	0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f,
	0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x6c,
	0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x6c,
	0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x2e, 0x70,
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66,
	0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x16, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49,
	0x6e, 0x66, 0x6f, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
	0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 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, 0x53, 0x0a, 0x12,
	0x6c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
	0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65,
	0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52,
	0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52,
	0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49,
	0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69,
	0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
	0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x13,
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
	0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x55,
	0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e,
	0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63,
	0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e,
	0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63,
	0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66,
	0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c,
	0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
	0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69,
	0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15,
	0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c,
	0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69,
	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69,
	0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50,
	0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f,
	0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e,
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x50,
	0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65,
	0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x70,
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75,
	0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e,
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64,
	0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15,
	0x72, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74,
	0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x95, 0x01, 0x0a, 0x28, 0x66, 0x69, 0x6e, 0x64,
	0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49,
	0x6e, 0x66, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x12, 0x33, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
	0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66,
	0x6f, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46,
	0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75,
	0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x53, 0x0a, 0x1a, 0x63, 0x6f, 0x70, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x25, 0x2e,
	0x70, 0x62, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x12, 0x57, 0x0a, 0x1c, 0x63, 0x6f, 0x70, 0x79, 0x4e, 0x6f, 0x64, 0x65,
	0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x4e, 0x6f,
	0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
	0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x06, 0x5a,
	0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_service_node_proto_rawDescOnce sync.Once
	file_service_node_proto_rawDescData = file_service_node_proto_rawDesc
)

func file_service_node_proto_rawDescGZIP() []byte {
	file_service_node_proto_rawDescOnce.Do(func() {
		file_service_node_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_node_proto_rawDescData)
	})
	return file_service_node_proto_rawDescData
}

var file_service_node_proto_msgTypes = make([]protoimpl.MessageInfo, 103)
var file_service_node_proto_goTypes = []interface{}{
	(*CreateNodeRequest)(nil),                                             // 0: pb.CreateNodeRequest
	(*CreateNodeResponse)(nil),                                            // 1: pb.CreateNodeResponse
	(*RegisterClusterNodeRequest)(nil),                                    // 2: pb.RegisterClusterNodeRequest
	(*RegisterClusterNodeResponse)(nil),                                   // 3: pb.RegisterClusterNodeResponse
	(*CountAllEnabledNodesRequest)(nil),                                   // 4: pb.CountAllEnabledNodesRequest
	(*ListEnabledNodesMatchRequest)(nil),                                  // 5: pb.ListEnabledNodesMatchRequest
	(*ListEnabledNodesMatchResponse)(nil),                                 // 6: pb.ListEnabledNodesMatchResponse
	(*FindAllEnabledNodesWithNodeClusterIdRequest)(nil),                   // 7: pb.FindAllEnabledNodesWithNodeClusterIdRequest
	(*FindAllEnabledNodesWithNodeClusterIdResponse)(nil),                  // 8: pb.FindAllEnabledNodesWithNodeClusterIdResponse
	(*DeleteNodeRequest)(nil),                                             // 9: pb.DeleteNodeRequest
	(*DeleteNodeFromNodeClusterRequest)(nil),                              // 10: pb.DeleteNodeFromNodeClusterRequest
	(*UpdateNodeRequest)(nil),                                             // 11: pb.UpdateNodeRequest
	(*FindEnabledNodeRequest)(nil),                                        // 12: pb.FindEnabledNodeRequest
	(*FindEnabledNodeResponse)(nil),                                       // 13: pb.FindEnabledNodeResponse
	(*FindEnabledBasicNodeRequest)(nil),                                   // 14: pb.FindEnabledBasicNodeRequest
	(*FindEnabledBasicNodeResponse)(nil),                                  // 15: pb.FindEnabledBasicNodeResponse
	(*FindCurrentNodeConfigRequest)(nil),                                  // 16: pb.FindCurrentNodeConfigRequest
	(*FindCurrentNodeConfigResponse)(nil),                                 // 17: pb.FindCurrentNodeConfigResponse
	(*NodeStreamMessage)(nil),                                             // 18: pb.NodeStreamMessage
	(*UpdateNodeStatusRequest)(nil),                                       // 19: pb.UpdateNodeStatusRequest
	(*CountAllEnabledNodesMatchRequest)(nil),                              // 20: pb.CountAllEnabledNodesMatchRequest
	(*UpdateNodeIsInstalledRequest)(nil),                                  // 21: pb.UpdateNodeIsInstalledRequest
	(*InstallNodeRequest)(nil),                                            // 22: pb.InstallNodeRequest
	(*InstallNodeResponse)(nil),                                           // 23: pb.InstallNodeResponse
	(*UpgradeNodeRequest)(nil),                                            // 24: pb.UpgradeNodeRequest
	(*UpgradeNodeResponse)(nil),                                           // 25: pb.UpgradeNodeResponse
	(*StartNodeRequest)(nil),                                              // 26: pb.StartNodeRequest
	(*StartNodeResponse)(nil),                                             // 27: pb.StartNodeResponse
	(*StopNodeRequest)(nil),                                               // 28: pb.StopNodeRequest
	(*StopNodeResponse)(nil),                                              // 29: pb.StopNodeResponse
	(*UpdateNodeConnectedAPINodesRequest)(nil),                            // 30: pb.UpdateNodeConnectedAPINodesRequest
	(*CountAllEnabledNodesWithNodeGrantIdRequest)(nil),                    // 31: pb.CountAllEnabledNodesWithNodeGrantIdRequest
	(*FindAllEnabledNodesWithNodeGrantIdRequest)(nil),                     // 32: pb.FindAllEnabledNodesWithNodeGrantIdRequest
	(*FindAllEnabledNodesWithNodeGrantIdResponse)(nil),                    // 33: pb.FindAllEnabledNodesWithNodeGrantIdResponse
	(*FindAllNotInstalledNodesWithNodeClusterIdRequest)(nil),              // 34: pb.FindAllNotInstalledNodesWithNodeClusterIdRequest
	(*FindAllNotInstalledNodesWithNodeClusterIdResponse)(nil),             // 35: pb.FindAllNotInstalledNodesWithNodeClusterIdResponse
	(*CountAllNotInstalledNodesWithNodeClusterIdRequest)(nil),             // 36: pb.CountAllNotInstalledNodesWithNodeClusterIdRequest
	(*CountAllUpgradeNodesWithNodeClusterIdRequest)(nil),                  // 37: pb.CountAllUpgradeNodesWithNodeClusterIdRequest
	(*FindAllUpgradeNodesWithNodeClusterIdRequest)(nil),                   // 38: pb.FindAllUpgradeNodesWithNodeClusterIdRequest
	(*FindAllUpgradeNodesWithNodeClusterIdResponse)(nil),                  // 39: pb.FindAllUpgradeNodesWithNodeClusterIdResponse
	(*FindNodeInstallStatusRequest)(nil),                                  // 40: pb.FindNodeInstallStatusRequest
	(*FindNodeInstallStatusResponse)(nil),                                 // 41: pb.FindNodeInstallStatusResponse
	(*UpdateNodeLoginRequest)(nil),                                        // 42: pb.UpdateNodeLoginRequest
	(*CountAllEnabledNodesWithNodeGroupIdRequest)(nil),                    // 43: pb.CountAllEnabledNodesWithNodeGroupIdRequest
	(*FindAllEnabledNodesDNSWithNodeClusterIdRequest)(nil),                // 44: pb.FindAllEnabledNodesDNSWithNodeClusterIdRequest
	(*FindAllEnabledNodesDNSWithNodeClusterIdResponse)(nil),               // 45: pb.FindAllEnabledNodesDNSWithNodeClusterIdResponse
	(*NodeDNSInfo)(nil),                                                   // 46: pb.NodeDNSInfo
	(*FindEnabledNodeDNSRequest)(nil),                                     // 47: pb.FindEnabledNodeDNSRequest
	(*FindEnabledNodeDNSResponse)(nil),                                    // 48: pb.FindEnabledNodeDNSResponse
	(*UpdateNodeDNSRequest)(nil),                                          // 49: pb.UpdateNodeDNSRequest
	(*CountAllEnabledNodesWithNodeRegionIdRequest)(nil),                   // 50: pb.CountAllEnabledNodesWithNodeRegionIdRequest
	(*FindEnabledNodesWithIdsRequest)(nil),                                // 51: pb.FindEnabledNodesWithIdsRequest
	(*FindEnabledNodesWithIdsResponse)(nil),                               // 52: pb.FindEnabledNodesWithIdsResponse
	(*CheckNodeLatestVersionRequest)(nil),                                 // 53: pb.CheckNodeLatestVersionRequest
	(*CheckNodeLatestVersionResponse)(nil),                                // 54: pb.CheckNodeLatestVersionResponse
	(*UpdateNodeUpRequest)(nil),                                           // 55: pb.UpdateNodeUpRequest
	(*DownloadNodeInstallationFileRequest)(nil),                           // 56: pb.DownloadNodeInstallationFileRequest
	(*DownloadNodeInstallationFileResponse)(nil),                          // 57: pb.DownloadNodeInstallationFileResponse
	(*UpdateNodeSystemRequest)(nil),                                       // 58: pb.UpdateNodeSystemRequest
	(*UpdateNodeCacheRequest)(nil),                                        // 59: pb.UpdateNodeCacheRequest
	(*FindNodeLevelInfoRequest)(nil),                                      // 60: pb.FindNodeLevelInfoRequest
	(*FindNodeLevelInfoResponse)(nil),                                     // 61: pb.FindNodeLevelInfoResponse
	(*FindNodeDNSResolverRequest)(nil),                                    // 62: pb.FindNodeDNSResolverRequest
	(*FindNodeDNSResolverResponse)(nil),                                   // 63: pb.FindNodeDNSResolverResponse
	(*UpdateNodeDNSResolverRequest)(nil),                                  // 64: pb.UpdateNodeDNSResolverRequest
	(*FindNodeDDoSProtectionRequest)(nil),                                 // 65: pb.FindNodeDDoSProtectionRequest
	(*FindNodeDDoSProtectionResponse)(nil),                                // 66: pb.FindNodeDDoSProtectionResponse
	(*UpdateNodeDDoSProtectionRequest)(nil),                               // 67: pb.UpdateNodeDDoSProtectionRequest
	(*FindNodeGlobalServerConfigRequest)(nil),                             // 68: pb.FindNodeGlobalServerConfigRequest
	(*FindNodeGlobalServerConfigResponse)(nil),                            // 69: pb.FindNodeGlobalServerConfigResponse
	(*FindEnabledNodeConfigInfoRequest)(nil),                              // 70: pb.FindEnabledNodeConfigInfoRequest
	(*FindEnabledNodeConfigInfoResponse)(nil),                             // 71: pb.FindEnabledNodeConfigInfoResponse
	(*CountAllNodeRegionInfoRequest)(nil),                                 // 72: pb.CountAllNodeRegionInfoRequest
	(*ListNodeRegionInfoRequest)(nil),                                     // 73: pb.ListNodeRegionInfoRequest
	(*ListNodeRegionInfoResponse)(nil),                                    // 74: pb.ListNodeRegionInfoResponse
	(*UpdateNodeRegionInfoRequest)(nil),                                   // 75: pb.UpdateNodeRegionInfoRequest
	(*FindNodeAPIConfigRequest)(nil),                                      // 76: pb.FindNodeAPIConfigRequest
	(*FindNodeAPIConfigResponse)(nil),                                     // 77: pb.FindNodeAPIConfigResponse
	(*UpdateNodeAPIConfigRequest)(nil),                                    // 78: pb.UpdateNodeAPIConfigRequest
	(*FindNodeUAMPoliciesRequest)(nil),                                    // 79: pb.FindNodeUAMPoliciesRequest
	(*FindNodeUAMPoliciesResponse)(nil),                                   // 80: pb.FindNodeUAMPoliciesResponse
	(*FindNodeHTTPCCPoliciesRequest)(nil),                                 // 81: pb.FindNodeHTTPCCPoliciesRequest
	(*FindNodeHTTPCCPoliciesResponse)(nil),                                // 82: pb.FindNodeHTTPCCPoliciesResponse
	(*FindNodeHTTP3PoliciesRequest)(nil),                                  // 83: pb.FindNodeHTTP3PoliciesRequest
	(*FindNodeHTTP3PoliciesResponse)(nil),                                 // 84: pb.FindNodeHTTP3PoliciesResponse
	(*FindNodeHTTPPagesPoliciesRequest)(nil),                              // 85: pb.FindNodeHTTPPagesPoliciesRequest
	(*FindNodeHTTPPagesPoliciesResponse)(nil),                             // 86: pb.FindNodeHTTPPagesPoliciesResponse
	(*FindNodeScheduleInfoRequest)(nil),                                   // 87: pb.FindNodeScheduleInfoRequest
	(*FindNodeScheduleInfoResponse)(nil),                                  // 88: pb.FindNodeScheduleInfoResponse
	(*UpdateNodeScheduleInfoRequest)(nil),                                 // 89: pb.UpdateNodeScheduleInfoRequest
	(*ResetNodeActionStatusRequest)(nil),                                  // 90: pb.ResetNodeActionStatusRequest
	(*FindAllNodeScheduleInfoWithNodeClusterIdRequest)(nil),               // 91: pb.FindAllNodeScheduleInfoWithNodeClusterIdRequest
	(*FindAllNodeScheduleInfoWithNodeClusterIdResponse)(nil),              // 92: pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse
	(*CopyNodeActionsToNodeGroupRequest)(nil),                             // 93: pb.CopyNodeActionsToNodeGroupRequest
	(*CopyNodeActionsToNodeClusterRequest)(nil),                           // 94: pb.CopyNodeActionsToNodeClusterRequest
	(*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade)(nil),      // 95: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade
	(*ListNodeRegionInfoResponse_Info)(nil),                               // 96: pb.ListNodeRegionInfoResponse.Info
	(*FindNodeUAMPoliciesResponse_UAMPolicy)(nil),                         // 97: pb.FindNodeUAMPoliciesResponse.UAMPolicy
	(*FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy)(nil),                   // 98: pb.FindNodeHTTPCCPoliciesResponse.HTTPCCPolicy
	(*FindNodeHTTP3PoliciesResponse_HTTP3Policy)(nil),                     // 99: pb.FindNodeHTTP3PoliciesResponse.HTTP3Policy
	(*FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy)(nil),             // 100: pb.FindNodeHTTPPagesPoliciesResponse.HTTPPagesPolicy
	(*FindNodeScheduleInfoResponse_ScheduleInfo)(nil),                     // 101: pb.FindNodeScheduleInfoResponse.ScheduleInfo
	(*FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo)(nil), // 102: pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse.ScheduleInfo
	(*NodeLogin)(nil),                                                     // 103: pb.NodeLogin
	(*Node)(nil),                                                          // 104: pb.Node
	(*BasicNode)(nil),                                                     // 105: pb.BasicNode
	(*NodeInstallStatus)(nil),                                             // 106: pb.NodeInstallStatus
	(*DNSRoute)(nil),                                                      // 107: pb.DNSRoute
	(*SizeCapacity)(nil),                                                  // 108: pb.SizeCapacity
	(*NodeRegion)(nil),                                                    // 109: pb.NodeRegion
	(*NodeCluster)(nil),                                                   // 110: pb.NodeCluster
	(*RPCCountResponse)(nil),                                              // 111: pb.RPCCountResponse
	(*RPCSuccess)(nil),                                                    // 112: pb.RPCSuccess
}
var file_service_node_proto_depIdxs = []int32{
	103, // 0: pb.CreateNodeRequest.nodeLogin:type_name -> pb.NodeLogin
	104, // 1: pb.ListEnabledNodesMatchResponse.nodes:type_name -> pb.Node
	104, // 2: pb.FindAllEnabledNodesWithNodeClusterIdResponse.nodes:type_name -> pb.Node
	104, // 3: pb.FindEnabledNodeResponse.node:type_name -> pb.Node
	105, // 4: pb.FindEnabledBasicNodeResponse.node:type_name -> pb.BasicNode
	104, // 5: pb.FindAllEnabledNodesWithNodeGrantIdResponse.nodes:type_name -> pb.Node
	104, // 6: pb.FindAllNotInstalledNodesWithNodeClusterIdResponse.nodes:type_name -> pb.Node
	95,  // 7: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.nodes:type_name -> pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade
	106, // 8: pb.FindNodeInstallStatusResponse.installStatus:type_name -> pb.NodeInstallStatus
	103, // 9: pb.UpdateNodeLoginRequest.nodeLogin:type_name -> pb.NodeLogin
	46,  // 10: pb.FindAllEnabledNodesDNSWithNodeClusterIdResponse.nodes:type_name -> pb.NodeDNSInfo
	107, // 11: pb.NodeDNSInfo.routes:type_name -> pb.DNSRoute
	46,  // 12: pb.FindEnabledNodeDNSResponse.node:type_name -> pb.NodeDNSInfo
	104, // 13: pb.FindEnabledNodesWithIdsResponse.nodes:type_name -> pb.Node
	108, // 14: pb.UpdateNodeCacheRequest.maxCacheDiskCapacity:type_name -> pb.SizeCapacity
	108, // 15: pb.UpdateNodeCacheRequest.maxCacheMemoryCapacity:type_name -> pb.SizeCapacity
	96,  // 16: pb.ListNodeRegionInfoResponse.infoList:type_name -> pb.ListNodeRegionInfoResponse.Info
	97,  // 17: pb.FindNodeUAMPoliciesResponse.uamPolicies:type_name -> pb.FindNodeUAMPoliciesResponse.UAMPolicy
	98,  // 18: pb.FindNodeHTTPCCPoliciesResponse.httpCCPolicies:type_name -> pb.FindNodeHTTPCCPoliciesResponse.HTTPCCPolicy
	99,  // 19: pb.FindNodeHTTP3PoliciesResponse.http3Policies:type_name -> pb.FindNodeHTTP3PoliciesResponse.HTTP3Policy
	100, // 20: pb.FindNodeHTTPPagesPoliciesResponse.httpPagesPolicies:type_name -> pb.FindNodeHTTPPagesPoliciesResponse.HTTPPagesPolicy
	101, // 21: pb.FindNodeScheduleInfoResponse.scheduleInfo:type_name -> pb.FindNodeScheduleInfoResponse.ScheduleInfo
	102, // 22: pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse.nodes:type_name -> pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse.ScheduleInfo
	104, // 23: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade.node:type_name -> pb.Node
	109, // 24: pb.ListNodeRegionInfoResponse.Info.nodeRegion:type_name -> pb.NodeRegion
	110, // 25: pb.ListNodeRegionInfoResponse.Info.nodeCluster:type_name -> pb.NodeCluster
	0,   // 26: pb.NodeService.createNode:input_type -> pb.CreateNodeRequest
	2,   // 27: pb.NodeService.registerClusterNode:input_type -> pb.RegisterClusterNodeRequest
	4,   // 28: pb.NodeService.countAllEnabledNodes:input_type -> pb.CountAllEnabledNodesRequest
	20,  // 29: pb.NodeService.countAllEnabledNodesMatch:input_type -> pb.CountAllEnabledNodesMatchRequest
	5,   // 30: pb.NodeService.listEnabledNodesMatch:input_type -> pb.ListEnabledNodesMatchRequest
	7,   // 31: pb.NodeService.findAllEnabledNodesWithNodeClusterId:input_type -> pb.FindAllEnabledNodesWithNodeClusterIdRequest
	9,   // 32: pb.NodeService.deleteNode:input_type -> pb.DeleteNodeRequest
	10,  // 33: pb.NodeService.deleteNodeFromNodeCluster:input_type -> pb.DeleteNodeFromNodeClusterRequest
	11,  // 34: pb.NodeService.updateNode:input_type -> pb.UpdateNodeRequest
	12,  // 35: pb.NodeService.findEnabledNode:input_type -> pb.FindEnabledNodeRequest
	14,  // 36: pb.NodeService.findEnabledBasicNode:input_type -> pb.FindEnabledBasicNodeRequest
	16,  // 37: pb.NodeService.findCurrentNodeConfig:input_type -> pb.FindCurrentNodeConfigRequest
	18,  // 38: pb.NodeService.nodeStream:input_type -> pb.NodeStreamMessage
	18,  // 39: pb.NodeService.sendCommandToNode:input_type -> pb.NodeStreamMessage
	19,  // 40: pb.NodeService.updateNodeStatus:input_type -> pb.UpdateNodeStatusRequest
	21,  // 41: pb.NodeService.updateNodeIsInstalled:input_type -> pb.UpdateNodeIsInstalledRequest
	22,  // 42: pb.NodeService.installNode:input_type -> pb.InstallNodeRequest
	24,  // 43: pb.NodeService.upgradeNode:input_type -> pb.UpgradeNodeRequest
	26,  // 44: pb.NodeService.startNode:input_type -> pb.StartNodeRequest
	28,  // 45: pb.NodeService.stopNode:input_type -> pb.StopNodeRequest
	30,  // 46: pb.NodeService.updateNodeConnectedAPINodes:input_type -> pb.UpdateNodeConnectedAPINodesRequest
	31,  // 47: pb.NodeService.countAllEnabledNodesWithNodeGrantId:input_type -> pb.CountAllEnabledNodesWithNodeGrantIdRequest
	32,  // 48: pb.NodeService.findAllEnabledNodesWithNodeGrantId:input_type -> pb.FindAllEnabledNodesWithNodeGrantIdRequest
	36,  // 49: pb.NodeService.countAllNotInstalledNodesWithNodeClusterId:input_type -> pb.CountAllNotInstalledNodesWithNodeClusterIdRequest
	34,  // 50: pb.NodeService.findAllNotInstalledNodesWithNodeClusterId:input_type -> pb.FindAllNotInstalledNodesWithNodeClusterIdRequest
	37,  // 51: pb.NodeService.countAllUpgradeNodesWithNodeClusterId:input_type -> pb.CountAllUpgradeNodesWithNodeClusterIdRequest
	38,  // 52: pb.NodeService.findAllUpgradeNodesWithNodeClusterId:input_type -> pb.FindAllUpgradeNodesWithNodeClusterIdRequest
	40,  // 53: pb.NodeService.findNodeInstallStatus:input_type -> pb.FindNodeInstallStatusRequest
	42,  // 54: pb.NodeService.updateNodeLogin:input_type -> pb.UpdateNodeLoginRequest
	43,  // 55: pb.NodeService.countAllEnabledNodesWithNodeGroupId:input_type -> pb.CountAllEnabledNodesWithNodeGroupIdRequest
	44,  // 56: pb.NodeService.findAllEnabledNodesDNSWithNodeClusterId:input_type -> pb.FindAllEnabledNodesDNSWithNodeClusterIdRequest
	47,  // 57: pb.NodeService.findEnabledNodeDNS:input_type -> pb.FindEnabledNodeDNSRequest
	49,  // 58: pb.NodeService.updateNodeDNS:input_type -> pb.UpdateNodeDNSRequest
	50,  // 59: pb.NodeService.countAllEnabledNodesWithNodeRegionId:input_type -> pb.CountAllEnabledNodesWithNodeRegionIdRequest
	51,  // 60: pb.NodeService.findEnabledNodesWithIds:input_type -> pb.FindEnabledNodesWithIdsRequest
	53,  // 61: pb.NodeService.checkNodeLatestVersion:input_type -> pb.CheckNodeLatestVersionRequest
	55,  // 62: pb.NodeService.updateNodeUp:input_type -> pb.UpdateNodeUpRequest
	56,  // 63: pb.NodeService.downloadNodeInstallationFile:input_type -> pb.DownloadNodeInstallationFileRequest
	58,  // 64: pb.NodeService.updateNodeSystem:input_type -> pb.UpdateNodeSystemRequest
	59,  // 65: pb.NodeService.updateNodeCache:input_type -> pb.UpdateNodeCacheRequest
	60,  // 66: pb.NodeService.findNodeLevelInfo:input_type -> pb.FindNodeLevelInfoRequest
	62,  // 67: pb.NodeService.findNodeDNSResolver:input_type -> pb.FindNodeDNSResolverRequest
	64,  // 68: pb.NodeService.updateNodeDNSResolver:input_type -> pb.UpdateNodeDNSResolverRequest
	65,  // 69: pb.NodeService.findNodeDDoSProtection:input_type -> pb.FindNodeDDoSProtectionRequest
	67,  // 70: pb.NodeService.updateNodeDDoSProtection:input_type -> pb.UpdateNodeDDoSProtectionRequest
	68,  // 71: pb.NodeService.findNodeGlobalServerConfig:input_type -> pb.FindNodeGlobalServerConfigRequest
	70,  // 72: pb.NodeService.findEnabledNodeConfigInfo:input_type -> pb.FindEnabledNodeConfigInfoRequest
	72,  // 73: pb.NodeService.countAllNodeRegionInfo:input_type -> pb.CountAllNodeRegionInfoRequest
	73,  // 74: pb.NodeService.listNodeRegionInfo:input_type -> pb.ListNodeRegionInfoRequest
	75,  // 75: pb.NodeService.updateNodeRegionInfo:input_type -> pb.UpdateNodeRegionInfoRequest
	76,  // 76: pb.NodeService.findNodeAPIConfig:input_type -> pb.FindNodeAPIConfigRequest
	78,  // 77: pb.NodeService.updateNodeAPIConfig:input_type -> pb.UpdateNodeAPIConfigRequest
	79,  // 78: pb.NodeService.findNodeUAMPolicies:input_type -> pb.FindNodeUAMPoliciesRequest
	81,  // 79: pb.NodeService.findNodeHTTPCCPolicies:input_type -> pb.FindNodeHTTPCCPoliciesRequest
	83,  // 80: pb.NodeService.findNodeHTTP3Policies:input_type -> pb.FindNodeHTTP3PoliciesRequest
	85,  // 81: pb.NodeService.findNodeHTTPPagesPolicies:input_type -> pb.FindNodeHTTPPagesPoliciesRequest
	87,  // 82: pb.NodeService.findNodeScheduleInfo:input_type -> pb.FindNodeScheduleInfoRequest
	89,  // 83: pb.NodeService.updateNodeScheduleInfo:input_type -> pb.UpdateNodeScheduleInfoRequest
	90,  // 84: pb.NodeService.resetNodeActionStatus:input_type -> pb.ResetNodeActionStatusRequest
	91,  // 85: pb.NodeService.findAllNodeScheduleInfoWithNodeClusterId:input_type -> pb.FindAllNodeScheduleInfoWithNodeClusterIdRequest
	93,  // 86: pb.NodeService.copyNodeActionsToNodeGroup:input_type -> pb.CopyNodeActionsToNodeGroupRequest
	94,  // 87: pb.NodeService.copyNodeActionsToNodeCluster:input_type -> pb.CopyNodeActionsToNodeClusterRequest
	1,   // 88: pb.NodeService.createNode:output_type -> pb.CreateNodeResponse
	3,   // 89: pb.NodeService.registerClusterNode:output_type -> pb.RegisterClusterNodeResponse
	111, // 90: pb.NodeService.countAllEnabledNodes:output_type -> pb.RPCCountResponse
	111, // 91: pb.NodeService.countAllEnabledNodesMatch:output_type -> pb.RPCCountResponse
	6,   // 92: pb.NodeService.listEnabledNodesMatch:output_type -> pb.ListEnabledNodesMatchResponse
	8,   // 93: pb.NodeService.findAllEnabledNodesWithNodeClusterId:output_type -> pb.FindAllEnabledNodesWithNodeClusterIdResponse
	112, // 94: pb.NodeService.deleteNode:output_type -> pb.RPCSuccess
	112, // 95: pb.NodeService.deleteNodeFromNodeCluster:output_type -> pb.RPCSuccess
	112, // 96: pb.NodeService.updateNode:output_type -> pb.RPCSuccess
	13,  // 97: pb.NodeService.findEnabledNode:output_type -> pb.FindEnabledNodeResponse
	15,  // 98: pb.NodeService.findEnabledBasicNode:output_type -> pb.FindEnabledBasicNodeResponse
	17,  // 99: pb.NodeService.findCurrentNodeConfig:output_type -> pb.FindCurrentNodeConfigResponse
	18,  // 100: pb.NodeService.nodeStream:output_type -> pb.NodeStreamMessage
	18,  // 101: pb.NodeService.sendCommandToNode:output_type -> pb.NodeStreamMessage
	112, // 102: pb.NodeService.updateNodeStatus:output_type -> pb.RPCSuccess
	112, // 103: pb.NodeService.updateNodeIsInstalled:output_type -> pb.RPCSuccess
	23,  // 104: pb.NodeService.installNode:output_type -> pb.InstallNodeResponse
	25,  // 105: pb.NodeService.upgradeNode:output_type -> pb.UpgradeNodeResponse
	27,  // 106: pb.NodeService.startNode:output_type -> pb.StartNodeResponse
	29,  // 107: pb.NodeService.stopNode:output_type -> pb.StopNodeResponse
	112, // 108: pb.NodeService.updateNodeConnectedAPINodes:output_type -> pb.RPCSuccess
	111, // 109: pb.NodeService.countAllEnabledNodesWithNodeGrantId:output_type -> pb.RPCCountResponse
	33,  // 110: pb.NodeService.findAllEnabledNodesWithNodeGrantId:output_type -> pb.FindAllEnabledNodesWithNodeGrantIdResponse
	111, // 111: pb.NodeService.countAllNotInstalledNodesWithNodeClusterId:output_type -> pb.RPCCountResponse
	35,  // 112: pb.NodeService.findAllNotInstalledNodesWithNodeClusterId:output_type -> pb.FindAllNotInstalledNodesWithNodeClusterIdResponse
	111, // 113: pb.NodeService.countAllUpgradeNodesWithNodeClusterId:output_type -> pb.RPCCountResponse
	39,  // 114: pb.NodeService.findAllUpgradeNodesWithNodeClusterId:output_type -> pb.FindAllUpgradeNodesWithNodeClusterIdResponse
	41,  // 115: pb.NodeService.findNodeInstallStatus:output_type -> pb.FindNodeInstallStatusResponse
	112, // 116: pb.NodeService.updateNodeLogin:output_type -> pb.RPCSuccess
	111, // 117: pb.NodeService.countAllEnabledNodesWithNodeGroupId:output_type -> pb.RPCCountResponse
	45,  // 118: pb.NodeService.findAllEnabledNodesDNSWithNodeClusterId:output_type -> pb.FindAllEnabledNodesDNSWithNodeClusterIdResponse
	48,  // 119: pb.NodeService.findEnabledNodeDNS:output_type -> pb.FindEnabledNodeDNSResponse
	112, // 120: pb.NodeService.updateNodeDNS:output_type -> pb.RPCSuccess
	111, // 121: pb.NodeService.countAllEnabledNodesWithNodeRegionId:output_type -> pb.RPCCountResponse
	52,  // 122: pb.NodeService.findEnabledNodesWithIds:output_type -> pb.FindEnabledNodesWithIdsResponse
	54,  // 123: pb.NodeService.checkNodeLatestVersion:output_type -> pb.CheckNodeLatestVersionResponse
	112, // 124: pb.NodeService.updateNodeUp:output_type -> pb.RPCSuccess
	57,  // 125: pb.NodeService.downloadNodeInstallationFile:output_type -> pb.DownloadNodeInstallationFileResponse
	112, // 126: pb.NodeService.updateNodeSystem:output_type -> pb.RPCSuccess
	112, // 127: pb.NodeService.updateNodeCache:output_type -> pb.RPCSuccess
	61,  // 128: pb.NodeService.findNodeLevelInfo:output_type -> pb.FindNodeLevelInfoResponse
	63,  // 129: pb.NodeService.findNodeDNSResolver:output_type -> pb.FindNodeDNSResolverResponse
	112, // 130: pb.NodeService.updateNodeDNSResolver:output_type -> pb.RPCSuccess
	66,  // 131: pb.NodeService.findNodeDDoSProtection:output_type -> pb.FindNodeDDoSProtectionResponse
	112, // 132: pb.NodeService.updateNodeDDoSProtection:output_type -> pb.RPCSuccess
	69,  // 133: pb.NodeService.findNodeGlobalServerConfig:output_type -> pb.FindNodeGlobalServerConfigResponse
	71,  // 134: pb.NodeService.findEnabledNodeConfigInfo:output_type -> pb.FindEnabledNodeConfigInfoResponse
	111, // 135: pb.NodeService.countAllNodeRegionInfo:output_type -> pb.RPCCountResponse
	74,  // 136: pb.NodeService.listNodeRegionInfo:output_type -> pb.ListNodeRegionInfoResponse
	112, // 137: pb.NodeService.updateNodeRegionInfo:output_type -> pb.RPCSuccess
	77,  // 138: pb.NodeService.findNodeAPIConfig:output_type -> pb.FindNodeAPIConfigResponse
	112, // 139: pb.NodeService.updateNodeAPIConfig:output_type -> pb.RPCSuccess
	80,  // 140: pb.NodeService.findNodeUAMPolicies:output_type -> pb.FindNodeUAMPoliciesResponse
	82,  // 141: pb.NodeService.findNodeHTTPCCPolicies:output_type -> pb.FindNodeHTTPCCPoliciesResponse
	84,  // 142: pb.NodeService.findNodeHTTP3Policies:output_type -> pb.FindNodeHTTP3PoliciesResponse
	86,  // 143: pb.NodeService.findNodeHTTPPagesPolicies:output_type -> pb.FindNodeHTTPPagesPoliciesResponse
	88,  // 144: pb.NodeService.findNodeScheduleInfo:output_type -> pb.FindNodeScheduleInfoResponse
	112, // 145: pb.NodeService.updateNodeScheduleInfo:output_type -> pb.RPCSuccess
	112, // 146: pb.NodeService.resetNodeActionStatus:output_type -> pb.RPCSuccess
	92,  // 147: pb.NodeService.findAllNodeScheduleInfoWithNodeClusterId:output_type -> pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse
	112, // 148: pb.NodeService.copyNodeActionsToNodeGroup:output_type -> pb.RPCSuccess
	112, // 149: pb.NodeService.copyNodeActionsToNodeCluster:output_type -> pb.RPCSuccess
	88,  // [88:150] is the sub-list for method output_type
	26,  // [26:88] is the sub-list for method input_type
	26,  // [26:26] is the sub-list for extension type_name
	26,  // [26:26] is the sub-list for extension extendee
	0,   // [0:26] is the sub-list for field type_name
}

func init() { file_service_node_proto_init() }
func file_service_node_proto_init() {
	if File_service_node_proto != nil {
		return
	}
	file_models_model_node_proto_init()
	file_models_model_node_login_proto_init()
	file_models_model_node_install_status_proto_init()
	file_models_model_dns_route_proto_init()
	file_models_model_size_capacity_proto_init()
	file_models_model_node_cluster_proto_init()
	file_models_model_node_region_proto_init()
	file_models_rpc_messages_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_service_node_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateNodeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RegisterClusterNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RegisterClusterNodeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CountAllEnabledNodesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListEnabledNodesMatchRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListEnabledNodesMatchResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNodesWithNodeClusterIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNodesWithNodeClusterIdResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteNodeFromNodeClusterRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledBasicNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledBasicNodeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindCurrentNodeConfigRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindCurrentNodeConfigResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NodeStreamMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeStatusRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CountAllEnabledNodesMatchRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeIsInstalledRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InstallNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InstallNodeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpgradeNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpgradeNodeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StartNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StartNodeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StopNodeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StopNodeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeConnectedAPINodesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CountAllEnabledNodesWithNodeGrantIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNodesWithNodeGrantIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNodesWithNodeGrantIdResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllNotInstalledNodesWithNodeClusterIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllNotInstalledNodesWithNodeClusterIdResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CountAllNotInstalledNodesWithNodeClusterIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CountAllUpgradeNodesWithNodeClusterIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllUpgradeNodesWithNodeClusterIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllUpgradeNodesWithNodeClusterIdResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeInstallStatusRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeInstallStatusResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeLoginRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CountAllEnabledNodesWithNodeGroupIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNodesDNSWithNodeClusterIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNodesDNSWithNodeClusterIdResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NodeDNSInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeDNSRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeDNSResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeDNSRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CountAllEnabledNodesWithNodeRegionIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodesWithIdsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodesWithIdsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CheckNodeLatestVersionRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CheckNodeLatestVersionResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeUpRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadNodeInstallationFileRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadNodeInstallationFileResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeSystemRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeCacheRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeLevelInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeLevelInfoResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeDNSResolverRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeDNSResolverResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeDNSResolverRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeDDoSProtectionRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeDDoSProtectionResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeDDoSProtectionRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeGlobalServerConfigRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeGlobalServerConfigResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeConfigInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeConfigInfoResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CountAllNodeRegionInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListNodeRegionInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListNodeRegionInfoResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeRegionInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeAPIConfigRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeAPIConfigResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeAPIConfigRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeUAMPoliciesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeUAMPoliciesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeHTTPCCPoliciesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeHTTPCCPoliciesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeHTTP3PoliciesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeHTTP3PoliciesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeHTTPPagesPoliciesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeHTTPPagesPoliciesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeScheduleInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeScheduleInfoResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeScheduleInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResetNodeActionStatusRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllNodeScheduleInfoWithNodeClusterIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllNodeScheduleInfoWithNodeClusterIdResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CopyNodeActionsToNodeGroupRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CopyNodeActionsToNodeClusterRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListNodeRegionInfoResponse_Info); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeUAMPoliciesResponse_UAMPolicy); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeHTTP3PoliciesResponse_HTTP3Policy); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeScheduleInfoResponse_ScheduleInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_service_node_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   103,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_service_node_proto_goTypes,
		DependencyIndexes: file_service_node_proto_depIdxs,
		MessageInfos:      file_service_node_proto_msgTypes,
	}.Build()
	File_service_node_proto = out.File
	file_service_node_proto_rawDesc = nil
	file_service_node_proto_goTypes = nil
	file_service_node_proto_depIdxs = nil
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6

// NodeServiceClient is the client API for NodeService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type NodeServiceClient interface {
	// 创建节点
	CreateNode(ctx context.Context, in *CreateNodeRequest, opts ...grpc.CallOption) (*CreateNodeResponse, error)
	// 注册集群节点
	RegisterClusterNode(ctx context.Context, in *RegisterClusterNodeRequest, opts ...grpc.CallOption) (*RegisterClusterNodeResponse, error)
	// 所有可用的节点数量
	CountAllEnabledNodes(ctx context.Context, in *CountAllEnabledNodesRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
	// 计算匹配的节点数量
	CountAllEnabledNodesMatch(ctx context.Context, in *CountAllEnabledNodesMatchRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
	// 列出单页节点
	ListEnabledNodesMatch(ctx context.Context, in *ListEnabledNodesMatchRequest, opts ...grpc.CallOption) (*ListEnabledNodesMatchResponse, error)
	// 根据集群查找所有节点
	FindAllEnabledNodesWithNodeClusterId(ctx context.Context, in *FindAllEnabledNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllEnabledNodesWithNodeClusterIdResponse, error)
	// 删除节点
	DeleteNode(ctx context.Context, in *DeleteNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 从集群中删除节点
	DeleteNodeFromNodeCluster(ctx context.Context, in *DeleteNodeFromNodeClusterRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 修改节点
	UpdateNode(ctx context.Context, in *UpdateNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 获取单个节点信息
	FindEnabledNode(ctx context.Context, in *FindEnabledNodeRequest, opts ...grpc.CallOption) (*FindEnabledNodeResponse, error)
	// 获取单个节点基本信息
	FindEnabledBasicNode(ctx context.Context, in *FindEnabledBasicNodeRequest, opts ...grpc.CallOption) (*FindEnabledBasicNodeResponse, error)
	// 获取当前节点配置
	FindCurrentNodeConfig(ctx context.Context, in *FindCurrentNodeConfigRequest, opts ...grpc.CallOption) (*FindCurrentNodeConfigResponse, error)
	// 节点stream
	NodeStream(ctx context.Context, opts ...grpc.CallOption) (NodeService_NodeStreamClient, error)
	// 向节点发送命令
	SendCommandToNode(ctx context.Context, in *NodeStreamMessage, opts ...grpc.CallOption) (*NodeStreamMessage, error)
	// 更新节点状态
	UpdateNodeStatus(ctx context.Context, in *UpdateNodeStatusRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 修改节点安装状态
	UpdateNodeIsInstalled(ctx context.Context, in *UpdateNodeIsInstalledRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 安装节点
	InstallNode(ctx context.Context, in *InstallNodeRequest, opts ...grpc.CallOption) (*InstallNodeResponse, error)
	// 升级节点
	UpgradeNode(ctx context.Context, in *UpgradeNodeRequest, opts ...grpc.CallOption) (*UpgradeNodeResponse, error)
	// 启动节点
	StartNode(ctx context.Context, in *StartNodeRequest, opts ...grpc.CallOption) (*StartNodeResponse, error)
	// 停止节点
	StopNode(ctx context.Context, in *StopNodeRequest, opts ...grpc.CallOption) (*StopNodeResponse, error)
	// 更改节点连接的API节点信息
	UpdateNodeConnectedAPINodes(ctx context.Context, in *UpdateNodeConnectedAPINodesRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 计算使用某个认证的节点数量
	CountAllEnabledNodesWithNodeGrantId(ctx context.Context, in *CountAllEnabledNodesWithNodeGrantIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
	// 查找使用某个认证的所有节点
	FindAllEnabledNodesWithNodeGrantId(ctx context.Context, in *FindAllEnabledNodesWithNodeGrantIdRequest, opts ...grpc.CallOption) (*FindAllEnabledNodesWithNodeGrantIdResponse, error)
	// 计算没有安装的节点数量
	CountAllNotInstalledNodesWithNodeClusterId(ctx context.Context, in *CountAllNotInstalledNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
	// 列出所有未安装的节点
	FindAllNotInstalledNodesWithNodeClusterId(ctx context.Context, in *FindAllNotInstalledNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllNotInstalledNodesWithNodeClusterIdResponse, error)
	// 计算需要升级的节点数量
	CountAllUpgradeNodesWithNodeClusterId(ctx context.Context, in *CountAllUpgradeNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
	// 列出所有需要升级的节点
	FindAllUpgradeNodesWithNodeClusterId(ctx context.Context, in *FindAllUpgradeNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllUpgradeNodesWithNodeClusterIdResponse, error)
	// 读取节点安装状态
	FindNodeInstallStatus(ctx context.Context, in *FindNodeInstallStatusRequest, opts ...grpc.CallOption) (*FindNodeInstallStatusResponse, error)
	// 修改节点登录信息
	UpdateNodeLogin(ctx context.Context, in *UpdateNodeLoginRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 计算某个节点分组内的节点数量
	CountAllEnabledNodesWithNodeGroupId(ctx context.Context, in *CountAllEnabledNodesWithNodeGroupIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
	// 取得某个集群下的所有节点DNS信息
	FindAllEnabledNodesDNSWithNodeClusterId(ctx context.Context, in *FindAllEnabledNodesDNSWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllEnabledNodesDNSWithNodeClusterIdResponse, error)
	// 查找单个节点的域名解析信息
	FindEnabledNodeDNS(ctx context.Context, in *FindEnabledNodeDNSRequest, opts ...grpc.CallOption) (*FindEnabledNodeDNSResponse, error)
	// 修改节点的DNS解析信息
	UpdateNodeDNS(ctx context.Context, in *UpdateNodeDNSRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 计算某个区域下的节点数量
	CountAllEnabledNodesWithNodeRegionId(ctx context.Context, in *CountAllEnabledNodesWithNodeRegionIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
	// 根据一组ID获取节点信息
	FindEnabledNodesWithIds(ctx context.Context, in *FindEnabledNodesWithIdsRequest, opts ...grpc.CallOption) (*FindEnabledNodesWithIdsResponse, error)
	// 检查新版本
	CheckNodeLatestVersion(ctx context.Context, in *CheckNodeLatestVersionRequest, opts ...grpc.CallOption) (*CheckNodeLatestVersionResponse, error)
	// 设置节点上线状态
	UpdateNodeUp(ctx context.Context, in *UpdateNodeUpRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 下载最新边缘节点安装文件
	DownloadNodeInstallationFile(ctx context.Context, in *DownloadNodeInstallationFileRequest, opts ...grpc.CallOption) (*DownloadNodeInstallationFileResponse, error)
	// 修改节点系统信息
	UpdateNodeSystem(ctx context.Context, in *UpdateNodeSystemRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 修改节点缓存设置
	UpdateNodeCache(ctx context.Context, in *UpdateNodeCacheRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 读取节点级别信息
	FindNodeLevelInfo(ctx context.Context, in *FindNodeLevelInfoRequest, opts ...grpc.CallOption) (*FindNodeLevelInfoResponse, error)
	// 读取节点DNS Resolver
	FindNodeDNSResolver(ctx context.Context, in *FindNodeDNSResolverRequest, opts ...grpc.CallOption) (*FindNodeDNSResolverResponse, error)
	// 修改DNS Resolver
	UpdateNodeDNSResolver(ctx context.Context, in *UpdateNodeDNSResolverRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 获取节点的DDoS设置
	FindNodeDDoSProtection(ctx context.Context, in *FindNodeDDoSProtectionRequest, opts ...grpc.CallOption) (*FindNodeDDoSProtectionResponse, error)
	// 修改节点的DDoS设置
	UpdateNodeDDoSProtection(ctx context.Context, in *UpdateNodeDDoSProtectionRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 取得节点的服务全局配置
	FindNodeGlobalServerConfig(ctx context.Context, in *FindNodeGlobalServerConfigRequest, opts ...grpc.CallOption) (*FindNodeGlobalServerConfigResponse, error)
	// 取得节点的配置概要信息
	FindEnabledNodeConfigInfo(ctx context.Context, in *FindEnabledNodeConfigInfoRequest, opts ...grpc.CallOption) (*FindEnabledNodeConfigInfoResponse, error)
	// 查找节点区域信息数量
	CountAllNodeRegionInfo(ctx context.Context, in *CountAllNodeRegionInfoRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
	// 列出单页节点区域信息
	ListNodeRegionInfo(ctx context.Context, in *ListNodeRegionInfoRequest, opts ...grpc.CallOption) (*ListNodeRegionInfoResponse, error)
	// 修改节点区域信息
	UpdateNodeRegionInfo(ctx context.Context, in *UpdateNodeRegionInfoRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 查找单个节点的API相关配置
	FindNodeAPIConfig(ctx context.Context, in *FindNodeAPIConfigRequest, opts ...grpc.CallOption) (*FindNodeAPIConfigResponse, error)
	// 修改某个节点的API相关配置
	UpdateNodeAPIConfig(ctx context.Context, in *UpdateNodeAPIConfigRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 查找节点的UAM策略
	FindNodeUAMPolicies(ctx context.Context, in *FindNodeUAMPoliciesRequest, opts ...grpc.CallOption) (*FindNodeUAMPoliciesResponse, error)
	// 查找节点的HTTP CC策略
	FindNodeHTTPCCPolicies(ctx context.Context, in *FindNodeHTTPCCPoliciesRequest, opts ...grpc.CallOption) (*FindNodeHTTPCCPoliciesResponse, error)
	// 查找节点的HTTP3策略
	FindNodeHTTP3Policies(ctx context.Context, in *FindNodeHTTP3PoliciesRequest, opts ...grpc.CallOption) (*FindNodeHTTP3PoliciesResponse, error)
	// 查找节点的自定义页面策略
	FindNodeHTTPPagesPolicies(ctx context.Context, in *FindNodeHTTPPagesPoliciesRequest, opts ...grpc.CallOption) (*FindNodeHTTPPagesPoliciesResponse, error)
	// 查找节点调度信息
	FindNodeScheduleInfo(ctx context.Context, in *FindNodeScheduleInfoRequest, opts ...grpc.CallOption) (*FindNodeScheduleInfoResponse, error)
	// 修改节点调度信息
	UpdateNodeScheduleInfo(ctx context.Context, in *UpdateNodeScheduleInfoRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 重置节点动作状态
	ResetNodeActionStatus(ctx context.Context, in *ResetNodeActionStatusRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 查找集群的节点调度信息
	FindAllNodeScheduleInfoWithNodeClusterId(ctx context.Context, in *FindAllNodeScheduleInfoWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllNodeScheduleInfoWithNodeClusterIdResponse, error)
	// 复制动作设置到分组
	CopyNodeActionsToNodeGroup(ctx context.Context, in *CopyNodeActionsToNodeGroupRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
	// 复制动作设置到集群
	CopyNodeActionsToNodeCluster(ctx context.Context, in *CopyNodeActionsToNodeClusterRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
}

type nodeServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewNodeServiceClient(cc grpc.ClientConnInterface) NodeServiceClient {
	return &nodeServiceClient{cc}
}

func (c *nodeServiceClient) CreateNode(ctx context.Context, in *CreateNodeRequest, opts ...grpc.CallOption) (*CreateNodeResponse, error) {
	out := new(CreateNodeResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/createNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) RegisterClusterNode(ctx context.Context, in *RegisterClusterNodeRequest, opts ...grpc.CallOption) (*RegisterClusterNodeResponse, error) {
	out := new(RegisterClusterNodeResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/registerClusterNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) CountAllEnabledNodes(ctx context.Context, in *CountAllEnabledNodesRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
	out := new(RPCCountResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/countAllEnabledNodes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) CountAllEnabledNodesMatch(ctx context.Context, in *CountAllEnabledNodesMatchRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
	out := new(RPCCountResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/countAllEnabledNodesMatch", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) ListEnabledNodesMatch(ctx context.Context, in *ListEnabledNodesMatchRequest, opts ...grpc.CallOption) (*ListEnabledNodesMatchResponse, error) {
	out := new(ListEnabledNodesMatchResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/listEnabledNodesMatch", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindAllEnabledNodesWithNodeClusterId(ctx context.Context, in *FindAllEnabledNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllEnabledNodesWithNodeClusterIdResponse, error) {
	out := new(FindAllEnabledNodesWithNodeClusterIdResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findAllEnabledNodesWithNodeClusterId", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) DeleteNode(ctx context.Context, in *DeleteNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/deleteNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) DeleteNodeFromNodeCluster(ctx context.Context, in *DeleteNodeFromNodeClusterRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/deleteNodeFromNodeCluster", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) UpdateNode(ctx context.Context, in *UpdateNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/updateNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindEnabledNode(ctx context.Context, in *FindEnabledNodeRequest, opts ...grpc.CallOption) (*FindEnabledNodeResponse, error) {
	out := new(FindEnabledNodeResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findEnabledNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindEnabledBasicNode(ctx context.Context, in *FindEnabledBasicNodeRequest, opts ...grpc.CallOption) (*FindEnabledBasicNodeResponse, error) {
	out := new(FindEnabledBasicNodeResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findEnabledBasicNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindCurrentNodeConfig(ctx context.Context, in *FindCurrentNodeConfigRequest, opts ...grpc.CallOption) (*FindCurrentNodeConfigResponse, error) {
	out := new(FindCurrentNodeConfigResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findCurrentNodeConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) NodeStream(ctx context.Context, opts ...grpc.CallOption) (NodeService_NodeStreamClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NodeService_serviceDesc.Streams[0], "/pb.NodeService/nodeStream", opts...)
	if err != nil {
		return nil, err
	}
	x := &nodeServiceNodeStreamClient{stream}
	return x, nil
}

type NodeService_NodeStreamClient interface {
	Send(*NodeStreamMessage) error
	Recv() (*NodeStreamMessage, error)
	grpc.ClientStream
}

type nodeServiceNodeStreamClient struct {
	grpc.ClientStream
}

func (x *nodeServiceNodeStreamClient) Send(m *NodeStreamMessage) error {
	return x.ClientStream.SendMsg(m)
}

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

func (c *nodeServiceClient) SendCommandToNode(ctx context.Context, in *NodeStreamMessage, opts ...grpc.CallOption) (*NodeStreamMessage, error) {
	out := new(NodeStreamMessage)
	err := c.cc.Invoke(ctx, "/pb.NodeService/sendCommandToNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) UpdateNodeStatus(ctx context.Context, in *UpdateNodeStatusRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeStatus", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) UpdateNodeIsInstalled(ctx context.Context, in *UpdateNodeIsInstalledRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeIsInstalled", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) InstallNode(ctx context.Context, in *InstallNodeRequest, opts ...grpc.CallOption) (*InstallNodeResponse, error) {
	out := new(InstallNodeResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/installNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) UpgradeNode(ctx context.Context, in *UpgradeNodeRequest, opts ...grpc.CallOption) (*UpgradeNodeResponse, error) {
	out := new(UpgradeNodeResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/upgradeNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) StartNode(ctx context.Context, in *StartNodeRequest, opts ...grpc.CallOption) (*StartNodeResponse, error) {
	out := new(StartNodeResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/startNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) StopNode(ctx context.Context, in *StopNodeRequest, opts ...grpc.CallOption) (*StopNodeResponse, error) {
	out := new(StopNodeResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/stopNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) UpdateNodeConnectedAPINodes(ctx context.Context, in *UpdateNodeConnectedAPINodesRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeConnectedAPINodes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) CountAllEnabledNodesWithNodeGrantId(ctx context.Context, in *CountAllEnabledNodesWithNodeGrantIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
	out := new(RPCCountResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/countAllEnabledNodesWithNodeGrantId", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindAllEnabledNodesWithNodeGrantId(ctx context.Context, in *FindAllEnabledNodesWithNodeGrantIdRequest, opts ...grpc.CallOption) (*FindAllEnabledNodesWithNodeGrantIdResponse, error) {
	out := new(FindAllEnabledNodesWithNodeGrantIdResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findAllEnabledNodesWithNodeGrantId", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) CountAllNotInstalledNodesWithNodeClusterId(ctx context.Context, in *CountAllNotInstalledNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
	out := new(RPCCountResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/countAllNotInstalledNodesWithNodeClusterId", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindAllNotInstalledNodesWithNodeClusterId(ctx context.Context, in *FindAllNotInstalledNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllNotInstalledNodesWithNodeClusterIdResponse, error) {
	out := new(FindAllNotInstalledNodesWithNodeClusterIdResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findAllNotInstalledNodesWithNodeClusterId", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) CountAllUpgradeNodesWithNodeClusterId(ctx context.Context, in *CountAllUpgradeNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
	out := new(RPCCountResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/countAllUpgradeNodesWithNodeClusterId", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindAllUpgradeNodesWithNodeClusterId(ctx context.Context, in *FindAllUpgradeNodesWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllUpgradeNodesWithNodeClusterIdResponse, error) {
	out := new(FindAllUpgradeNodesWithNodeClusterIdResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findAllUpgradeNodesWithNodeClusterId", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindNodeInstallStatus(ctx context.Context, in *FindNodeInstallStatusRequest, opts ...grpc.CallOption) (*FindNodeInstallStatusResponse, error) {
	out := new(FindNodeInstallStatusResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findNodeInstallStatus", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) UpdateNodeLogin(ctx context.Context, in *UpdateNodeLoginRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeLogin", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) CountAllEnabledNodesWithNodeGroupId(ctx context.Context, in *CountAllEnabledNodesWithNodeGroupIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
	out := new(RPCCountResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/countAllEnabledNodesWithNodeGroupId", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindAllEnabledNodesDNSWithNodeClusterId(ctx context.Context, in *FindAllEnabledNodesDNSWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllEnabledNodesDNSWithNodeClusterIdResponse, error) {
	out := new(FindAllEnabledNodesDNSWithNodeClusterIdResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findAllEnabledNodesDNSWithNodeClusterId", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindEnabledNodeDNS(ctx context.Context, in *FindEnabledNodeDNSRequest, opts ...grpc.CallOption) (*FindEnabledNodeDNSResponse, error) {
	out := new(FindEnabledNodeDNSResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findEnabledNodeDNS", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) UpdateNodeDNS(ctx context.Context, in *UpdateNodeDNSRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeDNS", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) CountAllEnabledNodesWithNodeRegionId(ctx context.Context, in *CountAllEnabledNodesWithNodeRegionIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
	out := new(RPCCountResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/countAllEnabledNodesWithNodeRegionId", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindEnabledNodesWithIds(ctx context.Context, in *FindEnabledNodesWithIdsRequest, opts ...grpc.CallOption) (*FindEnabledNodesWithIdsResponse, error) {
	out := new(FindEnabledNodesWithIdsResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findEnabledNodesWithIds", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) CheckNodeLatestVersion(ctx context.Context, in *CheckNodeLatestVersionRequest, opts ...grpc.CallOption) (*CheckNodeLatestVersionResponse, error) {
	out := new(CheckNodeLatestVersionResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/checkNodeLatestVersion", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) UpdateNodeUp(ctx context.Context, in *UpdateNodeUpRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeUp", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) DownloadNodeInstallationFile(ctx context.Context, in *DownloadNodeInstallationFileRequest, opts ...grpc.CallOption) (*DownloadNodeInstallationFileResponse, error) {
	out := new(DownloadNodeInstallationFileResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/downloadNodeInstallationFile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) UpdateNodeSystem(ctx context.Context, in *UpdateNodeSystemRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeSystem", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) UpdateNodeCache(ctx context.Context, in *UpdateNodeCacheRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeCache", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindNodeLevelInfo(ctx context.Context, in *FindNodeLevelInfoRequest, opts ...grpc.CallOption) (*FindNodeLevelInfoResponse, error) {
	out := new(FindNodeLevelInfoResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findNodeLevelInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindNodeDNSResolver(ctx context.Context, in *FindNodeDNSResolverRequest, opts ...grpc.CallOption) (*FindNodeDNSResolverResponse, error) {
	out := new(FindNodeDNSResolverResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findNodeDNSResolver", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) UpdateNodeDNSResolver(ctx context.Context, in *UpdateNodeDNSResolverRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeDNSResolver", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindNodeDDoSProtection(ctx context.Context, in *FindNodeDDoSProtectionRequest, opts ...grpc.CallOption) (*FindNodeDDoSProtectionResponse, error) {
	out := new(FindNodeDDoSProtectionResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findNodeDDoSProtection", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) UpdateNodeDDoSProtection(ctx context.Context, in *UpdateNodeDDoSProtectionRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeDDoSProtection", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindNodeGlobalServerConfig(ctx context.Context, in *FindNodeGlobalServerConfigRequest, opts ...grpc.CallOption) (*FindNodeGlobalServerConfigResponse, error) {
	out := new(FindNodeGlobalServerConfigResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findNodeGlobalServerConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindEnabledNodeConfigInfo(ctx context.Context, in *FindEnabledNodeConfigInfoRequest, opts ...grpc.CallOption) (*FindEnabledNodeConfigInfoResponse, error) {
	out := new(FindEnabledNodeConfigInfoResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findEnabledNodeConfigInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) CountAllNodeRegionInfo(ctx context.Context, in *CountAllNodeRegionInfoRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
	out := new(RPCCountResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/countAllNodeRegionInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) ListNodeRegionInfo(ctx context.Context, in *ListNodeRegionInfoRequest, opts ...grpc.CallOption) (*ListNodeRegionInfoResponse, error) {
	out := new(ListNodeRegionInfoResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/listNodeRegionInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) UpdateNodeRegionInfo(ctx context.Context, in *UpdateNodeRegionInfoRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeRegionInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindNodeAPIConfig(ctx context.Context, in *FindNodeAPIConfigRequest, opts ...grpc.CallOption) (*FindNodeAPIConfigResponse, error) {
	out := new(FindNodeAPIConfigResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findNodeAPIConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) UpdateNodeAPIConfig(ctx context.Context, in *UpdateNodeAPIConfigRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeAPIConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindNodeUAMPolicies(ctx context.Context, in *FindNodeUAMPoliciesRequest, opts ...grpc.CallOption) (*FindNodeUAMPoliciesResponse, error) {
	out := new(FindNodeUAMPoliciesResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findNodeUAMPolicies", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindNodeHTTPCCPolicies(ctx context.Context, in *FindNodeHTTPCCPoliciesRequest, opts ...grpc.CallOption) (*FindNodeHTTPCCPoliciesResponse, error) {
	out := new(FindNodeHTTPCCPoliciesResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findNodeHTTPCCPolicies", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindNodeHTTP3Policies(ctx context.Context, in *FindNodeHTTP3PoliciesRequest, opts ...grpc.CallOption) (*FindNodeHTTP3PoliciesResponse, error) {
	out := new(FindNodeHTTP3PoliciesResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findNodeHTTP3Policies", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindNodeHTTPPagesPolicies(ctx context.Context, in *FindNodeHTTPPagesPoliciesRequest, opts ...grpc.CallOption) (*FindNodeHTTPPagesPoliciesResponse, error) {
	out := new(FindNodeHTTPPagesPoliciesResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findNodeHTTPPagesPolicies", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindNodeScheduleInfo(ctx context.Context, in *FindNodeScheduleInfoRequest, opts ...grpc.CallOption) (*FindNodeScheduleInfoResponse, error) {
	out := new(FindNodeScheduleInfoResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findNodeScheduleInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) UpdateNodeScheduleInfo(ctx context.Context, in *UpdateNodeScheduleInfoRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/updateNodeScheduleInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) ResetNodeActionStatus(ctx context.Context, in *ResetNodeActionStatusRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/resetNodeActionStatus", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) FindAllNodeScheduleInfoWithNodeClusterId(ctx context.Context, in *FindAllNodeScheduleInfoWithNodeClusterIdRequest, opts ...grpc.CallOption) (*FindAllNodeScheduleInfoWithNodeClusterIdResponse, error) {
	out := new(FindAllNodeScheduleInfoWithNodeClusterIdResponse)
	err := c.cc.Invoke(ctx, "/pb.NodeService/findAllNodeScheduleInfoWithNodeClusterId", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) CopyNodeActionsToNodeGroup(ctx context.Context, in *CopyNodeActionsToNodeGroupRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/copyNodeActionsToNodeGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeServiceClient) CopyNodeActionsToNodeCluster(ctx context.Context, in *CopyNodeActionsToNodeClusterRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
	out := new(RPCSuccess)
	err := c.cc.Invoke(ctx, "/pb.NodeService/copyNodeActionsToNodeCluster", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// NodeServiceServer is the server API for NodeService service.
type NodeServiceServer interface {
	// 创建节点
	CreateNode(context.Context, *CreateNodeRequest) (*CreateNodeResponse, error)
	// 注册集群节点
	RegisterClusterNode(context.Context, *RegisterClusterNodeRequest) (*RegisterClusterNodeResponse, error)
	// 所有可用的节点数量
	CountAllEnabledNodes(context.Context, *CountAllEnabledNodesRequest) (*RPCCountResponse, error)
	// 计算匹配的节点数量
	CountAllEnabledNodesMatch(context.Context, *CountAllEnabledNodesMatchRequest) (*RPCCountResponse, error)
	// 列出单页节点
	ListEnabledNodesMatch(context.Context, *ListEnabledNodesMatchRequest) (*ListEnabledNodesMatchResponse, error)
	// 根据集群查找所有节点
	FindAllEnabledNodesWithNodeClusterId(context.Context, *FindAllEnabledNodesWithNodeClusterIdRequest) (*FindAllEnabledNodesWithNodeClusterIdResponse, error)
	// 删除节点
	DeleteNode(context.Context, *DeleteNodeRequest) (*RPCSuccess, error)
	// 从集群中删除节点
	DeleteNodeFromNodeCluster(context.Context, *DeleteNodeFromNodeClusterRequest) (*RPCSuccess, error)
	// 修改节点
	UpdateNode(context.Context, *UpdateNodeRequest) (*RPCSuccess, error)
	// 获取单个节点信息
	FindEnabledNode(context.Context, *FindEnabledNodeRequest) (*FindEnabledNodeResponse, error)
	// 获取单个节点基本信息
	FindEnabledBasicNode(context.Context, *FindEnabledBasicNodeRequest) (*FindEnabledBasicNodeResponse, error)
	// 获取当前节点配置
	FindCurrentNodeConfig(context.Context, *FindCurrentNodeConfigRequest) (*FindCurrentNodeConfigResponse, error)
	// 节点stream
	NodeStream(NodeService_NodeStreamServer) error
	// 向节点发送命令
	SendCommandToNode(context.Context, *NodeStreamMessage) (*NodeStreamMessage, error)
	// 更新节点状态
	UpdateNodeStatus(context.Context, *UpdateNodeStatusRequest) (*RPCSuccess, error)
	// 修改节点安装状态
	UpdateNodeIsInstalled(context.Context, *UpdateNodeIsInstalledRequest) (*RPCSuccess, error)
	// 安装节点
	InstallNode(context.Context, *InstallNodeRequest) (*InstallNodeResponse, error)
	// 升级节点
	UpgradeNode(context.Context, *UpgradeNodeRequest) (*UpgradeNodeResponse, error)
	// 启动节点
	StartNode(context.Context, *StartNodeRequest) (*StartNodeResponse, error)
	// 停止节点
	StopNode(context.Context, *StopNodeRequest) (*StopNodeResponse, error)
	// 更改节点连接的API节点信息
	UpdateNodeConnectedAPINodes(context.Context, *UpdateNodeConnectedAPINodesRequest) (*RPCSuccess, error)
	// 计算使用某个认证的节点数量
	CountAllEnabledNodesWithNodeGrantId(context.Context, *CountAllEnabledNodesWithNodeGrantIdRequest) (*RPCCountResponse, error)
	// 查找使用某个认证的所有节点
	FindAllEnabledNodesWithNodeGrantId(context.Context, *FindAllEnabledNodesWithNodeGrantIdRequest) (*FindAllEnabledNodesWithNodeGrantIdResponse, error)
	// 计算没有安装的节点数量
	CountAllNotInstalledNodesWithNodeClusterId(context.Context, *CountAllNotInstalledNodesWithNodeClusterIdRequest) (*RPCCountResponse, error)
	// 列出所有未安装的节点
	FindAllNotInstalledNodesWithNodeClusterId(context.Context, *FindAllNotInstalledNodesWithNodeClusterIdRequest) (*FindAllNotInstalledNodesWithNodeClusterIdResponse, error)
	// 计算需要升级的节点数量
	CountAllUpgradeNodesWithNodeClusterId(context.Context, *CountAllUpgradeNodesWithNodeClusterIdRequest) (*RPCCountResponse, error)
	// 列出所有需要升级的节点
	FindAllUpgradeNodesWithNodeClusterId(context.Context, *FindAllUpgradeNodesWithNodeClusterIdRequest) (*FindAllUpgradeNodesWithNodeClusterIdResponse, error)
	// 读取节点安装状态
	FindNodeInstallStatus(context.Context, *FindNodeInstallStatusRequest) (*FindNodeInstallStatusResponse, error)
	// 修改节点登录信息
	UpdateNodeLogin(context.Context, *UpdateNodeLoginRequest) (*RPCSuccess, error)
	// 计算某个节点分组内的节点数量
	CountAllEnabledNodesWithNodeGroupId(context.Context, *CountAllEnabledNodesWithNodeGroupIdRequest) (*RPCCountResponse, error)
	// 取得某个集群下的所有节点DNS信息
	FindAllEnabledNodesDNSWithNodeClusterId(context.Context, *FindAllEnabledNodesDNSWithNodeClusterIdRequest) (*FindAllEnabledNodesDNSWithNodeClusterIdResponse, error)
	// 查找单个节点的域名解析信息
	FindEnabledNodeDNS(context.Context, *FindEnabledNodeDNSRequest) (*FindEnabledNodeDNSResponse, error)
	// 修改节点的DNS解析信息
	UpdateNodeDNS(context.Context, *UpdateNodeDNSRequest) (*RPCSuccess, error)
	// 计算某个区域下的节点数量
	CountAllEnabledNodesWithNodeRegionId(context.Context, *CountAllEnabledNodesWithNodeRegionIdRequest) (*RPCCountResponse, error)
	// 根据一组ID获取节点信息
	FindEnabledNodesWithIds(context.Context, *FindEnabledNodesWithIdsRequest) (*FindEnabledNodesWithIdsResponse, error)
	// 检查新版本
	CheckNodeLatestVersion(context.Context, *CheckNodeLatestVersionRequest) (*CheckNodeLatestVersionResponse, error)
	// 设置节点上线状态
	UpdateNodeUp(context.Context, *UpdateNodeUpRequest) (*RPCSuccess, error)
	// 下载最新边缘节点安装文件
	DownloadNodeInstallationFile(context.Context, *DownloadNodeInstallationFileRequest) (*DownloadNodeInstallationFileResponse, error)
	// 修改节点系统信息
	UpdateNodeSystem(context.Context, *UpdateNodeSystemRequest) (*RPCSuccess, error)
	// 修改节点缓存设置
	UpdateNodeCache(context.Context, *UpdateNodeCacheRequest) (*RPCSuccess, error)
	// 读取节点级别信息
	FindNodeLevelInfo(context.Context, *FindNodeLevelInfoRequest) (*FindNodeLevelInfoResponse, error)
	// 读取节点DNS Resolver
	FindNodeDNSResolver(context.Context, *FindNodeDNSResolverRequest) (*FindNodeDNSResolverResponse, error)
	// 修改DNS Resolver
	UpdateNodeDNSResolver(context.Context, *UpdateNodeDNSResolverRequest) (*RPCSuccess, error)
	// 获取节点的DDoS设置
	FindNodeDDoSProtection(context.Context, *FindNodeDDoSProtectionRequest) (*FindNodeDDoSProtectionResponse, error)
	// 修改节点的DDoS设置
	UpdateNodeDDoSProtection(context.Context, *UpdateNodeDDoSProtectionRequest) (*RPCSuccess, error)
	// 取得节点的服务全局配置
	FindNodeGlobalServerConfig(context.Context, *FindNodeGlobalServerConfigRequest) (*FindNodeGlobalServerConfigResponse, error)
	// 取得节点的配置概要信息
	FindEnabledNodeConfigInfo(context.Context, *FindEnabledNodeConfigInfoRequest) (*FindEnabledNodeConfigInfoResponse, error)
	// 查找节点区域信息数量
	CountAllNodeRegionInfo(context.Context, *CountAllNodeRegionInfoRequest) (*RPCCountResponse, error)
	// 列出单页节点区域信息
	ListNodeRegionInfo(context.Context, *ListNodeRegionInfoRequest) (*ListNodeRegionInfoResponse, error)
	// 修改节点区域信息
	UpdateNodeRegionInfo(context.Context, *UpdateNodeRegionInfoRequest) (*RPCSuccess, error)
	// 查找单个节点的API相关配置
	FindNodeAPIConfig(context.Context, *FindNodeAPIConfigRequest) (*FindNodeAPIConfigResponse, error)
	// 修改某个节点的API相关配置
	UpdateNodeAPIConfig(context.Context, *UpdateNodeAPIConfigRequest) (*RPCSuccess, error)
	// 查找节点的UAM策略
	FindNodeUAMPolicies(context.Context, *FindNodeUAMPoliciesRequest) (*FindNodeUAMPoliciesResponse, error)
	// 查找节点的HTTP CC策略
	FindNodeHTTPCCPolicies(context.Context, *FindNodeHTTPCCPoliciesRequest) (*FindNodeHTTPCCPoliciesResponse, error)
	// 查找节点的HTTP3策略
	FindNodeHTTP3Policies(context.Context, *FindNodeHTTP3PoliciesRequest) (*FindNodeHTTP3PoliciesResponse, error)
	// 查找节点的自定义页面策略
	FindNodeHTTPPagesPolicies(context.Context, *FindNodeHTTPPagesPoliciesRequest) (*FindNodeHTTPPagesPoliciesResponse, error)
	// 查找节点调度信息
	FindNodeScheduleInfo(context.Context, *FindNodeScheduleInfoRequest) (*FindNodeScheduleInfoResponse, error)
	// 修改节点调度信息
	UpdateNodeScheduleInfo(context.Context, *UpdateNodeScheduleInfoRequest) (*RPCSuccess, error)
	// 重置节点动作状态
	ResetNodeActionStatus(context.Context, *ResetNodeActionStatusRequest) (*RPCSuccess, error)
	// 查找集群的节点调度信息
	FindAllNodeScheduleInfoWithNodeClusterId(context.Context, *FindAllNodeScheduleInfoWithNodeClusterIdRequest) (*FindAllNodeScheduleInfoWithNodeClusterIdResponse, error)
	// 复制动作设置到分组
	CopyNodeActionsToNodeGroup(context.Context, *CopyNodeActionsToNodeGroupRequest) (*RPCSuccess, error)
	// 复制动作设置到集群
	CopyNodeActionsToNodeCluster(context.Context, *CopyNodeActionsToNodeClusterRequest) (*RPCSuccess, error)
}

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

func (*UnimplementedNodeServiceServer) CreateNode(context.Context, *CreateNodeRequest) (*CreateNodeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateNode not implemented")
}
func (*UnimplementedNodeServiceServer) RegisterClusterNode(context.Context, *RegisterClusterNodeRequest) (*RegisterClusterNodeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RegisterClusterNode not implemented")
}
func (*UnimplementedNodeServiceServer) CountAllEnabledNodes(context.Context, *CountAllEnabledNodesRequest) (*RPCCountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodes not implemented")
}
func (*UnimplementedNodeServiceServer) CountAllEnabledNodesMatch(context.Context, *CountAllEnabledNodesMatchRequest) (*RPCCountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodesMatch not implemented")
}
func (*UnimplementedNodeServiceServer) ListEnabledNodesMatch(context.Context, *ListEnabledNodesMatchRequest) (*ListEnabledNodesMatchResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListEnabledNodesMatch not implemented")
}
func (*UnimplementedNodeServiceServer) FindAllEnabledNodesWithNodeClusterId(context.Context, *FindAllEnabledNodesWithNodeClusterIdRequest) (*FindAllEnabledNodesWithNodeClusterIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledNodesWithNodeClusterId not implemented")
}
func (*UnimplementedNodeServiceServer) DeleteNode(context.Context, *DeleteNodeRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteNode not implemented")
}
func (*UnimplementedNodeServiceServer) DeleteNodeFromNodeCluster(context.Context, *DeleteNodeFromNodeClusterRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteNodeFromNodeCluster not implemented")
}
func (*UnimplementedNodeServiceServer) UpdateNode(context.Context, *UpdateNodeRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNode not implemented")
}
func (*UnimplementedNodeServiceServer) FindEnabledNode(context.Context, *FindEnabledNodeRequest) (*FindEnabledNodeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindEnabledNode not implemented")
}
func (*UnimplementedNodeServiceServer) FindEnabledBasicNode(context.Context, *FindEnabledBasicNodeRequest) (*FindEnabledBasicNodeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindEnabledBasicNode not implemented")
}
func (*UnimplementedNodeServiceServer) FindCurrentNodeConfig(context.Context, *FindCurrentNodeConfigRequest) (*FindCurrentNodeConfigResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindCurrentNodeConfig not implemented")
}
func (*UnimplementedNodeServiceServer) NodeStream(NodeService_NodeStreamServer) error {
	return status.Errorf(codes.Unimplemented, "method NodeStream not implemented")
}
func (*UnimplementedNodeServiceServer) SendCommandToNode(context.Context, *NodeStreamMessage) (*NodeStreamMessage, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SendCommandToNode not implemented")
}
func (*UnimplementedNodeServiceServer) UpdateNodeStatus(context.Context, *UpdateNodeStatusRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeStatus not implemented")
}
func (*UnimplementedNodeServiceServer) UpdateNodeIsInstalled(context.Context, *UpdateNodeIsInstalledRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeIsInstalled not implemented")
}
func (*UnimplementedNodeServiceServer) InstallNode(context.Context, *InstallNodeRequest) (*InstallNodeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method InstallNode not implemented")
}
func (*UnimplementedNodeServiceServer) UpgradeNode(context.Context, *UpgradeNodeRequest) (*UpgradeNodeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpgradeNode not implemented")
}
func (*UnimplementedNodeServiceServer) StartNode(context.Context, *StartNodeRequest) (*StartNodeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method StartNode not implemented")
}
func (*UnimplementedNodeServiceServer) StopNode(context.Context, *StopNodeRequest) (*StopNodeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method StopNode not implemented")
}
func (*UnimplementedNodeServiceServer) UpdateNodeConnectedAPINodes(context.Context, *UpdateNodeConnectedAPINodesRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeConnectedAPINodes not implemented")
}
func (*UnimplementedNodeServiceServer) CountAllEnabledNodesWithNodeGrantId(context.Context, *CountAllEnabledNodesWithNodeGrantIdRequest) (*RPCCountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodesWithNodeGrantId not implemented")
}
func (*UnimplementedNodeServiceServer) FindAllEnabledNodesWithNodeGrantId(context.Context, *FindAllEnabledNodesWithNodeGrantIdRequest) (*FindAllEnabledNodesWithNodeGrantIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledNodesWithNodeGrantId not implemented")
}
func (*UnimplementedNodeServiceServer) CountAllNotInstalledNodesWithNodeClusterId(context.Context, *CountAllNotInstalledNodesWithNodeClusterIdRequest) (*RPCCountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CountAllNotInstalledNodesWithNodeClusterId not implemented")
}
func (*UnimplementedNodeServiceServer) FindAllNotInstalledNodesWithNodeClusterId(context.Context, *FindAllNotInstalledNodesWithNodeClusterIdRequest) (*FindAllNotInstalledNodesWithNodeClusterIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindAllNotInstalledNodesWithNodeClusterId not implemented")
}
func (*UnimplementedNodeServiceServer) CountAllUpgradeNodesWithNodeClusterId(context.Context, *CountAllUpgradeNodesWithNodeClusterIdRequest) (*RPCCountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CountAllUpgradeNodesWithNodeClusterId not implemented")
}
func (*UnimplementedNodeServiceServer) FindAllUpgradeNodesWithNodeClusterId(context.Context, *FindAllUpgradeNodesWithNodeClusterIdRequest) (*FindAllUpgradeNodesWithNodeClusterIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindAllUpgradeNodesWithNodeClusterId not implemented")
}
func (*UnimplementedNodeServiceServer) FindNodeInstallStatus(context.Context, *FindNodeInstallStatusRequest) (*FindNodeInstallStatusResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindNodeInstallStatus not implemented")
}
func (*UnimplementedNodeServiceServer) UpdateNodeLogin(context.Context, *UpdateNodeLoginRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeLogin not implemented")
}
func (*UnimplementedNodeServiceServer) CountAllEnabledNodesWithNodeGroupId(context.Context, *CountAllEnabledNodesWithNodeGroupIdRequest) (*RPCCountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodesWithNodeGroupId not implemented")
}
func (*UnimplementedNodeServiceServer) FindAllEnabledNodesDNSWithNodeClusterId(context.Context, *FindAllEnabledNodesDNSWithNodeClusterIdRequest) (*FindAllEnabledNodesDNSWithNodeClusterIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledNodesDNSWithNodeClusterId not implemented")
}
func (*UnimplementedNodeServiceServer) FindEnabledNodeDNS(context.Context, *FindEnabledNodeDNSRequest) (*FindEnabledNodeDNSResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindEnabledNodeDNS not implemented")
}
func (*UnimplementedNodeServiceServer) UpdateNodeDNS(context.Context, *UpdateNodeDNSRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeDNS not implemented")
}
func (*UnimplementedNodeServiceServer) CountAllEnabledNodesWithNodeRegionId(context.Context, *CountAllEnabledNodesWithNodeRegionIdRequest) (*RPCCountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodesWithNodeRegionId not implemented")
}
func (*UnimplementedNodeServiceServer) FindEnabledNodesWithIds(context.Context, *FindEnabledNodesWithIdsRequest) (*FindEnabledNodesWithIdsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindEnabledNodesWithIds not implemented")
}
func (*UnimplementedNodeServiceServer) CheckNodeLatestVersion(context.Context, *CheckNodeLatestVersionRequest) (*CheckNodeLatestVersionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CheckNodeLatestVersion not implemented")
}
func (*UnimplementedNodeServiceServer) UpdateNodeUp(context.Context, *UpdateNodeUpRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeUp not implemented")
}
func (*UnimplementedNodeServiceServer) DownloadNodeInstallationFile(context.Context, *DownloadNodeInstallationFileRequest) (*DownloadNodeInstallationFileResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DownloadNodeInstallationFile not implemented")
}
func (*UnimplementedNodeServiceServer) UpdateNodeSystem(context.Context, *UpdateNodeSystemRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeSystem not implemented")
}
func (*UnimplementedNodeServiceServer) UpdateNodeCache(context.Context, *UpdateNodeCacheRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeCache not implemented")
}
func (*UnimplementedNodeServiceServer) FindNodeLevelInfo(context.Context, *FindNodeLevelInfoRequest) (*FindNodeLevelInfoResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindNodeLevelInfo not implemented")
}
func (*UnimplementedNodeServiceServer) FindNodeDNSResolver(context.Context, *FindNodeDNSResolverRequest) (*FindNodeDNSResolverResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindNodeDNSResolver not implemented")
}
func (*UnimplementedNodeServiceServer) UpdateNodeDNSResolver(context.Context, *UpdateNodeDNSResolverRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeDNSResolver not implemented")
}
func (*UnimplementedNodeServiceServer) FindNodeDDoSProtection(context.Context, *FindNodeDDoSProtectionRequest) (*FindNodeDDoSProtectionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindNodeDDoSProtection not implemented")
}
func (*UnimplementedNodeServiceServer) UpdateNodeDDoSProtection(context.Context, *UpdateNodeDDoSProtectionRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeDDoSProtection not implemented")
}
func (*UnimplementedNodeServiceServer) FindNodeGlobalServerConfig(context.Context, *FindNodeGlobalServerConfigRequest) (*FindNodeGlobalServerConfigResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindNodeGlobalServerConfig not implemented")
}
func (*UnimplementedNodeServiceServer) FindEnabledNodeConfigInfo(context.Context, *FindEnabledNodeConfigInfoRequest) (*FindEnabledNodeConfigInfoResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindEnabledNodeConfigInfo not implemented")
}
func (*UnimplementedNodeServiceServer) CountAllNodeRegionInfo(context.Context, *CountAllNodeRegionInfoRequest) (*RPCCountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CountAllNodeRegionInfo not implemented")
}
func (*UnimplementedNodeServiceServer) ListNodeRegionInfo(context.Context, *ListNodeRegionInfoRequest) (*ListNodeRegionInfoResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListNodeRegionInfo not implemented")
}
func (*UnimplementedNodeServiceServer) UpdateNodeRegionInfo(context.Context, *UpdateNodeRegionInfoRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeRegionInfo not implemented")
}
func (*UnimplementedNodeServiceServer) FindNodeAPIConfig(context.Context, *FindNodeAPIConfigRequest) (*FindNodeAPIConfigResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindNodeAPIConfig not implemented")
}
func (*UnimplementedNodeServiceServer) UpdateNodeAPIConfig(context.Context, *UpdateNodeAPIConfigRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeAPIConfig not implemented")
}
func (*UnimplementedNodeServiceServer) FindNodeUAMPolicies(context.Context, *FindNodeUAMPoliciesRequest) (*FindNodeUAMPoliciesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindNodeUAMPolicies not implemented")
}
func (*UnimplementedNodeServiceServer) FindNodeHTTPCCPolicies(context.Context, *FindNodeHTTPCCPoliciesRequest) (*FindNodeHTTPCCPoliciesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindNodeHTTPCCPolicies not implemented")
}
func (*UnimplementedNodeServiceServer) FindNodeHTTP3Policies(context.Context, *FindNodeHTTP3PoliciesRequest) (*FindNodeHTTP3PoliciesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindNodeHTTP3Policies not implemented")
}
func (*UnimplementedNodeServiceServer) FindNodeHTTPPagesPolicies(context.Context, *FindNodeHTTPPagesPoliciesRequest) (*FindNodeHTTPPagesPoliciesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindNodeHTTPPagesPolicies not implemented")
}
func (*UnimplementedNodeServiceServer) FindNodeScheduleInfo(context.Context, *FindNodeScheduleInfoRequest) (*FindNodeScheduleInfoResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindNodeScheduleInfo not implemented")
}
func (*UnimplementedNodeServiceServer) UpdateNodeScheduleInfo(context.Context, *UpdateNodeScheduleInfoRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeScheduleInfo not implemented")
}
func (*UnimplementedNodeServiceServer) ResetNodeActionStatus(context.Context, *ResetNodeActionStatusRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ResetNodeActionStatus not implemented")
}
func (*UnimplementedNodeServiceServer) FindAllNodeScheduleInfoWithNodeClusterId(context.Context, *FindAllNodeScheduleInfoWithNodeClusterIdRequest) (*FindAllNodeScheduleInfoWithNodeClusterIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindAllNodeScheduleInfoWithNodeClusterId not implemented")
}
func (*UnimplementedNodeServiceServer) CopyNodeActionsToNodeGroup(context.Context, *CopyNodeActionsToNodeGroupRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CopyNodeActionsToNodeGroup not implemented")
}
func (*UnimplementedNodeServiceServer) CopyNodeActionsToNodeCluster(context.Context, *CopyNodeActionsToNodeClusterRequest) (*RPCSuccess, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CopyNodeActionsToNodeCluster not implemented")
}

func RegisterNodeServiceServer(s *grpc.Server, srv NodeServiceServer) {
	s.RegisterService(&_NodeService_serviceDesc, srv)
}

func _NodeService_CreateNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).CreateNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/CreateNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).CreateNode(ctx, req.(*CreateNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_RegisterClusterNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RegisterClusterNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).RegisterClusterNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/RegisterClusterNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).RegisterClusterNode(ctx, req.(*RegisterClusterNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_CountAllEnabledNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CountAllEnabledNodesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).CountAllEnabledNodes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/CountAllEnabledNodes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).CountAllEnabledNodes(ctx, req.(*CountAllEnabledNodesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_CountAllEnabledNodesMatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CountAllEnabledNodesMatchRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).CountAllEnabledNodesMatch(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/CountAllEnabledNodesMatch",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).CountAllEnabledNodesMatch(ctx, req.(*CountAllEnabledNodesMatchRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_ListEnabledNodesMatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListEnabledNodesMatchRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).ListEnabledNodesMatch(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/ListEnabledNodesMatch",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).ListEnabledNodesMatch(ctx, req.(*ListEnabledNodesMatchRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindAllEnabledNodesWithNodeClusterId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindAllEnabledNodesWithNodeClusterIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindAllEnabledNodesWithNodeClusterId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindAllEnabledNodesWithNodeClusterId",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindAllEnabledNodesWithNodeClusterId(ctx, req.(*FindAllEnabledNodesWithNodeClusterIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_DeleteNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).DeleteNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/DeleteNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).DeleteNode(ctx, req.(*DeleteNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_DeleteNodeFromNodeCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteNodeFromNodeClusterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).DeleteNodeFromNodeCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/DeleteNodeFromNodeCluster",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).DeleteNodeFromNodeCluster(ctx, req.(*DeleteNodeFromNodeClusterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_UpdateNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).UpdateNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/UpdateNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).UpdateNode(ctx, req.(*UpdateNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindEnabledNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindEnabledNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindEnabledNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindEnabledNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindEnabledNode(ctx, req.(*FindEnabledNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindEnabledBasicNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindEnabledBasicNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindEnabledBasicNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindEnabledBasicNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindEnabledBasicNode(ctx, req.(*FindEnabledBasicNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindCurrentNodeConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindCurrentNodeConfigRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindCurrentNodeConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindCurrentNodeConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindCurrentNodeConfig(ctx, req.(*FindCurrentNodeConfigRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_NodeStream_Handler(srv interface{}, stream grpc.ServerStream) error {
	return srv.(NodeServiceServer).NodeStream(&nodeServiceNodeStreamServer{stream})
}

type NodeService_NodeStreamServer interface {
	Send(*NodeStreamMessage) error
	Recv() (*NodeStreamMessage, error)
	grpc.ServerStream
}

type nodeServiceNodeStreamServer struct {
	grpc.ServerStream
}

func (x *nodeServiceNodeStreamServer) Send(m *NodeStreamMessage) error {
	return x.ServerStream.SendMsg(m)
}

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

func _NodeService_SendCommandToNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NodeStreamMessage)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).SendCommandToNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/SendCommandToNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).SendCommandToNode(ctx, req.(*NodeStreamMessage))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_UpdateNodeStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNodeStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).UpdateNodeStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/UpdateNodeStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).UpdateNodeStatus(ctx, req.(*UpdateNodeStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_UpdateNodeIsInstalled_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNodeIsInstalledRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).UpdateNodeIsInstalled(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/UpdateNodeIsInstalled",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).UpdateNodeIsInstalled(ctx, req.(*UpdateNodeIsInstalledRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_InstallNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(InstallNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).InstallNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/InstallNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).InstallNode(ctx, req.(*InstallNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_UpgradeNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpgradeNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).UpgradeNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/UpgradeNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).UpgradeNode(ctx, req.(*UpgradeNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_StartNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StartNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).StartNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/StartNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).StartNode(ctx, req.(*StartNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_StopNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StopNodeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).StopNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/StopNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).StopNode(ctx, req.(*StopNodeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_UpdateNodeConnectedAPINodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNodeConnectedAPINodesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).UpdateNodeConnectedAPINodes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/UpdateNodeConnectedAPINodes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).UpdateNodeConnectedAPINodes(ctx, req.(*UpdateNodeConnectedAPINodesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_CountAllEnabledNodesWithNodeGrantId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CountAllEnabledNodesWithNodeGrantIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).CountAllEnabledNodesWithNodeGrantId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/CountAllEnabledNodesWithNodeGrantId",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).CountAllEnabledNodesWithNodeGrantId(ctx, req.(*CountAllEnabledNodesWithNodeGrantIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindAllEnabledNodesWithNodeGrantId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindAllEnabledNodesWithNodeGrantIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindAllEnabledNodesWithNodeGrantId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindAllEnabledNodesWithNodeGrantId",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindAllEnabledNodesWithNodeGrantId(ctx, req.(*FindAllEnabledNodesWithNodeGrantIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_CountAllNotInstalledNodesWithNodeClusterId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CountAllNotInstalledNodesWithNodeClusterIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).CountAllNotInstalledNodesWithNodeClusterId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/CountAllNotInstalledNodesWithNodeClusterId",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).CountAllNotInstalledNodesWithNodeClusterId(ctx, req.(*CountAllNotInstalledNodesWithNodeClusterIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindAllNotInstalledNodesWithNodeClusterId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindAllNotInstalledNodesWithNodeClusterIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindAllNotInstalledNodesWithNodeClusterId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindAllNotInstalledNodesWithNodeClusterId",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindAllNotInstalledNodesWithNodeClusterId(ctx, req.(*FindAllNotInstalledNodesWithNodeClusterIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_CountAllUpgradeNodesWithNodeClusterId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CountAllUpgradeNodesWithNodeClusterIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).CountAllUpgradeNodesWithNodeClusterId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/CountAllUpgradeNodesWithNodeClusterId",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).CountAllUpgradeNodesWithNodeClusterId(ctx, req.(*CountAllUpgradeNodesWithNodeClusterIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindAllUpgradeNodesWithNodeClusterId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindAllUpgradeNodesWithNodeClusterIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindAllUpgradeNodesWithNodeClusterId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindAllUpgradeNodesWithNodeClusterId",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindAllUpgradeNodesWithNodeClusterId(ctx, req.(*FindAllUpgradeNodesWithNodeClusterIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindNodeInstallStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindNodeInstallStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindNodeInstallStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindNodeInstallStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindNodeInstallStatus(ctx, req.(*FindNodeInstallStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_UpdateNodeLogin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNodeLoginRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).UpdateNodeLogin(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/UpdateNodeLogin",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).UpdateNodeLogin(ctx, req.(*UpdateNodeLoginRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_CountAllEnabledNodesWithNodeGroupId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CountAllEnabledNodesWithNodeGroupIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).CountAllEnabledNodesWithNodeGroupId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/CountAllEnabledNodesWithNodeGroupId",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).CountAllEnabledNodesWithNodeGroupId(ctx, req.(*CountAllEnabledNodesWithNodeGroupIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindAllEnabledNodesDNSWithNodeClusterId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindAllEnabledNodesDNSWithNodeClusterIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindAllEnabledNodesDNSWithNodeClusterId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindAllEnabledNodesDNSWithNodeClusterId",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindAllEnabledNodesDNSWithNodeClusterId(ctx, req.(*FindAllEnabledNodesDNSWithNodeClusterIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindEnabledNodeDNS_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindEnabledNodeDNSRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindEnabledNodeDNS(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindEnabledNodeDNS",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindEnabledNodeDNS(ctx, req.(*FindEnabledNodeDNSRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_UpdateNodeDNS_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNodeDNSRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).UpdateNodeDNS(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/UpdateNodeDNS",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).UpdateNodeDNS(ctx, req.(*UpdateNodeDNSRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_CountAllEnabledNodesWithNodeRegionId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CountAllEnabledNodesWithNodeRegionIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).CountAllEnabledNodesWithNodeRegionId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/CountAllEnabledNodesWithNodeRegionId",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).CountAllEnabledNodesWithNodeRegionId(ctx, req.(*CountAllEnabledNodesWithNodeRegionIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindEnabledNodesWithIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindEnabledNodesWithIdsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindEnabledNodesWithIds(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindEnabledNodesWithIds",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindEnabledNodesWithIds(ctx, req.(*FindEnabledNodesWithIdsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_CheckNodeLatestVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CheckNodeLatestVersionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).CheckNodeLatestVersion(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/CheckNodeLatestVersion",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).CheckNodeLatestVersion(ctx, req.(*CheckNodeLatestVersionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_UpdateNodeUp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNodeUpRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).UpdateNodeUp(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/UpdateNodeUp",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).UpdateNodeUp(ctx, req.(*UpdateNodeUpRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_DownloadNodeInstallationFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DownloadNodeInstallationFileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).DownloadNodeInstallationFile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/DownloadNodeInstallationFile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).DownloadNodeInstallationFile(ctx, req.(*DownloadNodeInstallationFileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_UpdateNodeSystem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNodeSystemRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).UpdateNodeSystem(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/UpdateNodeSystem",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).UpdateNodeSystem(ctx, req.(*UpdateNodeSystemRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_UpdateNodeCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNodeCacheRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).UpdateNodeCache(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/UpdateNodeCache",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).UpdateNodeCache(ctx, req.(*UpdateNodeCacheRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindNodeLevelInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindNodeLevelInfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindNodeLevelInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindNodeLevelInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindNodeLevelInfo(ctx, req.(*FindNodeLevelInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindNodeDNSResolver_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindNodeDNSResolverRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindNodeDNSResolver(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindNodeDNSResolver",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindNodeDNSResolver(ctx, req.(*FindNodeDNSResolverRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_UpdateNodeDNSResolver_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNodeDNSResolverRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).UpdateNodeDNSResolver(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/UpdateNodeDNSResolver",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).UpdateNodeDNSResolver(ctx, req.(*UpdateNodeDNSResolverRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindNodeDDoSProtection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindNodeDDoSProtectionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindNodeDDoSProtection(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindNodeDDoSProtection",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindNodeDDoSProtection(ctx, req.(*FindNodeDDoSProtectionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_UpdateNodeDDoSProtection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNodeDDoSProtectionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).UpdateNodeDDoSProtection(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/UpdateNodeDDoSProtection",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).UpdateNodeDDoSProtection(ctx, req.(*UpdateNodeDDoSProtectionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindNodeGlobalServerConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindNodeGlobalServerConfigRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindNodeGlobalServerConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindNodeGlobalServerConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindNodeGlobalServerConfig(ctx, req.(*FindNodeGlobalServerConfigRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindEnabledNodeConfigInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindEnabledNodeConfigInfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindEnabledNodeConfigInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindEnabledNodeConfigInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindEnabledNodeConfigInfo(ctx, req.(*FindEnabledNodeConfigInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_CountAllNodeRegionInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CountAllNodeRegionInfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).CountAllNodeRegionInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/CountAllNodeRegionInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).CountAllNodeRegionInfo(ctx, req.(*CountAllNodeRegionInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_ListNodeRegionInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListNodeRegionInfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).ListNodeRegionInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/ListNodeRegionInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).ListNodeRegionInfo(ctx, req.(*ListNodeRegionInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_UpdateNodeRegionInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNodeRegionInfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).UpdateNodeRegionInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/UpdateNodeRegionInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).UpdateNodeRegionInfo(ctx, req.(*UpdateNodeRegionInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindNodeAPIConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindNodeAPIConfigRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindNodeAPIConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindNodeAPIConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindNodeAPIConfig(ctx, req.(*FindNodeAPIConfigRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_UpdateNodeAPIConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNodeAPIConfigRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).UpdateNodeAPIConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/UpdateNodeAPIConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).UpdateNodeAPIConfig(ctx, req.(*UpdateNodeAPIConfigRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindNodeUAMPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindNodeUAMPoliciesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindNodeUAMPolicies(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindNodeUAMPolicies",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindNodeUAMPolicies(ctx, req.(*FindNodeUAMPoliciesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindNodeHTTPCCPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindNodeHTTPCCPoliciesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindNodeHTTPCCPolicies(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindNodeHTTPCCPolicies",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindNodeHTTPCCPolicies(ctx, req.(*FindNodeHTTPCCPoliciesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindNodeHTTP3Policies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindNodeHTTP3PoliciesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindNodeHTTP3Policies(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindNodeHTTP3Policies",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindNodeHTTP3Policies(ctx, req.(*FindNodeHTTP3PoliciesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindNodeHTTPPagesPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindNodeHTTPPagesPoliciesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindNodeHTTPPagesPolicies(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindNodeHTTPPagesPolicies",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindNodeHTTPPagesPolicies(ctx, req.(*FindNodeHTTPPagesPoliciesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindNodeScheduleInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindNodeScheduleInfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindNodeScheduleInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindNodeScheduleInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindNodeScheduleInfo(ctx, req.(*FindNodeScheduleInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_UpdateNodeScheduleInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNodeScheduleInfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).UpdateNodeScheduleInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/UpdateNodeScheduleInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).UpdateNodeScheduleInfo(ctx, req.(*UpdateNodeScheduleInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_ResetNodeActionStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ResetNodeActionStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).ResetNodeActionStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/ResetNodeActionStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).ResetNodeActionStatus(ctx, req.(*ResetNodeActionStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_FindAllNodeScheduleInfoWithNodeClusterId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FindAllNodeScheduleInfoWithNodeClusterIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).FindAllNodeScheduleInfoWithNodeClusterId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/FindAllNodeScheduleInfoWithNodeClusterId",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).FindAllNodeScheduleInfoWithNodeClusterId(ctx, req.(*FindAllNodeScheduleInfoWithNodeClusterIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_CopyNodeActionsToNodeGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CopyNodeActionsToNodeGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).CopyNodeActionsToNodeGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/CopyNodeActionsToNodeGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).CopyNodeActionsToNodeGroup(ctx, req.(*CopyNodeActionsToNodeGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeService_CopyNodeActionsToNodeCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CopyNodeActionsToNodeClusterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeServiceServer).CopyNodeActionsToNodeCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.NodeService/CopyNodeActionsToNodeCluster",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeServiceServer).CopyNodeActionsToNodeCluster(ctx, req.(*CopyNodeActionsToNodeClusterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _NodeService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "pb.NodeService",
	HandlerType: (*NodeServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "createNode",
			Handler:    _NodeService_CreateNode_Handler,
		},
		{
			MethodName: "registerClusterNode",
			Handler:    _NodeService_RegisterClusterNode_Handler,
		},
		{
			MethodName: "countAllEnabledNodes",
			Handler:    _NodeService_CountAllEnabledNodes_Handler,
		},
		{
			MethodName: "countAllEnabledNodesMatch",
			Handler:    _NodeService_CountAllEnabledNodesMatch_Handler,
		},
		{
			MethodName: "listEnabledNodesMatch",
			Handler:    _NodeService_ListEnabledNodesMatch_Handler,
		},
		{
			MethodName: "findAllEnabledNodesWithNodeClusterId",
			Handler:    _NodeService_FindAllEnabledNodesWithNodeClusterId_Handler,
		},
		{
			MethodName: "deleteNode",
			Handler:    _NodeService_DeleteNode_Handler,
		},
		{
			MethodName: "deleteNodeFromNodeCluster",
			Handler:    _NodeService_DeleteNodeFromNodeCluster_Handler,
		},
		{
			MethodName: "updateNode",
			Handler:    _NodeService_UpdateNode_Handler,
		},
		{
			MethodName: "findEnabledNode",
			Handler:    _NodeService_FindEnabledNode_Handler,
		},
		{
			MethodName: "findEnabledBasicNode",
			Handler:    _NodeService_FindEnabledBasicNode_Handler,
		},
		{
			MethodName: "findCurrentNodeConfig",
			Handler:    _NodeService_FindCurrentNodeConfig_Handler,
		},
		{
			MethodName: "sendCommandToNode",
			Handler:    _NodeService_SendCommandToNode_Handler,
		},
		{
			MethodName: "updateNodeStatus",
			Handler:    _NodeService_UpdateNodeStatus_Handler,
		},
		{
			MethodName: "updateNodeIsInstalled",
			Handler:    _NodeService_UpdateNodeIsInstalled_Handler,
		},
		{
			MethodName: "installNode",
			Handler:    _NodeService_InstallNode_Handler,
		},
		{
			MethodName: "upgradeNode",
			Handler:    _NodeService_UpgradeNode_Handler,
		},
		{
			MethodName: "startNode",
			Handler:    _NodeService_StartNode_Handler,
		},
		{
			MethodName: "stopNode",
			Handler:    _NodeService_StopNode_Handler,
		},
		{
			MethodName: "updateNodeConnectedAPINodes",
			Handler:    _NodeService_UpdateNodeConnectedAPINodes_Handler,
		},
		{
			MethodName: "countAllEnabledNodesWithNodeGrantId",
			Handler:    _NodeService_CountAllEnabledNodesWithNodeGrantId_Handler,
		},
		{
			MethodName: "findAllEnabledNodesWithNodeGrantId",
			Handler:    _NodeService_FindAllEnabledNodesWithNodeGrantId_Handler,
		},
		{
			MethodName: "countAllNotInstalledNodesWithNodeClusterId",
			Handler:    _NodeService_CountAllNotInstalledNodesWithNodeClusterId_Handler,
		},
		{
			MethodName: "findAllNotInstalledNodesWithNodeClusterId",
			Handler:    _NodeService_FindAllNotInstalledNodesWithNodeClusterId_Handler,
		},
		{
			MethodName: "countAllUpgradeNodesWithNodeClusterId",
			Handler:    _NodeService_CountAllUpgradeNodesWithNodeClusterId_Handler,
		},
		{
			MethodName: "findAllUpgradeNodesWithNodeClusterId",
			Handler:    _NodeService_FindAllUpgradeNodesWithNodeClusterId_Handler,
		},
		{
			MethodName: "findNodeInstallStatus",
			Handler:    _NodeService_FindNodeInstallStatus_Handler,
		},
		{
			MethodName: "updateNodeLogin",
			Handler:    _NodeService_UpdateNodeLogin_Handler,
		},
		{
			MethodName: "countAllEnabledNodesWithNodeGroupId",
			Handler:    _NodeService_CountAllEnabledNodesWithNodeGroupId_Handler,
		},
		{
			MethodName: "findAllEnabledNodesDNSWithNodeClusterId",
			Handler:    _NodeService_FindAllEnabledNodesDNSWithNodeClusterId_Handler,
		},
		{
			MethodName: "findEnabledNodeDNS",
			Handler:    _NodeService_FindEnabledNodeDNS_Handler,
		},
		{
			MethodName: "updateNodeDNS",
			Handler:    _NodeService_UpdateNodeDNS_Handler,
		},
		{
			MethodName: "countAllEnabledNodesWithNodeRegionId",
			Handler:    _NodeService_CountAllEnabledNodesWithNodeRegionId_Handler,
		},
		{
			MethodName: "findEnabledNodesWithIds",
			Handler:    _NodeService_FindEnabledNodesWithIds_Handler,
		},
		{
			MethodName: "checkNodeLatestVersion",
			Handler:    _NodeService_CheckNodeLatestVersion_Handler,
		},
		{
			MethodName: "updateNodeUp",
			Handler:    _NodeService_UpdateNodeUp_Handler,
		},
		{
			MethodName: "downloadNodeInstallationFile",
			Handler:    _NodeService_DownloadNodeInstallationFile_Handler,
		},
		{
			MethodName: "updateNodeSystem",
			Handler:    _NodeService_UpdateNodeSystem_Handler,
		},
		{
			MethodName: "updateNodeCache",
			Handler:    _NodeService_UpdateNodeCache_Handler,
		},
		{
			MethodName: "findNodeLevelInfo",
			Handler:    _NodeService_FindNodeLevelInfo_Handler,
		},
		{
			MethodName: "findNodeDNSResolver",
			Handler:    _NodeService_FindNodeDNSResolver_Handler,
		},
		{
			MethodName: "updateNodeDNSResolver",
			Handler:    _NodeService_UpdateNodeDNSResolver_Handler,
		},
		{
			MethodName: "findNodeDDoSProtection",
			Handler:    _NodeService_FindNodeDDoSProtection_Handler,
		},
		{
			MethodName: "updateNodeDDoSProtection",
			Handler:    _NodeService_UpdateNodeDDoSProtection_Handler,
		},
		{
			MethodName: "findNodeGlobalServerConfig",
			Handler:    _NodeService_FindNodeGlobalServerConfig_Handler,
		},
		{
			MethodName: "findEnabledNodeConfigInfo",
			Handler:    _NodeService_FindEnabledNodeConfigInfo_Handler,
		},
		{
			MethodName: "countAllNodeRegionInfo",
			Handler:    _NodeService_CountAllNodeRegionInfo_Handler,
		},
		{
			MethodName: "listNodeRegionInfo",
			Handler:    _NodeService_ListNodeRegionInfo_Handler,
		},
		{
			MethodName: "updateNodeRegionInfo",
			Handler:    _NodeService_UpdateNodeRegionInfo_Handler,
		},
		{
			MethodName: "findNodeAPIConfig",
			Handler:    _NodeService_FindNodeAPIConfig_Handler,
		},
		{
			MethodName: "updateNodeAPIConfig",
			Handler:    _NodeService_UpdateNodeAPIConfig_Handler,
		},
		{
			MethodName: "findNodeUAMPolicies",
			Handler:    _NodeService_FindNodeUAMPolicies_Handler,
		},
		{
			MethodName: "findNodeHTTPCCPolicies",
			Handler:    _NodeService_FindNodeHTTPCCPolicies_Handler,
		},
		{
			MethodName: "findNodeHTTP3Policies",
			Handler:    _NodeService_FindNodeHTTP3Policies_Handler,
		},
		{
			MethodName: "findNodeHTTPPagesPolicies",
			Handler:    _NodeService_FindNodeHTTPPagesPolicies_Handler,
		},
		{
			MethodName: "findNodeScheduleInfo",
			Handler:    _NodeService_FindNodeScheduleInfo_Handler,
		},
		{
			MethodName: "updateNodeScheduleInfo",
			Handler:    _NodeService_UpdateNodeScheduleInfo_Handler,
		},
		{
			MethodName: "resetNodeActionStatus",
			Handler:    _NodeService_ResetNodeActionStatus_Handler,
		},
		{
			MethodName: "findAllNodeScheduleInfoWithNodeClusterId",
			Handler:    _NodeService_FindAllNodeScheduleInfoWithNodeClusterId_Handler,
		},
		{
			MethodName: "copyNodeActionsToNodeGroup",
			Handler:    _NodeService_CopyNodeActionsToNodeGroup_Handler,
		},
		{
			MethodName: "copyNodeActionsToNodeCluster",
			Handler:    _NodeService_CopyNodeActionsToNodeCluster_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "nodeStream",
			Handler:       _NodeService_NodeStream_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "service_node.proto",
}
