From f52a55e6701909a1d6065946b076f971fe2a6b02 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Wed, 3 May 2023 17:09:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=9F=E5=90=8D=E8=A7=A3=E6=9E=90=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=9E=E7=8E=B0=E5=81=A5=E5=BA=B7=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/rpc.json | 101 ++- pkg/rpc/pb/model_ns_domain.pb.go | 59 +- pkg/rpc/pb/model_ns_record.pb.go | 74 +- pkg/rpc/pb/service_ns_domain.pb.go | 600 +++++++++++---- pkg/rpc/pb/service_ns_record.pb.go | 762 +++++++++++++++----- pkg/rpc/protos/models/model_ns_domain.proto | 1 + pkg/rpc/protos/models/model_ns_record.proto | 23 +- pkg/rpc/protos/service_ns_domain.proto | 21 + pkg/rpc/protos/service_ns_record.proto | 32 + 9 files changed, 1298 insertions(+), 375 deletions(-) diff --git a/build/rpc.json b/build/rpc.json index f7214ea..4c98855 100644 --- a/build/rpc.json +++ b/build/rpc.json @@ -7709,6 +7709,30 @@ "user" ], "isDeprecated": false + }, + { + "name": "findNSDomainRecordsHealthCheck", + "requestMessageName": "FindNSDomainRecordsHealthCheckRequest", + "responseMessageName": "FindNSDomainRecordsHealthCheckResponse", + "code": "rpc findNSDomainRecordsHealthCheck(FindNSDomainRecordsHealthCheckRequest) returns (FindNSDomainRecordsHealthCheckResponse);", + "doc": "查询记录健康检查全局设置", + "roles": [ + "admin", + "user" + ], + "isDeprecated": false + }, + { + "name": "updateNSDomainRecordsHealthCheck", + "requestMessageName": "UpdateNSDomainRecordsHealthCheckRequest", + "responseMessageName": "RPCSuccess", + "code": "rpc updateNSDomainRecordsHealthCheck(UpdateNSDomainRecordsHealthCheckRequest) returns (RPCSuccess);", + "doc": "修改记录健康检查全局设置", + "roles": [ + "admin", + "user" + ], + "isDeprecated": false } ], "filename": "service_ns_domain.proto", @@ -8509,6 +8533,42 @@ "dns" ], "isDeprecated": false + }, + { + "name": "findNSRecordHealthCheck", + "requestMessageName": "FindNSRecordHealthCheckRequest", + "responseMessageName": "FindNSRecordHealthCheckResponse", + "code": "rpc findNSRecordHealthCheck(FindNSRecordHealthCheckRequest) returns (FindNSRecordHealthCheckResponse);", + "doc": "查询记录健康检查设置", + "roles": [ + "admin", + "user" + ], + "isDeprecated": false + }, + { + "name": "updateNSRecordHealthCheck", + "requestMessageName": "UpdateNSRecordHealthCheckRequest", + "responseMessageName": "RPCSuccess", + "code": "rpc updateNSRecordHealthCheck(UpdateNSRecordHealthCheckRequest) returns (RPCSuccess);", + "doc": "修改记录健康检查设置", + "roles": [ + "admin", + "user" + ], + "isDeprecated": false + }, + { + "name": "updateNSRecordIsUp", + "requestMessageName": "UpdateNSRecordIsUpRequest", + "responseMessageName": "RPCSuccess", + "code": "rpc updateNSRecordIsUp(UpdateNSRecordIsUpRequest) returns (RPCSuccess);", + "doc": "手动修改记录在线状态", + "roles": [ + "admin", + "user" + ], + "isDeprecated": false } ], "filename": "service_ns_record.proto", @@ -18433,6 +18493,16 @@ "code": "message FindNSDomainGroupResponse {\n\tNSDomainGroup nsDomainGroup = 1;\n}", "doc": "" }, + { + "name": "FindNSDomainRecordsHealthCheckRequest", + "code": "message FindNSDomainRecordsHealthCheckRequest {\n\tint64 nsDomainId = 1; // 域名ID\n}", + "doc": "查询记录健康检查全局设置" + }, + { + "name": "FindNSDomainRecordsHealthCheckResponse", + "code": "message FindNSDomainRecordsHealthCheckResponse {\n\tbytes nsDomainRecordsHealthCheckJSON = 1; // 健康检查设置\n}", + "doc": "" + }, { "name": "FindNSDomainRequest", "code": "message FindNSDomainRequest {\n\tint64 nsDomainId = 1; // 域名ID\n}", @@ -18543,6 +18613,16 @@ "code": "message FindNSQuestionOptionResponse {\n\tNSQuestionOption nsQuestionOption = 1;\n}", "doc": "" }, + { + "name": "FindNSRecordHealthCheckRequest", + "code": "message FindNSRecordHealthCheckRequest {\n\tint64 nsRecordId = 1; // 记录ID\n}", + "doc": "查询记录健康检查设置" + }, + { + "name": "FindNSRecordHealthCheckResponse", + "code": "message FindNSRecordHealthCheckResponse {\n\tbytes nsRecordHealthCheckJSON = 1; // 记录健康检查配置\n}", + "doc": "" + }, { "name": "FindNSRecordHourlyStatRequest", "code": "message FindNSRecordHourlyStatRequest {\n\tint64 nsRecordId = 1; // 记录ID\n\tstring hour = 2; // YYYYMMDDHH\n}", @@ -19845,7 +19925,7 @@ }, { "name": "ListNSRecordsRequest", - "code": "message ListNSRecordsRequest {\n\tint64 nsDomainId = 1;\n\tstring type = 2;\n\tint64 nsRouteId = 3 [deprecated = true]; // 使用nsRouteCode代替\n\tstring nsRouteCode = 7;\n\tstring keyword = 4;\n\n\tbool nameAsc = 8;\n\tbool nameDesc = 9;\n\tbool typeAsc = 10;\n\tbool typeDesc = 11;\n\tbool ttlAsc = 12;\n\tbool ttlDesc = 13;\n\n\tint64 offset = 5;\n\tint64 size = 6;\n}", + "code": "message ListNSRecordsRequest {\n\tint64 nsDomainId = 1;\n\tstring type = 2;\n\tint64 nsRouteId = 3 [deprecated = true]; // 使用nsRouteCode代替\n\tstring nsRouteCode = 7;\n\tstring keyword = 4;\n\n\tbool nameAsc = 8;\n\tbool nameDesc = 9;\n\tbool typeAsc = 10;\n\tbool typeDesc = 11;\n\tbool ttlAsc = 12;\n\tbool ttlDesc = 13;\n\tbool upAsc = 14;\n\tbool upDesc = 15;\n\n\tint64 offset = 5;\n\tint64 size = 6;\n}", "doc": "读取单页记录" }, { @@ -20220,7 +20300,7 @@ }, { "name": "NSDomain", - "code": "message NSDomain {\n\tint64 id = 1;\n\tstring name = 2;\n\tbool isOn = 3;\n\tint64 createdAt = 4;\n\tbool isDeleted = 5;\n\tint64 version = 6;\n\tbytes tsigJSON = 7;\n\trepeated int64 nsDomainGroupIds = 8;\n\tstring status = 9;\n\tint64 userId = 10; // 用户ID\n\n\tNSCluster nsCluster = 30;\n\tUser user = 31;\n\trepeated NSDomainGroup nsDomainGroups = 32;\n}", + "code": "message NSDomain {\n\tint64 id = 1;\n\tstring name = 2;\n\tbool isOn = 3;\n\tint64 createdAt = 4;\n\tbool isDeleted = 5;\n\tint64 version = 6;\n\tbytes tsigJSON = 7;\n\trepeated int64 nsDomainGroupIds = 8;\n\tstring status = 9;\n\tint64 userId = 10; // 用户ID\n\tbytes recordsHealthCheckJSON = 11; // 健康检查设置\n\n\tNSCluster nsCluster = 30;\n\tUser user = 31;\n\trepeated NSDomainGroup nsDomainGroups = 32;\n}", "doc": "DNS域名" }, { @@ -20255,7 +20335,7 @@ }, { "name": "NSRecord", - "code": "message NSRecord {\n\tint64 id = 1;\n\tstring description = 2;\n\tstring name = 3;\n\tstring type = 4;\n\tstring value = 5;\n\n\tint32 mxPriority = 12; // mx优先级\n\n\tint32 srvPriority = 13; // SRV优先级\n\tint32 srvWeight = 14; // SRV权重\n\tint32 srvPort = 15; // SRV端口\n\n\tint32 caaFlag = 16; // CAA Flag\n\tstring caaTag = 17; // CAA TAG\n\n\tint32 ttl = 6;\n\tint32 weight = 7;\n\tint64 createdAt = 8;\n\tbool isDeleted = 9;\n\tint64 version = 10;\n\tbool isOn = 11;\n\n\tNSDomain nsDomain = 30;\n\trepeated NSRoute nsRoutes = 31;\n}", + "code": "message NSRecord {\n\tint64 id = 1; // 记录ID\n\tstring description = 2; // 备注\n\tstring name = 3; // 记录名\n\tstring type = 4; // 记录类型\n\tstring value = 5; // 记录值\n\n\tint32 mxPriority = 12; // mx优先级\n\n\tint32 srvPriority = 13; // SRV优先级\n\tint32 srvWeight = 14; // SRV权重\n\tint32 srvPort = 15; // SRV端口\n\n\tint32 caaFlag = 16; // CAA Flag\n\tstring caaTag = 17; // CAA TAG\n\n\tint32 ttl = 6; // TTL\n\tint32 weight = 7; // 权重\n\tint64 createdAt = 8;\n\tbool isDeleted = 9;\n\tint64 version = 10;\n\tbool isOn = 11; // 是否启用\n\n\tbytes healthCheckJSON = 18; // 健康检查配置\n\tbool isUp = 19; // 是否在线(根据健康检查结果)\n\n\tNSDomain nsDomain = 30; // 所属域名\n\trepeated NSRoute nsRoutes = 31; // 线路\n}", "doc": "域名记录" }, { @@ -21428,6 +21508,11 @@ "code": "message UpdateNSDomainGroupRequest {\n\tint64 nsDomainGroupId = 1;\n\tstring name = 2;\n\tbool isOn = 3;\n}", "doc": "修改分组" }, + { + "name": "UpdateNSDomainRecordsHealthCheckRequest", + "code": "message UpdateNSDomainRecordsHealthCheckRequest {\n\tint64 nsDomainId = 1; // 域名ID\n\tbytes nsDomainRecordsHealthCheckJSON = 2; // 健康检查设置\n}", + "doc": "修改记录健康检查全局设置" + }, { "name": "UpdateNSDomainRequest", "code": "message UpdateNSDomainRequest {\n\tint64 nsDomainId = 1;\n\tint64 nsClusterId = 2;\n\tint64 userId = 3;\n\trepeated int64 nsDomainGroupIds = 5; // 域名分组ID\n\tbool isOn = 4;\n}", @@ -21488,6 +21573,16 @@ "code": "message UpdateNSPlanRequest {\n\tint64 nsPlanId = 1;\n\tstring name = 2;\n\tbool isOn = 3;\n\tfloat monthlyPrice = 4;\n\tfloat yearlyPrice = 5;\n\tbytes configJSON = 6;\n}", "doc": "修改DNS套餐" }, + { + "name": "UpdateNSRecordHealthCheckRequest", + "code": "message UpdateNSRecordHealthCheckRequest {\n\tint64 nsRecordId = 1; // 记录ID\n\tbytes nsRecordHealthCheckJSON = 2; // 记录健康检查配置\n}", + "doc": "修改记录健康检查设置" + }, + { + "name": "UpdateNSRecordIsUpRequest", + "code": "message UpdateNSRecordIsUpRequest {\n\tint64 nsRecordId = 1; // 记录ID\n\tbool isUp = 2; // 是否在线\n}", + "doc": "手动修改记录在线状态" + }, { "name": "UpdateNSRecordRequest", "code": "message UpdateNSRecordRequest {\n\tint64 nsRecordId = 1;\n\tstring description = 2;\n\tstring name = 3;\n\tstring type = 4;\n\tstring value = 5;\n\tint32 ttl = 6;\n\trepeated int64 nsRouteIds = 7 [deprecated = true];\n\tbool isOn = 8;\n\trepeated string nsRouteCodes = 9; // 路线代号\n\tint32 weight = 16; // 权重\n\n\tint32 mxPriority = 10; // mx优先级\n\n\tint32 srvPriority = 11; // SRV优先级\n\tint32 srvWeight = 12; // SRV权重\n\tint32 srvPort = 13; // SRV端口\n\n\tint32 caaFlag = 14; // CAA Flag\n\tstring caaTag = 15; // CAA TAG\n}", diff --git a/pkg/rpc/pb/model_ns_domain.pb.go b/pkg/rpc/pb/model_ns_domain.pb.go index 9eb4b78..93923cd 100644 --- a/pkg/rpc/pb/model_ns_domain.pb.go +++ b/pkg/rpc/pb/model_ns_domain.pb.go @@ -31,19 +31,20 @@ type NSDomain struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - IsOn bool `protobuf:"varint,3,opt,name=isOn,proto3" json:"isOn,omitempty"` - CreatedAt int64 `protobuf:"varint,4,opt,name=createdAt,proto3" json:"createdAt,omitempty"` - IsDeleted bool `protobuf:"varint,5,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"` - Version int64 `protobuf:"varint,6,opt,name=version,proto3" json:"version,omitempty"` - TsigJSON []byte `protobuf:"bytes,7,opt,name=tsigJSON,proto3" json:"tsigJSON,omitempty"` - NsDomainGroupIds []int64 `protobuf:"varint,8,rep,packed,name=nsDomainGroupIds,proto3" json:"nsDomainGroupIds,omitempty"` - Status string `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"` - UserId int64 `protobuf:"varint,10,opt,name=userId,proto3" json:"userId,omitempty"` // 用户ID - NsCluster *NSCluster `protobuf:"bytes,30,opt,name=nsCluster,proto3" json:"nsCluster,omitempty"` - User *User `protobuf:"bytes,31,opt,name=user,proto3" json:"user,omitempty"` - NsDomainGroups []*NSDomainGroup `protobuf:"bytes,32,rep,name=nsDomainGroups,proto3" json:"nsDomainGroups,omitempty"` + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,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"` + 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"` + TsigJSON []byte `protobuf:"bytes,7,opt,name=tsigJSON,proto3" json:"tsigJSON,omitempty"` + NsDomainGroupIds []int64 `protobuf:"varint,8,rep,packed,name=nsDomainGroupIds,proto3" json:"nsDomainGroupIds,omitempty"` + Status string `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"` + UserId int64 `protobuf:"varint,10,opt,name=userId,proto3" json:"userId,omitempty"` // 用户ID + RecordsHealthCheckJSON []byte `protobuf:"bytes,11,opt,name=recordsHealthCheckJSON,proto3" json:"recordsHealthCheckJSON,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"` + NsDomainGroups []*NSDomainGroup `protobuf:"bytes,32,rep,name=nsDomainGroups,proto3" json:"nsDomainGroups,omitempty"` } func (x *NSDomain) Reset() { @@ -148,6 +149,13 @@ func (x *NSDomain) GetUserId() int64 { return 0 } +func (x *NSDomain) GetRecordsHealthCheckJSON() []byte { + if x != nil { + return x.RecordsHealthCheckJSON + } + return nil +} + func (x *NSDomain) GetNsCluster() *NSCluster { if x != nil { return x.NsCluster @@ -179,7 +187,7 @@ var file_models_model_ns_domain_proto_rawDesc = []byte{ 0x6f, 0x1a, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, + 0x64, 0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x03, 0x0a, 0x08, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, @@ -197,16 +205,19 @@ var file_models_model_ns_domain_proto_rawDesc = []byte{ 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x2b, 0x0a, 0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x1e, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x52, 0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, - 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, - 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0e, - 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x20, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0e, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x12, 0x36, 0x0a, 0x16, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x16, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x2b, 0x0a, 0x09, 0x6e, 0x73, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, + 0x62, 0x2e, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x09, 0x6e, 0x73, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 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, 0x12, 0x39, 0x0a, 0x0e, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, + 0x62, 0x2e, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x0e, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x42, + 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pkg/rpc/pb/model_ns_record.pb.go b/pkg/rpc/pb/model_ns_record.pb.go index de953ba..267b2f7 100644 --- a/pkg/rpc/pb/model_ns_record.pb.go +++ b/pkg/rpc/pb/model_ns_record.pb.go @@ -31,25 +31,27 @@ type NSRecord struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` - Value string `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"` - MxPriority int32 `protobuf:"varint,12,opt,name=mxPriority,proto3" json:"mxPriority,omitempty"` // mx优先级 - SrvPriority int32 `protobuf:"varint,13,opt,name=srvPriority,proto3" json:"srvPriority,omitempty"` // SRV优先级 - SrvWeight int32 `protobuf:"varint,14,opt,name=srvWeight,proto3" json:"srvWeight,omitempty"` // SRV权重 - SrvPort int32 `protobuf:"varint,15,opt,name=srvPort,proto3" json:"srvPort,omitempty"` // SRV端口 - CaaFlag int32 `protobuf:"varint,16,opt,name=caaFlag,proto3" json:"caaFlag,omitempty"` // CAA Flag - CaaTag string `protobuf:"bytes,17,opt,name=caaTag,proto3" json:"caaTag,omitempty"` // CAA TAG - Ttl int32 `protobuf:"varint,6,opt,name=ttl,proto3" json:"ttl,omitempty"` - Weight int32 `protobuf:"varint,7,opt,name=weight,proto3" json:"weight,omitempty"` - CreatedAt int64 `protobuf:"varint,8,opt,name=createdAt,proto3" json:"createdAt,omitempty"` - IsDeleted bool `protobuf:"varint,9,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"` - Version int64 `protobuf:"varint,10,opt,name=version,proto3" json:"version,omitempty"` - IsOn bool `protobuf:"varint,11,opt,name=isOn,proto3" json:"isOn,omitempty"` - NsDomain *NSDomain `protobuf:"bytes,30,opt,name=nsDomain,proto3" json:"nsDomain,omitempty"` - NsRoutes []*NSRoute `protobuf:"bytes,31,rep,name=nsRoutes,proto3" json:"nsRoutes,omitempty"` + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // 记录ID + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // 备注 + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // 记录名 + Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` // 记录类型 + Value string `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"` // 记录值 + MxPriority int32 `protobuf:"varint,12,opt,name=mxPriority,proto3" json:"mxPriority,omitempty"` // mx优先级 + SrvPriority int32 `protobuf:"varint,13,opt,name=srvPriority,proto3" json:"srvPriority,omitempty"` // SRV优先级 + SrvWeight int32 `protobuf:"varint,14,opt,name=srvWeight,proto3" json:"srvWeight,omitempty"` // SRV权重 + SrvPort int32 `protobuf:"varint,15,opt,name=srvPort,proto3" json:"srvPort,omitempty"` // SRV端口 + CaaFlag int32 `protobuf:"varint,16,opt,name=caaFlag,proto3" json:"caaFlag,omitempty"` // CAA Flag + CaaTag string `protobuf:"bytes,17,opt,name=caaTag,proto3" json:"caaTag,omitempty"` // CAA TAG + Ttl int32 `protobuf:"varint,6,opt,name=ttl,proto3" json:"ttl,omitempty"` // TTL + Weight int32 `protobuf:"varint,7,opt,name=weight,proto3" json:"weight,omitempty"` // 权重 + CreatedAt int64 `protobuf:"varint,8,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + IsDeleted bool `protobuf:"varint,9,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"` + Version int64 `protobuf:"varint,10,opt,name=version,proto3" json:"version,omitempty"` + IsOn bool `protobuf:"varint,11,opt,name=isOn,proto3" json:"isOn,omitempty"` // 是否启用 + HealthCheckJSON []byte `protobuf:"bytes,18,opt,name=healthCheckJSON,proto3" json:"healthCheckJSON,omitempty"` // 健康检查配置 + IsUp bool `protobuf:"varint,19,opt,name=isUp,proto3" json:"isUp,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"` // 线路 } func (x *NSRecord) Reset() { @@ -203,6 +205,20 @@ func (x *NSRecord) GetIsOn() bool { return false } +func (x *NSRecord) GetHealthCheckJSON() []byte { + if x != nil { + return x.HealthCheckJSON + } + return nil +} + +func (x *NSRecord) GetIsUp() bool { + if x != nil { + return x.IsUp + } + return false +} + func (x *NSRecord) GetNsDomain() *NSDomain { if x != nil { return x.NsDomain @@ -225,7 +241,7 @@ var file_models_model_ns_record_proto_rawDesc = []byte{ 0x70, 0x62, 0x1a, 0x1c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, - 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x04, + 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcb, 0x04, 0x0a, 0x08, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, @@ -253,13 +269,17 @@ var file_models_model_ns_record_proto_rawDesc = []byte{ 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x28, 0x0a, 0x08, 0x6e, 0x73, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, - 0x62, 0x2e, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x08, 0x6e, 0x73, 0x44, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x08, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, - 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x52, 0x08, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x06, 0x5a, - 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x55, 0x70, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x55, 0x70, 0x12, 0x28, 0x0a, 0x08, 0x6e, 0x73, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, + 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x08, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x08, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x1f, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x52, 0x08, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, + 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pkg/rpc/pb/service_ns_domain.pb.go b/pkg/rpc/pb/service_ns_domain.pb.go index 7f3679a..9bb2441 100644 --- a/pkg/rpc/pb/service_ns_domain.pb.go +++ b/pkg/rpc/pb/service_ns_domain.pb.go @@ -1706,6 +1706,157 @@ func (x *VerifyNSDomainResponse) GetErrorMessage() string { return "" } +// 查询记录健康检查全局设置 +type FindNSDomainRecordsHealthCheckRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NsDomainId int64 `protobuf:"varint,1,opt,name=nsDomainId,proto3" json:"nsDomainId,omitempty"` // 域名ID +} + +func (x *FindNSDomainRecordsHealthCheckRequest) Reset() { + *x = FindNSDomainRecordsHealthCheckRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_ns_domain_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindNSDomainRecordsHealthCheckRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindNSDomainRecordsHealthCheckRequest) ProtoMessage() {} + +func (x *FindNSDomainRecordsHealthCheckRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_ns_domain_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FindNSDomainRecordsHealthCheckRequest.ProtoReflect.Descriptor instead. +func (*FindNSDomainRecordsHealthCheckRequest) Descriptor() ([]byte, []int) { + return file_service_ns_domain_proto_rawDescGZIP(), []int{30} +} + +func (x *FindNSDomainRecordsHealthCheckRequest) GetNsDomainId() int64 { + if x != nil { + return x.NsDomainId + } + return 0 +} + +type FindNSDomainRecordsHealthCheckResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NsDomainRecordsHealthCheckJSON []byte `protobuf:"bytes,1,opt,name=nsDomainRecordsHealthCheckJSON,proto3" json:"nsDomainRecordsHealthCheckJSON,omitempty"` // 健康检查设置 +} + +func (x *FindNSDomainRecordsHealthCheckResponse) Reset() { + *x = FindNSDomainRecordsHealthCheckResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_ns_domain_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindNSDomainRecordsHealthCheckResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindNSDomainRecordsHealthCheckResponse) ProtoMessage() {} + +func (x *FindNSDomainRecordsHealthCheckResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_ns_domain_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FindNSDomainRecordsHealthCheckResponse.ProtoReflect.Descriptor instead. +func (*FindNSDomainRecordsHealthCheckResponse) Descriptor() ([]byte, []int) { + return file_service_ns_domain_proto_rawDescGZIP(), []int{31} +} + +func (x *FindNSDomainRecordsHealthCheckResponse) GetNsDomainRecordsHealthCheckJSON() []byte { + if x != nil { + return x.NsDomainRecordsHealthCheckJSON + } + return nil +} + +// 修改记录健康检查全局设置 +type UpdateNSDomainRecordsHealthCheckRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NsDomainId int64 `protobuf:"varint,1,opt,name=nsDomainId,proto3" json:"nsDomainId,omitempty"` // 域名ID + NsDomainRecordsHealthCheckJSON []byte `protobuf:"bytes,2,opt,name=nsDomainRecordsHealthCheckJSON,proto3" json:"nsDomainRecordsHealthCheckJSON,omitempty"` // 健康检查设置 +} + +func (x *UpdateNSDomainRecordsHealthCheckRequest) Reset() { + *x = UpdateNSDomainRecordsHealthCheckRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_ns_domain_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNSDomainRecordsHealthCheckRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNSDomainRecordsHealthCheckRequest) ProtoMessage() {} + +func (x *UpdateNSDomainRecordsHealthCheckRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_ns_domain_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNSDomainRecordsHealthCheckRequest.ProtoReflect.Descriptor instead. +func (*UpdateNSDomainRecordsHealthCheckRequest) Descriptor() ([]byte, []int) { + return file_service_ns_domain_proto_rawDescGZIP(), []int{32} +} + +func (x *UpdateNSDomainRecordsHealthCheckRequest) GetNsDomainId() int64 { + if x != nil { + return x.NsDomainId + } + return 0 +} + +func (x *UpdateNSDomainRecordsHealthCheckRequest) GetNsDomainRecordsHealthCheckJSON() []byte { + if x != nil { + return x.NsDomainRecordsHealthCheckJSON + } + return nil +} + var File_service_ns_domain_proto protoreflect.FileDescriptor var file_service_ns_domain_proto_rawDesc = []byte{ @@ -1883,99 +2034,133 @@ var file_service_ns_domain_proto_rawDesc = []byte{ 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0xa6, - 0x0b, 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, 0x4a, 0x0a, 0x0f, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x1a, + 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x47, + 0x0a, 0x25, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x70, 0x0a, 0x26, 0x46, 0x69, 0x6e, 0x64, 0x4e, + 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x46, 0x0a, 0x1e, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, + 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1e, 0x6e, 0x73, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x91, 0x01, 0x0a, 0x27, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x1e, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1e, 0x6e, + 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0x80, 0x0d, + 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, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 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, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x2e, 0x70, - 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, - 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 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, 0x3d, 0x0a, 0x0f, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x1a, 0x2e, - 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, - 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x0c, 0x66, 0x69, 0x6e, - 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x46, - 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x44, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, - 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x57, 0x69, 0x74, 0x68, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, + 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x1a, 0x2e, + 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 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, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, + 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 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, 0x3d, 0x0a, 0x0f, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x1a, 0x2e, 0x70, + 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, + 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x64, + 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, + 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, - 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x56, - 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4f, - 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, - 0x6e, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x4f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4f, 0x6e, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, - 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x73, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4f, 0x6e, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, + 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x4f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4f, 0x6e, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x11, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x73, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 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, 0x44, 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 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, 0x44, 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x53, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 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, + 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 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, 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, 0x12, 0x4d, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x53, 0x49, 0x47, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, - 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x53, 0x49, 0x47, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, - 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x53, 0x49, 0x47, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, - 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x53, 0x49, 0x47, 0x12, 0x1d, 0x2e, 0x70, 0x62, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x54, - 0x53, 0x49, 0x47, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, - 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x0e, 0x65, 0x78, - 0x69, 0x73, 0x74, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x19, 0x2e, 0x70, - 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69, - 0x73, 0x74, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x65, 0x78, 0x69, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x21, 0x2e, - 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x44, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, + 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, 0x12, 0x4d, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x53, 0x49, 0x47, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, + 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x53, 0x49, 0x47, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, + 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x53, 0x49, 0x47, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x53, 0x49, 0x47, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x53, + 0x49, 0x47, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, + 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x0e, 0x65, 0x78, 0x69, + 0x73, 0x74, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x19, 0x2e, 0x70, 0x62, + 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, + 0x74, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x65, 0x78, 0x69, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x21, 0x2e, 0x70, + 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, + 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, - 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, - 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, - 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4e, 0x53, 0x44, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, - 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 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, + 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, + 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, + 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, + 0x0e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4e, 0x53, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, + 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x1e, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5f, 0x0a, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, + 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1990,48 +2175,51 @@ func file_service_ns_domain_proto_rawDescGZIP() []byte { return file_service_ns_domain_proto_rawDescData } -var file_service_ns_domain_proto_msgTypes = make([]protoimpl.MessageInfo, 30) +var file_service_ns_domain_proto_msgTypes = make([]protoimpl.MessageInfo, 33) var file_service_ns_domain_proto_goTypes = []interface{}{ - (*CreateNSDomainRequest)(nil), // 0: pb.CreateNSDomainRequest - (*CreateNSDomainResponse)(nil), // 1: pb.CreateNSDomainResponse - (*CreateNSDomainsRequest)(nil), // 2: pb.CreateNSDomainsRequest - (*CreateNSDomainsResponse)(nil), // 3: pb.CreateNSDomainsResponse - (*UpdateNSDomainRequest)(nil), // 4: pb.UpdateNSDomainRequest - (*UpdateNSDomainStatusRequest)(nil), // 5: pb.UpdateNSDomainStatusRequest - (*DeleteNSDomainRequest)(nil), // 6: pb.DeleteNSDomainRequest - (*DeleteNSDomainsRequest)(nil), // 7: pb.DeleteNSDomainsRequest - (*FindNSDomainRequest)(nil), // 8: pb.FindNSDomainRequest - (*FindNSDomainResponse)(nil), // 9: pb.FindNSDomainResponse - (*FindNSDomainWithNameRequest)(nil), // 10: pb.FindNSDomainWithNameRequest - (*FindNSDomainWithNameResponse)(nil), // 11: pb.FindNSDomainWithNameResponse - (*FindVerifiedNSDomainOnClusterRequest)(nil), // 12: pb.FindVerifiedNSDomainOnClusterRequest - (*FindVerifiedNSDomainOnClusterResponse)(nil), // 13: pb.FindVerifiedNSDomainOnClusterResponse - (*CountAllNSDomainsRequest)(nil), // 14: pb.CountAllNSDomainsRequest - (*ListNSDomainsRequest)(nil), // 15: pb.ListNSDomainsRequest - (*ListNSDomainsResponse)(nil), // 16: pb.ListNSDomainsResponse - (*ListNSDomainsAfterVersionRequest)(nil), // 17: pb.ListNSDomainsAfterVersionRequest - (*ListNSDomainsAfterVersionResponse)(nil), // 18: pb.ListNSDomainsAfterVersionResponse - (*FindNSDomainTSIGRequest)(nil), // 19: pb.FindNSDomainTSIGRequest - (*FindNSDomainTSIGResponse)(nil), // 20: pb.FindNSDomainTSIGResponse - (*UpdateNSDomainTSIGRequest)(nil), // 21: pb.UpdateNSDomainTSIGRequest - (*ExistNSDomainsRequest)(nil), // 22: pb.ExistNSDomainsRequest - (*ExistNSDomainsResponse)(nil), // 23: pb.ExistNSDomainsResponse - (*ExistVerifiedNSDomainsRequest)(nil), // 24: pb.ExistVerifiedNSDomainsRequest - (*ExistVerifiedNSDomainsResponse)(nil), // 25: pb.ExistVerifiedNSDomainsResponse - (*FindNSDomainVerifyingInfoRequest)(nil), // 26: pb.FindNSDomainVerifyingInfoRequest - (*FindNSDomainVerifyingInfoResponse)(nil), // 27: pb.FindNSDomainVerifyingInfoResponse - (*VerifyNSDomainRequest)(nil), // 28: pb.VerifyNSDomainRequest - (*VerifyNSDomainResponse)(nil), // 29: pb.VerifyNSDomainResponse - (*NSDomain)(nil), // 30: pb.NSDomain - (*RPCSuccess)(nil), // 31: pb.RPCSuccess - (*RPCCountResponse)(nil), // 32: pb.RPCCountResponse + (*CreateNSDomainRequest)(nil), // 0: pb.CreateNSDomainRequest + (*CreateNSDomainResponse)(nil), // 1: pb.CreateNSDomainResponse + (*CreateNSDomainsRequest)(nil), // 2: pb.CreateNSDomainsRequest + (*CreateNSDomainsResponse)(nil), // 3: pb.CreateNSDomainsResponse + (*UpdateNSDomainRequest)(nil), // 4: pb.UpdateNSDomainRequest + (*UpdateNSDomainStatusRequest)(nil), // 5: pb.UpdateNSDomainStatusRequest + (*DeleteNSDomainRequest)(nil), // 6: pb.DeleteNSDomainRequest + (*DeleteNSDomainsRequest)(nil), // 7: pb.DeleteNSDomainsRequest + (*FindNSDomainRequest)(nil), // 8: pb.FindNSDomainRequest + (*FindNSDomainResponse)(nil), // 9: pb.FindNSDomainResponse + (*FindNSDomainWithNameRequest)(nil), // 10: pb.FindNSDomainWithNameRequest + (*FindNSDomainWithNameResponse)(nil), // 11: pb.FindNSDomainWithNameResponse + (*FindVerifiedNSDomainOnClusterRequest)(nil), // 12: pb.FindVerifiedNSDomainOnClusterRequest + (*FindVerifiedNSDomainOnClusterResponse)(nil), // 13: pb.FindVerifiedNSDomainOnClusterResponse + (*CountAllNSDomainsRequest)(nil), // 14: pb.CountAllNSDomainsRequest + (*ListNSDomainsRequest)(nil), // 15: pb.ListNSDomainsRequest + (*ListNSDomainsResponse)(nil), // 16: pb.ListNSDomainsResponse + (*ListNSDomainsAfterVersionRequest)(nil), // 17: pb.ListNSDomainsAfterVersionRequest + (*ListNSDomainsAfterVersionResponse)(nil), // 18: pb.ListNSDomainsAfterVersionResponse + (*FindNSDomainTSIGRequest)(nil), // 19: pb.FindNSDomainTSIGRequest + (*FindNSDomainTSIGResponse)(nil), // 20: pb.FindNSDomainTSIGResponse + (*UpdateNSDomainTSIGRequest)(nil), // 21: pb.UpdateNSDomainTSIGRequest + (*ExistNSDomainsRequest)(nil), // 22: pb.ExistNSDomainsRequest + (*ExistNSDomainsResponse)(nil), // 23: pb.ExistNSDomainsResponse + (*ExistVerifiedNSDomainsRequest)(nil), // 24: pb.ExistVerifiedNSDomainsRequest + (*ExistVerifiedNSDomainsResponse)(nil), // 25: pb.ExistVerifiedNSDomainsResponse + (*FindNSDomainVerifyingInfoRequest)(nil), // 26: pb.FindNSDomainVerifyingInfoRequest + (*FindNSDomainVerifyingInfoResponse)(nil), // 27: pb.FindNSDomainVerifyingInfoResponse + (*VerifyNSDomainRequest)(nil), // 28: pb.VerifyNSDomainRequest + (*VerifyNSDomainResponse)(nil), // 29: pb.VerifyNSDomainResponse + (*FindNSDomainRecordsHealthCheckRequest)(nil), // 30: pb.FindNSDomainRecordsHealthCheckRequest + (*FindNSDomainRecordsHealthCheckResponse)(nil), // 31: pb.FindNSDomainRecordsHealthCheckResponse + (*UpdateNSDomainRecordsHealthCheckRequest)(nil), // 32: pb.UpdateNSDomainRecordsHealthCheckRequest + (*NSDomain)(nil), // 33: pb.NSDomain + (*RPCSuccess)(nil), // 34: pb.RPCSuccess + (*RPCCountResponse)(nil), // 35: pb.RPCCountResponse } var file_service_ns_domain_proto_depIdxs = []int32{ - 30, // 0: pb.FindNSDomainResponse.nsDomain:type_name -> pb.NSDomain - 30, // 1: pb.FindNSDomainWithNameResponse.nsDomain:type_name -> pb.NSDomain - 30, // 2: pb.FindVerifiedNSDomainOnClusterResponse.nsDomain:type_name -> pb.NSDomain - 30, // 3: pb.ListNSDomainsResponse.nsDomains:type_name -> pb.NSDomain - 30, // 4: pb.ListNSDomainsAfterVersionResponse.nsDomains:type_name -> pb.NSDomain + 33, // 0: pb.FindNSDomainResponse.nsDomain:type_name -> pb.NSDomain + 33, // 1: pb.FindNSDomainWithNameResponse.nsDomain:type_name -> pb.NSDomain + 33, // 2: pb.FindVerifiedNSDomainOnClusterResponse.nsDomain:type_name -> pb.NSDomain + 33, // 3: pb.ListNSDomainsResponse.nsDomains:type_name -> pb.NSDomain + 33, // 4: pb.ListNSDomainsAfterVersionResponse.nsDomains:type_name -> pb.NSDomain 0, // 5: pb.NSDomainService.createNSDomain:input_type -> pb.CreateNSDomainRequest 2, // 6: pb.NSDomainService.createNSDomains:input_type -> pb.CreateNSDomainsRequest 4, // 7: pb.NSDomainService.updateNSDomain:input_type -> pb.UpdateNSDomainRequest @@ -2050,26 +2238,30 @@ var file_service_ns_domain_proto_depIdxs = []int32{ 24, // 20: pb.NSDomainService.existVerifiedNSDomains:input_type -> pb.ExistVerifiedNSDomainsRequest 26, // 21: pb.NSDomainService.findNSDomainVerifyingInfo:input_type -> pb.FindNSDomainVerifyingInfoRequest 28, // 22: pb.NSDomainService.verifyNSDomain:input_type -> pb.VerifyNSDomainRequest - 1, // 23: pb.NSDomainService.createNSDomain:output_type -> pb.CreateNSDomainResponse - 3, // 24: pb.NSDomainService.createNSDomains:output_type -> pb.CreateNSDomainsResponse - 31, // 25: pb.NSDomainService.updateNSDomain:output_type -> pb.RPCSuccess - 31, // 26: pb.NSDomainService.updateNSDomainStatus:output_type -> pb.RPCSuccess - 31, // 27: pb.NSDomainService.deleteNSDomain:output_type -> pb.RPCSuccess - 31, // 28: pb.NSDomainService.deleteNSDomains:output_type -> pb.RPCSuccess - 9, // 29: pb.NSDomainService.findNSDomain:output_type -> pb.FindNSDomainResponse - 11, // 30: pb.NSDomainService.findNSDomainWithName:output_type -> pb.FindNSDomainWithNameResponse - 13, // 31: pb.NSDomainService.findVerifiedNSDomainOnCluster:output_type -> pb.FindVerifiedNSDomainOnClusterResponse - 32, // 32: pb.NSDomainService.countAllNSDomains:output_type -> pb.RPCCountResponse - 16, // 33: pb.NSDomainService.listNSDomains:output_type -> pb.ListNSDomainsResponse - 18, // 34: pb.NSDomainService.listNSDomainsAfterVersion:output_type -> pb.ListNSDomainsAfterVersionResponse - 20, // 35: pb.NSDomainService.findNSDomainTSIG:output_type -> pb.FindNSDomainTSIGResponse - 31, // 36: pb.NSDomainService.updateNSDomainTSIG:output_type -> pb.RPCSuccess - 23, // 37: pb.NSDomainService.existNSDomains:output_type -> pb.ExistNSDomainsResponse - 25, // 38: pb.NSDomainService.existVerifiedNSDomains:output_type -> pb.ExistVerifiedNSDomainsResponse - 27, // 39: pb.NSDomainService.findNSDomainVerifyingInfo:output_type -> pb.FindNSDomainVerifyingInfoResponse - 29, // 40: pb.NSDomainService.verifyNSDomain:output_type -> pb.VerifyNSDomainResponse - 23, // [23:41] is the sub-list for method output_type - 5, // [5:23] is the sub-list for method input_type + 30, // 23: pb.NSDomainService.findNSDomainRecordsHealthCheck:input_type -> pb.FindNSDomainRecordsHealthCheckRequest + 32, // 24: pb.NSDomainService.updateNSDomainRecordsHealthCheck:input_type -> pb.UpdateNSDomainRecordsHealthCheckRequest + 1, // 25: pb.NSDomainService.createNSDomain:output_type -> pb.CreateNSDomainResponse + 3, // 26: pb.NSDomainService.createNSDomains:output_type -> pb.CreateNSDomainsResponse + 34, // 27: pb.NSDomainService.updateNSDomain:output_type -> pb.RPCSuccess + 34, // 28: pb.NSDomainService.updateNSDomainStatus:output_type -> pb.RPCSuccess + 34, // 29: pb.NSDomainService.deleteNSDomain:output_type -> pb.RPCSuccess + 34, // 30: pb.NSDomainService.deleteNSDomains:output_type -> pb.RPCSuccess + 9, // 31: pb.NSDomainService.findNSDomain:output_type -> pb.FindNSDomainResponse + 11, // 32: pb.NSDomainService.findNSDomainWithName:output_type -> pb.FindNSDomainWithNameResponse + 13, // 33: pb.NSDomainService.findVerifiedNSDomainOnCluster:output_type -> pb.FindVerifiedNSDomainOnClusterResponse + 35, // 34: pb.NSDomainService.countAllNSDomains:output_type -> pb.RPCCountResponse + 16, // 35: pb.NSDomainService.listNSDomains:output_type -> pb.ListNSDomainsResponse + 18, // 36: pb.NSDomainService.listNSDomainsAfterVersion:output_type -> pb.ListNSDomainsAfterVersionResponse + 20, // 37: pb.NSDomainService.findNSDomainTSIG:output_type -> pb.FindNSDomainTSIGResponse + 34, // 38: pb.NSDomainService.updateNSDomainTSIG:output_type -> pb.RPCSuccess + 23, // 39: pb.NSDomainService.existNSDomains:output_type -> pb.ExistNSDomainsResponse + 25, // 40: pb.NSDomainService.existVerifiedNSDomains:output_type -> pb.ExistVerifiedNSDomainsResponse + 27, // 41: pb.NSDomainService.findNSDomainVerifyingInfo:output_type -> pb.FindNSDomainVerifyingInfoResponse + 29, // 42: pb.NSDomainService.verifyNSDomain:output_type -> pb.VerifyNSDomainResponse + 31, // 43: pb.NSDomainService.findNSDomainRecordsHealthCheck:output_type -> pb.FindNSDomainRecordsHealthCheckResponse + 34, // 44: pb.NSDomainService.updateNSDomainRecordsHealthCheck:output_type -> pb.RPCSuccess + 25, // [25:45] is the sub-list for method output_type + 5, // [5:25] 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 @@ -2443,6 +2635,42 @@ func file_service_ns_domain_proto_init() { return nil } } + file_service_ns_domain_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindNSDomainRecordsHealthCheckRequest); 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[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindNSDomainRecordsHealthCheckResponse); 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[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNSDomainRecordsHealthCheckRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -2450,7 +2678,7 @@ func file_service_ns_domain_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_ns_domain_proto_rawDesc, NumEnums: 0, - NumMessages: 30, + NumMessages: 33, NumExtensions: 0, NumServices: 1, }, @@ -2512,6 +2740,10 @@ type NSDomainServiceClient interface { FindNSDomainVerifyingInfo(ctx context.Context, in *FindNSDomainVerifyingInfoRequest, opts ...grpc.CallOption) (*FindNSDomainVerifyingInfoResponse, error) // 验证域名信息 VerifyNSDomain(ctx context.Context, in *VerifyNSDomainRequest, opts ...grpc.CallOption) (*VerifyNSDomainResponse, error) + // 查询记录健康检查全局设置 + FindNSDomainRecordsHealthCheck(ctx context.Context, in *FindNSDomainRecordsHealthCheckRequest, opts ...grpc.CallOption) (*FindNSDomainRecordsHealthCheckResponse, error) + // 修改记录健康检查全局设置 + UpdateNSDomainRecordsHealthCheck(ctx context.Context, in *UpdateNSDomainRecordsHealthCheckRequest, opts ...grpc.CallOption) (*RPCSuccess, error) } type nSDomainServiceClient struct { @@ -2684,6 +2916,24 @@ func (c *nSDomainServiceClient) VerifyNSDomain(ctx context.Context, in *VerifyNS return out, nil } +func (c *nSDomainServiceClient) FindNSDomainRecordsHealthCheck(ctx context.Context, in *FindNSDomainRecordsHealthCheckRequest, opts ...grpc.CallOption) (*FindNSDomainRecordsHealthCheckResponse, error) { + out := new(FindNSDomainRecordsHealthCheckResponse) + err := c.cc.Invoke(ctx, "/pb.NSDomainService/findNSDomainRecordsHealthCheck", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nSDomainServiceClient) UpdateNSDomainRecordsHealthCheck(ctx context.Context, in *UpdateNSDomainRecordsHealthCheckRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { + out := new(RPCSuccess) + err := c.cc.Invoke(ctx, "/pb.NSDomainService/updateNSDomainRecordsHealthCheck", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // NSDomainServiceServer is the server API for NSDomainService service. type NSDomainServiceServer interface { // 创建单个域名 @@ -2722,6 +2972,10 @@ type NSDomainServiceServer interface { FindNSDomainVerifyingInfo(context.Context, *FindNSDomainVerifyingInfoRequest) (*FindNSDomainVerifyingInfoResponse, error) // 验证域名信息 VerifyNSDomain(context.Context, *VerifyNSDomainRequest) (*VerifyNSDomainResponse, error) + // 查询记录健康检查全局设置 + FindNSDomainRecordsHealthCheck(context.Context, *FindNSDomainRecordsHealthCheckRequest) (*FindNSDomainRecordsHealthCheckResponse, error) + // 修改记录健康检查全局设置 + UpdateNSDomainRecordsHealthCheck(context.Context, *UpdateNSDomainRecordsHealthCheckRequest) (*RPCSuccess, error) } // UnimplementedNSDomainServiceServer can be embedded to have forward compatible implementations. @@ -2782,6 +3036,12 @@ func (*UnimplementedNSDomainServiceServer) FindNSDomainVerifyingInfo(context.Con func (*UnimplementedNSDomainServiceServer) VerifyNSDomain(context.Context, *VerifyNSDomainRequest) (*VerifyNSDomainResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method VerifyNSDomain not implemented") } +func (*UnimplementedNSDomainServiceServer) FindNSDomainRecordsHealthCheck(context.Context, *FindNSDomainRecordsHealthCheckRequest) (*FindNSDomainRecordsHealthCheckResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindNSDomainRecordsHealthCheck not implemented") +} +func (*UnimplementedNSDomainServiceServer) UpdateNSDomainRecordsHealthCheck(context.Context, *UpdateNSDomainRecordsHealthCheckRequest) (*RPCSuccess, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNSDomainRecordsHealthCheck not implemented") +} func RegisterNSDomainServiceServer(s *grpc.Server, srv NSDomainServiceServer) { s.RegisterService(&_NSDomainService_serviceDesc, srv) @@ -3111,6 +3371,42 @@ func _NSDomainService_VerifyNSDomain_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _NSDomainService_FindNSDomainRecordsHealthCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FindNSDomainRecordsHealthCheckRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NSDomainServiceServer).FindNSDomainRecordsHealthCheck(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NSDomainService/FindNSDomainRecordsHealthCheck", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NSDomainServiceServer).FindNSDomainRecordsHealthCheck(ctx, req.(*FindNSDomainRecordsHealthCheckRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NSDomainService_UpdateNSDomainRecordsHealthCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateNSDomainRecordsHealthCheckRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NSDomainServiceServer).UpdateNSDomainRecordsHealthCheck(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NSDomainService/UpdateNSDomainRecordsHealthCheck", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NSDomainServiceServer).UpdateNSDomainRecordsHealthCheck(ctx, req.(*UpdateNSDomainRecordsHealthCheckRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _NSDomainService_serviceDesc = grpc.ServiceDesc{ ServiceName: "pb.NSDomainService", HandlerType: (*NSDomainServiceServer)(nil), @@ -3187,6 +3483,14 @@ var _NSDomainService_serviceDesc = grpc.ServiceDesc{ MethodName: "verifyNSDomain", Handler: _NSDomainService_VerifyNSDomain_Handler, }, + { + MethodName: "findNSDomainRecordsHealthCheck", + Handler: _NSDomainService_FindNSDomainRecordsHealthCheck_Handler, + }, + { + MethodName: "updateNSDomainRecordsHealthCheck", + Handler: _NSDomainService_UpdateNSDomainRecordsHealthCheck_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "service_ns_domain.proto", diff --git a/pkg/rpc/pb/service_ns_record.pb.go b/pkg/rpc/pb/service_ns_record.pb.go index 0e9bf8d..341e402 100644 --- a/pkg/rpc/pb/service_ns_record.pb.go +++ b/pkg/rpc/pb/service_ns_record.pb.go @@ -1259,6 +1259,8 @@ type ListNSRecordsRequest struct { TypeDesc bool `protobuf:"varint,11,opt,name=typeDesc,proto3" json:"typeDesc,omitempty"` TtlAsc bool `protobuf:"varint,12,opt,name=ttlAsc,proto3" json:"ttlAsc,omitempty"` TtlDesc bool `protobuf:"varint,13,opt,name=ttlDesc,proto3" json:"ttlDesc,omitempty"` + UpAsc bool `protobuf:"varint,14,opt,name=upAsc,proto3" json:"upAsc,omitempty"` + UpDesc bool `protobuf:"varint,15,opt,name=upDesc,proto3" json:"upDesc,omitempty"` Offset int64 `protobuf:"varint,5,opt,name=offset,proto3" json:"offset,omitempty"` Size int64 `protobuf:"varint,6,opt,name=size,proto3" json:"size,omitempty"` } @@ -1373,6 +1375,20 @@ func (x *ListNSRecordsRequest) GetTtlDesc() bool { return false } +func (x *ListNSRecordsRequest) GetUpAsc() bool { + if x != nil { + return x.UpAsc + } + return false +} + +func (x *ListNSRecordsRequest) GetUpDesc() bool { + if x != nil { + return x.UpDesc + } + return false +} + func (x *ListNSRecordsRequest) GetOffset() int64 { if x != nil { return x.Offset @@ -1854,6 +1870,213 @@ func (x *ListNSRecordsAfterVersionResponse) GetNsRecords() []*NSRecord { return nil } +// 查询记录健康检查设置 +type FindNSRecordHealthCheckRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NsRecordId int64 `protobuf:"varint,1,opt,name=nsRecordId,proto3" json:"nsRecordId,omitempty"` // 记录ID +} + +func (x *FindNSRecordHealthCheckRequest) Reset() { + *x = FindNSRecordHealthCheckRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_ns_record_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindNSRecordHealthCheckRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindNSRecordHealthCheckRequest) ProtoMessage() {} + +func (x *FindNSRecordHealthCheckRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_ns_record_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FindNSRecordHealthCheckRequest.ProtoReflect.Descriptor instead. +func (*FindNSRecordHealthCheckRequest) Descriptor() ([]byte, []int) { + return file_service_ns_record_proto_rawDescGZIP(), []int{23} +} + +func (x *FindNSRecordHealthCheckRequest) GetNsRecordId() int64 { + if x != nil { + return x.NsRecordId + } + return 0 +} + +type FindNSRecordHealthCheckResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NsRecordHealthCheckJSON []byte `protobuf:"bytes,1,opt,name=nsRecordHealthCheckJSON,proto3" json:"nsRecordHealthCheckJSON,omitempty"` // 记录健康检查配置 +} + +func (x *FindNSRecordHealthCheckResponse) Reset() { + *x = FindNSRecordHealthCheckResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_ns_record_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindNSRecordHealthCheckResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindNSRecordHealthCheckResponse) ProtoMessage() {} + +func (x *FindNSRecordHealthCheckResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_ns_record_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FindNSRecordHealthCheckResponse.ProtoReflect.Descriptor instead. +func (*FindNSRecordHealthCheckResponse) Descriptor() ([]byte, []int) { + return file_service_ns_record_proto_rawDescGZIP(), []int{24} +} + +func (x *FindNSRecordHealthCheckResponse) GetNsRecordHealthCheckJSON() []byte { + if x != nil { + return x.NsRecordHealthCheckJSON + } + return nil +} + +// 修改记录健康检查设置 +type UpdateNSRecordHealthCheckRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NsRecordId int64 `protobuf:"varint,1,opt,name=nsRecordId,proto3" json:"nsRecordId,omitempty"` // 记录ID + NsRecordHealthCheckJSON []byte `protobuf:"bytes,2,opt,name=nsRecordHealthCheckJSON,proto3" json:"nsRecordHealthCheckJSON,omitempty"` // 记录健康检查配置 +} + +func (x *UpdateNSRecordHealthCheckRequest) Reset() { + *x = UpdateNSRecordHealthCheckRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_ns_record_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNSRecordHealthCheckRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNSRecordHealthCheckRequest) ProtoMessage() {} + +func (x *UpdateNSRecordHealthCheckRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_ns_record_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNSRecordHealthCheckRequest.ProtoReflect.Descriptor instead. +func (*UpdateNSRecordHealthCheckRequest) Descriptor() ([]byte, []int) { + return file_service_ns_record_proto_rawDescGZIP(), []int{25} +} + +func (x *UpdateNSRecordHealthCheckRequest) GetNsRecordId() int64 { + if x != nil { + return x.NsRecordId + } + return 0 +} + +func (x *UpdateNSRecordHealthCheckRequest) GetNsRecordHealthCheckJSON() []byte { + if x != nil { + return x.NsRecordHealthCheckJSON + } + return nil +} + +// 手动修改记录在线状态 +type UpdateNSRecordIsUpRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NsRecordId int64 `protobuf:"varint,1,opt,name=nsRecordId,proto3" json:"nsRecordId,omitempty"` // 记录ID + IsUp bool `protobuf:"varint,2,opt,name=isUp,proto3" json:"isUp,omitempty"` // 是否在线 +} + +func (x *UpdateNSRecordIsUpRequest) Reset() { + *x = UpdateNSRecordIsUpRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_ns_record_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNSRecordIsUpRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNSRecordIsUpRequest) ProtoMessage() {} + +func (x *UpdateNSRecordIsUpRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_ns_record_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNSRecordIsUpRequest.ProtoReflect.Descriptor instead. +func (*UpdateNSRecordIsUpRequest) Descriptor() ([]byte, []int) { + return file_service_ns_record_proto_rawDescGZIP(), []int{26} +} + +func (x *UpdateNSRecordIsUpRequest) GetNsRecordId() int64 { + if x != nil { + return x.NsRecordId + } + return 0 +} + +func (x *UpdateNSRecordIsUpRequest) GetIsUp() bool { + if x != nil { + return x.IsUp + } + return false +} + type ImportNSRecordsRequest_Record struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1876,7 +2099,7 @@ type ImportNSRecordsRequest_Record struct { func (x *ImportNSRecordsRequest_Record) Reset() { *x = ImportNSRecordsRequest_Record{} if protoimpl.UnsafeEnabled { - mi := &file_service_ns_record_proto_msgTypes[23] + mi := &file_service_ns_record_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1889,7 +2112,7 @@ func (x *ImportNSRecordsRequest_Record) String() string { func (*ImportNSRecordsRequest_Record) ProtoMessage() {} func (x *ImportNSRecordsRequest_Record) ProtoReflect() protoreflect.Message { - mi := &file_service_ns_record_proto_msgTypes[23] + mi := &file_service_ns_record_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2203,7 +2426,7 @@ var file_service_ns_record_proto_rawDesc = []byte{ 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 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, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xf2, 0x02, 0x0a, 0x14, 0x4c, 0x69, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xa0, 0x03, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, @@ -2224,142 +2447,183 @@ var file_service_ns_record_proto_rawDesc = []byte{ 0x12, 0x16, 0x0a, 0x06, 0x74, 0x74, 0x6c, 0x41, 0x73, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x74, 0x74, 0x6c, 0x41, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x74, 0x6c, 0x44, 0x65, 0x73, 0x63, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x74, 0x74, 0x6c, 0x44, 0x65, - 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x43, - 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, - 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x73, 0x22, 0x35, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, - 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x22, 0x40, 0x0a, 0x14, 0x46, 0x69, - 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x52, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x6c, 0x0a, 0x22, - 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, - 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4f, 0x0a, 0x23, 0x46, 0x69, - 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, - 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x28, 0x0a, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x52, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x6d, 0x0a, 0x23, 0x46, - 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, - 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x52, 0x0a, 0x24, 0x46, 0x69, - 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, - 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x52, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x50, - 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, - 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, - 0x22, 0x4f, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x73, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x70, 0x41, 0x73, 0x63, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x05, 0x75, 0x70, 0x41, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x44, 0x65, + 0x73, 0x63, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x70, 0x44, 0x65, 0x73, 0x63, + 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x43, 0x0a, 0x15, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x73, 0x32, 0xd3, 0x0a, 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, 0x4a, - 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x73, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, - 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1e, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, - 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x70, - 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5b, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, - 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x12, 0x5b, 0x0a, 0x1e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x63, 0x0a, 0x22, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x73, 0x49, 0x73, 0x4f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x49, 0x73, 0x4f, 0x6e, - 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, - 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x49, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 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, 0x3b, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, - 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, - 0x47, 0x0a, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x53, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x6c, 0x6c, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x19, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, - 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x6c, 0x6c, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, - 0x4e, 0x61, 0x6d, 0x65, 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, 0x44, 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, - 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x64, 0x4e, - 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, - 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x1b, 0x66, 0x69, + 0x73, 0x22, 0x35, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x22, 0x40, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, + 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x28, 0x0a, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x52, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x6c, 0x0a, 0x22, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, - 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, - 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4e, - 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x1c, 0x66, 0x69, - 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, - 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, - 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, - 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, - 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, - 0x19, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, - 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, + 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4f, 0x0a, 0x23, 0x46, 0x69, 0x6e, 0x64, + 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, + 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x28, 0x0a, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, + 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x6d, 0x0a, 0x23, 0x46, 0x69, 0x6e, + 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, + 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x52, 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64, + 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, + 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2a, 0x0a, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x52, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x50, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 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, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4f, + 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, + 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, + 0x40, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, + 0x64, 0x22, 0x5b, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x17, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x17, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x7c, + 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x49, 0x64, 0x12, 0x38, 0x0a, 0x17, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x17, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x4f, 0x0a, 0x19, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x73, + 0x55, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, + 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x55, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x55, 0x70, 0x32, 0xcf, 0x0c, + 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, 0x4a, 0x0a, 0x0f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1a, 0x2e, + 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, + 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x5b, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x12, 0x5b, 0x0a, 0x1e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, + 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x63, 0x0a, + 0x22, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x49, 0x73, 0x4f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, + 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x49, 0x73, 0x4f, 0x6e, 0x57, 0x69, 0x74, 0x68, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x53, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 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, 0x3b, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, + 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, + 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, + 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, + 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x11, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x53, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, + 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x19, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, + 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, + 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, + 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, 0x44, 0x0a, + 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x18, + 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, + 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x1b, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, + 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, + 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, + 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, + 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x1c, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, + 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, + 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, + 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x6c, 0x69, 0x73, + 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, + 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, + 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x22, + 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 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, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x73, 0x55, 0x70, + 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x49, 0x73, 0x55, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, + 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2374,7 +2638,7 @@ func file_service_ns_record_proto_rawDescGZIP() []byte { return file_service_ns_record_proto_rawDescData } -var file_service_ns_record_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_service_ns_record_proto_msgTypes = make([]protoimpl.MessageInfo, 28) var file_service_ns_record_proto_goTypes = []interface{}{ (*CreateNSRecordRequest)(nil), // 0: pb.CreateNSRecordRequest (*CreateNSRecordResponse)(nil), // 1: pb.CreateNSRecordResponse @@ -2399,18 +2663,22 @@ var file_service_ns_record_proto_goTypes = []interface{}{ (*FindNSRecordsWithNameAndTypeResponse)(nil), // 20: pb.FindNSRecordsWithNameAndTypeResponse (*ListNSRecordsAfterVersionRequest)(nil), // 21: pb.ListNSRecordsAfterVersionRequest (*ListNSRecordsAfterVersionResponse)(nil), // 22: pb.ListNSRecordsAfterVersionResponse - (*ImportNSRecordsRequest_Record)(nil), // 23: pb.ImportNSRecordsRequest.Record - (*NSRecord)(nil), // 24: pb.NSRecord - (*RPCSuccess)(nil), // 25: pb.RPCSuccess - (*RPCCountResponse)(nil), // 26: pb.RPCCountResponse + (*FindNSRecordHealthCheckRequest)(nil), // 23: pb.FindNSRecordHealthCheckRequest + (*FindNSRecordHealthCheckResponse)(nil), // 24: pb.FindNSRecordHealthCheckResponse + (*UpdateNSRecordHealthCheckRequest)(nil), // 25: pb.UpdateNSRecordHealthCheckRequest + (*UpdateNSRecordIsUpRequest)(nil), // 26: pb.UpdateNSRecordIsUpRequest + (*ImportNSRecordsRequest_Record)(nil), // 27: pb.ImportNSRecordsRequest.Record + (*NSRecord)(nil), // 28: pb.NSRecord + (*RPCSuccess)(nil), // 29: pb.RPCSuccess + (*RPCCountResponse)(nil), // 30: pb.RPCCountResponse } var file_service_ns_record_proto_depIdxs = []int32{ - 23, // 0: pb.ImportNSRecordsRequest.nsRecords:type_name -> pb.ImportNSRecordsRequest.Record - 24, // 1: pb.ListNSRecordsResponse.nsRecords:type_name -> pb.NSRecord - 24, // 2: pb.FindNSRecordResponse.nsRecord:type_name -> pb.NSRecord - 24, // 3: pb.FindNSRecordWithNameAndTypeResponse.nsRecord:type_name -> pb.NSRecord - 24, // 4: pb.FindNSRecordsWithNameAndTypeResponse.nsRecords:type_name -> pb.NSRecord - 24, // 5: pb.ListNSRecordsAfterVersionResponse.nsRecords:type_name -> pb.NSRecord + 27, // 0: pb.ImportNSRecordsRequest.nsRecords:type_name -> pb.ImportNSRecordsRequest.Record + 28, // 1: pb.ListNSRecordsResponse.nsRecords:type_name -> pb.NSRecord + 28, // 2: pb.FindNSRecordResponse.nsRecord:type_name -> pb.NSRecord + 28, // 3: pb.FindNSRecordWithNameAndTypeResponse.nsRecord:type_name -> pb.NSRecord + 28, // 4: pb.FindNSRecordsWithNameAndTypeResponse.nsRecords:type_name -> pb.NSRecord + 28, // 5: pb.ListNSRecordsAfterVersionResponse.nsRecords:type_name -> pb.NSRecord 0, // 6: pb.NSRecordService.createNSRecord:input_type -> pb.CreateNSRecordRequest 2, // 7: pb.NSRecordService.createNSRecords:input_type -> pb.CreateNSRecordsRequest 4, // 8: pb.NSRecordService.createNSRecordsWithDomainNames:input_type -> pb.CreateNSRecordsWithDomainNamesRequest @@ -2427,24 +2695,30 @@ var file_service_ns_record_proto_depIdxs = []int32{ 17, // 19: pb.NSRecordService.findNSRecordWithNameAndType:input_type -> pb.FindNSRecordWithNameAndTypeRequest 19, // 20: pb.NSRecordService.findNSRecordsWithNameAndType:input_type -> pb.FindNSRecordsWithNameAndTypeRequest 21, // 21: pb.NSRecordService.listNSRecordsAfterVersion:input_type -> pb.ListNSRecordsAfterVersionRequest - 1, // 22: pb.NSRecordService.createNSRecord:output_type -> pb.CreateNSRecordResponse - 3, // 23: pb.NSRecordService.createNSRecords:output_type -> pb.CreateNSRecordsResponse - 25, // 24: pb.NSRecordService.createNSRecordsWithDomainNames:output_type -> pb.RPCSuccess - 25, // 25: pb.NSRecordService.updateNSRecordsWithDomainNames:output_type -> pb.RPCSuccess - 25, // 26: pb.NSRecordService.deleteNSRecordsWithDomainNames:output_type -> pb.RPCSuccess - 25, // 27: pb.NSRecordService.updateNSRecordsIsOnWithDomainNames:output_type -> pb.RPCSuccess - 25, // 28: pb.NSRecordService.importNSRecords:output_type -> pb.RPCSuccess - 25, // 29: pb.NSRecordService.updateNSRecord:output_type -> pb.RPCSuccess - 25, // 30: pb.NSRecordService.deleteNSRecord:output_type -> pb.RPCSuccess - 26, // 31: pb.NSRecordService.countAllNSRecords:output_type -> pb.RPCCountResponse - 26, // 32: pb.NSRecordService.countAllNSRecordsWithName:output_type -> pb.RPCCountResponse - 14, // 33: pb.NSRecordService.listNSRecords:output_type -> pb.ListNSRecordsResponse - 16, // 34: pb.NSRecordService.findNSRecord:output_type -> pb.FindNSRecordResponse - 18, // 35: pb.NSRecordService.findNSRecordWithNameAndType:output_type -> pb.FindNSRecordWithNameAndTypeResponse - 20, // 36: pb.NSRecordService.findNSRecordsWithNameAndType:output_type -> pb.FindNSRecordsWithNameAndTypeResponse - 22, // 37: pb.NSRecordService.listNSRecordsAfterVersion:output_type -> pb.ListNSRecordsAfterVersionResponse - 22, // [22:38] is the sub-list for method output_type - 6, // [6:22] is the sub-list for method input_type + 23, // 22: pb.NSRecordService.findNSRecordHealthCheck:input_type -> pb.FindNSRecordHealthCheckRequest + 25, // 23: pb.NSRecordService.updateNSRecordHealthCheck:input_type -> pb.UpdateNSRecordHealthCheckRequest + 26, // 24: pb.NSRecordService.updateNSRecordIsUp:input_type -> pb.UpdateNSRecordIsUpRequest + 1, // 25: pb.NSRecordService.createNSRecord:output_type -> pb.CreateNSRecordResponse + 3, // 26: pb.NSRecordService.createNSRecords:output_type -> pb.CreateNSRecordsResponse + 29, // 27: pb.NSRecordService.createNSRecordsWithDomainNames:output_type -> pb.RPCSuccess + 29, // 28: pb.NSRecordService.updateNSRecordsWithDomainNames:output_type -> pb.RPCSuccess + 29, // 29: pb.NSRecordService.deleteNSRecordsWithDomainNames:output_type -> pb.RPCSuccess + 29, // 30: pb.NSRecordService.updateNSRecordsIsOnWithDomainNames:output_type -> pb.RPCSuccess + 29, // 31: pb.NSRecordService.importNSRecords:output_type -> pb.RPCSuccess + 29, // 32: pb.NSRecordService.updateNSRecord:output_type -> pb.RPCSuccess + 29, // 33: pb.NSRecordService.deleteNSRecord:output_type -> pb.RPCSuccess + 30, // 34: pb.NSRecordService.countAllNSRecords:output_type -> pb.RPCCountResponse + 30, // 35: pb.NSRecordService.countAllNSRecordsWithName:output_type -> pb.RPCCountResponse + 14, // 36: pb.NSRecordService.listNSRecords:output_type -> pb.ListNSRecordsResponse + 16, // 37: pb.NSRecordService.findNSRecord:output_type -> pb.FindNSRecordResponse + 18, // 38: pb.NSRecordService.findNSRecordWithNameAndType:output_type -> pb.FindNSRecordWithNameAndTypeResponse + 20, // 39: pb.NSRecordService.findNSRecordsWithNameAndType:output_type -> pb.FindNSRecordsWithNameAndTypeResponse + 22, // 40: pb.NSRecordService.listNSRecordsAfterVersion:output_type -> pb.ListNSRecordsAfterVersionResponse + 24, // 41: pb.NSRecordService.findNSRecordHealthCheck:output_type -> pb.FindNSRecordHealthCheckResponse + 29, // 42: pb.NSRecordService.updateNSRecordHealthCheck:output_type -> pb.RPCSuccess + 29, // 43: pb.NSRecordService.updateNSRecordIsUp:output_type -> pb.RPCSuccess + 25, // [25:44] is the sub-list for method output_type + 6, // [6:25] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name @@ -2735,6 +3009,54 @@ func file_service_ns_record_proto_init() { } } file_service_ns_record_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindNSRecordHealthCheckRequest); 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[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindNSRecordHealthCheckResponse); 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[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNSRecordHealthCheckRequest); 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[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNSRecordIsUpRequest); 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[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ImportNSRecordsRequest_Record); i { case 0: return &v.state @@ -2753,7 +3075,7 @@ func file_service_ns_record_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_ns_record_proto_rawDesc, NumEnums: 0, - NumMessages: 24, + NumMessages: 28, NumExtensions: 0, NumServices: 1, }, @@ -2811,6 +3133,12 @@ type NSRecordServiceClient interface { FindNSRecordsWithNameAndType(ctx context.Context, in *FindNSRecordsWithNameAndTypeRequest, opts ...grpc.CallOption) (*FindNSRecordsWithNameAndTypeResponse, error) // 根据版本列出一组记录 ListNSRecordsAfterVersion(ctx context.Context, in *ListNSRecordsAfterVersionRequest, opts ...grpc.CallOption) (*ListNSRecordsAfterVersionResponse, error) + // 查询记录健康检查设置 + FindNSRecordHealthCheck(ctx context.Context, in *FindNSRecordHealthCheckRequest, opts ...grpc.CallOption) (*FindNSRecordHealthCheckResponse, error) + // 修改记录健康检查设置 + UpdateNSRecordHealthCheck(ctx context.Context, in *UpdateNSRecordHealthCheckRequest, opts ...grpc.CallOption) (*RPCSuccess, error) + // 手动修改记录在线状态 + UpdateNSRecordIsUp(ctx context.Context, in *UpdateNSRecordIsUpRequest, opts ...grpc.CallOption) (*RPCSuccess, error) } type nSRecordServiceClient struct { @@ -2965,6 +3293,33 @@ func (c *nSRecordServiceClient) ListNSRecordsAfterVersion(ctx context.Context, i return out, nil } +func (c *nSRecordServiceClient) FindNSRecordHealthCheck(ctx context.Context, in *FindNSRecordHealthCheckRequest, opts ...grpc.CallOption) (*FindNSRecordHealthCheckResponse, error) { + out := new(FindNSRecordHealthCheckResponse) + err := c.cc.Invoke(ctx, "/pb.NSRecordService/findNSRecordHealthCheck", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nSRecordServiceClient) UpdateNSRecordHealthCheck(ctx context.Context, in *UpdateNSRecordHealthCheckRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { + out := new(RPCSuccess) + err := c.cc.Invoke(ctx, "/pb.NSRecordService/updateNSRecordHealthCheck", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nSRecordServiceClient) UpdateNSRecordIsUp(ctx context.Context, in *UpdateNSRecordIsUpRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { + out := new(RPCSuccess) + err := c.cc.Invoke(ctx, "/pb.NSRecordService/updateNSRecordIsUp", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // NSRecordServiceServer is the server API for NSRecordService service. type NSRecordServiceServer interface { // 创建记录 @@ -2999,6 +3354,12 @@ type NSRecordServiceServer interface { FindNSRecordsWithNameAndType(context.Context, *FindNSRecordsWithNameAndTypeRequest) (*FindNSRecordsWithNameAndTypeResponse, error) // 根据版本列出一组记录 ListNSRecordsAfterVersion(context.Context, *ListNSRecordsAfterVersionRequest) (*ListNSRecordsAfterVersionResponse, error) + // 查询记录健康检查设置 + FindNSRecordHealthCheck(context.Context, *FindNSRecordHealthCheckRequest) (*FindNSRecordHealthCheckResponse, error) + // 修改记录健康检查设置 + UpdateNSRecordHealthCheck(context.Context, *UpdateNSRecordHealthCheckRequest) (*RPCSuccess, error) + // 手动修改记录在线状态 + UpdateNSRecordIsUp(context.Context, *UpdateNSRecordIsUpRequest) (*RPCSuccess, error) } // UnimplementedNSRecordServiceServer can be embedded to have forward compatible implementations. @@ -3053,6 +3414,15 @@ func (*UnimplementedNSRecordServiceServer) FindNSRecordsWithNameAndType(context. func (*UnimplementedNSRecordServiceServer) ListNSRecordsAfterVersion(context.Context, *ListNSRecordsAfterVersionRequest) (*ListNSRecordsAfterVersionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListNSRecordsAfterVersion not implemented") } +func (*UnimplementedNSRecordServiceServer) FindNSRecordHealthCheck(context.Context, *FindNSRecordHealthCheckRequest) (*FindNSRecordHealthCheckResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindNSRecordHealthCheck not implemented") +} +func (*UnimplementedNSRecordServiceServer) UpdateNSRecordHealthCheck(context.Context, *UpdateNSRecordHealthCheckRequest) (*RPCSuccess, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNSRecordHealthCheck not implemented") +} +func (*UnimplementedNSRecordServiceServer) UpdateNSRecordIsUp(context.Context, *UpdateNSRecordIsUpRequest) (*RPCSuccess, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNSRecordIsUp not implemented") +} func RegisterNSRecordServiceServer(s *grpc.Server, srv NSRecordServiceServer) { s.RegisterService(&_NSRecordService_serviceDesc, srv) @@ -3346,6 +3716,60 @@ func _NSRecordService_ListNSRecordsAfterVersion_Handler(srv interface{}, ctx con return interceptor(ctx, in, info, handler) } +func _NSRecordService_FindNSRecordHealthCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FindNSRecordHealthCheckRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NSRecordServiceServer).FindNSRecordHealthCheck(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NSRecordService/FindNSRecordHealthCheck", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NSRecordServiceServer).FindNSRecordHealthCheck(ctx, req.(*FindNSRecordHealthCheckRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NSRecordService_UpdateNSRecordHealthCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateNSRecordHealthCheckRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NSRecordServiceServer).UpdateNSRecordHealthCheck(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NSRecordService/UpdateNSRecordHealthCheck", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NSRecordServiceServer).UpdateNSRecordHealthCheck(ctx, req.(*UpdateNSRecordHealthCheckRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NSRecordService_UpdateNSRecordIsUp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateNSRecordIsUpRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NSRecordServiceServer).UpdateNSRecordIsUp(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NSRecordService/UpdateNSRecordIsUp", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NSRecordServiceServer).UpdateNSRecordIsUp(ctx, req.(*UpdateNSRecordIsUpRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _NSRecordService_serviceDesc = grpc.ServiceDesc{ ServiceName: "pb.NSRecordService", HandlerType: (*NSRecordServiceServer)(nil), @@ -3414,6 +3838,18 @@ var _NSRecordService_serviceDesc = grpc.ServiceDesc{ MethodName: "listNSRecordsAfterVersion", Handler: _NSRecordService_ListNSRecordsAfterVersion_Handler, }, + { + MethodName: "findNSRecordHealthCheck", + Handler: _NSRecordService_FindNSRecordHealthCheck_Handler, + }, + { + MethodName: "updateNSRecordHealthCheck", + Handler: _NSRecordService_UpdateNSRecordHealthCheck_Handler, + }, + { + MethodName: "updateNSRecordIsUp", + Handler: _NSRecordService_UpdateNSRecordIsUp_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "service_ns_record.proto", diff --git a/pkg/rpc/protos/models/model_ns_domain.proto b/pkg/rpc/protos/models/model_ns_domain.proto index e464b53..7ca1f4f 100644 --- a/pkg/rpc/protos/models/model_ns_domain.proto +++ b/pkg/rpc/protos/models/model_ns_domain.proto @@ -19,6 +19,7 @@ message NSDomain { repeated int64 nsDomainGroupIds = 8; string status = 9; int64 userId = 10; // 用户ID + bytes recordsHealthCheckJSON = 11; // 健康检查设置 NSCluster nsCluster = 30; User user = 31; diff --git a/pkg/rpc/protos/models/model_ns_record.proto b/pkg/rpc/protos/models/model_ns_record.proto index bcc255b..2493444 100644 --- a/pkg/rpc/protos/models/model_ns_record.proto +++ b/pkg/rpc/protos/models/model_ns_record.proto @@ -8,11 +8,11 @@ import "models/model_ns_route.proto"; // 域名记录 message NSRecord { - int64 id = 1; - string description = 2; - string name = 3; - string type = 4; - string value = 5; + int64 id = 1; // 记录ID + string description = 2; // 备注 + string name = 3; // 记录名 + string type = 4; // 记录类型 + string value = 5; // 记录值 int32 mxPriority = 12; // mx优先级 @@ -23,13 +23,16 @@ message NSRecord { int32 caaFlag = 16; // CAA Flag string caaTag = 17; // CAA TAG - int32 ttl = 6; - int32 weight = 7; + int32 ttl = 6; // TTL + int32 weight = 7; // 权重 int64 createdAt = 8; bool isDeleted = 9; int64 version = 10; - bool isOn = 11; + bool isOn = 11; // 是否启用 - NSDomain nsDomain = 30; - repeated NSRoute nsRoutes = 31; + bytes healthCheckJSON = 18; // 健康检查配置 + bool isUp = 19; // 是否在线(根据健康检查结果) + + NSDomain nsDomain = 30; // 所属域名 + repeated NSRoute nsRoutes = 31; // 线路 } \ No newline at end of file diff --git a/pkg/rpc/protos/service_ns_domain.proto b/pkg/rpc/protos/service_ns_domain.proto index 4a2b963..e2170f2 100644 --- a/pkg/rpc/protos/service_ns_domain.proto +++ b/pkg/rpc/protos/service_ns_domain.proto @@ -61,6 +61,12 @@ service NSDomainService { // 验证域名信息 rpc verifyNSDomain(VerifyNSDomainRequest) returns (VerifyNSDomainResponse); + + // 查询记录健康检查全局设置 + rpc findNSDomainRecordsHealthCheck(FindNSDomainRecordsHealthCheckRequest) returns (FindNSDomainRecordsHealthCheckResponse); + + // 修改记录健康检查全局设置 + rpc updateNSDomainRecordsHealthCheck(UpdateNSDomainRecordsHealthCheckRequest) returns (RPCSuccess); } // 创建单个域名 @@ -231,4 +237,19 @@ message VerifyNSDomainResponse { bool isOk = 1; // 是否成功 string errorCode = 2; // 错误代码 string errorMessage = 3; // 错误消息 +} + +// 查询记录健康检查全局设置 +message FindNSDomainRecordsHealthCheckRequest { + int64 nsDomainId = 1; // 域名ID +} + +message FindNSDomainRecordsHealthCheckResponse { + bytes nsDomainRecordsHealthCheckJSON = 1; // 健康检查设置 +} + +// 修改记录健康检查全局设置 +message UpdateNSDomainRecordsHealthCheckRequest { + int64 nsDomainId = 1; // 域名ID + bytes nsDomainRecordsHealthCheckJSON = 2; // 健康检查设置 } \ No newline at end of file diff --git a/pkg/rpc/protos/service_ns_record.proto b/pkg/rpc/protos/service_ns_record.proto index b60ad3d..b447ae3 100644 --- a/pkg/rpc/protos/service_ns_record.proto +++ b/pkg/rpc/protos/service_ns_record.proto @@ -55,6 +55,15 @@ service NSRecordService { // 根据版本列出一组记录 rpc listNSRecordsAfterVersion (ListNSRecordsAfterVersionRequest) returns (ListNSRecordsAfterVersionResponse); + + // 查询记录健康检查设置 + rpc findNSRecordHealthCheck(FindNSRecordHealthCheckRequest) returns (FindNSRecordHealthCheckResponse); + + // 修改记录健康检查设置 + rpc updateNSRecordHealthCheck(UpdateNSRecordHealthCheckRequest) returns (RPCSuccess); + + // 手动修改记录在线状态 + rpc updateNSRecordIsUp(UpdateNSRecordIsUpRequest) returns (RPCSuccess); } // 创建记录 @@ -233,6 +242,8 @@ message ListNSRecordsRequest { bool typeDesc = 11; bool ttlAsc = 12; bool ttlDesc = 13; + bool upAsc = 14; + bool upDesc = 15; int64 offset = 5; int64 size = 6; @@ -281,4 +292,25 @@ message ListNSRecordsAfterVersionRequest { message ListNSRecordsAfterVersionResponse { repeated NSRecord nsRecords = 1; +} + +// 查询记录健康检查设置 +message FindNSRecordHealthCheckRequest { + int64 nsRecordId = 1; // 记录ID +} + +message FindNSRecordHealthCheckResponse { + bytes nsRecordHealthCheckJSON = 1; // 记录健康检查配置 +} + +// 修改记录健康检查设置 +message UpdateNSRecordHealthCheckRequest { + int64 nsRecordId = 1; // 记录ID + bytes nsRecordHealthCheckJSON = 2; // 记录健康检查配置 +} + +// 手动修改记录在线状态 +message UpdateNSRecordIsUpRequest { + int64 nsRecordId = 1; // 记录ID + bool isUp = 2; // 是否在线 } \ No newline at end of file