mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 13:10:24 +08:00 
			
		
		
		
	实现域名、记录同步等API
This commit is contained in:
		
							
								
								
									
										1
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								go.mod
									
									
									
									
									
								
							@@ -3,6 +3,7 @@ module github.com/TeaOSLab/EdgeCommon
 | 
			
		||||
go 1.15
 | 
			
		||||
 | 
			
		||||
require (
 | 
			
		||||
	github.com/cespare/xxhash/v2 v2.1.1
 | 
			
		||||
	github.com/go-yaml/yaml v2.1.0+incompatible
 | 
			
		||||
	github.com/golang/protobuf v1.4.2
 | 
			
		||||
	github.com/iwind/TeaGo v0.0.0-20210411134150-ddf57e240c2f
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								go.sum
									
									
									
									
									
								
							@@ -5,6 +5,7 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym
 | 
			
		||||
github.com/DataDog/sketches-go v0.0.0-20190923095040-43f19ad77ff7/go.mod h1:Q5DbzQ+3AkgGwymQO7aZFNP7ns2lZKGtvRBzRXfdi60=
 | 
			
		||||
github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM=
 | 
			
		||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
 | 
			
		||||
github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
 | 
			
		||||
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 | 
			
		||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
 | 
			
		||||
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										26
									
								
								pkg/configutils/ip.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								pkg/configutils/ip.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
package configutils
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/binary"
 | 
			
		||||
	"github.com/cespare/xxhash/v2"
 | 
			
		||||
	"math"
 | 
			
		||||
	"net"
 | 
			
		||||
	"strings"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// IP2Long 将IP转换为整型
 | 
			
		||||
// 注意IPv6没有顺序
 | 
			
		||||
func IP2Long(ip string) uint64 {
 | 
			
		||||
	if len(ip) == 0 {
 | 
			
		||||
		return 0
 | 
			
		||||
	}
 | 
			
		||||
	s := net.ParseIP(ip)
 | 
			
		||||
	if len(s) == 0 {
 | 
			
		||||
		return 0
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if strings.Contains(ip, ":") {
 | 
			
		||||
		return math.MaxUint32 + xxhash.Sum64(s)
 | 
			
		||||
	}
 | 
			
		||||
	return uint64(binary.BigEndian.Uint32(s.To4()))
 | 
			
		||||
}
 | 
			
		||||
@@ -48,7 +48,7 @@ func FindAllRecordTypeDefinitions() []*RecordTypeDefinition {
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			Type:        RecordTypeTXT,
 | 
			
		||||
			Description: "文本长度限制512,通常做SPF记录(反垃圾邮件)",
 | 
			
		||||
			Description: "文本长度限制512,通常做SPF记录或者校验域名所有者",
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			Type:        RecordTypeCAA,
 | 
			
		||||
 
 | 
			
		||||
@@ -2,14 +2,39 @@
 | 
			
		||||
 | 
			
		||||
package dnsconfigs
 | 
			
		||||
 | 
			
		||||
import "github.com/TeaOSLab/EdgeCommon/pkg/configutils"
 | 
			
		||||
 | 
			
		||||
type RouteRangeType = string
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	RouteRangeTypeIP RouteRangeType = "ipRange"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type RouteRangeInterface interface {
 | 
			
		||||
	Init() error
 | 
			
		||||
	Contains(ip uint64) bool
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RouteRangeIPRange IP范围配置
 | 
			
		||||
type RouteRangeIPRange struct {
 | 
			
		||||
	IPFrom string `json:"ipFrom"`
 | 
			
		||||
	IPTo   string `json:"ipTo"`
 | 
			
		||||
 | 
			
		||||
	ipFromLong uint64
 | 
			
		||||
	ipToLong   uint64
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *RouteRangeIPRange) Init() error {
 | 
			
		||||
	this.ipFromLong = configutils.IP2Long(this.IPFrom)
 | 
			
		||||
	this.ipToLong = configutils.IP2Long(this.IPTo)
 | 
			
		||||
 | 
			
		||||
	if this.ipFromLong > this.ipToLong {
 | 
			
		||||
		this.ipFromLong, this.ipToLong = this.ipToLong, this.ipFromLong
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *RouteRangeIPRange) Contains(ip uint64) bool {
 | 
			
		||||
	return this.ipFromLong <= ip && this.ipToLong >= ip
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -35,6 +35,8 @@ type NSDomain struct {
 | 
			
		||||
	Name      string     `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
 | 
			
		||||
	IsOn      bool       `protobuf:"varint,3,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
			
		||||
	CreatedAt int64      `protobuf:"varint,4,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
 | 
			
		||||
	IsDeleted bool       `protobuf:"varint,5,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"`
 | 
			
		||||
	Version   int64      `protobuf:"varint,6,opt,name=version,proto3" json:"version,omitempty"`
 | 
			
		||||
	NsCluster *NSCluster `protobuf:"bytes,30,opt,name=nsCluster,proto3" json:"nsCluster,omitempty"`
 | 
			
		||||
	User      *User      `protobuf:"bytes,31,opt,name=user,proto3" json:"user,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
@@ -99,6 +101,20 @@ func (x *NSDomain) GetCreatedAt() int64 {
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSDomain) GetIsDeleted() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.IsDeleted
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSDomain) GetVersion() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Version
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSDomain) GetNsCluster() *NSCluster {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.NsCluster
 | 
			
		||||
@@ -121,19 +137,22 @@ var file_models_model_ns_domain_proto_rawDesc = []byte{
 | 
			
		||||
	0x70, 0x62, 0x1a, 0x1d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
 | 
			
		||||
	0x5f, 0x6e, 0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 | 
			
		||||
	0x6f, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f,
 | 
			
		||||
	0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x01, 0x0a, 0x08, 0x4e,
 | 
			
		||||
	0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe3, 0x01, 0x0a, 0x08, 0x4e,
 | 
			
		||||
	0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 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, 0x12, 0x0a, 0x04, 0x69,
 | 
			
		||||
	0x73, 0x4f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12,
 | 
			
		||||
	0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2b, 0x0a,
 | 
			
		||||
	0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b,
 | 
			
		||||
	0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52,
 | 
			
		||||
	0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x04, 0x75, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62,
 | 
			
		||||
	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
	0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a,
 | 
			
		||||
	0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
 | 
			
		||||
	0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
			
		||||
	0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
			
		||||
	0x65, 0x72, 0x12, 0x1c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b,
 | 
			
		||||
	0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
 
 | 
			
		||||
@@ -39,6 +39,9 @@ type NSRecord struct {
 | 
			
		||||
	Ttl         int32      `protobuf:"varint,6,opt,name=ttl,proto3" json:"ttl,omitempty"`
 | 
			
		||||
	Weight      int32      `protobuf:"varint,7,opt,name=weight,proto3" json:"weight,omitempty"`
 | 
			
		||||
	CreatedAt   int64      `protobuf:"varint,8,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
 | 
			
		||||
	IsDeleted   bool       `protobuf:"varint,9,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"`
 | 
			
		||||
	Version     int64      `protobuf:"varint,10,opt,name=version,proto3" json:"version,omitempty"`
 | 
			
		||||
	IsOn        bool       `protobuf:"varint,11,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
			
		||||
	NsDomain    *NSDomain  `protobuf:"bytes,30,opt,name=nsDomain,proto3" json:"nsDomain,omitempty"`
 | 
			
		||||
	NsRoutes    []*NSRoute `protobuf:"bytes,31,rep,name=nsRoutes,proto3" json:"nsRoutes,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
@@ -131,6 +134,27 @@ func (x *NSRecord) GetCreatedAt() int64 {
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSRecord) GetIsDeleted() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.IsDeleted
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSRecord) GetVersion() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Version
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSRecord) GetIsOn() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.IsOn
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSRecord) GetNsDomain() *NSDomain {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.NsDomain
 | 
			
		||||
@@ -153,7 +177,7 @@ var file_models_model_ns_record_proto_rawDesc = []byte{
 | 
			
		||||
	0x70, 0x62, 0x1a, 0x1c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
 | 
			
		||||
	0x5f, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 | 
			
		||||
	0x1a, 0x1b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e,
 | 
			
		||||
	0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x02,
 | 
			
		||||
	0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x02,
 | 
			
		||||
	0x0a, 0x08, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
 | 
			
		||||
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
 | 
			
		||||
@@ -166,13 +190,18 @@ var file_models_model_ns_record_proto_rawDesc = []byte{
 | 
			
		||||
	0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x77, 0x65,
 | 
			
		||||
	0x69, 0x67, 0x68, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
 | 
			
		||||
	0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
 | 
			
		||||
	0x41, 0x74, 0x12, 0x28, 0x0a, 0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x1e,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61,
 | 
			
		||||
	0x69, 0x6e, 0x52, 0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x08,
 | 
			
		||||
	0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x08, 0x6e, 0x73, 0x52,
 | 
			
		||||
	0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70,
 | 
			
		||||
	0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
	0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18,
 | 
			
		||||
	0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
 | 
			
		||||
	0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73,
 | 
			
		||||
	0x4f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x28,
 | 
			
		||||
	0x0a, 0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b,
 | 
			
		||||
	0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x08,
 | 
			
		||||
	0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x08, 0x6e, 0x73, 0x52, 0x6f,
 | 
			
		||||
	0x75, 0x74, 0x65, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x08, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65,
 | 
			
		||||
	0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 | 
			
		||||
	0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
 
 | 
			
		||||
@@ -35,6 +35,9 @@ type NSRoute struct {
 | 
			
		||||
	IsOn       bool       `protobuf:"varint,2,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
			
		||||
	Name       string     `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
 | 
			
		||||
	RangesJSON []byte     `protobuf:"bytes,4,opt,name=rangesJSON,proto3" json:"rangesJSON,omitempty"`
 | 
			
		||||
	IsDeleted  bool       `protobuf:"varint,5,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"`
 | 
			
		||||
	Order      int64      `protobuf:"varint,6,opt,name=order,proto3" json:"order,omitempty"`
 | 
			
		||||
	Version    int64      `protobuf:"varint,7,opt,name=version,proto3" json:"version,omitempty"`
 | 
			
		||||
	NsCluster  *NSCluster `protobuf:"bytes,30,opt,name=nsCluster,proto3" json:"nsCluster,omitempty"`
 | 
			
		||||
	NsDomain   *NSDomain  `protobuf:"bytes,31,opt,name=nsDomain,proto3" json:"nsDomain,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
@@ -99,6 +102,27 @@ func (x *NSRoute) GetRangesJSON() []byte {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSRoute) GetIsDeleted() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.IsDeleted
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSRoute) GetOrder() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Order
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSRoute) GetVersion() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Version
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSRoute) GetNsCluster() *NSCluster {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.NsCluster
 | 
			
		||||
@@ -121,20 +145,25 @@ var file_models_model_ns_route_proto_rawDesc = []byte{
 | 
			
		||||
	0x62, 0x1a, 0x1d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f,
 | 
			
		||||
	0x6e, 0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 | 
			
		||||
	0x1a, 0x1c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e,
 | 
			
		||||
	0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8,
 | 
			
		||||
	0x01, 0x0a, 0x07, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
 | 
			
		||||
	0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86,
 | 
			
		||||
	0x02, 0x0a, 0x07, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73,
 | 
			
		||||
	0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12,
 | 
			
		||||
	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
 | 
			
		||||
	0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
 | 
			
		||||
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x4a, 0x53,
 | 
			
		||||
	0x4f, 0x4e, 0x12, 0x2b, 0x0a, 0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18,
 | 
			
		||||
	0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x52, 0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12,
 | 
			
		||||
	0x28, 0x0a, 0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x1f, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52,
 | 
			
		||||
	0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70,
 | 
			
		||||
	0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
	0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18,
 | 
			
		||||
	0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
 | 
			
		||||
	0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
 | 
			
		||||
	0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
 | 
			
		||||
	0x12, 0x2b, 0x0a, 0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x1e, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
			
		||||
	0x65, 0x72, 0x52, 0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x28, 0x0a,
 | 
			
		||||
	0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32,
 | 
			
		||||
	0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x08, 0x6e,
 | 
			
		||||
	0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62,
 | 
			
		||||
	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
 
 | 
			
		||||
@@ -141,16 +141,16 @@ func (x *CreateNSDomainResponse) GetNsDomainId() int64 {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改域名
 | 
			
		||||
// 注意:名称不能修改
 | 
			
		||||
type UpdateNSDomainRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	NsDomainId  int64  `protobuf:"varint,1,opt,name=nsDomainId,proto3" json:"nsDomainId,omitempty"`
 | 
			
		||||
	NsClusterId int64  `protobuf:"varint,2,opt,name=nsClusterId,proto3" json:"nsClusterId,omitempty"`
 | 
			
		||||
	UserId      int64  `protobuf:"varint,3,opt,name=userId,proto3" json:"userId,omitempty"`
 | 
			
		||||
	Name        string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
 | 
			
		||||
	IsOn        bool   `protobuf:"varint,5,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
			
		||||
	NsDomainId  int64 `protobuf:"varint,1,opt,name=nsDomainId,proto3" json:"nsDomainId,omitempty"`
 | 
			
		||||
	NsClusterId int64 `protobuf:"varint,2,opt,name=nsClusterId,proto3" json:"nsClusterId,omitempty"`
 | 
			
		||||
	UserId      int64 `protobuf:"varint,3,opt,name=userId,proto3" json:"userId,omitempty"`
 | 
			
		||||
	IsOn        bool  `protobuf:"varint,4,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateNSDomainRequest) Reset() {
 | 
			
		||||
@@ -206,13 +206,6 @@ func (x *UpdateNSDomainRequest) GetUserId() int64 {
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateNSDomainRequest) GetName() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Name
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateNSDomainRequest) GetIsOn() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.IsOn
 | 
			
		||||
@@ -554,6 +547,109 @@ func (x *ListEnabledNSDomainsResponse) GetNsDomains() []*NSDomain {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 根据版本列出一组域名
 | 
			
		||||
type ListNSDomainsAfterVersionRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Version int64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
 | 
			
		||||
	Size    int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSDomainsAfterVersionRequest) Reset() {
 | 
			
		||||
	*x = ListNSDomainsAfterVersionRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_ns_domain_proto_msgTypes[9]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSDomainsAfterVersionRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListNSDomainsAfterVersionRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSDomainsAfterVersionRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_ns_domain_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 ListNSDomainsAfterVersionRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListNSDomainsAfterVersionRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_ns_domain_proto_rawDescGZIP(), []int{9}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSDomainsAfterVersionRequest) GetVersion() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Version
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSDomainsAfterVersionRequest) GetSize() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Size
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ListNSDomainsAfterVersionResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	NsDomains []*NSDomain `protobuf:"bytes,1,rep,name=nsDomains,proto3" json:"nsDomains,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSDomainsAfterVersionResponse) Reset() {
 | 
			
		||||
	*x = ListNSDomainsAfterVersionResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_ns_domain_proto_msgTypes[10]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSDomainsAfterVersionResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListNSDomainsAfterVersionResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSDomainsAfterVersionResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_ns_domain_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 ListNSDomainsAfterVersionResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListNSDomainsAfterVersionResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_ns_domain_proto_rawDescGZIP(), []int{10}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSDomainsAfterVersionResponse) GetNsDomains() []*NSDomain {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.NsDomains
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_service_ns_domain_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_service_ns_domain_proto_rawDesc = []byte{
 | 
			
		||||
@@ -572,82 +668,97 @@ var file_service_ns_domain_proto_rawDesc = []byte{
 | 
			
		||||
	0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d,
 | 
			
		||||
	0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44,
 | 
			
		||||
	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x99, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x85, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18,
 | 
			
		||||
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49,
 | 
			
		||||
	0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
 | 
			
		||||
	0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
			
		||||
	0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
 | 
			
		||||
	0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
 | 
			
		||||
	0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69,
 | 
			
		||||
	0x73, 0x4f, 0x6e, 0x22, 0x37, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x44,
 | 
			
		||||
	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a,
 | 
			
		||||
	0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
 | 
			
		||||
	0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x1a,
 | 
			
		||||
	0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d,
 | 
			
		||||
	0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73,
 | 
			
		||||
	0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
 | 
			
		||||
	0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x1b, 0x46, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69,
 | 
			
		||||
	0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x6e, 0x73, 0x44,
 | 
			
		||||
	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d,
 | 
			
		||||
	0x61, 0x69, 0x6e, 0x22, 0x75, 0x0a, 0x1f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
 | 
			
		||||
	0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69,
 | 
			
		||||
	0x73, 0x4f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x22,
 | 
			
		||||
	0x37, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69,
 | 
			
		||||
	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f,
 | 
			
		||||
	0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73,
 | 
			
		||||
	0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61,
 | 
			
		||||
	0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f,
 | 
			
		||||
	0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69,
 | 
			
		||||
	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x44,
 | 
			
		||||
	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22,
 | 
			
		||||
	0x75, 0x0a, 0x1f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
			
		||||
	0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x73,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x0b, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
 | 
			
		||||
	0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b,
 | 
			
		||||
	0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20,
 | 
			
		||||
	0x0a, 0x0b, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
 | 
			
		||||
	0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x1b, 0x4c,
 | 
			
		||||
	0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61,
 | 
			
		||||
	0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
 | 
			
		||||
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
			
		||||
	0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18,
 | 
			
		||||
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16,
 | 
			
		||||
	0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
 | 
			
		||||
	0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4a, 0x0a, 0x1c, 0x4c, 0x69,
 | 
			
		||||
	0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69,
 | 
			
		||||
	0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x6e, 0x73,
 | 
			
		||||
	0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x09, 0x6e, 0x73, 0x44,
 | 
			
		||||
	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x32, 0xde, 0x03, 0x0a, 0x0f, 0x4e, 0x53, 0x44, 0x6f, 0x6d,
 | 
			
		||||
	0x61, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x72,
 | 
			
		||||
	0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44,
 | 
			
		||||
	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 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, 0x3b, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61,
 | 
			
		||||
	0x69, 0x6e, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53,
 | 
			
		||||
	0x44, 0x6f, 0x6d, 0x61, 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, 0x56, 0x0a,
 | 
			
		||||
	0x13, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f,
 | 
			
		||||
	0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x18, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
 | 
			
		||||
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
 | 
			
		||||
	0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 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, 0x59, 0x0a, 0x14,
 | 
			
		||||
	0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d,
 | 
			
		||||
	0x61, 0x69, 0x6e, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e,
 | 
			
		||||
	0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66,
 | 
			
		||||
	0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73,
 | 
			
		||||
	0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
 | 
			
		||||
	0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4a, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62,
 | 
			
		||||
	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61,
 | 
			
		||||
	0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e,
 | 
			
		||||
	0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x09, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69,
 | 
			
		||||
	0x6e, 0x73, 0x22, 0x50, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61,
 | 
			
		||||
	0x69, 0x6e, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04,
 | 
			
		||||
	0x73, 0x69, 0x7a, 0x65, 0x22, 0x4f, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x44, 0x6f,
 | 
			
		||||
	0x6d, 0x61, 0x69, 0x6e, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
 | 
			
		||||
	0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x6e, 0x73, 0x44,
 | 
			
		||||
	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x09, 0x6e, 0x73, 0x44, 0x6f,
 | 
			
		||||
	0x6d, 0x61, 0x69, 0x6e, 0x73, 0x32, 0xc8, 0x04, 0x0a, 0x0f, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61,
 | 
			
		||||
	0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x72, 0x65,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f,
 | 
			
		||||
	0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 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,
 | 
			
		||||
	0x3b, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69,
 | 
			
		||||
	0x6e, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x44,
 | 
			
		||||
	0x6f, 0x6d, 0x61, 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, 0x56, 0x0a, 0x13,
 | 
			
		||||
	0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d,
 | 
			
		||||
	0x61, 0x69, 0x6e, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x18, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73,
 | 
			
		||||
	0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 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, 0x59, 0x0a, 0x14, 0x6c,
 | 
			
		||||
	0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61,
 | 
			
		||||
	0x69, 0x6e, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x53,
 | 
			
		||||
	0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73,
 | 
			
		||||
	0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x44,
 | 
			
		||||
	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69,
 | 
			
		||||
	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x4c,
 | 
			
		||||
	0x69, 0x73, 0x74, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x41, 0x66, 0x74, 0x65,
 | 
			
		||||
	0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
@@ -662,41 +773,46 @@ func file_service_ns_domain_proto_rawDescGZIP() []byte {
 | 
			
		||||
	return file_service_ns_domain_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_ns_domain_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
 | 
			
		||||
var file_service_ns_domain_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
 | 
			
		||||
var file_service_ns_domain_proto_goTypes = []interface{}{
 | 
			
		||||
	(*CreateNSDomainRequest)(nil),           // 0: pb.CreateNSDomainRequest
 | 
			
		||||
	(*CreateNSDomainResponse)(nil),          // 1: pb.CreateNSDomainResponse
 | 
			
		||||
	(*UpdateNSDomainRequest)(nil),           // 2: pb.UpdateNSDomainRequest
 | 
			
		||||
	(*DeleteNSDomainRequest)(nil),           // 3: pb.DeleteNSDomainRequest
 | 
			
		||||
	(*FindEnabledNSDomainRequest)(nil),      // 4: pb.FindEnabledNSDomainRequest
 | 
			
		||||
	(*FindEnabledNSDomainResponse)(nil),     // 5: pb.FindEnabledNSDomainResponse
 | 
			
		||||
	(*CountAllEnabledNSDomainsRequest)(nil), // 6: pb.CountAllEnabledNSDomainsRequest
 | 
			
		||||
	(*ListEnabledNSDomainsRequest)(nil),     // 7: pb.ListEnabledNSDomainsRequest
 | 
			
		||||
	(*ListEnabledNSDomainsResponse)(nil),    // 8: pb.ListEnabledNSDomainsResponse
 | 
			
		||||
	(*NSDomain)(nil),                        // 9: pb.NSDomain
 | 
			
		||||
	(*RPCSuccess)(nil),                      // 10: pb.RPCSuccess
 | 
			
		||||
	(*RPCCountResponse)(nil),                // 11: pb.RPCCountResponse
 | 
			
		||||
	(*CreateNSDomainRequest)(nil),             // 0: pb.CreateNSDomainRequest
 | 
			
		||||
	(*CreateNSDomainResponse)(nil),            // 1: pb.CreateNSDomainResponse
 | 
			
		||||
	(*UpdateNSDomainRequest)(nil),             // 2: pb.UpdateNSDomainRequest
 | 
			
		||||
	(*DeleteNSDomainRequest)(nil),             // 3: pb.DeleteNSDomainRequest
 | 
			
		||||
	(*FindEnabledNSDomainRequest)(nil),        // 4: pb.FindEnabledNSDomainRequest
 | 
			
		||||
	(*FindEnabledNSDomainResponse)(nil),       // 5: pb.FindEnabledNSDomainResponse
 | 
			
		||||
	(*CountAllEnabledNSDomainsRequest)(nil),   // 6: pb.CountAllEnabledNSDomainsRequest
 | 
			
		||||
	(*ListEnabledNSDomainsRequest)(nil),       // 7: pb.ListEnabledNSDomainsRequest
 | 
			
		||||
	(*ListEnabledNSDomainsResponse)(nil),      // 8: pb.ListEnabledNSDomainsResponse
 | 
			
		||||
	(*ListNSDomainsAfterVersionRequest)(nil),  // 9: pb.ListNSDomainsAfterVersionRequest
 | 
			
		||||
	(*ListNSDomainsAfterVersionResponse)(nil), // 10: pb.ListNSDomainsAfterVersionResponse
 | 
			
		||||
	(*NSDomain)(nil),                          // 11: pb.NSDomain
 | 
			
		||||
	(*RPCSuccess)(nil),                        // 12: pb.RPCSuccess
 | 
			
		||||
	(*RPCCountResponse)(nil),                  // 13: pb.RPCCountResponse
 | 
			
		||||
}
 | 
			
		||||
var file_service_ns_domain_proto_depIdxs = []int32{
 | 
			
		||||
	9,  // 0: pb.FindEnabledNSDomainResponse.nsDomain:type_name -> pb.NSDomain
 | 
			
		||||
	9,  // 1: pb.ListEnabledNSDomainsResponse.nsDomains:type_name -> pb.NSDomain
 | 
			
		||||
	0,  // 2: pb.NSDomainService.createNSDomain:input_type -> pb.CreateNSDomainRequest
 | 
			
		||||
	2,  // 3: pb.NSDomainService.updateNSDomain:input_type -> pb.UpdateNSDomainRequest
 | 
			
		||||
	3,  // 4: pb.NSDomainService.deleteNSDomain:input_type -> pb.DeleteNSDomainRequest
 | 
			
		||||
	4,  // 5: pb.NSDomainService.findEnabledNSDomain:input_type -> pb.FindEnabledNSDomainRequest
 | 
			
		||||
	6,  // 6: pb.NSDomainService.countAllEnabledNSDomains:input_type -> pb.CountAllEnabledNSDomainsRequest
 | 
			
		||||
	7,  // 7: pb.NSDomainService.listEnabledNSDomains:input_type -> pb.ListEnabledNSDomainsRequest
 | 
			
		||||
	1,  // 8: pb.NSDomainService.createNSDomain:output_type -> pb.CreateNSDomainResponse
 | 
			
		||||
	10, // 9: pb.NSDomainService.updateNSDomain:output_type -> pb.RPCSuccess
 | 
			
		||||
	10, // 10: pb.NSDomainService.deleteNSDomain:output_type -> pb.RPCSuccess
 | 
			
		||||
	5,  // 11: pb.NSDomainService.findEnabledNSDomain:output_type -> pb.FindEnabledNSDomainResponse
 | 
			
		||||
	11, // 12: pb.NSDomainService.countAllEnabledNSDomains:output_type -> pb.RPCCountResponse
 | 
			
		||||
	8,  // 13: pb.NSDomainService.listEnabledNSDomains:output_type -> pb.ListEnabledNSDomainsResponse
 | 
			
		||||
	8,  // [8:14] is the sub-list for method output_type
 | 
			
		||||
	2,  // [2:8] is the sub-list for method input_type
 | 
			
		||||
	2,  // [2:2] is the sub-list for extension type_name
 | 
			
		||||
	2,  // [2:2] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:2] is the sub-list for field type_name
 | 
			
		||||
	11, // 0: pb.FindEnabledNSDomainResponse.nsDomain:type_name -> pb.NSDomain
 | 
			
		||||
	11, // 1: pb.ListEnabledNSDomainsResponse.nsDomains:type_name -> pb.NSDomain
 | 
			
		||||
	11, // 2: pb.ListNSDomainsAfterVersionResponse.nsDomains:type_name -> pb.NSDomain
 | 
			
		||||
	0,  // 3: pb.NSDomainService.createNSDomain:input_type -> pb.CreateNSDomainRequest
 | 
			
		||||
	2,  // 4: pb.NSDomainService.updateNSDomain:input_type -> pb.UpdateNSDomainRequest
 | 
			
		||||
	3,  // 5: pb.NSDomainService.deleteNSDomain:input_type -> pb.DeleteNSDomainRequest
 | 
			
		||||
	4,  // 6: pb.NSDomainService.findEnabledNSDomain:input_type -> pb.FindEnabledNSDomainRequest
 | 
			
		||||
	6,  // 7: pb.NSDomainService.countAllEnabledNSDomains:input_type -> pb.CountAllEnabledNSDomainsRequest
 | 
			
		||||
	7,  // 8: pb.NSDomainService.listEnabledNSDomains:input_type -> pb.ListEnabledNSDomainsRequest
 | 
			
		||||
	9,  // 9: pb.NSDomainService.listNSDomainsAfterVersion:input_type -> pb.ListNSDomainsAfterVersionRequest
 | 
			
		||||
	1,  // 10: pb.NSDomainService.createNSDomain:output_type -> pb.CreateNSDomainResponse
 | 
			
		||||
	12, // 11: pb.NSDomainService.updateNSDomain:output_type -> pb.RPCSuccess
 | 
			
		||||
	12, // 12: pb.NSDomainService.deleteNSDomain:output_type -> pb.RPCSuccess
 | 
			
		||||
	5,  // 13: pb.NSDomainService.findEnabledNSDomain:output_type -> pb.FindEnabledNSDomainResponse
 | 
			
		||||
	13, // 14: pb.NSDomainService.countAllEnabledNSDomains:output_type -> pb.RPCCountResponse
 | 
			
		||||
	8,  // 15: pb.NSDomainService.listEnabledNSDomains:output_type -> pb.ListEnabledNSDomainsResponse
 | 
			
		||||
	10, // 16: pb.NSDomainService.listNSDomainsAfterVersion:output_type -> pb.ListNSDomainsAfterVersionResponse
 | 
			
		||||
	10, // [10:17] is the sub-list for method output_type
 | 
			
		||||
	3,  // [3:10] is the sub-list for method input_type
 | 
			
		||||
	3,  // [3:3] is the sub-list for extension type_name
 | 
			
		||||
	3,  // [3:3] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:3] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_service_ns_domain_proto_init() }
 | 
			
		||||
@@ -815,6 +931,30 @@ func file_service_ns_domain_proto_init() {
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_ns_domain_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListNSDomainsAfterVersionRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_ns_domain_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListNSDomainsAfterVersionResponse); 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{
 | 
			
		||||
@@ -822,7 +962,7 @@ func file_service_ns_domain_proto_init() {
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_service_ns_domain_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   9,
 | 
			
		||||
			NumMessages:   11,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
@@ -860,6 +1000,8 @@ type NSDomainServiceClient interface {
 | 
			
		||||
	CountAllEnabledNSDomains(ctx context.Context, in *CountAllEnabledNSDomainsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
 | 
			
		||||
	// 列出单页域名
 | 
			
		||||
	ListEnabledNSDomains(ctx context.Context, in *ListEnabledNSDomainsRequest, opts ...grpc.CallOption) (*ListEnabledNSDomainsResponse, error)
 | 
			
		||||
	// 根据版本列出一组域名
 | 
			
		||||
	ListNSDomainsAfterVersion(ctx context.Context, in *ListNSDomainsAfterVersionRequest, opts ...grpc.CallOption) (*ListNSDomainsAfterVersionResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type nSDomainServiceClient struct {
 | 
			
		||||
@@ -924,6 +1066,15 @@ func (c *nSDomainServiceClient) ListEnabledNSDomains(ctx context.Context, in *Li
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *nSDomainServiceClient) ListNSDomainsAfterVersion(ctx context.Context, in *ListNSDomainsAfterVersionRequest, opts ...grpc.CallOption) (*ListNSDomainsAfterVersionResponse, error) {
 | 
			
		||||
	out := new(ListNSDomainsAfterVersionResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.NSDomainService/listNSDomainsAfterVersion", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NSDomainServiceServer is the server API for NSDomainService service.
 | 
			
		||||
type NSDomainServiceServer interface {
 | 
			
		||||
	// 创建域名
 | 
			
		||||
@@ -938,6 +1089,8 @@ type NSDomainServiceServer interface {
 | 
			
		||||
	CountAllEnabledNSDomains(context.Context, *CountAllEnabledNSDomainsRequest) (*RPCCountResponse, error)
 | 
			
		||||
	// 列出单页域名
 | 
			
		||||
	ListEnabledNSDomains(context.Context, *ListEnabledNSDomainsRequest) (*ListEnabledNSDomainsResponse, error)
 | 
			
		||||
	// 根据版本列出一组域名
 | 
			
		||||
	ListNSDomainsAfterVersion(context.Context, *ListNSDomainsAfterVersionRequest) (*ListNSDomainsAfterVersionResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedNSDomainServiceServer can be embedded to have forward compatible implementations.
 | 
			
		||||
@@ -962,6 +1115,9 @@ func (*UnimplementedNSDomainServiceServer) CountAllEnabledNSDomains(context.Cont
 | 
			
		||||
func (*UnimplementedNSDomainServiceServer) ListEnabledNSDomains(context.Context, *ListEnabledNSDomainsRequest) (*ListEnabledNSDomainsResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method ListEnabledNSDomains not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedNSDomainServiceServer) ListNSDomainsAfterVersion(context.Context, *ListNSDomainsAfterVersionRequest) (*ListNSDomainsAfterVersionResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method ListNSDomainsAfterVersion not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RegisterNSDomainServiceServer(s *grpc.Server, srv NSDomainServiceServer) {
 | 
			
		||||
	s.RegisterService(&_NSDomainService_serviceDesc, srv)
 | 
			
		||||
@@ -1075,6 +1231,24 @@ func _NSDomainService_ListEnabledNSDomains_Handler(srv interface{}, ctx context.
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _NSDomainService_ListNSDomainsAfterVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(ListNSDomainsAfterVersionRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(NSDomainServiceServer).ListNSDomainsAfterVersion(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.NSDomainService/ListNSDomainsAfterVersion",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(NSDomainServiceServer).ListNSDomainsAfterVersion(ctx, req.(*ListNSDomainsAfterVersionRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _NSDomainService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
	ServiceName: "pb.NSDomainService",
 | 
			
		||||
	HandlerType: (*NSDomainServiceServer)(nil),
 | 
			
		||||
@@ -1103,6 +1277,10 @@ var _NSDomainService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
			MethodName: "listEnabledNSDomains",
 | 
			
		||||
			Handler:    _NSDomainService_ListEnabledNSDomains_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "listNSDomainsAfterVersion",
 | 
			
		||||
			Handler:    _NSDomainService_ListNSDomainsAfterVersion_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_ns_domain.proto",
 | 
			
		||||
 
 | 
			
		||||
@@ -973,6 +973,148 @@ func (x *UpdateNSNodeIsInstalledRequest) GetIsInstalled() bool {
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 更新认证状态
 | 
			
		||||
type UpdateNSNodeStatusRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	NodeId     int64  `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
 | 
			
		||||
	StatusJSON []byte `protobuf:"bytes,2,opt,name=statusJSON,proto3" json:"statusJSON,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateNSNodeStatusRequest) Reset() {
 | 
			
		||||
	*x = UpdateNSNodeStatusRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_ns_node_proto_msgTypes[18]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateNSNodeStatusRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UpdateNSNodeStatusRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateNSNodeStatusRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_ns_node_proto_msgTypes[18]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use UpdateNSNodeStatusRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*UpdateNSNodeStatusRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_ns_node_proto_rawDescGZIP(), []int{18}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateNSNodeStatusRequest) GetNodeId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.NodeId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateNSNodeStatusRequest) GetStatusJSON() []byte {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.StatusJSON
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 获取当前节点信息
 | 
			
		||||
type FindCurrentNSNodeRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindCurrentNSNodeRequest) Reset() {
 | 
			
		||||
	*x = FindCurrentNSNodeRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_ns_node_proto_msgTypes[19]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindCurrentNSNodeRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindCurrentNSNodeRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindCurrentNSNodeRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_ns_node_proto_msgTypes[19]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindCurrentNSNodeRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindCurrentNSNodeRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_ns_node_proto_rawDescGZIP(), []int{19}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type FindCurrentNSNodeResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	NsNode *NSNode `protobuf:"bytes,1,opt,name=nsNode,proto3" json:"nsNode,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindCurrentNSNodeResponse) Reset() {
 | 
			
		||||
	*x = FindCurrentNSNodeResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_ns_node_proto_msgTypes[20]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindCurrentNSNodeResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindCurrentNSNodeResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindCurrentNSNodeResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_ns_node_proto_msgTypes[20]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindCurrentNSNodeResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindCurrentNSNodeResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_ns_node_proto_rawDescGZIP(), []int{20}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindCurrentNSNodeResponse) GetNsNode() *NSNode {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.NsNode
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_service_ns_node_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_service_ns_node_proto_rawDesc = []byte{
 | 
			
		||||
@@ -1077,74 +1219,94 @@ var file_service_ns_node_proto_rawDesc = []byte{
 | 
			
		||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x20,
 | 
			
		||||
	0x0a, 0x0b, 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x32, 0xa0, 0x08, 0x0a, 0x0d, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69,
 | 
			
		||||
	0x63, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68,
 | 
			
		||||
	0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
 | 
			
		||||
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73,
 | 
			
		||||
	0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51,
 | 
			
		||||
	0x0a, 0x16, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x5b, 0x0a, 0x1b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68,
 | 
			
		||||
	0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63,
 | 
			
		||||
	0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
 | 
			
		||||
	0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62,
 | 
			
		||||
	0x0a, 0x17, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c,
 | 
			
		||||
	0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x6f, 0x0a, 0x25, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70,
 | 
			
		||||
	0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68,
 | 
			
		||||
	0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e,
 | 
			
		||||
	0x22, 0x53, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a,
 | 
			
		||||
	0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a,
 | 
			
		||||
	0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75,
 | 
			
		||||
	0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x1a, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72,
 | 
			
		||||
	0x72, 0x65, 0x6e, 0x74, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x22, 0x3f, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22,
 | 
			
		||||
	0x0a, 0x06, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6e, 0x73, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x32, 0xb7, 0x09, 0x0a, 0x0d, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x72,
 | 
			
		||||
	0x76, 0x69, 0x63, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69,
 | 
			
		||||
	0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c,
 | 
			
		||||
	0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
			
		||||
	0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43,
 | 
			
		||||
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x51, 0x0a, 0x16, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
 | 
			
		||||
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e,
 | 
			
		||||
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65,
 | 
			
		||||
	0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
 | 
			
		||||
	0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x69, 0x6e,
 | 
			
		||||
	0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61,
 | 
			
		||||
	0x6c, 0x6c, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e,
 | 
			
		||||
	0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61,
 | 
			
		||||
	0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49,
 | 
			
		||||
	0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x17, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12,
 | 
			
		||||
	0x22, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
 | 
			
		||||
	0x74, 0x6f, 0x33,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74,
 | 
			
		||||
	0x63, 0x68, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61,
 | 
			
		||||
	0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
 | 
			
		||||
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x25, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69,
 | 
			
		||||
	0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61,
 | 
			
		||||
	0x64, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43,
 | 
			
		||||
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e,
 | 
			
		||||
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65,
 | 
			
		||||
	0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65,
 | 
			
		||||
	0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
 | 
			
		||||
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x44, 0x0a, 0x0d,
 | 
			
		||||
	0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73,
 | 
			
		||||
	0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73,
 | 
			
		||||
	0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x17, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
 | 
			
		||||
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
 | 
			
		||||
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61,
 | 
			
		||||
	0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12,
 | 
			
		||||
	0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x53,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04,
 | 
			
		||||
	0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
@@ -1159,7 +1321,7 @@ func file_service_ns_node_proto_rawDescGZIP() []byte {
 | 
			
		||||
	return file_service_ns_node_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_ns_node_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
 | 
			
		||||
var file_service_ns_node_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
 | 
			
		||||
var file_service_ns_node_proto_goTypes = []interface{}{
 | 
			
		||||
	(*FindAllEnabledNSNodesWithNSClusterIdRequest)(nil),  // 0: pb.FindAllEnabledNSNodesWithNSClusterIdRequest
 | 
			
		||||
	(*FindAllEnabledNSNodesWithNSClusterIdResponse)(nil), // 1: pb.FindAllEnabledNSNodesWithNSClusterIdResponse
 | 
			
		||||
@@ -1179,45 +1341,53 @@ var file_service_ns_node_proto_goTypes = []interface{}{
 | 
			
		||||
	(*FindNSNodeInstallStatusRequest)(nil),               // 15: pb.FindNSNodeInstallStatusRequest
 | 
			
		||||
	(*FindNSNodeInstallStatusResponse)(nil),              // 16: pb.FindNSNodeInstallStatusResponse
 | 
			
		||||
	(*UpdateNSNodeIsInstalledRequest)(nil),               // 17: pb.UpdateNSNodeIsInstalledRequest
 | 
			
		||||
	(*NSNode)(nil),                                       // 18: pb.NSNode
 | 
			
		||||
	(*NodeInstallStatus)(nil),                            // 19: pb.NodeInstallStatus
 | 
			
		||||
	(*RPCCountResponse)(nil),                             // 20: pb.RPCCountResponse
 | 
			
		||||
	(*RPCSuccess)(nil),                                   // 21: pb.RPCSuccess
 | 
			
		||||
	(*UpdateNSNodeStatusRequest)(nil),                    // 18: pb.UpdateNSNodeStatusRequest
 | 
			
		||||
	(*FindCurrentNSNodeRequest)(nil),                     // 19: pb.FindCurrentNSNodeRequest
 | 
			
		||||
	(*FindCurrentNSNodeResponse)(nil),                    // 20: pb.FindCurrentNSNodeResponse
 | 
			
		||||
	(*NSNode)(nil),                                       // 21: pb.NSNode
 | 
			
		||||
	(*NodeInstallStatus)(nil),                            // 22: pb.NodeInstallStatus
 | 
			
		||||
	(*RPCCountResponse)(nil),                             // 23: pb.RPCCountResponse
 | 
			
		||||
	(*RPCSuccess)(nil),                                   // 24: pb.RPCSuccess
 | 
			
		||||
}
 | 
			
		||||
var file_service_ns_node_proto_depIdxs = []int32{
 | 
			
		||||
	18, // 0: pb.FindAllEnabledNSNodesWithNSClusterIdResponse.nsNodes:type_name -> pb.NSNode
 | 
			
		||||
	18, // 1: pb.ListEnabledNSNodesMatchResponse.nsNodes:type_name -> pb.NSNode
 | 
			
		||||
	18, // 2: pb.FindEnabledNSNodeResponse.nsNode:type_name -> pb.NSNode
 | 
			
		||||
	19, // 3: pb.FindNSNodeInstallStatusResponse.installStatus:type_name -> pb.NodeInstallStatus
 | 
			
		||||
	0,  // 4: pb.NSNodeService.findAllEnabledNSNodesWithNSClusterId:input_type -> pb.FindAllEnabledNSNodesWithNSClusterIdRequest
 | 
			
		||||
	2,  // 5: pb.NSNodeService.countAllEnabledNSNodes:input_type -> pb.CountAllEnabledNSNodesRequest
 | 
			
		||||
	3,  // 6: pb.NSNodeService.countAllEnabledNSNodesMatch:input_type -> pb.CountAllEnabledNSNodesMatchRequest
 | 
			
		||||
	4,  // 7: pb.NSNodeService.listEnabledNSNodesMatch:input_type -> pb.ListEnabledNSNodesMatchRequest
 | 
			
		||||
	6,  // 8: pb.NSNodeService.countAllUpgradeNSNodesWithNSClusterId:input_type -> pb.CountAllUpgradeNSNodesWithNSClusterIdRequest
 | 
			
		||||
	7,  // 9: pb.NSNodeService.createNSNode:input_type -> pb.CreateNSNodeRequest
 | 
			
		||||
	9,  // 10: pb.NSNodeService.deleteNSNode:input_type -> pb.DeleteNSNodeRequest
 | 
			
		||||
	10, // 11: pb.NSNodeService.findEnabledNSNode:input_type -> pb.FindEnabledNSNodeRequest
 | 
			
		||||
	12, // 12: pb.NSNodeService.updateNSNode:input_type -> pb.UpdateNSNodeRequest
 | 
			
		||||
	13, // 13: pb.NSNodeService.installNSNode:input_type -> pb.InstallNSNodeRequest
 | 
			
		||||
	15, // 14: pb.NSNodeService.findNSNodeInstallStatus:input_type -> pb.FindNSNodeInstallStatusRequest
 | 
			
		||||
	17, // 15: pb.NSNodeService.updateNSNodeIsInstalled:input_type -> pb.UpdateNSNodeIsInstalledRequest
 | 
			
		||||
	1,  // 16: pb.NSNodeService.findAllEnabledNSNodesWithNSClusterId:output_type -> pb.FindAllEnabledNSNodesWithNSClusterIdResponse
 | 
			
		||||
	20, // 17: pb.NSNodeService.countAllEnabledNSNodes:output_type -> pb.RPCCountResponse
 | 
			
		||||
	20, // 18: pb.NSNodeService.countAllEnabledNSNodesMatch:output_type -> pb.RPCCountResponse
 | 
			
		||||
	5,  // 19: pb.NSNodeService.listEnabledNSNodesMatch:output_type -> pb.ListEnabledNSNodesMatchResponse
 | 
			
		||||
	20, // 20: pb.NSNodeService.countAllUpgradeNSNodesWithNSClusterId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	8,  // 21: pb.NSNodeService.createNSNode:output_type -> pb.CreateNSNodeResponse
 | 
			
		||||
	21, // 22: pb.NSNodeService.deleteNSNode:output_type -> pb.RPCSuccess
 | 
			
		||||
	11, // 23: pb.NSNodeService.findEnabledNSNode:output_type -> pb.FindEnabledNSNodeResponse
 | 
			
		||||
	21, // 24: pb.NSNodeService.updateNSNode:output_type -> pb.RPCSuccess
 | 
			
		||||
	14, // 25: pb.NSNodeService.installNSNode:output_type -> pb.InstallNSNodeResponse
 | 
			
		||||
	16, // 26: pb.NSNodeService.findNSNodeInstallStatus:output_type -> pb.FindNSNodeInstallStatusResponse
 | 
			
		||||
	21, // 27: pb.NSNodeService.updateNSNodeIsInstalled:output_type -> pb.RPCSuccess
 | 
			
		||||
	16, // [16:28] is the sub-list for method output_type
 | 
			
		||||
	4,  // [4:16] is the sub-list for method input_type
 | 
			
		||||
	4,  // [4:4] is the sub-list for extension type_name
 | 
			
		||||
	4,  // [4:4] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:4] is the sub-list for field type_name
 | 
			
		||||
	21, // 0: pb.FindAllEnabledNSNodesWithNSClusterIdResponse.nsNodes:type_name -> pb.NSNode
 | 
			
		||||
	21, // 1: pb.ListEnabledNSNodesMatchResponse.nsNodes:type_name -> pb.NSNode
 | 
			
		||||
	21, // 2: pb.FindEnabledNSNodeResponse.nsNode:type_name -> pb.NSNode
 | 
			
		||||
	22, // 3: pb.FindNSNodeInstallStatusResponse.installStatus:type_name -> pb.NodeInstallStatus
 | 
			
		||||
	21, // 4: pb.FindCurrentNSNodeResponse.nsNode:type_name -> pb.NSNode
 | 
			
		||||
	0,  // 5: pb.NSNodeService.findAllEnabledNSNodesWithNSClusterId:input_type -> pb.FindAllEnabledNSNodesWithNSClusterIdRequest
 | 
			
		||||
	2,  // 6: pb.NSNodeService.countAllEnabledNSNodes:input_type -> pb.CountAllEnabledNSNodesRequest
 | 
			
		||||
	3,  // 7: pb.NSNodeService.countAllEnabledNSNodesMatch:input_type -> pb.CountAllEnabledNSNodesMatchRequest
 | 
			
		||||
	4,  // 8: pb.NSNodeService.listEnabledNSNodesMatch:input_type -> pb.ListEnabledNSNodesMatchRequest
 | 
			
		||||
	6,  // 9: pb.NSNodeService.countAllUpgradeNSNodesWithNSClusterId:input_type -> pb.CountAllUpgradeNSNodesWithNSClusterIdRequest
 | 
			
		||||
	7,  // 10: pb.NSNodeService.createNSNode:input_type -> pb.CreateNSNodeRequest
 | 
			
		||||
	9,  // 11: pb.NSNodeService.deleteNSNode:input_type -> pb.DeleteNSNodeRequest
 | 
			
		||||
	10, // 12: pb.NSNodeService.findEnabledNSNode:input_type -> pb.FindEnabledNSNodeRequest
 | 
			
		||||
	12, // 13: pb.NSNodeService.updateNSNode:input_type -> pb.UpdateNSNodeRequest
 | 
			
		||||
	13, // 14: pb.NSNodeService.installNSNode:input_type -> pb.InstallNSNodeRequest
 | 
			
		||||
	15, // 15: pb.NSNodeService.findNSNodeInstallStatus:input_type -> pb.FindNSNodeInstallStatusRequest
 | 
			
		||||
	17, // 16: pb.NSNodeService.updateNSNodeIsInstalled:input_type -> pb.UpdateNSNodeIsInstalledRequest
 | 
			
		||||
	18, // 17: pb.NSNodeService.updateNSNodeStatus:input_type -> pb.UpdateNSNodeStatusRequest
 | 
			
		||||
	19, // 18: pb.NSNodeService.findCurrentNSNode:input_type -> pb.FindCurrentNSNodeRequest
 | 
			
		||||
	1,  // 19: pb.NSNodeService.findAllEnabledNSNodesWithNSClusterId:output_type -> pb.FindAllEnabledNSNodesWithNSClusterIdResponse
 | 
			
		||||
	23, // 20: pb.NSNodeService.countAllEnabledNSNodes:output_type -> pb.RPCCountResponse
 | 
			
		||||
	23, // 21: pb.NSNodeService.countAllEnabledNSNodesMatch:output_type -> pb.RPCCountResponse
 | 
			
		||||
	5,  // 22: pb.NSNodeService.listEnabledNSNodesMatch:output_type -> pb.ListEnabledNSNodesMatchResponse
 | 
			
		||||
	23, // 23: pb.NSNodeService.countAllUpgradeNSNodesWithNSClusterId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	8,  // 24: pb.NSNodeService.createNSNode:output_type -> pb.CreateNSNodeResponse
 | 
			
		||||
	24, // 25: pb.NSNodeService.deleteNSNode:output_type -> pb.RPCSuccess
 | 
			
		||||
	11, // 26: pb.NSNodeService.findEnabledNSNode:output_type -> pb.FindEnabledNSNodeResponse
 | 
			
		||||
	24, // 27: pb.NSNodeService.updateNSNode:output_type -> pb.RPCSuccess
 | 
			
		||||
	14, // 28: pb.NSNodeService.installNSNode:output_type -> pb.InstallNSNodeResponse
 | 
			
		||||
	16, // 29: pb.NSNodeService.findNSNodeInstallStatus:output_type -> pb.FindNSNodeInstallStatusResponse
 | 
			
		||||
	24, // 30: pb.NSNodeService.updateNSNodeIsInstalled:output_type -> pb.RPCSuccess
 | 
			
		||||
	24, // 31: pb.NSNodeService.updateNSNodeStatus:output_type -> pb.RPCSuccess
 | 
			
		||||
	20, // 32: pb.NSNodeService.findCurrentNSNode:output_type -> pb.FindCurrentNSNodeResponse
 | 
			
		||||
	19, // [19:33] is the sub-list for method output_type
 | 
			
		||||
	5,  // [5:19] is the sub-list for method input_type
 | 
			
		||||
	5,  // [5:5] is the sub-list for extension type_name
 | 
			
		||||
	5,  // [5:5] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:5] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_service_ns_node_proto_init() }
 | 
			
		||||
@@ -1445,6 +1615,42 @@ func file_service_ns_node_proto_init() {
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_ns_node_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*UpdateNSNodeStatusRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_ns_node_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindCurrentNSNodeRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_ns_node_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindCurrentNSNodeResponse); 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{
 | 
			
		||||
@@ -1452,7 +1658,7 @@ func file_service_ns_node_proto_init() {
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_service_ns_node_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   18,
 | 
			
		||||
			NumMessages:   21,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
@@ -1502,6 +1708,10 @@ type NSNodeServiceClient interface {
 | 
			
		||||
	FindNSNodeInstallStatus(ctx context.Context, in *FindNSNodeInstallStatusRequest, opts ...grpc.CallOption) (*FindNSNodeInstallStatusResponse, error)
 | 
			
		||||
	// 修改节点安装状态
 | 
			
		||||
	UpdateNSNodeIsInstalled(ctx context.Context, in *UpdateNSNodeIsInstalledRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 更新节点状态
 | 
			
		||||
	UpdateNSNodeStatus(ctx context.Context, in *UpdateNSNodeStatusRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 获取当前节点信息
 | 
			
		||||
	FindCurrentNSNode(ctx context.Context, in *FindCurrentNSNodeRequest, opts ...grpc.CallOption) (*FindCurrentNSNodeResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type nSNodeServiceClient struct {
 | 
			
		||||
@@ -1620,6 +1830,24 @@ func (c *nSNodeServiceClient) UpdateNSNodeIsInstalled(ctx context.Context, in *U
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *nSNodeServiceClient) UpdateNSNodeStatus(ctx context.Context, in *UpdateNSNodeStatusRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/updateNSNodeStatus", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *nSNodeServiceClient) FindCurrentNSNode(ctx context.Context, in *FindCurrentNSNodeRequest, opts ...grpc.CallOption) (*FindCurrentNSNodeResponse, error) {
 | 
			
		||||
	out := new(FindCurrentNSNodeResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/findCurrentNSNode", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NSNodeServiceServer is the server API for NSNodeService service.
 | 
			
		||||
type NSNodeServiceServer interface {
 | 
			
		||||
	// 根据集群查找所有节点
 | 
			
		||||
@@ -1646,6 +1874,10 @@ type NSNodeServiceServer interface {
 | 
			
		||||
	FindNSNodeInstallStatus(context.Context, *FindNSNodeInstallStatusRequest) (*FindNSNodeInstallStatusResponse, error)
 | 
			
		||||
	// 修改节点安装状态
 | 
			
		||||
	UpdateNSNodeIsInstalled(context.Context, *UpdateNSNodeIsInstalledRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 更新节点状态
 | 
			
		||||
	UpdateNSNodeStatus(context.Context, *UpdateNSNodeStatusRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 获取当前节点信息
 | 
			
		||||
	FindCurrentNSNode(context.Context, *FindCurrentNSNodeRequest) (*FindCurrentNSNodeResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedNSNodeServiceServer can be embedded to have forward compatible implementations.
 | 
			
		||||
@@ -1688,6 +1920,12 @@ func (*UnimplementedNSNodeServiceServer) FindNSNodeInstallStatus(context.Context
 | 
			
		||||
func (*UnimplementedNSNodeServiceServer) UpdateNSNodeIsInstalled(context.Context, *UpdateNSNodeIsInstalledRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNSNodeIsInstalled not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedNSNodeServiceServer) UpdateNSNodeStatus(context.Context, *UpdateNSNodeStatusRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNSNodeStatus not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedNSNodeServiceServer) FindCurrentNSNode(context.Context, *FindCurrentNSNodeRequest) (*FindCurrentNSNodeResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindCurrentNSNode not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RegisterNSNodeServiceServer(s *grpc.Server, srv NSNodeServiceServer) {
 | 
			
		||||
	s.RegisterService(&_NSNodeService_serviceDesc, srv)
 | 
			
		||||
@@ -1909,6 +2147,42 @@ func _NSNodeService_UpdateNSNodeIsInstalled_Handler(srv interface{}, ctx context
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _NSNodeService_UpdateNSNodeStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(UpdateNSNodeStatusRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(NSNodeServiceServer).UpdateNSNodeStatus(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.NSNodeService/UpdateNSNodeStatus",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(NSNodeServiceServer).UpdateNSNodeStatus(ctx, req.(*UpdateNSNodeStatusRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _NSNodeService_FindCurrentNSNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(FindCurrentNSNodeRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(NSNodeServiceServer).FindCurrentNSNode(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.NSNodeService/FindCurrentNSNode",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(NSNodeServiceServer).FindCurrentNSNode(ctx, req.(*FindCurrentNSNodeRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _NSNodeService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
	ServiceName: "pb.NSNodeService",
 | 
			
		||||
	HandlerType: (*NSNodeServiceServer)(nil),
 | 
			
		||||
@@ -1961,6 +2235,14 @@ var _NSNodeService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
			MethodName: "updateNSNodeIsInstalled",
 | 
			
		||||
			Handler:    _NSNodeService_UpdateNSNodeIsInstalled_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "updateNSNodeStatus",
 | 
			
		||||
			Handler:    _NSNodeService_UpdateNSNodeStatus_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "findCurrentNSNode",
 | 
			
		||||
			Handler:    _NSNodeService_FindCurrentNSNode_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_ns_node.proto",
 | 
			
		||||
 
 | 
			
		||||
@@ -618,6 +618,109 @@ func (x *FindEnabledNSRecordResponse) GetNsRecord() *NSRecord {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 根据版本列出一组记录
 | 
			
		||||
type ListNSRecordsAfterVersionRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Version int64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
 | 
			
		||||
	Size    int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRecordsAfterVersionRequest) Reset() {
 | 
			
		||||
	*x = ListNSRecordsAfterVersionRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_ns_record_proto_msgTypes[9]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRecordsAfterVersionRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListNSRecordsAfterVersionRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRecordsAfterVersionRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_ns_record_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 ListNSRecordsAfterVersionRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListNSRecordsAfterVersionRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_ns_record_proto_rawDescGZIP(), []int{9}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRecordsAfterVersionRequest) GetVersion() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Version
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRecordsAfterVersionRequest) GetSize() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Size
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ListNSRecordsAfterVersionResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	NsRecords []*NSRecord `protobuf:"bytes,1,rep,name=nsRecords,proto3" json:"nsRecords,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRecordsAfterVersionResponse) Reset() {
 | 
			
		||||
	*x = ListNSRecordsAfterVersionResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_ns_record_proto_msgTypes[10]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRecordsAfterVersionResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListNSRecordsAfterVersionResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRecordsAfterVersionResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_ns_record_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 ListNSRecordsAfterVersionResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListNSRecordsAfterVersionResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_ns_record_proto_rawDescGZIP(), []int{10}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRecordsAfterVersionResponse) GetNsRecords() []*NSRecord {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.NsRecords
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_service_ns_record_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_service_ns_record_proto_rawDesc = []byte{
 | 
			
		||||
@@ -692,38 +795,55 @@ var file_service_ns_record_proto_rawDesc = []byte{
 | 
			
		||||
	0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f,
 | 
			
		||||
	0x72, 0x64, 0x52, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x32, 0xde, 0x03, 0x0a,
 | 
			
		||||
	0x0f, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
 | 
			
		||||
	0x12, 0x47, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f,
 | 
			
		||||
	0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53,
 | 
			
		||||
	0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72,
 | 
			
		||||
	0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0e, 0x75, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
 | 
			
		||||
	0x72, 0x64, 0x52, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x50, 0x0a, 0x20,
 | 
			
		||||
	0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, 0x74,
 | 
			
		||||
	0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x12, 0x0a, 0x04, 0x73, 0x69,
 | 
			
		||||
	0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4f,
 | 
			
		||||
	0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41,
 | 
			
		||||
	0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65,
 | 
			
		||||
	0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x32,
 | 
			
		||||
	0xc8, 0x04, 0x0a, 0x0f, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76,
 | 
			
		||||
	0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52,
 | 
			
		||||
	0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65,
 | 
			
		||||
	0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0e,
 | 
			
		||||
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f,
 | 
			
		||||
	0x72, 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, 0x3b, 0x0a, 0x0e, 0x64, 0x65, 0x6c,
 | 
			
		||||
	0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 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, 0x3b, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
 | 
			
		||||
	0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65,
 | 
			
		||||
	0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 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, 0x55, 0x0a, 0x18, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12,
 | 
			
		||||
	0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 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, 0x59, 0x0a, 0x14, 0x6c, 0x69,
 | 
			
		||||
	0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72,
 | 
			
		||||
	0x64, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52,
 | 
			
		||||
	0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52,
 | 
			
		||||
	0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a,
 | 
			
		||||
	0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x18, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41,
 | 
			
		||||
	0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72,
 | 
			
		||||
	0x64, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 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, 0x59, 0x0a,
 | 
			
		||||
	0x14, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65,
 | 
			
		||||
	0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12,
 | 
			
		||||
	0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x68, 0x0a, 0x19, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
 | 
			
		||||
	0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
 | 
			
		||||
	0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52,
 | 
			
		||||
	0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69,
 | 
			
		||||
	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f,
 | 
			
		||||
	0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
@@ -738,41 +858,46 @@ func file_service_ns_record_proto_rawDescGZIP() []byte {
 | 
			
		||||
	return file_service_ns_record_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_ns_record_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
 | 
			
		||||
var file_service_ns_record_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
 | 
			
		||||
var file_service_ns_record_proto_goTypes = []interface{}{
 | 
			
		||||
	(*CreateNSRecordRequest)(nil),           // 0: pb.CreateNSRecordRequest
 | 
			
		||||
	(*CreateNSRecordResponse)(nil),          // 1: pb.CreateNSRecordResponse
 | 
			
		||||
	(*UpdateNSRecordRequest)(nil),           // 2: pb.UpdateNSRecordRequest
 | 
			
		||||
	(*DeleteNSRecordRequest)(nil),           // 3: pb.DeleteNSRecordRequest
 | 
			
		||||
	(*CountAllEnabledNSRecordsRequest)(nil), // 4: pb.CountAllEnabledNSRecordsRequest
 | 
			
		||||
	(*ListEnabledNSRecordsRequest)(nil),     // 5: pb.ListEnabledNSRecordsRequest
 | 
			
		||||
	(*ListEnabledNSRecordsResponse)(nil),    // 6: pb.ListEnabledNSRecordsResponse
 | 
			
		||||
	(*FindEnabledNSRecordRequest)(nil),      // 7: pb.FindEnabledNSRecordRequest
 | 
			
		||||
	(*FindEnabledNSRecordResponse)(nil),     // 8: pb.FindEnabledNSRecordResponse
 | 
			
		||||
	(*NSRecord)(nil),                        // 9: pb.NSRecord
 | 
			
		||||
	(*RPCSuccess)(nil),                      // 10: pb.RPCSuccess
 | 
			
		||||
	(*RPCCountResponse)(nil),                // 11: pb.RPCCountResponse
 | 
			
		||||
	(*CreateNSRecordRequest)(nil),             // 0: pb.CreateNSRecordRequest
 | 
			
		||||
	(*CreateNSRecordResponse)(nil),            // 1: pb.CreateNSRecordResponse
 | 
			
		||||
	(*UpdateNSRecordRequest)(nil),             // 2: pb.UpdateNSRecordRequest
 | 
			
		||||
	(*DeleteNSRecordRequest)(nil),             // 3: pb.DeleteNSRecordRequest
 | 
			
		||||
	(*CountAllEnabledNSRecordsRequest)(nil),   // 4: pb.CountAllEnabledNSRecordsRequest
 | 
			
		||||
	(*ListEnabledNSRecordsRequest)(nil),       // 5: pb.ListEnabledNSRecordsRequest
 | 
			
		||||
	(*ListEnabledNSRecordsResponse)(nil),      // 6: pb.ListEnabledNSRecordsResponse
 | 
			
		||||
	(*FindEnabledNSRecordRequest)(nil),        // 7: pb.FindEnabledNSRecordRequest
 | 
			
		||||
	(*FindEnabledNSRecordResponse)(nil),       // 8: pb.FindEnabledNSRecordResponse
 | 
			
		||||
	(*ListNSRecordsAfterVersionRequest)(nil),  // 9: pb.ListNSRecordsAfterVersionRequest
 | 
			
		||||
	(*ListNSRecordsAfterVersionResponse)(nil), // 10: pb.ListNSRecordsAfterVersionResponse
 | 
			
		||||
	(*NSRecord)(nil),                          // 11: pb.NSRecord
 | 
			
		||||
	(*RPCSuccess)(nil),                        // 12: pb.RPCSuccess
 | 
			
		||||
	(*RPCCountResponse)(nil),                  // 13: pb.RPCCountResponse
 | 
			
		||||
}
 | 
			
		||||
var file_service_ns_record_proto_depIdxs = []int32{
 | 
			
		||||
	9,  // 0: pb.ListEnabledNSRecordsResponse.nsRecords:type_name -> pb.NSRecord
 | 
			
		||||
	9,  // 1: pb.FindEnabledNSRecordResponse.nsRecord:type_name -> pb.NSRecord
 | 
			
		||||
	0,  // 2: pb.NSRecordService.createNSRecord:input_type -> pb.CreateNSRecordRequest
 | 
			
		||||
	2,  // 3: pb.NSRecordService.updateNSRecord:input_type -> pb.UpdateNSRecordRequest
 | 
			
		||||
	3,  // 4: pb.NSRecordService.deleteNSRecord:input_type -> pb.DeleteNSRecordRequest
 | 
			
		||||
	4,  // 5: pb.NSRecordService.countAllEnabledNSRecords:input_type -> pb.CountAllEnabledNSRecordsRequest
 | 
			
		||||
	5,  // 6: pb.NSRecordService.listEnabledNSRecords:input_type -> pb.ListEnabledNSRecordsRequest
 | 
			
		||||
	7,  // 7: pb.NSRecordService.findEnabledNSRecord:input_type -> pb.FindEnabledNSRecordRequest
 | 
			
		||||
	1,  // 8: pb.NSRecordService.createNSRecord:output_type -> pb.CreateNSRecordResponse
 | 
			
		||||
	10, // 9: pb.NSRecordService.updateNSRecord:output_type -> pb.RPCSuccess
 | 
			
		||||
	10, // 10: pb.NSRecordService.deleteNSRecord:output_type -> pb.RPCSuccess
 | 
			
		||||
	11, // 11: pb.NSRecordService.countAllEnabledNSRecords:output_type -> pb.RPCCountResponse
 | 
			
		||||
	6,  // 12: pb.NSRecordService.listEnabledNSRecords:output_type -> pb.ListEnabledNSRecordsResponse
 | 
			
		||||
	8,  // 13: pb.NSRecordService.findEnabledNSRecord:output_type -> pb.FindEnabledNSRecordResponse
 | 
			
		||||
	8,  // [8:14] is the sub-list for method output_type
 | 
			
		||||
	2,  // [2:8] is the sub-list for method input_type
 | 
			
		||||
	2,  // [2:2] is the sub-list for extension type_name
 | 
			
		||||
	2,  // [2:2] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:2] is the sub-list for field type_name
 | 
			
		||||
	11, // 0: pb.ListEnabledNSRecordsResponse.nsRecords:type_name -> pb.NSRecord
 | 
			
		||||
	11, // 1: pb.FindEnabledNSRecordResponse.nsRecord:type_name -> pb.NSRecord
 | 
			
		||||
	11, // 2: pb.ListNSRecordsAfterVersionResponse.nsRecords:type_name -> pb.NSRecord
 | 
			
		||||
	0,  // 3: pb.NSRecordService.createNSRecord:input_type -> pb.CreateNSRecordRequest
 | 
			
		||||
	2,  // 4: pb.NSRecordService.updateNSRecord:input_type -> pb.UpdateNSRecordRequest
 | 
			
		||||
	3,  // 5: pb.NSRecordService.deleteNSRecord:input_type -> pb.DeleteNSRecordRequest
 | 
			
		||||
	4,  // 6: pb.NSRecordService.countAllEnabledNSRecords:input_type -> pb.CountAllEnabledNSRecordsRequest
 | 
			
		||||
	5,  // 7: pb.NSRecordService.listEnabledNSRecords:input_type -> pb.ListEnabledNSRecordsRequest
 | 
			
		||||
	7,  // 8: pb.NSRecordService.findEnabledNSRecord:input_type -> pb.FindEnabledNSRecordRequest
 | 
			
		||||
	9,  // 9: pb.NSRecordService.listNSRecordsAfterVersion:input_type -> pb.ListNSRecordsAfterVersionRequest
 | 
			
		||||
	1,  // 10: pb.NSRecordService.createNSRecord:output_type -> pb.CreateNSRecordResponse
 | 
			
		||||
	12, // 11: pb.NSRecordService.updateNSRecord:output_type -> pb.RPCSuccess
 | 
			
		||||
	12, // 12: pb.NSRecordService.deleteNSRecord:output_type -> pb.RPCSuccess
 | 
			
		||||
	13, // 13: pb.NSRecordService.countAllEnabledNSRecords:output_type -> pb.RPCCountResponse
 | 
			
		||||
	6,  // 14: pb.NSRecordService.listEnabledNSRecords:output_type -> pb.ListEnabledNSRecordsResponse
 | 
			
		||||
	8,  // 15: pb.NSRecordService.findEnabledNSRecord:output_type -> pb.FindEnabledNSRecordResponse
 | 
			
		||||
	10, // 16: pb.NSRecordService.listNSRecordsAfterVersion:output_type -> pb.ListNSRecordsAfterVersionResponse
 | 
			
		||||
	10, // [10:17] is the sub-list for method output_type
 | 
			
		||||
	3,  // [3:10] is the sub-list for method input_type
 | 
			
		||||
	3,  // [3:3] is the sub-list for extension type_name
 | 
			
		||||
	3,  // [3:3] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:3] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_service_ns_record_proto_init() }
 | 
			
		||||
@@ -891,6 +1016,30 @@ func file_service_ns_record_proto_init() {
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_ns_record_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListNSRecordsAfterVersionRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_ns_record_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListNSRecordsAfterVersionResponse); 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{
 | 
			
		||||
@@ -898,7 +1047,7 @@ func file_service_ns_record_proto_init() {
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_service_ns_record_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   9,
 | 
			
		||||
			NumMessages:   11,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
@@ -936,6 +1085,8 @@ type NSRecordServiceClient interface {
 | 
			
		||||
	ListEnabledNSRecords(ctx context.Context, in *ListEnabledNSRecordsRequest, opts ...grpc.CallOption) (*ListEnabledNSRecordsResponse, error)
 | 
			
		||||
	// 查询单个记录信息
 | 
			
		||||
	FindEnabledNSRecord(ctx context.Context, in *FindEnabledNSRecordRequest, opts ...grpc.CallOption) (*FindEnabledNSRecordResponse, error)
 | 
			
		||||
	// 根据版本列出一组记录
 | 
			
		||||
	ListNSRecordsAfterVersion(ctx context.Context, in *ListNSRecordsAfterVersionRequest, opts ...grpc.CallOption) (*ListNSRecordsAfterVersionResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type nSRecordServiceClient struct {
 | 
			
		||||
@@ -1000,6 +1151,15 @@ func (c *nSRecordServiceClient) FindEnabledNSRecord(ctx context.Context, in *Fin
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *nSRecordServiceClient) ListNSRecordsAfterVersion(ctx context.Context, in *ListNSRecordsAfterVersionRequest, opts ...grpc.CallOption) (*ListNSRecordsAfterVersionResponse, error) {
 | 
			
		||||
	out := new(ListNSRecordsAfterVersionResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.NSRecordService/listNSRecordsAfterVersion", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NSRecordServiceServer is the server API for NSRecordService service.
 | 
			
		||||
type NSRecordServiceServer interface {
 | 
			
		||||
	// 创建记录
 | 
			
		||||
@@ -1014,6 +1174,8 @@ type NSRecordServiceServer interface {
 | 
			
		||||
	ListEnabledNSRecords(context.Context, *ListEnabledNSRecordsRequest) (*ListEnabledNSRecordsResponse, error)
 | 
			
		||||
	// 查询单个记录信息
 | 
			
		||||
	FindEnabledNSRecord(context.Context, *FindEnabledNSRecordRequest) (*FindEnabledNSRecordResponse, error)
 | 
			
		||||
	// 根据版本列出一组记录
 | 
			
		||||
	ListNSRecordsAfterVersion(context.Context, *ListNSRecordsAfterVersionRequest) (*ListNSRecordsAfterVersionResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedNSRecordServiceServer can be embedded to have forward compatible implementations.
 | 
			
		||||
@@ -1038,6 +1200,9 @@ func (*UnimplementedNSRecordServiceServer) ListEnabledNSRecords(context.Context,
 | 
			
		||||
func (*UnimplementedNSRecordServiceServer) FindEnabledNSRecord(context.Context, *FindEnabledNSRecordRequest) (*FindEnabledNSRecordResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindEnabledNSRecord not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedNSRecordServiceServer) ListNSRecordsAfterVersion(context.Context, *ListNSRecordsAfterVersionRequest) (*ListNSRecordsAfterVersionResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method ListNSRecordsAfterVersion not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RegisterNSRecordServiceServer(s *grpc.Server, srv NSRecordServiceServer) {
 | 
			
		||||
	s.RegisterService(&_NSRecordService_serviceDesc, srv)
 | 
			
		||||
@@ -1151,6 +1316,24 @@ func _NSRecordService_FindEnabledNSRecord_Handler(srv interface{}, ctx context.C
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _NSRecordService_ListNSRecordsAfterVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(ListNSRecordsAfterVersionRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(NSRecordServiceServer).ListNSRecordsAfterVersion(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.NSRecordService/ListNSRecordsAfterVersion",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(NSRecordServiceServer).ListNSRecordsAfterVersion(ctx, req.(*ListNSRecordsAfterVersionRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _NSRecordService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
	ServiceName: "pb.NSRecordService",
 | 
			
		||||
	HandlerType: (*NSRecordServiceServer)(nil),
 | 
			
		||||
@@ -1179,6 +1362,10 @@ var _NSRecordService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
			MethodName: "findEnabledNSRecord",
 | 
			
		||||
			Handler:    _NSRecordService_FindEnabledNSRecord_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "listNSRecordsAfterVersion",
 | 
			
		||||
			Handler:    _NSRecordService_ListNSRecordsAfterVersion_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_ns_record.proto",
 | 
			
		||||
 
 | 
			
		||||
@@ -522,6 +522,109 @@ func (x *UpdateNSRouteOrdersRequest) GetNsRouteIds() []int64 {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 根据版本列出一组线路
 | 
			
		||||
type ListNSRoutesAfterVersionRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Version int64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
 | 
			
		||||
	Size    int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRoutesAfterVersionRequest) Reset() {
 | 
			
		||||
	*x = ListNSRoutesAfterVersionRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_ns_route_proto_msgTypes[9]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRoutesAfterVersionRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListNSRoutesAfterVersionRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRoutesAfterVersionRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_ns_route_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 ListNSRoutesAfterVersionRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListNSRoutesAfterVersionRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_ns_route_proto_rawDescGZIP(), []int{9}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRoutesAfterVersionRequest) GetVersion() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Version
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRoutesAfterVersionRequest) GetSize() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Size
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ListNSRoutesAfterVersionResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	NsRoutes []*NSRoute `protobuf:"bytes,1,rep,name=nsRoutes,proto3" json:"nsRoutes,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRoutesAfterVersionResponse) Reset() {
 | 
			
		||||
	*x = ListNSRoutesAfterVersionResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_ns_route_proto_msgTypes[10]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRoutesAfterVersionResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListNSRoutesAfterVersionResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRoutesAfterVersionResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_ns_route_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 ListNSRoutesAfterVersionResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListNSRoutesAfterVersionResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_ns_route_proto_rawDescGZIP(), []int{10}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListNSRoutesAfterVersionResponse) GetNsRoutes() []*NSRoute {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.NsRoutes
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_service_ns_route_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_service_ns_route_proto_rawDesc = []byte{
 | 
			
		||||
@@ -578,37 +681,53 @@ var file_service_ns_route_proto_rawDesc = []byte{
 | 
			
		||||
	0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74,
 | 
			
		||||
	0x65, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x6f,
 | 
			
		||||
	0x75, 0x74, 0x65, 0x49, 0x64, 0x73, 0x32, 0xc9, 0x03, 0x0a, 0x0e, 0x4e, 0x53, 0x52, 0x6f, 0x75,
 | 
			
		||||
	0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65,
 | 
			
		||||
	0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f,
 | 
			
		||||
	0x75, 0x74, 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, 0x39, 0x0a, 0x0d, 0x64, 0x65,
 | 
			
		||||
	0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 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, 0x53, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f,
 | 
			
		||||
	0x75, 0x74, 0x65, 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, 0x53, 0x52, 0x6f, 0x75,
 | 
			
		||||
	0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f,
 | 
			
		||||
	0x75, 0x74, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
 | 
			
		||||
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f, 0x75,
 | 
			
		||||
	0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x13, 0x75,
 | 
			
		||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65,
 | 
			
		||||
	0x72, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53,
 | 
			
		||||
	0x52, 0x6f, 0x75, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 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,
 | 
			
		||||
	0x75, 0x74, 0x65, 0x49, 0x64, 0x73, 0x22, 0x4f, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53,
 | 
			
		||||
	0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69,
 | 
			
		||||
	0x6f, 0x6e, 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, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4b, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x4e,
 | 
			
		||||
	0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73,
 | 
			
		||||
	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x6e,
 | 
			
		||||
	0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x08, 0x6e, 0x73, 0x52, 0x6f,
 | 
			
		||||
	0x75, 0x74, 0x65, 0x73, 0x32, 0xb0, 0x04, 0x0a, 0x0e, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65,
 | 
			
		||||
	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72,
 | 
			
		||||
	0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53,
 | 
			
		||||
	0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a,
 | 
			
		||||
	0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x18,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74,
 | 
			
		||||
	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, 0x39, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65,
 | 
			
		||||
	0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x44,
 | 
			
		||||
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 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, 0x53, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
			
		||||
	0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74,
 | 
			
		||||
	0x65, 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, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74,
 | 
			
		||||
	0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
 | 
			
		||||
	0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65,
 | 
			
		||||
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x13, 0x75, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73,
 | 
			
		||||
	0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f,
 | 
			
		||||
	0x75, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 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, 0x65, 0x0a, 0x18, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73,
 | 
			
		||||
	0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x41, 0x66,
 | 
			
		||||
	0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x6f, 0x75,
 | 
			
		||||
	0x74, 0x65, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62,
 | 
			
		||||
	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
@@ -623,40 +742,45 @@ func file_service_ns_route_proto_rawDescGZIP() []byte {
 | 
			
		||||
	return file_service_ns_route_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_ns_route_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
 | 
			
		||||
var file_service_ns_route_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
 | 
			
		||||
var file_service_ns_route_proto_goTypes = []interface{}{
 | 
			
		||||
	(*CreateNSRouteRequest)(nil),           // 0: pb.CreateNSRouteRequest
 | 
			
		||||
	(*CreateNSRouteResponse)(nil),          // 1: pb.CreateNSRouteResponse
 | 
			
		||||
	(*UpdateNSRouteRequest)(nil),           // 2: pb.UpdateNSRouteRequest
 | 
			
		||||
	(*DeleteNSRouteRequest)(nil),           // 3: pb.DeleteNSRouteRequest
 | 
			
		||||
	(*FindEnabledNSRouteRequest)(nil),      // 4: pb.FindEnabledNSRouteRequest
 | 
			
		||||
	(*FindEnabledNSRouteResponse)(nil),     // 5: pb.FindEnabledNSRouteResponse
 | 
			
		||||
	(*FindAllEnabledNSRoutesRequest)(nil),  // 6: pb.FindAllEnabledNSRoutesRequest
 | 
			
		||||
	(*FindAllEnabledNSRoutesResponse)(nil), // 7: pb.FindAllEnabledNSRoutesResponse
 | 
			
		||||
	(*UpdateNSRouteOrdersRequest)(nil),     // 8: pb.UpdateNSRouteOrdersRequest
 | 
			
		||||
	(*NSRoute)(nil),                        // 9: pb.NSRoute
 | 
			
		||||
	(*RPCSuccess)(nil),                     // 10: pb.RPCSuccess
 | 
			
		||||
	(*CreateNSRouteRequest)(nil),             // 0: pb.CreateNSRouteRequest
 | 
			
		||||
	(*CreateNSRouteResponse)(nil),            // 1: pb.CreateNSRouteResponse
 | 
			
		||||
	(*UpdateNSRouteRequest)(nil),             // 2: pb.UpdateNSRouteRequest
 | 
			
		||||
	(*DeleteNSRouteRequest)(nil),             // 3: pb.DeleteNSRouteRequest
 | 
			
		||||
	(*FindEnabledNSRouteRequest)(nil),        // 4: pb.FindEnabledNSRouteRequest
 | 
			
		||||
	(*FindEnabledNSRouteResponse)(nil),       // 5: pb.FindEnabledNSRouteResponse
 | 
			
		||||
	(*FindAllEnabledNSRoutesRequest)(nil),    // 6: pb.FindAllEnabledNSRoutesRequest
 | 
			
		||||
	(*FindAllEnabledNSRoutesResponse)(nil),   // 7: pb.FindAllEnabledNSRoutesResponse
 | 
			
		||||
	(*UpdateNSRouteOrdersRequest)(nil),       // 8: pb.UpdateNSRouteOrdersRequest
 | 
			
		||||
	(*ListNSRoutesAfterVersionRequest)(nil),  // 9: pb.ListNSRoutesAfterVersionRequest
 | 
			
		||||
	(*ListNSRoutesAfterVersionResponse)(nil), // 10: pb.ListNSRoutesAfterVersionResponse
 | 
			
		||||
	(*NSRoute)(nil),                          // 11: pb.NSRoute
 | 
			
		||||
	(*RPCSuccess)(nil),                       // 12: pb.RPCSuccess
 | 
			
		||||
}
 | 
			
		||||
var file_service_ns_route_proto_depIdxs = []int32{
 | 
			
		||||
	9,  // 0: pb.FindEnabledNSRouteResponse.nsRoute:type_name -> pb.NSRoute
 | 
			
		||||
	9,  // 1: pb.FindAllEnabledNSRoutesResponse.nsRoutes:type_name -> pb.NSRoute
 | 
			
		||||
	0,  // 2: pb.NSRouteService.createNSRoute:input_type -> pb.CreateNSRouteRequest
 | 
			
		||||
	2,  // 3: pb.NSRouteService.updateNSRoute:input_type -> pb.UpdateNSRouteRequest
 | 
			
		||||
	3,  // 4: pb.NSRouteService.deleteNSRoute:input_type -> pb.DeleteNSRouteRequest
 | 
			
		||||
	4,  // 5: pb.NSRouteService.findEnabledNSRoute:input_type -> pb.FindEnabledNSRouteRequest
 | 
			
		||||
	6,  // 6: pb.NSRouteService.findAllEnabledNSRoutes:input_type -> pb.FindAllEnabledNSRoutesRequest
 | 
			
		||||
	8,  // 7: pb.NSRouteService.updateNSRouteOrders:input_type -> pb.UpdateNSRouteOrdersRequest
 | 
			
		||||
	1,  // 8: pb.NSRouteService.createNSRoute:output_type -> pb.CreateNSRouteResponse
 | 
			
		||||
	10, // 9: pb.NSRouteService.updateNSRoute:output_type -> pb.RPCSuccess
 | 
			
		||||
	10, // 10: pb.NSRouteService.deleteNSRoute:output_type -> pb.RPCSuccess
 | 
			
		||||
	5,  // 11: pb.NSRouteService.findEnabledNSRoute:output_type -> pb.FindEnabledNSRouteResponse
 | 
			
		||||
	7,  // 12: pb.NSRouteService.findAllEnabledNSRoutes:output_type -> pb.FindAllEnabledNSRoutesResponse
 | 
			
		||||
	10, // 13: pb.NSRouteService.updateNSRouteOrders:output_type -> pb.RPCSuccess
 | 
			
		||||
	8,  // [8:14] is the sub-list for method output_type
 | 
			
		||||
	2,  // [2:8] is the sub-list for method input_type
 | 
			
		||||
	2,  // [2:2] is the sub-list for extension type_name
 | 
			
		||||
	2,  // [2:2] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:2] is the sub-list for field type_name
 | 
			
		||||
	11, // 0: pb.FindEnabledNSRouteResponse.nsRoute:type_name -> pb.NSRoute
 | 
			
		||||
	11, // 1: pb.FindAllEnabledNSRoutesResponse.nsRoutes:type_name -> pb.NSRoute
 | 
			
		||||
	11, // 2: pb.ListNSRoutesAfterVersionResponse.nsRoutes:type_name -> pb.NSRoute
 | 
			
		||||
	0,  // 3: pb.NSRouteService.createNSRoute:input_type -> pb.CreateNSRouteRequest
 | 
			
		||||
	2,  // 4: pb.NSRouteService.updateNSRoute:input_type -> pb.UpdateNSRouteRequest
 | 
			
		||||
	3,  // 5: pb.NSRouteService.deleteNSRoute:input_type -> pb.DeleteNSRouteRequest
 | 
			
		||||
	4,  // 6: pb.NSRouteService.findEnabledNSRoute:input_type -> pb.FindEnabledNSRouteRequest
 | 
			
		||||
	6,  // 7: pb.NSRouteService.findAllEnabledNSRoutes:input_type -> pb.FindAllEnabledNSRoutesRequest
 | 
			
		||||
	8,  // 8: pb.NSRouteService.updateNSRouteOrders:input_type -> pb.UpdateNSRouteOrdersRequest
 | 
			
		||||
	9,  // 9: pb.NSRouteService.listNSRoutesAfterVersion:input_type -> pb.ListNSRoutesAfterVersionRequest
 | 
			
		||||
	1,  // 10: pb.NSRouteService.createNSRoute:output_type -> pb.CreateNSRouteResponse
 | 
			
		||||
	12, // 11: pb.NSRouteService.updateNSRoute:output_type -> pb.RPCSuccess
 | 
			
		||||
	12, // 12: pb.NSRouteService.deleteNSRoute:output_type -> pb.RPCSuccess
 | 
			
		||||
	5,  // 13: pb.NSRouteService.findEnabledNSRoute:output_type -> pb.FindEnabledNSRouteResponse
 | 
			
		||||
	7,  // 14: pb.NSRouteService.findAllEnabledNSRoutes:output_type -> pb.FindAllEnabledNSRoutesResponse
 | 
			
		||||
	12, // 15: pb.NSRouteService.updateNSRouteOrders:output_type -> pb.RPCSuccess
 | 
			
		||||
	10, // 16: pb.NSRouteService.listNSRoutesAfterVersion:output_type -> pb.ListNSRoutesAfterVersionResponse
 | 
			
		||||
	10, // [10:17] is the sub-list for method output_type
 | 
			
		||||
	3,  // [3:10] is the sub-list for method input_type
 | 
			
		||||
	3,  // [3:3] is the sub-list for extension type_name
 | 
			
		||||
	3,  // [3:3] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:3] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_service_ns_route_proto_init() }
 | 
			
		||||
@@ -775,6 +899,30 @@ func file_service_ns_route_proto_init() {
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_ns_route_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListNSRoutesAfterVersionRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_ns_route_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListNSRoutesAfterVersionResponse); 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{
 | 
			
		||||
@@ -782,7 +930,7 @@ func file_service_ns_route_proto_init() {
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_service_ns_route_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   9,
 | 
			
		||||
			NumMessages:   11,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
@@ -820,6 +968,8 @@ type NSRouteServiceClient interface {
 | 
			
		||||
	FindAllEnabledNSRoutes(ctx context.Context, in *FindAllEnabledNSRoutesRequest, opts ...grpc.CallOption) (*FindAllEnabledNSRoutesResponse, error)
 | 
			
		||||
	// 设置线路排序
 | 
			
		||||
	UpdateNSRouteOrders(ctx context.Context, in *UpdateNSRouteOrdersRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 根据版本列出一组线路
 | 
			
		||||
	ListNSRoutesAfterVersion(ctx context.Context, in *ListNSRoutesAfterVersionRequest, opts ...grpc.CallOption) (*ListNSRoutesAfterVersionResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type nSRouteServiceClient struct {
 | 
			
		||||
@@ -884,6 +1034,15 @@ func (c *nSRouteServiceClient) UpdateNSRouteOrders(ctx context.Context, in *Upda
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *nSRouteServiceClient) ListNSRoutesAfterVersion(ctx context.Context, in *ListNSRoutesAfterVersionRequest, opts ...grpc.CallOption) (*ListNSRoutesAfterVersionResponse, error) {
 | 
			
		||||
	out := new(ListNSRoutesAfterVersionResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.NSRouteService/listNSRoutesAfterVersion", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NSRouteServiceServer is the server API for NSRouteService service.
 | 
			
		||||
type NSRouteServiceServer interface {
 | 
			
		||||
	// 创建线路
 | 
			
		||||
@@ -898,6 +1057,8 @@ type NSRouteServiceServer interface {
 | 
			
		||||
	FindAllEnabledNSRoutes(context.Context, *FindAllEnabledNSRoutesRequest) (*FindAllEnabledNSRoutesResponse, error)
 | 
			
		||||
	// 设置线路排序
 | 
			
		||||
	UpdateNSRouteOrders(context.Context, *UpdateNSRouteOrdersRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 根据版本列出一组线路
 | 
			
		||||
	ListNSRoutesAfterVersion(context.Context, *ListNSRoutesAfterVersionRequest) (*ListNSRoutesAfterVersionResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedNSRouteServiceServer can be embedded to have forward compatible implementations.
 | 
			
		||||
@@ -922,6 +1083,9 @@ func (*UnimplementedNSRouteServiceServer) FindAllEnabledNSRoutes(context.Context
 | 
			
		||||
func (*UnimplementedNSRouteServiceServer) UpdateNSRouteOrders(context.Context, *UpdateNSRouteOrdersRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNSRouteOrders not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedNSRouteServiceServer) ListNSRoutesAfterVersion(context.Context, *ListNSRoutesAfterVersionRequest) (*ListNSRoutesAfterVersionResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method ListNSRoutesAfterVersion not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RegisterNSRouteServiceServer(s *grpc.Server, srv NSRouteServiceServer) {
 | 
			
		||||
	s.RegisterService(&_NSRouteService_serviceDesc, srv)
 | 
			
		||||
@@ -1035,6 +1199,24 @@ func _NSRouteService_UpdateNSRouteOrders_Handler(srv interface{}, ctx context.Co
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _NSRouteService_ListNSRoutesAfterVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(ListNSRoutesAfterVersionRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(NSRouteServiceServer).ListNSRoutesAfterVersion(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.NSRouteService/ListNSRoutesAfterVersion",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(NSRouteServiceServer).ListNSRoutesAfterVersion(ctx, req.(*ListNSRoutesAfterVersionRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _NSRouteService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
	ServiceName: "pb.NSRouteService",
 | 
			
		||||
	HandlerType: (*NSRouteServiceServer)(nil),
 | 
			
		||||
@@ -1063,6 +1245,10 @@ var _NSRouteService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
			MethodName: "updateNSRouteOrders",
 | 
			
		||||
			Handler:    _NSRouteService_UpdateNSRouteOrders_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "listNSRoutesAfterVersion",
 | 
			
		||||
			Handler:    _NSRouteService_ListNSRoutesAfterVersion_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_ns_route.proto",
 | 
			
		||||
 
 | 
			
		||||
@@ -12,6 +12,8 @@ message NSDomain {
 | 
			
		||||
	string name = 2;
 | 
			
		||||
	bool isOn = 3;
 | 
			
		||||
	int64 createdAt = 4;
 | 
			
		||||
	bool isDeleted = 5;
 | 
			
		||||
	int64 version = 6;
 | 
			
		||||
 | 
			
		||||
	NSCluster nsCluster = 30;
 | 
			
		||||
	User user = 31;
 | 
			
		||||
 
 | 
			
		||||
@@ -16,6 +16,9 @@ message NSRecord {
 | 
			
		||||
	int32 ttl = 6;
 | 
			
		||||
	int32 weight = 7;
 | 
			
		||||
	int64 createdAt = 8;
 | 
			
		||||
	bool isDeleted = 9;
 | 
			
		||||
	int64 version = 10;
 | 
			
		||||
	bool isOn = 11;
 | 
			
		||||
 | 
			
		||||
	NSDomain nsDomain = 30;
 | 
			
		||||
	repeated NSRoute nsRoutes = 31;
 | 
			
		||||
 
 | 
			
		||||
@@ -12,6 +12,9 @@ message NSRoute {
 | 
			
		||||
	bool isOn = 2;
 | 
			
		||||
	string name = 3;
 | 
			
		||||
	bytes rangesJSON = 4;
 | 
			
		||||
	bool isDeleted = 5;
 | 
			
		||||
	int64 order = 6;
 | 
			
		||||
	int64 version = 7;
 | 
			
		||||
 | 
			
		||||
	NSCluster nsCluster = 30;
 | 
			
		||||
	NSDomain nsDomain = 31;
 | 
			
		||||
 
 | 
			
		||||
@@ -25,6 +25,9 @@ service NSDomainService {
 | 
			
		||||
 | 
			
		||||
	// 列出单页域名
 | 
			
		||||
	rpc listEnabledNSDomains (ListEnabledNSDomainsRequest) returns (ListEnabledNSDomainsResponse);
 | 
			
		||||
 | 
			
		||||
	// 根据版本列出一组域名
 | 
			
		||||
	rpc listNSDomainsAfterVersion (ListNSDomainsAfterVersionRequest) returns (ListNSDomainsAfterVersionResponse);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 创建域名
 | 
			
		||||
@@ -39,12 +42,12 @@ message CreateNSDomainResponse {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改域名
 | 
			
		||||
// 注意:名称不能修改
 | 
			
		||||
message UpdateNSDomainRequest {
 | 
			
		||||
	int64 nsDomainId = 1;
 | 
			
		||||
	int64 nsClusterId = 2;
 | 
			
		||||
	int64 userId = 3;
 | 
			
		||||
	string name = 4;
 | 
			
		||||
	bool isOn = 5;
 | 
			
		||||
	bool isOn = 4;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 删除域名
 | 
			
		||||
@@ -80,3 +83,13 @@ message ListEnabledNSDomainsRequest {
 | 
			
		||||
message ListEnabledNSDomainsResponse {
 | 
			
		||||
	repeated NSDomain nsDomains = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 根据版本列出一组域名
 | 
			
		||||
message ListNSDomainsAfterVersionRequest {
 | 
			
		||||
	int64 version = 1;
 | 
			
		||||
	int64 size = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message ListNSDomainsAfterVersionResponse {
 | 
			
		||||
	repeated NSDomain nsDomains = 1;
 | 
			
		||||
}
 | 
			
		||||
@@ -44,6 +44,12 @@ service NSNodeService {
 | 
			
		||||
 | 
			
		||||
	// 修改节点安装状态
 | 
			
		||||
	rpc updateNSNodeIsInstalled (UpdateNSNodeIsInstalledRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 更新节点状态
 | 
			
		||||
	rpc updateNSNodeStatus (UpdateNSNodeStatusRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 获取当前节点信息
 | 
			
		||||
	rpc findCurrentNSNode (FindCurrentNSNodeRequest) returns (FindCurrentNSNodeResponse);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 根据集群查找所有节点
 | 
			
		||||
@@ -146,3 +152,18 @@ message UpdateNSNodeIsInstalledRequest {
 | 
			
		||||
	int64 nsNodeId = 1;
 | 
			
		||||
	bool isInstalled = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 更新认证状态
 | 
			
		||||
message UpdateNSNodeStatusRequest {
 | 
			
		||||
	int64 nodeId = 1;
 | 
			
		||||
	bytes statusJSON = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 获取当前节点信息
 | 
			
		||||
message FindCurrentNSNodeRequest {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindCurrentNSNodeResponse {
 | 
			
		||||
	NSNode nsNode = 1;
 | 
			
		||||
}
 | 
			
		||||
@@ -25,6 +25,9 @@ service NSRecordService {
 | 
			
		||||
 | 
			
		||||
	// 查询单个记录信息
 | 
			
		||||
	rpc findEnabledNSRecord (FindEnabledNSRecordRequest) returns (FindEnabledNSRecordResponse);
 | 
			
		||||
 | 
			
		||||
	// 根据版本列出一组记录
 | 
			
		||||
	rpc listNSRecordsAfterVersion (ListNSRecordsAfterVersionRequest) returns (ListNSRecordsAfterVersionResponse);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 创建记录
 | 
			
		||||
@@ -88,3 +91,13 @@ message FindEnabledNSRecordRequest {
 | 
			
		||||
message FindEnabledNSRecordResponse {
 | 
			
		||||
	NSRecord nsRecord = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 根据版本列出一组记录
 | 
			
		||||
message ListNSRecordsAfterVersionRequest {
 | 
			
		||||
	int64 version = 1;
 | 
			
		||||
	int64 size = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message ListNSRecordsAfterVersionResponse {
 | 
			
		||||
	repeated NSRecord nsRecords = 1;
 | 
			
		||||
}
 | 
			
		||||
@@ -25,6 +25,9 @@ service NSRouteService {
 | 
			
		||||
 | 
			
		||||
	// 设置线路排序
 | 
			
		||||
	rpc updateNSRouteOrders (UpdateNSRouteOrdersRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 根据版本列出一组线路
 | 
			
		||||
	rpc listNSRoutesAfterVersion (ListNSRoutesAfterVersionRequest) returns (ListNSRoutesAfterVersionResponse);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 创建线路
 | 
			
		||||
@@ -76,3 +79,13 @@ message FindAllEnabledNSRoutesResponse {
 | 
			
		||||
message UpdateNSRouteOrdersRequest {
 | 
			
		||||
	repeated int64 nsRouteIds = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 根据版本列出一组线路
 | 
			
		||||
message ListNSRoutesAfterVersionRequest {
 | 
			
		||||
	int64 version = 1;
 | 
			
		||||
	int64 size = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message ListNSRoutesAfterVersionResponse {
 | 
			
		||||
	repeated NSRoute nsRoutes = 1;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user