mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00: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
 | 
					go 1.15
 | 
				
			||||||
 | 
					
 | 
				
			||||||
require (
 | 
					require (
 | 
				
			||||||
 | 
						github.com/cespare/xxhash/v2 v2.1.1
 | 
				
			||||||
	github.com/go-yaml/yaml v2.1.0+incompatible
 | 
						github.com/go-yaml/yaml v2.1.0+incompatible
 | 
				
			||||||
	github.com/golang/protobuf v1.4.2
 | 
						github.com/golang/protobuf v1.4.2
 | 
				
			||||||
	github.com/iwind/TeaGo v0.0.0-20210411134150-ddf57e240c2f
 | 
						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/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/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM=
 | 
				
			||||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
 | 
					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/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 | 
				
			||||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
 | 
					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=
 | 
					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,
 | 
								Type:        RecordTypeTXT,
 | 
				
			||||||
			Description: "文本长度限制512,通常做SPF记录(反垃圾邮件)",
 | 
								Description: "文本长度限制512,通常做SPF记录或者校验域名所有者",
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			Type:        RecordTypeCAA,
 | 
								Type:        RecordTypeCAA,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,14 +2,39 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
package dnsconfigs
 | 
					package dnsconfigs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "github.com/TeaOSLab/EdgeCommon/pkg/configutils"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type RouteRangeType = string
 | 
					type RouteRangeType = string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	RouteRangeTypeIP RouteRangeType = "ipRange"
 | 
						RouteRangeTypeIP RouteRangeType = "ipRange"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type RouteRangeInterface interface {
 | 
				
			||||||
 | 
						Init() error
 | 
				
			||||||
 | 
						Contains(ip uint64) bool
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RouteRangeIPRange IP范围配置
 | 
					// RouteRangeIPRange IP范围配置
 | 
				
			||||||
type RouteRangeIPRange struct {
 | 
					type RouteRangeIPRange struct {
 | 
				
			||||||
	IPFrom string `json:"ipFrom"`
 | 
						IPFrom string `json:"ipFrom"`
 | 
				
			||||||
	IPTo   string `json:"ipTo"`
 | 
						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"`
 | 
						Name      string     `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
 | 
				
			||||||
	IsOn      bool       `protobuf:"varint,3,opt,name=isOn,proto3" json:"isOn,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"`
 | 
						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"`
 | 
						NsCluster *NSCluster `protobuf:"bytes,30,opt,name=nsCluster,proto3" json:"nsCluster,omitempty"`
 | 
				
			||||||
	User      *User      `protobuf:"bytes,31,opt,name=user,proto3" json:"user,omitempty"`
 | 
						User      *User      `protobuf:"bytes,31,opt,name=user,proto3" json:"user,omitempty"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -99,6 +101,20 @@ func (x *NSDomain) GetCreatedAt() int64 {
 | 
				
			|||||||
	return 0
 | 
						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 {
 | 
					func (x *NSDomain) GetNsCluster() *NSCluster {
 | 
				
			||||||
	if x != nil {
 | 
						if x != nil {
 | 
				
			||||||
		return x.NsCluster
 | 
							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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a,
 | 
				
			||||||
	0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b,
 | 
						0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
 | 
				
			||||||
	0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52,
 | 
						0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76,
 | 
				
			||||||
	0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x04, 0x75, 0x73,
 | 
						0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65,
 | 
				
			||||||
	0x65, 0x72, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73,
 | 
						0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74,
 | 
				
			||||||
	0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62,
 | 
						0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53,
 | 
				
			||||||
	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
						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 (
 | 
					var (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -39,6 +39,9 @@ type NSRecord struct {
 | 
				
			|||||||
	Ttl         int32      `protobuf:"varint,6,opt,name=ttl,proto3" json:"ttl,omitempty"`
 | 
						Ttl         int32      `protobuf:"varint,6,opt,name=ttl,proto3" json:"ttl,omitempty"`
 | 
				
			||||||
	Weight      int32      `protobuf:"varint,7,opt,name=weight,proto3" json:"weight,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"`
 | 
						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"`
 | 
						NsDomain    *NSDomain  `protobuf:"bytes,30,opt,name=nsDomain,proto3" json:"nsDomain,omitempty"`
 | 
				
			||||||
	NsRoutes    []*NSRoute `protobuf:"bytes,31,rep,name=nsRoutes,proto3" json:"nsRoutes,omitempty"`
 | 
						NsRoutes    []*NSRoute `protobuf:"bytes,31,rep,name=nsRoutes,proto3" json:"nsRoutes,omitempty"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -131,6 +134,27 @@ func (x *NSRecord) GetCreatedAt() int64 {
 | 
				
			|||||||
	return 0
 | 
						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 {
 | 
					func (x *NSRecord) GetNsDomain() *NSDomain {
 | 
				
			||||||
	if x != nil {
 | 
						if x != nil {
 | 
				
			||||||
		return x.NsDomain
 | 
							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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18,
 | 
				
			||||||
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61,
 | 
						0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
 | 
				
			||||||
	0x69, 0x6e, 0x52, 0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x08,
 | 
						0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28,
 | 
				
			||||||
	0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b,
 | 
						0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73,
 | 
				
			||||||
	0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x08, 0x6e, 0x73, 0x52,
 | 
						0x4f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x28,
 | 
				
			||||||
	0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70,
 | 
						0x0a, 0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b,
 | 
				
			||||||
	0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
						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 (
 | 
					var (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,6 +35,9 @@ type NSRoute struct {
 | 
				
			|||||||
	IsOn       bool       `protobuf:"varint,2,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
						IsOn       bool       `protobuf:"varint,2,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
				
			||||||
	Name       string     `protobuf:"bytes,3,opt,name=name,proto3" json:"name,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"`
 | 
						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"`
 | 
						NsCluster  *NSCluster `protobuf:"bytes,30,opt,name=nsCluster,proto3" json:"nsCluster,omitempty"`
 | 
				
			||||||
	NsDomain   *NSDomain  `protobuf:"bytes,31,opt,name=nsDomain,proto3" json:"nsDomain,omitempty"`
 | 
						NsDomain   *NSDomain  `protobuf:"bytes,31,opt,name=nsDomain,proto3" json:"nsDomain,omitempty"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -99,6 +102,27 @@ func (x *NSRoute) GetRangesJSON() []byte {
 | 
				
			|||||||
	return nil
 | 
						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 {
 | 
					func (x *NSRoute) GetNsCluster() *NSCluster {
 | 
				
			||||||
	if x != nil {
 | 
						if x != nil {
 | 
				
			||||||
		return x.NsCluster
 | 
							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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86,
 | 
				
			||||||
	0x01, 0x0a, 0x07, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18,
 | 
				
			||||||
	0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x43, 0x6c, 0x75,
 | 
						0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
 | 
				
			||||||
	0x73, 0x74, 0x65, 0x72, 0x52, 0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12,
 | 
						0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
				
			||||||
	0x28, 0x0a, 0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x1f, 0x20, 0x01, 0x28,
 | 
						0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
 | 
				
			||||||
	0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52,
 | 
						0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
 | 
				
			||||||
	0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70,
 | 
						0x12, 0x2b, 0x0a, 0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x1e, 0x20,
 | 
				
			||||||
	0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
						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 (
 | 
					var (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -141,16 +141,16 @@ func (x *CreateNSDomainResponse) GetNsDomainId() int64 {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 修改域名
 | 
					// 修改域名
 | 
				
			||||||
 | 
					// 注意:名称不能修改
 | 
				
			||||||
type UpdateNSDomainRequest struct {
 | 
					type UpdateNSDomainRequest struct {
 | 
				
			||||||
	state         protoimpl.MessageState
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
	sizeCache     protoimpl.SizeCache
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
	unknownFields protoimpl.UnknownFields
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	NsDomainId  int64  `protobuf:"varint,1,opt,name=nsDomainId,proto3" json:"nsDomainId,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"`
 | 
						NsClusterId int64 `protobuf:"varint,2,opt,name=nsClusterId,proto3" json:"nsClusterId,omitempty"`
 | 
				
			||||||
	UserId      int64  `protobuf:"varint,3,opt,name=userId,proto3" json:"userId,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,4,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
				
			||||||
	IsOn        bool   `protobuf:"varint,5,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (x *UpdateNSDomainRequest) Reset() {
 | 
					func (x *UpdateNSDomainRequest) Reset() {
 | 
				
			||||||
@@ -206,13 +206,6 @@ func (x *UpdateNSDomainRequest) GetUserId() int64 {
 | 
				
			|||||||
	return 0
 | 
						return 0
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (x *UpdateNSDomainRequest) GetName() string {
 | 
					 | 
				
			||||||
	if x != nil {
 | 
					 | 
				
			||||||
		return x.Name
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return ""
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (x *UpdateNSDomainRequest) GetIsOn() bool {
 | 
					func (x *UpdateNSDomainRequest) GetIsOn() bool {
 | 
				
			||||||
	if x != nil {
 | 
						if x != nil {
 | 
				
			||||||
		return x.IsOn
 | 
							return x.IsOn
 | 
				
			||||||
@@ -554,6 +547,109 @@ func (x *ListEnabledNSDomainsResponse) GetNsDomains() []*NSDomain {
 | 
				
			|||||||
	return nil
 | 
						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 protoreflect.FileDescriptor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var file_service_ns_domain_proto_rawDesc = []byte{
 | 
					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,
 | 
						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,
 | 
						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,
 | 
						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, 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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69,
 | 
				
			||||||
	0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
 | 
						0x73, 0x4f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x22,
 | 
				
			||||||
	0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69,
 | 
						0x37, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69,
 | 
				
			||||||
	0x73, 0x4f, 0x6e, 0x22, 0x37, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x44,
 | 
						0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f,
 | 
				
			||||||
	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a,
 | 
						0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73,
 | 
				
			||||||
	0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
 | 
						0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64,
 | 
				
			||||||
	0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x1a,
 | 
						0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52,
 | 
				
			||||||
	0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d,
 | 
						0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61,
 | 
				
			||||||
	0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73,
 | 
						0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f,
 | 
				
			||||||
	0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
 | 
						0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
 | 
				
			||||||
	0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x1b, 0x46, 0x69,
 | 
						0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73,
 | 
				
			||||||
	0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69,
 | 
						0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69,
 | 
				
			||||||
	0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x6e, 0x73, 0x44,
 | 
						0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x44,
 | 
				
			||||||
	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62,
 | 
						0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22,
 | 
				
			||||||
	0x2e, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d,
 | 
						0x75, 0x0a, 0x1f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
				
			||||||
	0x61, 0x69, 0x6e, 0x22, 0x75, 0x0a, 0x1f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66,
 | 
				
			||||||
	0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61,
 | 
						0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73,
 | 
				
			||||||
	0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73,
 | 
						0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
 | 
				
			||||||
	0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72,
 | 
						0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4a, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x45, 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, 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,
 | 
					 | 
				
			||||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65,
 | 
						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,
 | 
						0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61,
 | 
				
			||||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52,
 | 
						0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e,
 | 
				
			||||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62,
 | 
						0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x09, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69,
 | 
				
			||||||
	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
						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 (
 | 
					var (
 | 
				
			||||||
@@ -662,41 +773,46 @@ func file_service_ns_domain_proto_rawDescGZIP() []byte {
 | 
				
			|||||||
	return file_service_ns_domain_proto_rawDescData
 | 
						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{}{
 | 
					var file_service_ns_domain_proto_goTypes = []interface{}{
 | 
				
			||||||
	(*CreateNSDomainRequest)(nil),           // 0: pb.CreateNSDomainRequest
 | 
						(*CreateNSDomainRequest)(nil),             // 0: pb.CreateNSDomainRequest
 | 
				
			||||||
	(*CreateNSDomainResponse)(nil),          // 1: pb.CreateNSDomainResponse
 | 
						(*CreateNSDomainResponse)(nil),            // 1: pb.CreateNSDomainResponse
 | 
				
			||||||
	(*UpdateNSDomainRequest)(nil),           // 2: pb.UpdateNSDomainRequest
 | 
						(*UpdateNSDomainRequest)(nil),             // 2: pb.UpdateNSDomainRequest
 | 
				
			||||||
	(*DeleteNSDomainRequest)(nil),           // 3: pb.DeleteNSDomainRequest
 | 
						(*DeleteNSDomainRequest)(nil),             // 3: pb.DeleteNSDomainRequest
 | 
				
			||||||
	(*FindEnabledNSDomainRequest)(nil),      // 4: pb.FindEnabledNSDomainRequest
 | 
						(*FindEnabledNSDomainRequest)(nil),        // 4: pb.FindEnabledNSDomainRequest
 | 
				
			||||||
	(*FindEnabledNSDomainResponse)(nil),     // 5: pb.FindEnabledNSDomainResponse
 | 
						(*FindEnabledNSDomainResponse)(nil),       // 5: pb.FindEnabledNSDomainResponse
 | 
				
			||||||
	(*CountAllEnabledNSDomainsRequest)(nil), // 6: pb.CountAllEnabledNSDomainsRequest
 | 
						(*CountAllEnabledNSDomainsRequest)(nil),   // 6: pb.CountAllEnabledNSDomainsRequest
 | 
				
			||||||
	(*ListEnabledNSDomainsRequest)(nil),     // 7: pb.ListEnabledNSDomainsRequest
 | 
						(*ListEnabledNSDomainsRequest)(nil),       // 7: pb.ListEnabledNSDomainsRequest
 | 
				
			||||||
	(*ListEnabledNSDomainsResponse)(nil),    // 8: pb.ListEnabledNSDomainsResponse
 | 
						(*ListEnabledNSDomainsResponse)(nil),      // 8: pb.ListEnabledNSDomainsResponse
 | 
				
			||||||
	(*NSDomain)(nil),                        // 9: pb.NSDomain
 | 
						(*ListNSDomainsAfterVersionRequest)(nil),  // 9: pb.ListNSDomainsAfterVersionRequest
 | 
				
			||||||
	(*RPCSuccess)(nil),                      // 10: pb.RPCSuccess
 | 
						(*ListNSDomainsAfterVersionResponse)(nil), // 10: pb.ListNSDomainsAfterVersionResponse
 | 
				
			||||||
	(*RPCCountResponse)(nil),                // 11: pb.RPCCountResponse
 | 
						(*NSDomain)(nil),                          // 11: pb.NSDomain
 | 
				
			||||||
 | 
						(*RPCSuccess)(nil),                        // 12: pb.RPCSuccess
 | 
				
			||||||
 | 
						(*RPCCountResponse)(nil),                  // 13: pb.RPCCountResponse
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
var file_service_ns_domain_proto_depIdxs = []int32{
 | 
					var file_service_ns_domain_proto_depIdxs = []int32{
 | 
				
			||||||
	9,  // 0: pb.FindEnabledNSDomainResponse.nsDomain:type_name -> pb.NSDomain
 | 
						11, // 0: pb.FindEnabledNSDomainResponse.nsDomain:type_name -> pb.NSDomain
 | 
				
			||||||
	9,  // 1: pb.ListEnabledNSDomainsResponse.nsDomains:type_name -> pb.NSDomain
 | 
						11, // 1: pb.ListEnabledNSDomainsResponse.nsDomains:type_name -> pb.NSDomain
 | 
				
			||||||
	0,  // 2: pb.NSDomainService.createNSDomain:input_type -> pb.CreateNSDomainRequest
 | 
						11, // 2: pb.ListNSDomainsAfterVersionResponse.nsDomains:type_name -> pb.NSDomain
 | 
				
			||||||
	2,  // 3: pb.NSDomainService.updateNSDomain:input_type -> pb.UpdateNSDomainRequest
 | 
						0,  // 3: pb.NSDomainService.createNSDomain:input_type -> pb.CreateNSDomainRequest
 | 
				
			||||||
	3,  // 4: pb.NSDomainService.deleteNSDomain:input_type -> pb.DeleteNSDomainRequest
 | 
						2,  // 4: pb.NSDomainService.updateNSDomain:input_type -> pb.UpdateNSDomainRequest
 | 
				
			||||||
	4,  // 5: pb.NSDomainService.findEnabledNSDomain:input_type -> pb.FindEnabledNSDomainRequest
 | 
						3,  // 5: pb.NSDomainService.deleteNSDomain:input_type -> pb.DeleteNSDomainRequest
 | 
				
			||||||
	6,  // 6: pb.NSDomainService.countAllEnabledNSDomains:input_type -> pb.CountAllEnabledNSDomainsRequest
 | 
						4,  // 6: pb.NSDomainService.findEnabledNSDomain:input_type -> pb.FindEnabledNSDomainRequest
 | 
				
			||||||
	7,  // 7: pb.NSDomainService.listEnabledNSDomains:input_type -> pb.ListEnabledNSDomainsRequest
 | 
						6,  // 7: pb.NSDomainService.countAllEnabledNSDomains:input_type -> pb.CountAllEnabledNSDomainsRequest
 | 
				
			||||||
	1,  // 8: pb.NSDomainService.createNSDomain:output_type -> pb.CreateNSDomainResponse
 | 
						7,  // 8: pb.NSDomainService.listEnabledNSDomains:input_type -> pb.ListEnabledNSDomainsRequest
 | 
				
			||||||
	10, // 9: pb.NSDomainService.updateNSDomain:output_type -> pb.RPCSuccess
 | 
						9,  // 9: pb.NSDomainService.listNSDomainsAfterVersion:input_type -> pb.ListNSDomainsAfterVersionRequest
 | 
				
			||||||
	10, // 10: pb.NSDomainService.deleteNSDomain:output_type -> pb.RPCSuccess
 | 
						1,  // 10: pb.NSDomainService.createNSDomain:output_type -> pb.CreateNSDomainResponse
 | 
				
			||||||
	5,  // 11: pb.NSDomainService.findEnabledNSDomain:output_type -> pb.FindEnabledNSDomainResponse
 | 
						12, // 11: pb.NSDomainService.updateNSDomain:output_type -> pb.RPCSuccess
 | 
				
			||||||
	11, // 12: pb.NSDomainService.countAllEnabledNSDomains:output_type -> pb.RPCCountResponse
 | 
						12, // 12: pb.NSDomainService.deleteNSDomain:output_type -> pb.RPCSuccess
 | 
				
			||||||
	8,  // 13: pb.NSDomainService.listEnabledNSDomains:output_type -> pb.ListEnabledNSDomainsResponse
 | 
						5,  // 13: pb.NSDomainService.findEnabledNSDomain:output_type -> pb.FindEnabledNSDomainResponse
 | 
				
			||||||
	8,  // [8:14] is the sub-list for method output_type
 | 
						13, // 14: pb.NSDomainService.countAllEnabledNSDomains:output_type -> pb.RPCCountResponse
 | 
				
			||||||
	2,  // [2:8] is the sub-list for method input_type
 | 
						8,  // 15: pb.NSDomainService.listEnabledNSDomains:output_type -> pb.ListEnabledNSDomainsResponse
 | 
				
			||||||
	2,  // [2:2] is the sub-list for extension type_name
 | 
						10, // 16: pb.NSDomainService.listNSDomainsAfterVersion:output_type -> pb.ListNSDomainsAfterVersionResponse
 | 
				
			||||||
	2,  // [2:2] is the sub-list for extension extendee
 | 
						10, // [10:17] is the sub-list for method output_type
 | 
				
			||||||
	0,  // [0:2] is the sub-list for field type_name
 | 
						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() }
 | 
					func init() { file_service_ns_domain_proto_init() }
 | 
				
			||||||
@@ -815,6 +931,30 @@ func file_service_ns_domain_proto_init() {
 | 
				
			|||||||
				return nil
 | 
									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{}
 | 
						type x struct{}
 | 
				
			||||||
	out := protoimpl.TypeBuilder{
 | 
						out := protoimpl.TypeBuilder{
 | 
				
			||||||
@@ -822,7 +962,7 @@ func file_service_ns_domain_proto_init() {
 | 
				
			|||||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
								GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
				
			||||||
			RawDescriptor: file_service_ns_domain_proto_rawDesc,
 | 
								RawDescriptor: file_service_ns_domain_proto_rawDesc,
 | 
				
			||||||
			NumEnums:      0,
 | 
								NumEnums:      0,
 | 
				
			||||||
			NumMessages:   9,
 | 
								NumMessages:   11,
 | 
				
			||||||
			NumExtensions: 0,
 | 
								NumExtensions: 0,
 | 
				
			||||||
			NumServices:   1,
 | 
								NumServices:   1,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
@@ -860,6 +1000,8 @@ type NSDomainServiceClient interface {
 | 
				
			|||||||
	CountAllEnabledNSDomains(ctx context.Context, in *CountAllEnabledNSDomainsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
 | 
						CountAllEnabledNSDomains(ctx context.Context, in *CountAllEnabledNSDomainsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
 | 
				
			||||||
	// 列出单页域名
 | 
						// 列出单页域名
 | 
				
			||||||
	ListEnabledNSDomains(ctx context.Context, in *ListEnabledNSDomainsRequest, opts ...grpc.CallOption) (*ListEnabledNSDomainsResponse, 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 {
 | 
					type nSDomainServiceClient struct {
 | 
				
			||||||
@@ -924,6 +1066,15 @@ func (c *nSDomainServiceClient) ListEnabledNSDomains(ctx context.Context, in *Li
 | 
				
			|||||||
	return out, nil
 | 
						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.
 | 
					// NSDomainServiceServer is the server API for NSDomainService service.
 | 
				
			||||||
type NSDomainServiceServer interface {
 | 
					type NSDomainServiceServer interface {
 | 
				
			||||||
	// 创建域名
 | 
						// 创建域名
 | 
				
			||||||
@@ -938,6 +1089,8 @@ type NSDomainServiceServer interface {
 | 
				
			|||||||
	CountAllEnabledNSDomains(context.Context, *CountAllEnabledNSDomainsRequest) (*RPCCountResponse, error)
 | 
						CountAllEnabledNSDomains(context.Context, *CountAllEnabledNSDomainsRequest) (*RPCCountResponse, error)
 | 
				
			||||||
	// 列出单页域名
 | 
						// 列出单页域名
 | 
				
			||||||
	ListEnabledNSDomains(context.Context, *ListEnabledNSDomainsRequest) (*ListEnabledNSDomainsResponse, error)
 | 
						ListEnabledNSDomains(context.Context, *ListEnabledNSDomainsRequest) (*ListEnabledNSDomainsResponse, error)
 | 
				
			||||||
 | 
						// 根据版本列出一组域名
 | 
				
			||||||
 | 
						ListNSDomainsAfterVersion(context.Context, *ListNSDomainsAfterVersionRequest) (*ListNSDomainsAfterVersionResponse, error)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnimplementedNSDomainServiceServer can be embedded to have forward compatible implementations.
 | 
					// 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) {
 | 
					func (*UnimplementedNSDomainServiceServer) ListEnabledNSDomains(context.Context, *ListEnabledNSDomainsRequest) (*ListEnabledNSDomainsResponse, error) {
 | 
				
			||||||
	return nil, status.Errorf(codes.Unimplemented, "method ListEnabledNSDomains not implemented")
 | 
						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) {
 | 
					func RegisterNSDomainServiceServer(s *grpc.Server, srv NSDomainServiceServer) {
 | 
				
			||||||
	s.RegisterService(&_NSDomainService_serviceDesc, srv)
 | 
						s.RegisterService(&_NSDomainService_serviceDesc, srv)
 | 
				
			||||||
@@ -1075,6 +1231,24 @@ func _NSDomainService_ListEnabledNSDomains_Handler(srv interface{}, ctx context.
 | 
				
			|||||||
	return interceptor(ctx, in, info, handler)
 | 
						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{
 | 
					var _NSDomainService_serviceDesc = grpc.ServiceDesc{
 | 
				
			||||||
	ServiceName: "pb.NSDomainService",
 | 
						ServiceName: "pb.NSDomainService",
 | 
				
			||||||
	HandlerType: (*NSDomainServiceServer)(nil),
 | 
						HandlerType: (*NSDomainServiceServer)(nil),
 | 
				
			||||||
@@ -1103,6 +1277,10 @@ var _NSDomainService_serviceDesc = grpc.ServiceDesc{
 | 
				
			|||||||
			MethodName: "listEnabledNSDomains",
 | 
								MethodName: "listEnabledNSDomains",
 | 
				
			||||||
			Handler:    _NSDomainService_ListEnabledNSDomains_Handler,
 | 
								Handler:    _NSDomainService_ListEnabledNSDomains_Handler,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MethodName: "listNSDomainsAfterVersion",
 | 
				
			||||||
 | 
								Handler:    _NSDomainService_ListNSDomainsAfterVersion_Handler,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	Streams:  []grpc.StreamDesc{},
 | 
						Streams:  []grpc.StreamDesc{},
 | 
				
			||||||
	Metadata: "service_ns_domain.proto",
 | 
						Metadata: "service_ns_domain.proto",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -973,6 +973,148 @@ func (x *UpdateNSNodeIsInstalledRequest) GetIsInstalled() bool {
 | 
				
			|||||||
	return false
 | 
						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 protoreflect.FileDescriptor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var file_service_ns_node_proto_rawDesc = []byte{
 | 
					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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						0x22, 0x53, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65,
 | 
				
			||||||
	0x63, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
 | 
						0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a,
 | 
				
			||||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68,
 | 
						0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e,
 | 
				
			||||||
	0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62,
 | 
						0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a,
 | 
				
			||||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
 | 
						0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75,
 | 
				
			||||||
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73,
 | 
						0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x1a, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72,
 | 
				
			||||||
	0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70,
 | 
						0x72, 0x65, 0x6e, 0x74, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
				
			||||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
						0x74, 0x22, 0x3f, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
 | 
				
			||||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75,
 | 
						0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22,
 | 
				
			||||||
	0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51,
 | 
						0x0a, 0x06, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a,
 | 
				
			||||||
	0x0a, 0x16, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
						0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6e, 0x73, 0x4e, 0x6f,
 | 
				
			||||||
	0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f,
 | 
						0x64, 0x65, 0x32, 0xb7, 0x09, 0x0a, 0x0d, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x72,
 | 
				
			||||||
	0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e,
 | 
						0x76, 0x69, 0x63, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
 | 
				
			||||||
	0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62,
 | 
						0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69,
 | 
				
			||||||
	0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
						0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x2e,
 | 
				
			||||||
	0x65, 0x12, 0x5b, 0x0a, 0x1b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
						0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
				
			||||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68,
 | 
						0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c,
 | 
				
			||||||
	0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
 | 
						0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30,
 | 
				
			||||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63,
 | 
						0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
				
			||||||
	0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
 | 
						0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43,
 | 
				
			||||||
	0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62,
 | 
						0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
				
			||||||
	0x0a, 0x17, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e,
 | 
						0x12, 0x51, 0x0a, 0x16, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
 | 
				
			||||||
	0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c,
 | 
						0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e,
 | 
				
			||||||
	0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65,
 | 
						0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
 | 
				
			||||||
	0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e,
 | 
						0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 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,
 | 
						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,
 | 
						0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
 | 
				
			||||||
	0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e,
 | 
						0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74,
 | 
				
			||||||
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70,
 | 
						0x63, 0x68, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
 | 
				
			||||||
	0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65,
 | 
						0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61,
 | 
				
			||||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
 | 
						0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e,
 | 
				
			||||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65,
 | 
						0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
				
			||||||
	0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
						0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
 | 
				
			||||||
	0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
 | 
						0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x70, 0x62,
 | 
				
			||||||
	0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53,
 | 
						0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f,
 | 
				
			||||||
	0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
 | 
						0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
				
			||||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
						0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
				
			||||||
	0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
 | 
						0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70,
 | 
				
			||||||
	0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
						0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x25, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
 | 
				
			||||||
	0x65, 0x12, 0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
 | 
						0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69,
 | 
				
			||||||
	0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e,
 | 
						0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x2e,
 | 
				
			||||||
	0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
						0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61,
 | 
				
			||||||
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x69, 0x6e,
 | 
						0x64, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43,
 | 
				
			||||||
	0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62,
 | 
						0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
				
			||||||
	0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65,
 | 
						0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73,
 | 
				
			||||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61,
 | 
						0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e,
 | 
				
			||||||
	0x6c, 0x6c, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
						0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
 | 
				
			||||||
	0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e,
 | 
						0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18,
 | 
				
			||||||
	0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62,
 | 
						0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65,
 | 
				
			||||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61,
 | 
						0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65,
 | 
				
			||||||
	0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
						0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65,
 | 
				
			||||||
	0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49,
 | 
						0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
				
			||||||
	0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70,
 | 
						0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73,
 | 
				
			||||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x17, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53,
 | 
						0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
				
			||||||
	0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12,
 | 
						0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
 | 
				
			||||||
	0x22, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
 | 
						0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71,
 | 
				
			||||||
	0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
 | 
						0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
 | 
				
			||||||
	0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
 | 
						0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
				
			||||||
	0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
 | 
						0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e,
 | 
				
			||||||
	0x74, 0x6f, 0x33,
 | 
						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 (
 | 
					var (
 | 
				
			||||||
@@ -1159,7 +1321,7 @@ func file_service_ns_node_proto_rawDescGZIP() []byte {
 | 
				
			|||||||
	return file_service_ns_node_proto_rawDescData
 | 
						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{}{
 | 
					var file_service_ns_node_proto_goTypes = []interface{}{
 | 
				
			||||||
	(*FindAllEnabledNSNodesWithNSClusterIdRequest)(nil),  // 0: pb.FindAllEnabledNSNodesWithNSClusterIdRequest
 | 
						(*FindAllEnabledNSNodesWithNSClusterIdRequest)(nil),  // 0: pb.FindAllEnabledNSNodesWithNSClusterIdRequest
 | 
				
			||||||
	(*FindAllEnabledNSNodesWithNSClusterIdResponse)(nil), // 1: pb.FindAllEnabledNSNodesWithNSClusterIdResponse
 | 
						(*FindAllEnabledNSNodesWithNSClusterIdResponse)(nil), // 1: pb.FindAllEnabledNSNodesWithNSClusterIdResponse
 | 
				
			||||||
@@ -1179,45 +1341,53 @@ var file_service_ns_node_proto_goTypes = []interface{}{
 | 
				
			|||||||
	(*FindNSNodeInstallStatusRequest)(nil),               // 15: pb.FindNSNodeInstallStatusRequest
 | 
						(*FindNSNodeInstallStatusRequest)(nil),               // 15: pb.FindNSNodeInstallStatusRequest
 | 
				
			||||||
	(*FindNSNodeInstallStatusResponse)(nil),              // 16: pb.FindNSNodeInstallStatusResponse
 | 
						(*FindNSNodeInstallStatusResponse)(nil),              // 16: pb.FindNSNodeInstallStatusResponse
 | 
				
			||||||
	(*UpdateNSNodeIsInstalledRequest)(nil),               // 17: pb.UpdateNSNodeIsInstalledRequest
 | 
						(*UpdateNSNodeIsInstalledRequest)(nil),               // 17: pb.UpdateNSNodeIsInstalledRequest
 | 
				
			||||||
	(*NSNode)(nil),                                       // 18: pb.NSNode
 | 
						(*UpdateNSNodeStatusRequest)(nil),                    // 18: pb.UpdateNSNodeStatusRequest
 | 
				
			||||||
	(*NodeInstallStatus)(nil),                            // 19: pb.NodeInstallStatus
 | 
						(*FindCurrentNSNodeRequest)(nil),                     // 19: pb.FindCurrentNSNodeRequest
 | 
				
			||||||
	(*RPCCountResponse)(nil),                             // 20: pb.RPCCountResponse
 | 
						(*FindCurrentNSNodeResponse)(nil),                    // 20: pb.FindCurrentNSNodeResponse
 | 
				
			||||||
	(*RPCSuccess)(nil),                                   // 21: pb.RPCSuccess
 | 
						(*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{
 | 
					var file_service_ns_node_proto_depIdxs = []int32{
 | 
				
			||||||
	18, // 0: pb.FindAllEnabledNSNodesWithNSClusterIdResponse.nsNodes:type_name -> pb.NSNode
 | 
						21, // 0: pb.FindAllEnabledNSNodesWithNSClusterIdResponse.nsNodes:type_name -> pb.NSNode
 | 
				
			||||||
	18, // 1: pb.ListEnabledNSNodesMatchResponse.nsNodes:type_name -> pb.NSNode
 | 
						21, // 1: pb.ListEnabledNSNodesMatchResponse.nsNodes:type_name -> pb.NSNode
 | 
				
			||||||
	18, // 2: pb.FindEnabledNSNodeResponse.nsNode:type_name -> pb.NSNode
 | 
						21, // 2: pb.FindEnabledNSNodeResponse.nsNode:type_name -> pb.NSNode
 | 
				
			||||||
	19, // 3: pb.FindNSNodeInstallStatusResponse.installStatus:type_name -> pb.NodeInstallStatus
 | 
						22, // 3: pb.FindNSNodeInstallStatusResponse.installStatus:type_name -> pb.NodeInstallStatus
 | 
				
			||||||
	0,  // 4: pb.NSNodeService.findAllEnabledNSNodesWithNSClusterId:input_type -> pb.FindAllEnabledNSNodesWithNSClusterIdRequest
 | 
						21, // 4: pb.FindCurrentNSNodeResponse.nsNode:type_name -> pb.NSNode
 | 
				
			||||||
	2,  // 5: pb.NSNodeService.countAllEnabledNSNodes:input_type -> pb.CountAllEnabledNSNodesRequest
 | 
						0,  // 5: pb.NSNodeService.findAllEnabledNSNodesWithNSClusterId:input_type -> pb.FindAllEnabledNSNodesWithNSClusterIdRequest
 | 
				
			||||||
	3,  // 6: pb.NSNodeService.countAllEnabledNSNodesMatch:input_type -> pb.CountAllEnabledNSNodesMatchRequest
 | 
						2,  // 6: pb.NSNodeService.countAllEnabledNSNodes:input_type -> pb.CountAllEnabledNSNodesRequest
 | 
				
			||||||
	4,  // 7: pb.NSNodeService.listEnabledNSNodesMatch:input_type -> pb.ListEnabledNSNodesMatchRequest
 | 
						3,  // 7: pb.NSNodeService.countAllEnabledNSNodesMatch:input_type -> pb.CountAllEnabledNSNodesMatchRequest
 | 
				
			||||||
	6,  // 8: pb.NSNodeService.countAllUpgradeNSNodesWithNSClusterId:input_type -> pb.CountAllUpgradeNSNodesWithNSClusterIdRequest
 | 
						4,  // 8: pb.NSNodeService.listEnabledNSNodesMatch:input_type -> pb.ListEnabledNSNodesMatchRequest
 | 
				
			||||||
	7,  // 9: pb.NSNodeService.createNSNode:input_type -> pb.CreateNSNodeRequest
 | 
						6,  // 9: pb.NSNodeService.countAllUpgradeNSNodesWithNSClusterId:input_type -> pb.CountAllUpgradeNSNodesWithNSClusterIdRequest
 | 
				
			||||||
	9,  // 10: pb.NSNodeService.deleteNSNode:input_type -> pb.DeleteNSNodeRequest
 | 
						7,  // 10: pb.NSNodeService.createNSNode:input_type -> pb.CreateNSNodeRequest
 | 
				
			||||||
	10, // 11: pb.NSNodeService.findEnabledNSNode:input_type -> pb.FindEnabledNSNodeRequest
 | 
						9,  // 11: pb.NSNodeService.deleteNSNode:input_type -> pb.DeleteNSNodeRequest
 | 
				
			||||||
	12, // 12: pb.NSNodeService.updateNSNode:input_type -> pb.UpdateNSNodeRequest
 | 
						10, // 12: pb.NSNodeService.findEnabledNSNode:input_type -> pb.FindEnabledNSNodeRequest
 | 
				
			||||||
	13, // 13: pb.NSNodeService.installNSNode:input_type -> pb.InstallNSNodeRequest
 | 
						12, // 13: pb.NSNodeService.updateNSNode:input_type -> pb.UpdateNSNodeRequest
 | 
				
			||||||
	15, // 14: pb.NSNodeService.findNSNodeInstallStatus:input_type -> pb.FindNSNodeInstallStatusRequest
 | 
						13, // 14: pb.NSNodeService.installNSNode:input_type -> pb.InstallNSNodeRequest
 | 
				
			||||||
	17, // 15: pb.NSNodeService.updateNSNodeIsInstalled:input_type -> pb.UpdateNSNodeIsInstalledRequest
 | 
						15, // 15: pb.NSNodeService.findNSNodeInstallStatus:input_type -> pb.FindNSNodeInstallStatusRequest
 | 
				
			||||||
	1,  // 16: pb.NSNodeService.findAllEnabledNSNodesWithNSClusterId:output_type -> pb.FindAllEnabledNSNodesWithNSClusterIdResponse
 | 
						17, // 16: pb.NSNodeService.updateNSNodeIsInstalled:input_type -> pb.UpdateNSNodeIsInstalledRequest
 | 
				
			||||||
	20, // 17: pb.NSNodeService.countAllEnabledNSNodes:output_type -> pb.RPCCountResponse
 | 
						18, // 17: pb.NSNodeService.updateNSNodeStatus:input_type -> pb.UpdateNSNodeStatusRequest
 | 
				
			||||||
	20, // 18: pb.NSNodeService.countAllEnabledNSNodesMatch:output_type -> pb.RPCCountResponse
 | 
						19, // 18: pb.NSNodeService.findCurrentNSNode:input_type -> pb.FindCurrentNSNodeRequest
 | 
				
			||||||
	5,  // 19: pb.NSNodeService.listEnabledNSNodesMatch:output_type -> pb.ListEnabledNSNodesMatchResponse
 | 
						1,  // 19: pb.NSNodeService.findAllEnabledNSNodesWithNSClusterId:output_type -> pb.FindAllEnabledNSNodesWithNSClusterIdResponse
 | 
				
			||||||
	20, // 20: pb.NSNodeService.countAllUpgradeNSNodesWithNSClusterId:output_type -> pb.RPCCountResponse
 | 
						23, // 20: pb.NSNodeService.countAllEnabledNSNodes:output_type -> pb.RPCCountResponse
 | 
				
			||||||
	8,  // 21: pb.NSNodeService.createNSNode:output_type -> pb.CreateNSNodeResponse
 | 
						23, // 21: pb.NSNodeService.countAllEnabledNSNodesMatch:output_type -> pb.RPCCountResponse
 | 
				
			||||||
	21, // 22: pb.NSNodeService.deleteNSNode:output_type -> pb.RPCSuccess
 | 
						5,  // 22: pb.NSNodeService.listEnabledNSNodesMatch:output_type -> pb.ListEnabledNSNodesMatchResponse
 | 
				
			||||||
	11, // 23: pb.NSNodeService.findEnabledNSNode:output_type -> pb.FindEnabledNSNodeResponse
 | 
						23, // 23: pb.NSNodeService.countAllUpgradeNSNodesWithNSClusterId:output_type -> pb.RPCCountResponse
 | 
				
			||||||
	21, // 24: pb.NSNodeService.updateNSNode:output_type -> pb.RPCSuccess
 | 
						8,  // 24: pb.NSNodeService.createNSNode:output_type -> pb.CreateNSNodeResponse
 | 
				
			||||||
	14, // 25: pb.NSNodeService.installNSNode:output_type -> pb.InstallNSNodeResponse
 | 
						24, // 25: pb.NSNodeService.deleteNSNode:output_type -> pb.RPCSuccess
 | 
				
			||||||
	16, // 26: pb.NSNodeService.findNSNodeInstallStatus:output_type -> pb.FindNSNodeInstallStatusResponse
 | 
						11, // 26: pb.NSNodeService.findEnabledNSNode:output_type -> pb.FindEnabledNSNodeResponse
 | 
				
			||||||
	21, // 27: pb.NSNodeService.updateNSNodeIsInstalled:output_type -> pb.RPCSuccess
 | 
						24, // 27: pb.NSNodeService.updateNSNode:output_type -> pb.RPCSuccess
 | 
				
			||||||
	16, // [16:28] is the sub-list for method output_type
 | 
						14, // 28: pb.NSNodeService.installNSNode:output_type -> pb.InstallNSNodeResponse
 | 
				
			||||||
	4,  // [4:16] is the sub-list for method input_type
 | 
						16, // 29: pb.NSNodeService.findNSNodeInstallStatus:output_type -> pb.FindNSNodeInstallStatusResponse
 | 
				
			||||||
	4,  // [4:4] is the sub-list for extension type_name
 | 
						24, // 30: pb.NSNodeService.updateNSNodeIsInstalled:output_type -> pb.RPCSuccess
 | 
				
			||||||
	4,  // [4:4] is the sub-list for extension extendee
 | 
						24, // 31: pb.NSNodeService.updateNSNodeStatus:output_type -> pb.RPCSuccess
 | 
				
			||||||
	0,  // [0:4] is the sub-list for field type_name
 | 
						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() }
 | 
					func init() { file_service_ns_node_proto_init() }
 | 
				
			||||||
@@ -1445,6 +1615,42 @@ func file_service_ns_node_proto_init() {
 | 
				
			|||||||
				return nil
 | 
									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{}
 | 
						type x struct{}
 | 
				
			||||||
	out := protoimpl.TypeBuilder{
 | 
						out := protoimpl.TypeBuilder{
 | 
				
			||||||
@@ -1452,7 +1658,7 @@ func file_service_ns_node_proto_init() {
 | 
				
			|||||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
								GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
				
			||||||
			RawDescriptor: file_service_ns_node_proto_rawDesc,
 | 
								RawDescriptor: file_service_ns_node_proto_rawDesc,
 | 
				
			||||||
			NumEnums:      0,
 | 
								NumEnums:      0,
 | 
				
			||||||
			NumMessages:   18,
 | 
								NumMessages:   21,
 | 
				
			||||||
			NumExtensions: 0,
 | 
								NumExtensions: 0,
 | 
				
			||||||
			NumServices:   1,
 | 
								NumServices:   1,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
@@ -1502,6 +1708,10 @@ type NSNodeServiceClient interface {
 | 
				
			|||||||
	FindNSNodeInstallStatus(ctx context.Context, in *FindNSNodeInstallStatusRequest, opts ...grpc.CallOption) (*FindNSNodeInstallStatusResponse, error)
 | 
						FindNSNodeInstallStatus(ctx context.Context, in *FindNSNodeInstallStatusRequest, opts ...grpc.CallOption) (*FindNSNodeInstallStatusResponse, error)
 | 
				
			||||||
	// 修改节点安装状态
 | 
						// 修改节点安装状态
 | 
				
			||||||
	UpdateNSNodeIsInstalled(ctx context.Context, in *UpdateNSNodeIsInstalledRequest, opts ...grpc.CallOption) (*RPCSuccess, 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 {
 | 
					type nSNodeServiceClient struct {
 | 
				
			||||||
@@ -1620,6 +1830,24 @@ func (c *nSNodeServiceClient) UpdateNSNodeIsInstalled(ctx context.Context, in *U
 | 
				
			|||||||
	return out, nil
 | 
						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.
 | 
					// NSNodeServiceServer is the server API for NSNodeService service.
 | 
				
			||||||
type NSNodeServiceServer interface {
 | 
					type NSNodeServiceServer interface {
 | 
				
			||||||
	// 根据集群查找所有节点
 | 
						// 根据集群查找所有节点
 | 
				
			||||||
@@ -1646,6 +1874,10 @@ type NSNodeServiceServer interface {
 | 
				
			|||||||
	FindNSNodeInstallStatus(context.Context, *FindNSNodeInstallStatusRequest) (*FindNSNodeInstallStatusResponse, error)
 | 
						FindNSNodeInstallStatus(context.Context, *FindNSNodeInstallStatusRequest) (*FindNSNodeInstallStatusResponse, error)
 | 
				
			||||||
	// 修改节点安装状态
 | 
						// 修改节点安装状态
 | 
				
			||||||
	UpdateNSNodeIsInstalled(context.Context, *UpdateNSNodeIsInstalledRequest) (*RPCSuccess, 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.
 | 
					// 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) {
 | 
					func (*UnimplementedNSNodeServiceServer) UpdateNSNodeIsInstalled(context.Context, *UpdateNSNodeIsInstalledRequest) (*RPCSuccess, error) {
 | 
				
			||||||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNSNodeIsInstalled not implemented")
 | 
						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) {
 | 
					func RegisterNSNodeServiceServer(s *grpc.Server, srv NSNodeServiceServer) {
 | 
				
			||||||
	s.RegisterService(&_NSNodeService_serviceDesc, srv)
 | 
						s.RegisterService(&_NSNodeService_serviceDesc, srv)
 | 
				
			||||||
@@ -1909,6 +2147,42 @@ func _NSNodeService_UpdateNSNodeIsInstalled_Handler(srv interface{}, ctx context
 | 
				
			|||||||
	return interceptor(ctx, in, info, handler)
 | 
						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{
 | 
					var _NSNodeService_serviceDesc = grpc.ServiceDesc{
 | 
				
			||||||
	ServiceName: "pb.NSNodeService",
 | 
						ServiceName: "pb.NSNodeService",
 | 
				
			||||||
	HandlerType: (*NSNodeServiceServer)(nil),
 | 
						HandlerType: (*NSNodeServiceServer)(nil),
 | 
				
			||||||
@@ -1961,6 +2235,14 @@ var _NSNodeService_serviceDesc = grpc.ServiceDesc{
 | 
				
			|||||||
			MethodName: "updateNSNodeIsInstalled",
 | 
								MethodName: "updateNSNodeIsInstalled",
 | 
				
			||||||
			Handler:    _NSNodeService_UpdateNSNodeIsInstalled_Handler,
 | 
								Handler:    _NSNodeService_UpdateNSNodeIsInstalled_Handler,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MethodName: "updateNSNodeStatus",
 | 
				
			||||||
 | 
								Handler:    _NSNodeService_UpdateNSNodeStatus_Handler,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MethodName: "findCurrentNSNode",
 | 
				
			||||||
 | 
								Handler:    _NSNodeService_FindCurrentNSNode_Handler,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	Streams:  []grpc.StreamDesc{},
 | 
						Streams:  []grpc.StreamDesc{},
 | 
				
			||||||
	Metadata: "service_ns_node.proto",
 | 
						Metadata: "service_ns_node.proto",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -618,6 +618,109 @@ func (x *FindEnabledNSRecordResponse) GetNsRecord() *NSRecord {
 | 
				
			|||||||
	return nil
 | 
						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 protoreflect.FileDescriptor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var file_service_ns_record_proto_rawDesc = []byte{
 | 
					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,
 | 
						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,
 | 
						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,
 | 
						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,
 | 
						0x72, 0x64, 0x52, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x50, 0x0a, 0x20,
 | 
				
			||||||
	0x0f, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
 | 
						0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, 0x74,
 | 
				
			||||||
	0x12, 0x47, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f,
 | 
						0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
				
			||||||
	0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53,
 | 
						0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
				
			||||||
	0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e,
 | 
						0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69,
 | 
				
			||||||
	0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72,
 | 
						0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4f,
 | 
				
			||||||
	0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0e, 0x75, 0x70, 0x64,
 | 
						0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41,
 | 
				
			||||||
	0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62,
 | 
						0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
				
			||||||
	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
 | 
						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,
 | 
						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,
 | 
						0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x18, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41,
 | 
				
			||||||
	0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65,
 | 
						0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72,
 | 
				
			||||||
	0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75,
 | 
						0x64, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
 | 
				
			||||||
	0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
 | 
						0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
 | 
				
			||||||
	0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x18, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
 | 
						0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
 | 
				
			||||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12,
 | 
						0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a,
 | 
				
			||||||
	0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
						0x14, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65,
 | 
				
			||||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71,
 | 
						0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45,
 | 
				
			||||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75,
 | 
						0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52,
 | 
				
			||||||
	0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x6c, 0x69,
 | 
						0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74,
 | 
				
			||||||
	0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72,
 | 
						0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
 | 
				
			||||||
	0x64, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62,
 | 
						0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64,
 | 
				
			||||||
	0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75,
 | 
						0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12,
 | 
				
			||||||
	0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61,
 | 
						0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
				
			||||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73,
 | 
						0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
				
			||||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
 | 
						0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
				
			||||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x70,
 | 
						0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
				
			||||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52,
 | 
						0x12, 0x68, 0x0a, 0x19, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
 | 
				
			||||||
	0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70,
 | 
						0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e,
 | 
				
			||||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52,
 | 
						0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
 | 
				
			||||||
	0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a,
 | 
						0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
 | 
				
			||||||
	0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
						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 (
 | 
					var (
 | 
				
			||||||
@@ -738,41 +858,46 @@ func file_service_ns_record_proto_rawDescGZIP() []byte {
 | 
				
			|||||||
	return file_service_ns_record_proto_rawDescData
 | 
						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{}{
 | 
					var file_service_ns_record_proto_goTypes = []interface{}{
 | 
				
			||||||
	(*CreateNSRecordRequest)(nil),           // 0: pb.CreateNSRecordRequest
 | 
						(*CreateNSRecordRequest)(nil),             // 0: pb.CreateNSRecordRequest
 | 
				
			||||||
	(*CreateNSRecordResponse)(nil),          // 1: pb.CreateNSRecordResponse
 | 
						(*CreateNSRecordResponse)(nil),            // 1: pb.CreateNSRecordResponse
 | 
				
			||||||
	(*UpdateNSRecordRequest)(nil),           // 2: pb.UpdateNSRecordRequest
 | 
						(*UpdateNSRecordRequest)(nil),             // 2: pb.UpdateNSRecordRequest
 | 
				
			||||||
	(*DeleteNSRecordRequest)(nil),           // 3: pb.DeleteNSRecordRequest
 | 
						(*DeleteNSRecordRequest)(nil),             // 3: pb.DeleteNSRecordRequest
 | 
				
			||||||
	(*CountAllEnabledNSRecordsRequest)(nil), // 4: pb.CountAllEnabledNSRecordsRequest
 | 
						(*CountAllEnabledNSRecordsRequest)(nil),   // 4: pb.CountAllEnabledNSRecordsRequest
 | 
				
			||||||
	(*ListEnabledNSRecordsRequest)(nil),     // 5: pb.ListEnabledNSRecordsRequest
 | 
						(*ListEnabledNSRecordsRequest)(nil),       // 5: pb.ListEnabledNSRecordsRequest
 | 
				
			||||||
	(*ListEnabledNSRecordsResponse)(nil),    // 6: pb.ListEnabledNSRecordsResponse
 | 
						(*ListEnabledNSRecordsResponse)(nil),      // 6: pb.ListEnabledNSRecordsResponse
 | 
				
			||||||
	(*FindEnabledNSRecordRequest)(nil),      // 7: pb.FindEnabledNSRecordRequest
 | 
						(*FindEnabledNSRecordRequest)(nil),        // 7: pb.FindEnabledNSRecordRequest
 | 
				
			||||||
	(*FindEnabledNSRecordResponse)(nil),     // 8: pb.FindEnabledNSRecordResponse
 | 
						(*FindEnabledNSRecordResponse)(nil),       // 8: pb.FindEnabledNSRecordResponse
 | 
				
			||||||
	(*NSRecord)(nil),                        // 9: pb.NSRecord
 | 
						(*ListNSRecordsAfterVersionRequest)(nil),  // 9: pb.ListNSRecordsAfterVersionRequest
 | 
				
			||||||
	(*RPCSuccess)(nil),                      // 10: pb.RPCSuccess
 | 
						(*ListNSRecordsAfterVersionResponse)(nil), // 10: pb.ListNSRecordsAfterVersionResponse
 | 
				
			||||||
	(*RPCCountResponse)(nil),                // 11: pb.RPCCountResponse
 | 
						(*NSRecord)(nil),                          // 11: pb.NSRecord
 | 
				
			||||||
 | 
						(*RPCSuccess)(nil),                        // 12: pb.RPCSuccess
 | 
				
			||||||
 | 
						(*RPCCountResponse)(nil),                  // 13: pb.RPCCountResponse
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
var file_service_ns_record_proto_depIdxs = []int32{
 | 
					var file_service_ns_record_proto_depIdxs = []int32{
 | 
				
			||||||
	9,  // 0: pb.ListEnabledNSRecordsResponse.nsRecords:type_name -> pb.NSRecord
 | 
						11, // 0: pb.ListEnabledNSRecordsResponse.nsRecords:type_name -> pb.NSRecord
 | 
				
			||||||
	9,  // 1: pb.FindEnabledNSRecordResponse.nsRecord:type_name -> pb.NSRecord
 | 
						11, // 1: pb.FindEnabledNSRecordResponse.nsRecord:type_name -> pb.NSRecord
 | 
				
			||||||
	0,  // 2: pb.NSRecordService.createNSRecord:input_type -> pb.CreateNSRecordRequest
 | 
						11, // 2: pb.ListNSRecordsAfterVersionResponse.nsRecords:type_name -> pb.NSRecord
 | 
				
			||||||
	2,  // 3: pb.NSRecordService.updateNSRecord:input_type -> pb.UpdateNSRecordRequest
 | 
						0,  // 3: pb.NSRecordService.createNSRecord:input_type -> pb.CreateNSRecordRequest
 | 
				
			||||||
	3,  // 4: pb.NSRecordService.deleteNSRecord:input_type -> pb.DeleteNSRecordRequest
 | 
						2,  // 4: pb.NSRecordService.updateNSRecord:input_type -> pb.UpdateNSRecordRequest
 | 
				
			||||||
	4,  // 5: pb.NSRecordService.countAllEnabledNSRecords:input_type -> pb.CountAllEnabledNSRecordsRequest
 | 
						3,  // 5: pb.NSRecordService.deleteNSRecord:input_type -> pb.DeleteNSRecordRequest
 | 
				
			||||||
	5,  // 6: pb.NSRecordService.listEnabledNSRecords:input_type -> pb.ListEnabledNSRecordsRequest
 | 
						4,  // 6: pb.NSRecordService.countAllEnabledNSRecords:input_type -> pb.CountAllEnabledNSRecordsRequest
 | 
				
			||||||
	7,  // 7: pb.NSRecordService.findEnabledNSRecord:input_type -> pb.FindEnabledNSRecordRequest
 | 
						5,  // 7: pb.NSRecordService.listEnabledNSRecords:input_type -> pb.ListEnabledNSRecordsRequest
 | 
				
			||||||
	1,  // 8: pb.NSRecordService.createNSRecord:output_type -> pb.CreateNSRecordResponse
 | 
						7,  // 8: pb.NSRecordService.findEnabledNSRecord:input_type -> pb.FindEnabledNSRecordRequest
 | 
				
			||||||
	10, // 9: pb.NSRecordService.updateNSRecord:output_type -> pb.RPCSuccess
 | 
						9,  // 9: pb.NSRecordService.listNSRecordsAfterVersion:input_type -> pb.ListNSRecordsAfterVersionRequest
 | 
				
			||||||
	10, // 10: pb.NSRecordService.deleteNSRecord:output_type -> pb.RPCSuccess
 | 
						1,  // 10: pb.NSRecordService.createNSRecord:output_type -> pb.CreateNSRecordResponse
 | 
				
			||||||
	11, // 11: pb.NSRecordService.countAllEnabledNSRecords:output_type -> pb.RPCCountResponse
 | 
						12, // 11: pb.NSRecordService.updateNSRecord:output_type -> pb.RPCSuccess
 | 
				
			||||||
	6,  // 12: pb.NSRecordService.listEnabledNSRecords:output_type -> pb.ListEnabledNSRecordsResponse
 | 
						12, // 12: pb.NSRecordService.deleteNSRecord:output_type -> pb.RPCSuccess
 | 
				
			||||||
	8,  // 13: pb.NSRecordService.findEnabledNSRecord:output_type -> pb.FindEnabledNSRecordResponse
 | 
						13, // 13: pb.NSRecordService.countAllEnabledNSRecords:output_type -> pb.RPCCountResponse
 | 
				
			||||||
	8,  // [8:14] is the sub-list for method output_type
 | 
						6,  // 14: pb.NSRecordService.listEnabledNSRecords:output_type -> pb.ListEnabledNSRecordsResponse
 | 
				
			||||||
	2,  // [2:8] is the sub-list for method input_type
 | 
						8,  // 15: pb.NSRecordService.findEnabledNSRecord:output_type -> pb.FindEnabledNSRecordResponse
 | 
				
			||||||
	2,  // [2:2] is the sub-list for extension type_name
 | 
						10, // 16: pb.NSRecordService.listNSRecordsAfterVersion:output_type -> pb.ListNSRecordsAfterVersionResponse
 | 
				
			||||||
	2,  // [2:2] is the sub-list for extension extendee
 | 
						10, // [10:17] is the sub-list for method output_type
 | 
				
			||||||
	0,  // [0:2] is the sub-list for field type_name
 | 
						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() }
 | 
					func init() { file_service_ns_record_proto_init() }
 | 
				
			||||||
@@ -891,6 +1016,30 @@ func file_service_ns_record_proto_init() {
 | 
				
			|||||||
				return nil
 | 
									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{}
 | 
						type x struct{}
 | 
				
			||||||
	out := protoimpl.TypeBuilder{
 | 
						out := protoimpl.TypeBuilder{
 | 
				
			||||||
@@ -898,7 +1047,7 @@ func file_service_ns_record_proto_init() {
 | 
				
			|||||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
								GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
				
			||||||
			RawDescriptor: file_service_ns_record_proto_rawDesc,
 | 
								RawDescriptor: file_service_ns_record_proto_rawDesc,
 | 
				
			||||||
			NumEnums:      0,
 | 
								NumEnums:      0,
 | 
				
			||||||
			NumMessages:   9,
 | 
								NumMessages:   11,
 | 
				
			||||||
			NumExtensions: 0,
 | 
								NumExtensions: 0,
 | 
				
			||||||
			NumServices:   1,
 | 
								NumServices:   1,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
@@ -936,6 +1085,8 @@ type NSRecordServiceClient interface {
 | 
				
			|||||||
	ListEnabledNSRecords(ctx context.Context, in *ListEnabledNSRecordsRequest, opts ...grpc.CallOption) (*ListEnabledNSRecordsResponse, error)
 | 
						ListEnabledNSRecords(ctx context.Context, in *ListEnabledNSRecordsRequest, opts ...grpc.CallOption) (*ListEnabledNSRecordsResponse, error)
 | 
				
			||||||
	// 查询单个记录信息
 | 
						// 查询单个记录信息
 | 
				
			||||||
	FindEnabledNSRecord(ctx context.Context, in *FindEnabledNSRecordRequest, opts ...grpc.CallOption) (*FindEnabledNSRecordResponse, 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 {
 | 
					type nSRecordServiceClient struct {
 | 
				
			||||||
@@ -1000,6 +1151,15 @@ func (c *nSRecordServiceClient) FindEnabledNSRecord(ctx context.Context, in *Fin
 | 
				
			|||||||
	return out, nil
 | 
						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.
 | 
					// NSRecordServiceServer is the server API for NSRecordService service.
 | 
				
			||||||
type NSRecordServiceServer interface {
 | 
					type NSRecordServiceServer interface {
 | 
				
			||||||
	// 创建记录
 | 
						// 创建记录
 | 
				
			||||||
@@ -1014,6 +1174,8 @@ type NSRecordServiceServer interface {
 | 
				
			|||||||
	ListEnabledNSRecords(context.Context, *ListEnabledNSRecordsRequest) (*ListEnabledNSRecordsResponse, error)
 | 
						ListEnabledNSRecords(context.Context, *ListEnabledNSRecordsRequest) (*ListEnabledNSRecordsResponse, error)
 | 
				
			||||||
	// 查询单个记录信息
 | 
						// 查询单个记录信息
 | 
				
			||||||
	FindEnabledNSRecord(context.Context, *FindEnabledNSRecordRequest) (*FindEnabledNSRecordResponse, error)
 | 
						FindEnabledNSRecord(context.Context, *FindEnabledNSRecordRequest) (*FindEnabledNSRecordResponse, error)
 | 
				
			||||||
 | 
						// 根据版本列出一组记录
 | 
				
			||||||
 | 
						ListNSRecordsAfterVersion(context.Context, *ListNSRecordsAfterVersionRequest) (*ListNSRecordsAfterVersionResponse, error)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnimplementedNSRecordServiceServer can be embedded to have forward compatible implementations.
 | 
					// 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) {
 | 
					func (*UnimplementedNSRecordServiceServer) FindEnabledNSRecord(context.Context, *FindEnabledNSRecordRequest) (*FindEnabledNSRecordResponse, error) {
 | 
				
			||||||
	return nil, status.Errorf(codes.Unimplemented, "method FindEnabledNSRecord not implemented")
 | 
						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) {
 | 
					func RegisterNSRecordServiceServer(s *grpc.Server, srv NSRecordServiceServer) {
 | 
				
			||||||
	s.RegisterService(&_NSRecordService_serviceDesc, srv)
 | 
						s.RegisterService(&_NSRecordService_serviceDesc, srv)
 | 
				
			||||||
@@ -1151,6 +1316,24 @@ func _NSRecordService_FindEnabledNSRecord_Handler(srv interface{}, ctx context.C
 | 
				
			|||||||
	return interceptor(ctx, in, info, handler)
 | 
						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{
 | 
					var _NSRecordService_serviceDesc = grpc.ServiceDesc{
 | 
				
			||||||
	ServiceName: "pb.NSRecordService",
 | 
						ServiceName: "pb.NSRecordService",
 | 
				
			||||||
	HandlerType: (*NSRecordServiceServer)(nil),
 | 
						HandlerType: (*NSRecordServiceServer)(nil),
 | 
				
			||||||
@@ -1179,6 +1362,10 @@ var _NSRecordService_serviceDesc = grpc.ServiceDesc{
 | 
				
			|||||||
			MethodName: "findEnabledNSRecord",
 | 
								MethodName: "findEnabledNSRecord",
 | 
				
			||||||
			Handler:    _NSRecordService_FindEnabledNSRecord_Handler,
 | 
								Handler:    _NSRecordService_FindEnabledNSRecord_Handler,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MethodName: "listNSRecordsAfterVersion",
 | 
				
			||||||
 | 
								Handler:    _NSRecordService_ListNSRecordsAfterVersion_Handler,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	Streams:  []grpc.StreamDesc{},
 | 
						Streams:  []grpc.StreamDesc{},
 | 
				
			||||||
	Metadata: "service_ns_record.proto",
 | 
						Metadata: "service_ns_record.proto",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -522,6 +522,109 @@ func (x *UpdateNSRouteOrdersRequest) GetNsRouteIds() []int64 {
 | 
				
			|||||||
	return nil
 | 
						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 protoreflect.FileDescriptor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var file_service_ns_route_proto_rawDesc = []byte{
 | 
					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,
 | 
						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, 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,
 | 
						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,
 | 
						0x75, 0x74, 0x65, 0x49, 0x64, 0x73, 0x22, 0x4f, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53,
 | 
				
			||||||
	0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65,
 | 
						0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69,
 | 
				
			||||||
	0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e,
 | 
						0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72,
 | 
				
			||||||
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71,
 | 
						0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73,
 | 
				
			||||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
 | 
						0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
 | 
				
			||||||
	0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
						0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4b, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x4e,
 | 
				
			||||||
	0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65,
 | 
						0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73,
 | 
				
			||||||
	0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f,
 | 
						0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x6e,
 | 
				
			||||||
	0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
						0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
 | 
				
			||||||
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x0d, 0x64, 0x65,
 | 
						0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x08, 0x6e, 0x73, 0x52, 0x6f,
 | 
				
			||||||
	0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62,
 | 
						0x75, 0x74, 0x65, 0x73, 0x32, 0xb0, 0x04, 0x0a, 0x0e, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65,
 | 
				
			||||||
	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65,
 | 
						0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74,
 | 
				
			||||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
 | 
						0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72,
 | 
				
			||||||
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
 | 
						0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
				
			||||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x62,
 | 
						0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53,
 | 
				
			||||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f,
 | 
						0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a,
 | 
				
			||||||
	0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e,
 | 
						0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x18,
 | 
				
			||||||
	0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f, 0x75,
 | 
						0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74,
 | 
				
			||||||
	0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69,
 | 
						0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
 | 
				
			||||||
	0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f,
 | 
						0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65,
 | 
				
			||||||
	0x75, 0x74, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
 | 
						0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x44,
 | 
				
			||||||
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73,
 | 
						0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
 | 
				
			||||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
						0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
 | 
				
			||||||
	0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f, 0x75,
 | 
						0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
				
			||||||
	0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x13, 0x75,
 | 
						0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46,
 | 
				
			||||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65,
 | 
						0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74,
 | 
				
			||||||
	0x72, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53,
 | 
						0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
 | 
				
			||||||
	0x52, 0x6f, 0x75, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
						0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65,
 | 
				
			||||||
	0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
 | 
						0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64,
 | 
				
			||||||
	0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
 | 
						0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74,
 | 
				
			||||||
	0x6f, 0x33,
 | 
						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 (
 | 
					var (
 | 
				
			||||||
@@ -623,40 +742,45 @@ func file_service_ns_route_proto_rawDescGZIP() []byte {
 | 
				
			|||||||
	return file_service_ns_route_proto_rawDescData
 | 
						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{}{
 | 
					var file_service_ns_route_proto_goTypes = []interface{}{
 | 
				
			||||||
	(*CreateNSRouteRequest)(nil),           // 0: pb.CreateNSRouteRequest
 | 
						(*CreateNSRouteRequest)(nil),             // 0: pb.CreateNSRouteRequest
 | 
				
			||||||
	(*CreateNSRouteResponse)(nil),          // 1: pb.CreateNSRouteResponse
 | 
						(*CreateNSRouteResponse)(nil),            // 1: pb.CreateNSRouteResponse
 | 
				
			||||||
	(*UpdateNSRouteRequest)(nil),           // 2: pb.UpdateNSRouteRequest
 | 
						(*UpdateNSRouteRequest)(nil),             // 2: pb.UpdateNSRouteRequest
 | 
				
			||||||
	(*DeleteNSRouteRequest)(nil),           // 3: pb.DeleteNSRouteRequest
 | 
						(*DeleteNSRouteRequest)(nil),             // 3: pb.DeleteNSRouteRequest
 | 
				
			||||||
	(*FindEnabledNSRouteRequest)(nil),      // 4: pb.FindEnabledNSRouteRequest
 | 
						(*FindEnabledNSRouteRequest)(nil),        // 4: pb.FindEnabledNSRouteRequest
 | 
				
			||||||
	(*FindEnabledNSRouteResponse)(nil),     // 5: pb.FindEnabledNSRouteResponse
 | 
						(*FindEnabledNSRouteResponse)(nil),       // 5: pb.FindEnabledNSRouteResponse
 | 
				
			||||||
	(*FindAllEnabledNSRoutesRequest)(nil),  // 6: pb.FindAllEnabledNSRoutesRequest
 | 
						(*FindAllEnabledNSRoutesRequest)(nil),    // 6: pb.FindAllEnabledNSRoutesRequest
 | 
				
			||||||
	(*FindAllEnabledNSRoutesResponse)(nil), // 7: pb.FindAllEnabledNSRoutesResponse
 | 
						(*FindAllEnabledNSRoutesResponse)(nil),   // 7: pb.FindAllEnabledNSRoutesResponse
 | 
				
			||||||
	(*UpdateNSRouteOrdersRequest)(nil),     // 8: pb.UpdateNSRouteOrdersRequest
 | 
						(*UpdateNSRouteOrdersRequest)(nil),       // 8: pb.UpdateNSRouteOrdersRequest
 | 
				
			||||||
	(*NSRoute)(nil),                        // 9: pb.NSRoute
 | 
						(*ListNSRoutesAfterVersionRequest)(nil),  // 9: pb.ListNSRoutesAfterVersionRequest
 | 
				
			||||||
	(*RPCSuccess)(nil),                     // 10: pb.RPCSuccess
 | 
						(*ListNSRoutesAfterVersionResponse)(nil), // 10: pb.ListNSRoutesAfterVersionResponse
 | 
				
			||||||
 | 
						(*NSRoute)(nil),                          // 11: pb.NSRoute
 | 
				
			||||||
 | 
						(*RPCSuccess)(nil),                       // 12: pb.RPCSuccess
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
var file_service_ns_route_proto_depIdxs = []int32{
 | 
					var file_service_ns_route_proto_depIdxs = []int32{
 | 
				
			||||||
	9,  // 0: pb.FindEnabledNSRouteResponse.nsRoute:type_name -> pb.NSRoute
 | 
						11, // 0: pb.FindEnabledNSRouteResponse.nsRoute:type_name -> pb.NSRoute
 | 
				
			||||||
	9,  // 1: pb.FindAllEnabledNSRoutesResponse.nsRoutes:type_name -> pb.NSRoute
 | 
						11, // 1: pb.FindAllEnabledNSRoutesResponse.nsRoutes:type_name -> pb.NSRoute
 | 
				
			||||||
	0,  // 2: pb.NSRouteService.createNSRoute:input_type -> pb.CreateNSRouteRequest
 | 
						11, // 2: pb.ListNSRoutesAfterVersionResponse.nsRoutes:type_name -> pb.NSRoute
 | 
				
			||||||
	2,  // 3: pb.NSRouteService.updateNSRoute:input_type -> pb.UpdateNSRouteRequest
 | 
						0,  // 3: pb.NSRouteService.createNSRoute:input_type -> pb.CreateNSRouteRequest
 | 
				
			||||||
	3,  // 4: pb.NSRouteService.deleteNSRoute:input_type -> pb.DeleteNSRouteRequest
 | 
						2,  // 4: pb.NSRouteService.updateNSRoute:input_type -> pb.UpdateNSRouteRequest
 | 
				
			||||||
	4,  // 5: pb.NSRouteService.findEnabledNSRoute:input_type -> pb.FindEnabledNSRouteRequest
 | 
						3,  // 5: pb.NSRouteService.deleteNSRoute:input_type -> pb.DeleteNSRouteRequest
 | 
				
			||||||
	6,  // 6: pb.NSRouteService.findAllEnabledNSRoutes:input_type -> pb.FindAllEnabledNSRoutesRequest
 | 
						4,  // 6: pb.NSRouteService.findEnabledNSRoute:input_type -> pb.FindEnabledNSRouteRequest
 | 
				
			||||||
	8,  // 7: pb.NSRouteService.updateNSRouteOrders:input_type -> pb.UpdateNSRouteOrdersRequest
 | 
						6,  // 7: pb.NSRouteService.findAllEnabledNSRoutes:input_type -> pb.FindAllEnabledNSRoutesRequest
 | 
				
			||||||
	1,  // 8: pb.NSRouteService.createNSRoute:output_type -> pb.CreateNSRouteResponse
 | 
						8,  // 8: pb.NSRouteService.updateNSRouteOrders:input_type -> pb.UpdateNSRouteOrdersRequest
 | 
				
			||||||
	10, // 9: pb.NSRouteService.updateNSRoute:output_type -> pb.RPCSuccess
 | 
						9,  // 9: pb.NSRouteService.listNSRoutesAfterVersion:input_type -> pb.ListNSRoutesAfterVersionRequest
 | 
				
			||||||
	10, // 10: pb.NSRouteService.deleteNSRoute:output_type -> pb.RPCSuccess
 | 
						1,  // 10: pb.NSRouteService.createNSRoute:output_type -> pb.CreateNSRouteResponse
 | 
				
			||||||
	5,  // 11: pb.NSRouteService.findEnabledNSRoute:output_type -> pb.FindEnabledNSRouteResponse
 | 
						12, // 11: pb.NSRouteService.updateNSRoute:output_type -> pb.RPCSuccess
 | 
				
			||||||
	7,  // 12: pb.NSRouteService.findAllEnabledNSRoutes:output_type -> pb.FindAllEnabledNSRoutesResponse
 | 
						12, // 12: pb.NSRouteService.deleteNSRoute:output_type -> pb.RPCSuccess
 | 
				
			||||||
	10, // 13: pb.NSRouteService.updateNSRouteOrders:output_type -> pb.RPCSuccess
 | 
						5,  // 13: pb.NSRouteService.findEnabledNSRoute:output_type -> pb.FindEnabledNSRouteResponse
 | 
				
			||||||
	8,  // [8:14] is the sub-list for method output_type
 | 
						7,  // 14: pb.NSRouteService.findAllEnabledNSRoutes:output_type -> pb.FindAllEnabledNSRoutesResponse
 | 
				
			||||||
	2,  // [2:8] is the sub-list for method input_type
 | 
						12, // 15: pb.NSRouteService.updateNSRouteOrders:output_type -> pb.RPCSuccess
 | 
				
			||||||
	2,  // [2:2] is the sub-list for extension type_name
 | 
						10, // 16: pb.NSRouteService.listNSRoutesAfterVersion:output_type -> pb.ListNSRoutesAfterVersionResponse
 | 
				
			||||||
	2,  // [2:2] is the sub-list for extension extendee
 | 
						10, // [10:17] is the sub-list for method output_type
 | 
				
			||||||
	0,  // [0:2] is the sub-list for field type_name
 | 
						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() }
 | 
					func init() { file_service_ns_route_proto_init() }
 | 
				
			||||||
@@ -775,6 +899,30 @@ func file_service_ns_route_proto_init() {
 | 
				
			|||||||
				return nil
 | 
									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{}
 | 
						type x struct{}
 | 
				
			||||||
	out := protoimpl.TypeBuilder{
 | 
						out := protoimpl.TypeBuilder{
 | 
				
			||||||
@@ -782,7 +930,7 @@ func file_service_ns_route_proto_init() {
 | 
				
			|||||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
								GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
				
			||||||
			RawDescriptor: file_service_ns_route_proto_rawDesc,
 | 
								RawDescriptor: file_service_ns_route_proto_rawDesc,
 | 
				
			||||||
			NumEnums:      0,
 | 
								NumEnums:      0,
 | 
				
			||||||
			NumMessages:   9,
 | 
								NumMessages:   11,
 | 
				
			||||||
			NumExtensions: 0,
 | 
								NumExtensions: 0,
 | 
				
			||||||
			NumServices:   1,
 | 
								NumServices:   1,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
@@ -820,6 +968,8 @@ type NSRouteServiceClient interface {
 | 
				
			|||||||
	FindAllEnabledNSRoutes(ctx context.Context, in *FindAllEnabledNSRoutesRequest, opts ...grpc.CallOption) (*FindAllEnabledNSRoutesResponse, error)
 | 
						FindAllEnabledNSRoutes(ctx context.Context, in *FindAllEnabledNSRoutesRequest, opts ...grpc.CallOption) (*FindAllEnabledNSRoutesResponse, error)
 | 
				
			||||||
	// 设置线路排序
 | 
						// 设置线路排序
 | 
				
			||||||
	UpdateNSRouteOrders(ctx context.Context, in *UpdateNSRouteOrdersRequest, opts ...grpc.CallOption) (*RPCSuccess, 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 {
 | 
					type nSRouteServiceClient struct {
 | 
				
			||||||
@@ -884,6 +1034,15 @@ func (c *nSRouteServiceClient) UpdateNSRouteOrders(ctx context.Context, in *Upda
 | 
				
			|||||||
	return out, nil
 | 
						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.
 | 
					// NSRouteServiceServer is the server API for NSRouteService service.
 | 
				
			||||||
type NSRouteServiceServer interface {
 | 
					type NSRouteServiceServer interface {
 | 
				
			||||||
	// 创建线路
 | 
						// 创建线路
 | 
				
			||||||
@@ -898,6 +1057,8 @@ type NSRouteServiceServer interface {
 | 
				
			|||||||
	FindAllEnabledNSRoutes(context.Context, *FindAllEnabledNSRoutesRequest) (*FindAllEnabledNSRoutesResponse, error)
 | 
						FindAllEnabledNSRoutes(context.Context, *FindAllEnabledNSRoutesRequest) (*FindAllEnabledNSRoutesResponse, error)
 | 
				
			||||||
	// 设置线路排序
 | 
						// 设置线路排序
 | 
				
			||||||
	UpdateNSRouteOrders(context.Context, *UpdateNSRouteOrdersRequest) (*RPCSuccess, error)
 | 
						UpdateNSRouteOrders(context.Context, *UpdateNSRouteOrdersRequest) (*RPCSuccess, error)
 | 
				
			||||||
 | 
						// 根据版本列出一组线路
 | 
				
			||||||
 | 
						ListNSRoutesAfterVersion(context.Context, *ListNSRoutesAfterVersionRequest) (*ListNSRoutesAfterVersionResponse, error)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UnimplementedNSRouteServiceServer can be embedded to have forward compatible implementations.
 | 
					// 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) {
 | 
					func (*UnimplementedNSRouteServiceServer) UpdateNSRouteOrders(context.Context, *UpdateNSRouteOrdersRequest) (*RPCSuccess, error) {
 | 
				
			||||||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNSRouteOrders not implemented")
 | 
						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) {
 | 
					func RegisterNSRouteServiceServer(s *grpc.Server, srv NSRouteServiceServer) {
 | 
				
			||||||
	s.RegisterService(&_NSRouteService_serviceDesc, srv)
 | 
						s.RegisterService(&_NSRouteService_serviceDesc, srv)
 | 
				
			||||||
@@ -1035,6 +1199,24 @@ func _NSRouteService_UpdateNSRouteOrders_Handler(srv interface{}, ctx context.Co
 | 
				
			|||||||
	return interceptor(ctx, in, info, handler)
 | 
						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{
 | 
					var _NSRouteService_serviceDesc = grpc.ServiceDesc{
 | 
				
			||||||
	ServiceName: "pb.NSRouteService",
 | 
						ServiceName: "pb.NSRouteService",
 | 
				
			||||||
	HandlerType: (*NSRouteServiceServer)(nil),
 | 
						HandlerType: (*NSRouteServiceServer)(nil),
 | 
				
			||||||
@@ -1063,6 +1245,10 @@ var _NSRouteService_serviceDesc = grpc.ServiceDesc{
 | 
				
			|||||||
			MethodName: "updateNSRouteOrders",
 | 
								MethodName: "updateNSRouteOrders",
 | 
				
			||||||
			Handler:    _NSRouteService_UpdateNSRouteOrders_Handler,
 | 
								Handler:    _NSRouteService_UpdateNSRouteOrders_Handler,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MethodName: "listNSRoutesAfterVersion",
 | 
				
			||||||
 | 
								Handler:    _NSRouteService_ListNSRoutesAfterVersion_Handler,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	Streams:  []grpc.StreamDesc{},
 | 
						Streams:  []grpc.StreamDesc{},
 | 
				
			||||||
	Metadata: "service_ns_route.proto",
 | 
						Metadata: "service_ns_route.proto",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,6 +12,8 @@ message NSDomain {
 | 
				
			|||||||
	string name = 2;
 | 
						string name = 2;
 | 
				
			||||||
	bool isOn = 3;
 | 
						bool isOn = 3;
 | 
				
			||||||
	int64 createdAt = 4;
 | 
						int64 createdAt = 4;
 | 
				
			||||||
 | 
						bool isDeleted = 5;
 | 
				
			||||||
 | 
						int64 version = 6;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	NSCluster nsCluster = 30;
 | 
						NSCluster nsCluster = 30;
 | 
				
			||||||
	User user = 31;
 | 
						User user = 31;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,6 +16,9 @@ message NSRecord {
 | 
				
			|||||||
	int32 ttl = 6;
 | 
						int32 ttl = 6;
 | 
				
			||||||
	int32 weight = 7;
 | 
						int32 weight = 7;
 | 
				
			||||||
	int64 createdAt = 8;
 | 
						int64 createdAt = 8;
 | 
				
			||||||
 | 
						bool isDeleted = 9;
 | 
				
			||||||
 | 
						int64 version = 10;
 | 
				
			||||||
 | 
						bool isOn = 11;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	NSDomain nsDomain = 30;
 | 
						NSDomain nsDomain = 30;
 | 
				
			||||||
	repeated NSRoute nsRoutes = 31;
 | 
						repeated NSRoute nsRoutes = 31;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,6 +12,9 @@ message NSRoute {
 | 
				
			|||||||
	bool isOn = 2;
 | 
						bool isOn = 2;
 | 
				
			||||||
	string name = 3;
 | 
						string name = 3;
 | 
				
			||||||
	bytes rangesJSON = 4;
 | 
						bytes rangesJSON = 4;
 | 
				
			||||||
 | 
						bool isDeleted = 5;
 | 
				
			||||||
 | 
						int64 order = 6;
 | 
				
			||||||
 | 
						int64 version = 7;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	NSCluster nsCluster = 30;
 | 
						NSCluster nsCluster = 30;
 | 
				
			||||||
	NSDomain nsDomain = 31;
 | 
						NSDomain nsDomain = 31;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,6 +25,9 @@ service NSDomainService {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// 列出单页域名
 | 
						// 列出单页域名
 | 
				
			||||||
	rpc listEnabledNSDomains (ListEnabledNSDomainsRequest) returns (ListEnabledNSDomainsResponse);
 | 
						rpc listEnabledNSDomains (ListEnabledNSDomainsRequest) returns (ListEnabledNSDomainsResponse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 根据版本列出一组域名
 | 
				
			||||||
 | 
						rpc listNSDomainsAfterVersion (ListNSDomainsAfterVersionRequest) returns (ListNSDomainsAfterVersionResponse);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 创建域名
 | 
					// 创建域名
 | 
				
			||||||
@@ -39,12 +42,12 @@ message CreateNSDomainResponse {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 修改域名
 | 
					// 修改域名
 | 
				
			||||||
 | 
					// 注意:名称不能修改
 | 
				
			||||||
message UpdateNSDomainRequest {
 | 
					message UpdateNSDomainRequest {
 | 
				
			||||||
	int64 nsDomainId = 1;
 | 
						int64 nsDomainId = 1;
 | 
				
			||||||
	int64 nsClusterId = 2;
 | 
						int64 nsClusterId = 2;
 | 
				
			||||||
	int64 userId = 3;
 | 
						int64 userId = 3;
 | 
				
			||||||
	string name = 4;
 | 
						bool isOn = 4;
 | 
				
			||||||
	bool isOn = 5;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 删除域名
 | 
					// 删除域名
 | 
				
			||||||
@@ -80,3 +83,13 @@ message ListEnabledNSDomainsRequest {
 | 
				
			|||||||
message ListEnabledNSDomainsResponse {
 | 
					message ListEnabledNSDomainsResponse {
 | 
				
			||||||
	repeated NSDomain nsDomains = 1;
 | 
						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 updateNSNodeIsInstalled (UpdateNSNodeIsInstalledRequest) returns (RPCSuccess);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 更新节点状态
 | 
				
			||||||
 | 
						rpc updateNSNodeStatus (UpdateNSNodeStatusRequest) returns (RPCSuccess);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 获取当前节点信息
 | 
				
			||||||
 | 
						rpc findCurrentNSNode (FindCurrentNSNodeRequest) returns (FindCurrentNSNodeResponse);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 根据集群查找所有节点
 | 
					// 根据集群查找所有节点
 | 
				
			||||||
@@ -146,3 +152,18 @@ message UpdateNSNodeIsInstalledRequest {
 | 
				
			|||||||
	int64 nsNodeId = 1;
 | 
						int64 nsNodeId = 1;
 | 
				
			||||||
	bool isInstalled = 2;
 | 
						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 findEnabledNSRecord (FindEnabledNSRecordRequest) returns (FindEnabledNSRecordResponse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 根据版本列出一组记录
 | 
				
			||||||
 | 
						rpc listNSRecordsAfterVersion (ListNSRecordsAfterVersionRequest) returns (ListNSRecordsAfterVersionResponse);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 创建记录
 | 
					// 创建记录
 | 
				
			||||||
@@ -88,3 +91,13 @@ message FindEnabledNSRecordRequest {
 | 
				
			|||||||
message FindEnabledNSRecordResponse {
 | 
					message FindEnabledNSRecordResponse {
 | 
				
			||||||
	NSRecord nsRecord = 1;
 | 
						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 updateNSRouteOrders (UpdateNSRouteOrdersRequest) returns (RPCSuccess);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 根据版本列出一组线路
 | 
				
			||||||
 | 
						rpc listNSRoutesAfterVersion (ListNSRoutesAfterVersionRequest) returns (ListNSRoutesAfterVersionResponse);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 创建线路
 | 
					// 创建线路
 | 
				
			||||||
@@ -76,3 +79,13 @@ message FindAllEnabledNSRoutesResponse {
 | 
				
			|||||||
message UpdateNSRouteOrdersRequest {
 | 
					message UpdateNSRouteOrdersRequest {
 | 
				
			||||||
	repeated int64 nsRouteIds = 1;
 | 
						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