Compare commits

...

9 Commits

Author SHA1 Message Date
刘祥超
e4b59c5e85 阶段性提交 2021-06-27 22:00:02 +08:00
刘祥超
be404ea98d 实现公用的IP名单 2021-06-23 13:13:58 +08:00
刘祥超
7ec25bf06c 管理员也支持AccessKey 2021-06-20 19:23:21 +08:00
刘祥超
22af08d7f3 子查询认证时Referer传递完整的URL 2021-06-19 21:50:15 +08:00
刘祥超
ddacb945e1 访问控制支持基本认证和子请求认证 2021-06-19 21:36:13 +08:00
刘祥超
dcdb6a923a 修复重写规则中没有匹配条件就无法生效的问题 2021-06-19 20:52:54 +08:00
刘祥超
0226b4aa98 阶段性提交 2021-06-17 21:18:05 +08:00
刘祥超
04e567b6d8 用户AccessKey增加最近访问时间 2021-06-16 10:57:49 +08:00
刘祥超
a8dfddf6d3 HTTPHeaderPolicy.IsEmpty()方法增加删除Header是否为空的判断 2021-06-15 10:33:30 +08:00
51 changed files with 6547 additions and 732 deletions

View File

@@ -6,30 +6,21 @@ import (
"sync"
)
// 变量信息存储类型
// VariableHolder 变量信息存储类型
type VariableHolder string
type VariableHolders = []interface{}
var variableMapping = map[string][]interface{}{}
var variableMapping = map[string][]interface{}{} // source => [holder1, ...]
var variableLocker = sync.RWMutex{}
var regexpNamedVariable = regexp.MustCompile("\\${[\\w.-]+}")
// 分析变量
// ParseVariables 分析变量
func ParseVariables(source string, replacer func(varName string) (value string)) string {
variableLocker.RLock()
holders, found := variableMapping[source]
variableLocker.RUnlock()
if !found {
indexes := regexpNamedVariable.FindAllStringIndex(source, -1)
before := 0
for _, loc := range indexes {
holders = append(holders, []byte(source[before:loc[0]]))
holder := source[loc[0]+2 : loc[1]-1]
holders = append(holders, VariableHolder(holder))
before = loc[1]
}
if before < len(source) {
holders = append(holders, []byte(source[before:]))
}
holders = ParseHolders(source)
variableLocker.Lock()
variableMapping[source] = holders
variableLocker.Unlock()
@@ -53,7 +44,43 @@ func ParseVariables(source string, replacer func(varName string) (value string))
return result.String()
}
// 判断是否有变量
// ParseVariablesFromHolders 从占位中分析变量
func ParseVariablesFromHolders(holders VariableHolders, replacer func(varName string) (value string)) string {
// no variables
if len(holders) == 0 {
return ""
}
// replace
result := strings.Builder{}
for _, h := range holders {
holder, ok := h.(VariableHolder)
if ok {
result.WriteString(replacer(string(holder)))
} else {
result.Write(h.([]byte))
}
}
return result.String()
}
// ParseHolders 分析占位
func ParseHolders(source string) (holders VariableHolders) {
indexes := regexpNamedVariable.FindAllStringIndex(source, -1)
before := 0
for _, loc := range indexes {
holders = append(holders, []byte(source[before:loc[0]]))
holder := source[loc[0]+2 : loc[1]-1]
holders = append(holders, VariableHolder(holder))
before = loc[1]
}
if before < len(source) {
holders = append(holders, []byte(source[before:]))
}
return holders
}
// HasVariables 判断是否有变量
func HasVariables(source string) bool {
return regexpNamedVariable.MatchString(source)
}

View File

@@ -2,6 +2,7 @@ package configutils
import (
"fmt"
"github.com/iwind/TeaGo/types"
"strconv"
"testing"
)
@@ -22,6 +23,17 @@ func TestParseNoVariables(t *testing.T) {
}
}
func TestParseHolders(t *testing.T) {
var holders = ParseHolders("hello, ${name}, world")
for _, h := range holders {
t.Log(types.String(h))
}
t.Log("parse result:", ParseVariablesFromHolders(holders, func(s string) string {
return "[" + s + "]"
}))
}
func BenchmarkParseVariables(b *testing.B) {
_ = ParseVariables("hello, ${name}, ${age}, ${gender}, ${home}, world", func(s string) string {
return "Lu"
@@ -34,6 +46,16 @@ func BenchmarkParseVariables(b *testing.B) {
}
}
func BenchmarkParseVariablesFromHolders(b *testing.B) {
var holders = ParseHolders("hello, ${name}, ${age}, ${gender}, ${home}, world")
for i := 0; i < b.N; i++ {
_ = ParseVariablesFromHolders(holders, func(s string) string {
return "Lu"
})
}
}
func BenchmarkParseVariablesUnique(b *testing.B) {
for i := 0; i < b.N; i++ {
_ = ParseVariables("hello, ${name} "+strconv.Itoa(i%1000), func(s string) string {

View File

@@ -38,6 +38,8 @@ type NodeConfig struct {
SystemServices map[string]maps.Map `yaml:"systemServices" json:"systemServices"` // 系统服务配置 type => params
FirewallActions []*firewallconfigs.FirewallActionConfig `yaml:"firewallActions" json:"firewallActions"`
MetricItems []*serverconfigs.MetricItemConfig `yaml:"metricItems" json:"metricItems"`
paddedId string
firewallPolicies []*firewallconfigs.HTTPFirewallPolicy
@@ -141,6 +143,14 @@ func (this *NodeConfig) Init() error {
}
}
// metric items
for _, item := range this.MetricItems {
err := item.Init()
if err != nil {
return err
}
}
return nil
}

View File

@@ -7,11 +7,12 @@ import (
var SharedNodeClusterDAO = new(NodeClusterDAO)
// NodeClusterDAO 集群相关操作
type NodeClusterDAO struct {
BaseDAO
}
// 查找集群
// FindEnabledNodeCluster 查找集群
func (this *NodeClusterDAO) FindEnabledNodeCluster(ctx context.Context, clusterId int64) (*pb.NodeCluster, error) {
clusterResp, err := this.RPC().NodeClusterRPC().FindEnabledNodeCluster(ctx, &pb.FindEnabledNodeClusterRequest{NodeClusterId: clusterId})
if err != nil {
@@ -19,3 +20,8 @@ func (this *NodeClusterDAO) FindEnabledNodeCluster(ctx context.Context, clusterI
}
return clusterResp.NodeCluster, nil
}
// FindEnabledNodeClusterConfigInfo 查找集群概要信息
func (this *NodeClusterDAO) FindEnabledNodeClusterConfigInfo(ctx context.Context, clusterId int64) (*pb.FindEnabledNodeClusterConfigInfoResponse, error) {
return this.RPC().NodeClusterRPC().FindEnabledNodeClusterConfigInfo(ctx, &pb.FindEnabledNodeClusterConfigInfoRequest{NodeClusterId: clusterId})
}

View File

@@ -37,6 +37,7 @@ type ACMETask struct {
CreatedAt int64 `protobuf:"varint,5,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
AutoRenew bool `protobuf:"varint,6,opt,name=autoRenew,proto3" json:"autoRenew,omitempty"`
AuthType string `protobuf:"bytes,7,opt,name=authType,proto3" json:"authType,omitempty"`
AuthURL string `protobuf:"bytes,8,opt,name=authURL,proto3" json:"authURL,omitempty"`
AcmeUser *ACMEUser `protobuf:"bytes,30,opt,name=acmeUser,proto3" json:"acmeUser,omitempty"`
DnsProvider *DNSProvider `protobuf:"bytes,31,opt,name=dnsProvider,proto3" json:"dnsProvider,omitempty"`
SslCert *SSLCert `protobuf:"bytes,32,opt,name=sslCert,proto3" json:"sslCert,omitempty"`
@@ -124,6 +125,13 @@ func (x *ACMETask) GetAuthType() string {
return ""
}
func (x *ACMETask) GetAuthURL() string {
if x != nil {
return x.AuthURL
}
return ""
}
func (x *ACMETask) GetAcmeUser() *ACMEUser {
if x != nil {
return x.AcmeUser
@@ -165,7 +173,7 @@ var file_models_model_acme_task_proto_rawDesc = []byte{
0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20,
0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x63, 0x6d,
0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x22, 0x81, 0x03, 0x0a, 0x08, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a,
0x22, 0x9b, 0x03, 0x0a, 0x08, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a,
0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f,
0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03,
@@ -177,20 +185,21 @@ var file_models_model_acme_task_proto_rawDesc = []byte{
0x65, 0x6e, 0x65, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f,
0x52, 0x65, 0x6e, 0x65, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70,
0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70,
0x65, 0x12, 0x28, 0x0a, 0x08, 0x61, 0x63, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x72, 0x18, 0x1e, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x43, 0x4d, 0x45, 0x55, 0x73, 0x65,
0x72, 0x52, 0x08, 0x61, 0x63, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x0b, 0x64,
0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
0x72, 0x52, 0x0b, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x25,
0x0a, 0x07, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x52, 0x07, 0x73, 0x73,
0x6c, 0x43, 0x65, 0x72, 0x74, 0x12, 0x3d, 0x0a, 0x11, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41,
0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f, 0x67, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f,
0x67, 0x52, 0x11, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73,
0x6b, 0x4c, 0x6f, 0x67, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x18, 0x08, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x12, 0x28, 0x0a, 0x08, 0x61,
0x63, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
0x70, 0x62, 0x2e, 0x41, 0x43, 0x4d, 0x45, 0x55, 0x73, 0x65, 0x72, 0x52, 0x08, 0x61, 0x63, 0x6d,
0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e,
0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x0b, 0x64, 0x6e, 0x73,
0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x07, 0x73, 0x73, 0x6c, 0x43,
0x65, 0x72, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x53,
0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x52, 0x07, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x12,
0x3d, 0x0a, 0x11, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73,
0x6b, 0x4c, 0x6f, 0x67, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e,
0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f, 0x67, 0x52, 0x11, 0x6c, 0x61, 0x74,
0x65, 0x73, 0x74, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f, 0x67, 0x42, 0x06,
0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@@ -0,0 +1,186 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.12.3
// source: models/model_http_auth_policy.proto
package pb
import (
proto "github.com/golang/protobuf/proto"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
// 服务认证策略
type HTTPAuthPolicy struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
IsOn bool `protobuf:"varint,2,opt,name=isOn,proto3" json:"isOn,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`
ParamsJSON []byte `protobuf:"bytes,5,opt,name=paramsJSON,proto3" json:"paramsJSON,omitempty"`
}
func (x *HTTPAuthPolicy) Reset() {
*x = HTTPAuthPolicy{}
if protoimpl.UnsafeEnabled {
mi := &file_models_model_http_auth_policy_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HTTPAuthPolicy) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HTTPAuthPolicy) ProtoMessage() {}
func (x *HTTPAuthPolicy) ProtoReflect() protoreflect.Message {
mi := &file_models_model_http_auth_policy_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HTTPAuthPolicy.ProtoReflect.Descriptor instead.
func (*HTTPAuthPolicy) Descriptor() ([]byte, []int) {
return file_models_model_http_auth_policy_proto_rawDescGZIP(), []int{0}
}
func (x *HTTPAuthPolicy) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *HTTPAuthPolicy) GetIsOn() bool {
if x != nil {
return x.IsOn
}
return false
}
func (x *HTTPAuthPolicy) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *HTTPAuthPolicy) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *HTTPAuthPolicy) GetParamsJSON() []byte {
if x != nil {
return x.ParamsJSON
}
return nil
}
var File_models_model_http_auth_policy_proto protoreflect.FileDescriptor
var file_models_model_http_auth_policy_proto_rawDesc = []byte{
0x0a, 0x23, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68,
0x74, 0x74, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x7c, 0x0a, 0x0e, 0x48, 0x54, 0x54,
0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69,
0x73, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12,
0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d,
0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x72,
0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_models_model_http_auth_policy_proto_rawDescOnce sync.Once
file_models_model_http_auth_policy_proto_rawDescData = file_models_model_http_auth_policy_proto_rawDesc
)
func file_models_model_http_auth_policy_proto_rawDescGZIP() []byte {
file_models_model_http_auth_policy_proto_rawDescOnce.Do(func() {
file_models_model_http_auth_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_http_auth_policy_proto_rawDescData)
})
return file_models_model_http_auth_policy_proto_rawDescData
}
var file_models_model_http_auth_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_models_model_http_auth_policy_proto_goTypes = []interface{}{
(*HTTPAuthPolicy)(nil), // 0: pb.HTTPAuthPolicy
}
var file_models_model_http_auth_policy_proto_depIdxs = []int32{
0, // [0:0] is the sub-list for method output_type
0, // [0:0] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_models_model_http_auth_policy_proto_init() }
func file_models_model_http_auth_policy_proto_init() {
if File_models_model_http_auth_policy_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_models_model_http_auth_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HTTPAuthPolicy); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_models_model_http_auth_policy_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_models_model_http_auth_policy_proto_goTypes,
DependencyIndexes: file_models_model_http_auth_policy_proto_depIdxs,
MessageInfos: file_models_model_http_auth_policy_proto_msgTypes,
}.Build()
File_models_model_http_auth_policy_proto = out.File
file_models_model_http_auth_policy_proto_rawDesc = nil
file_models_model_http_auth_policy_proto_goTypes = nil
file_models_model_http_auth_policy_proto_depIdxs = nil
}

View File

@@ -36,6 +36,8 @@ type IPList struct {
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
Code string `protobuf:"bytes,5,opt,name=code,proto3" json:"code,omitempty"`
TimeoutJSON []byte `protobuf:"bytes,6,opt,name=timeoutJSON,proto3" json:"timeoutJSON,omitempty"`
IsPublic bool `protobuf:"varint,7,opt,name=isPublic,proto3" json:"isPublic,omitempty"`
Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
}
func (x *IPList) Reset() {
@@ -112,12 +114,26 @@ func (x *IPList) GetTimeoutJSON() []byte {
return nil
}
func (x *IPList) GetIsPublic() bool {
if x != nil {
return x.IsPublic
}
return false
}
func (x *IPList) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
var File_models_model_ip_list_proto protoreflect.FileDescriptor
var file_models_model_ip_list_proto_rawDesc = []byte{
0x0a, 0x1a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69,
0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62,
0x22, 0x8a, 0x01, 0x0a, 0x06, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x22, 0xc8, 0x01, 0x0a, 0x06, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69,
0x73, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12,
0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74,
@@ -125,8 +141,12 @@ var file_models_model_ip_list_proto_rawDesc = []byte{
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74,
0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x42, 0x06, 0x5a,
0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1a, 0x0a,
0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52,
0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e,
0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@@ -0,0 +1,223 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.12.3
// source: models/model_metric_item.proto
package pb
import (
proto "github.com/golang/protobuf/proto"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
// 指标定义
type MetricItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
IsOn bool `protobuf:"varint,2,opt,name=isOn,proto3" json:"isOn,omitempty"`
Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"`
Category string `protobuf:"bytes,4,opt,name=category,proto3" json:"category,omitempty"`
Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
Keys []string `protobuf:"bytes,6,rep,name=keys,proto3" json:"keys,omitempty"`
Period int32 `protobuf:"varint,7,opt,name=period,proto3" json:"period,omitempty"`
PeriodUnit string `protobuf:"bytes,8,opt,name=periodUnit,proto3" json:"periodUnit,omitempty"`
Value string `protobuf:"bytes,10,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *MetricItem) Reset() {
*x = MetricItem{}
if protoimpl.UnsafeEnabled {
mi := &file_models_model_metric_item_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MetricItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricItem) ProtoMessage() {}
func (x *MetricItem) ProtoReflect() protoreflect.Message {
mi := &file_models_model_metric_item_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricItem.ProtoReflect.Descriptor instead.
func (*MetricItem) Descriptor() ([]byte, []int) {
return file_models_model_metric_item_proto_rawDescGZIP(), []int{0}
}
func (x *MetricItem) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *MetricItem) GetIsOn() bool {
if x != nil {
return x.IsOn
}
return false
}
func (x *MetricItem) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *MetricItem) GetCategory() string {
if x != nil {
return x.Category
}
return ""
}
func (x *MetricItem) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *MetricItem) GetKeys() []string {
if x != nil {
return x.Keys
}
return nil
}
func (x *MetricItem) GetPeriod() int32 {
if x != nil {
return x.Period
}
return 0
}
func (x *MetricItem) GetPeriodUnit() string {
if x != nil {
return x.PeriodUnit
}
return ""
}
func (x *MetricItem) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
var File_models_model_metric_item_proto protoreflect.FileDescriptor
var file_models_model_metric_item_proto_rawDesc = []byte{
0x0a, 0x1e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d,
0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x02, 0x70, 0x62, 0x22, 0xd6, 0x01, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49,
0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63,
0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63,
0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b,
0x65, 0x79, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12,
0x16, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x69, 0x6f,
0x64, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72,
0x69, 0x6f, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x06, 0x5a,
0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_models_model_metric_item_proto_rawDescOnce sync.Once
file_models_model_metric_item_proto_rawDescData = file_models_model_metric_item_proto_rawDesc
)
func file_models_model_metric_item_proto_rawDescGZIP() []byte {
file_models_model_metric_item_proto_rawDescOnce.Do(func() {
file_models_model_metric_item_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_metric_item_proto_rawDescData)
})
return file_models_model_metric_item_proto_rawDescData
}
var file_models_model_metric_item_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_models_model_metric_item_proto_goTypes = []interface{}{
(*MetricItem)(nil), // 0: pb.MetricItem
}
var file_models_model_metric_item_proto_depIdxs = []int32{
0, // [0:0] is the sub-list for method output_type
0, // [0:0] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_models_model_metric_item_proto_init() }
func file_models_model_metric_item_proto_init() {
if File_models_model_metric_item_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_models_model_metric_item_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MetricItem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_models_model_metric_item_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_models_model_metric_item_proto_goTypes,
DependencyIndexes: file_models_model_metric_item_proto_depIdxs,
MessageInfos: file_models_model_metric_item_proto_msgTypes,
}.Build()
File_models_model_metric_item_proto = out.File
file_models_model_metric_item_proto_rawDesc = nil
file_models_model_metric_item_proto_goTypes = nil
file_models_model_metric_item_proto_depIdxs = nil
}

View File

@@ -38,6 +38,7 @@ type UserAccessKey struct {
UniqueId string `protobuf:"bytes,5,opt,name=uniqueId,proto3" json:"uniqueId,omitempty"`
Secret string `protobuf:"bytes,6,opt,name=secret,proto3" json:"secret,omitempty"`
Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"`
AccessedAt int64 `protobuf:"varint,8,opt,name=accessedAt,proto3" json:"accessedAt,omitempty"`
}
func (x *UserAccessKey) Reset() {
@@ -121,12 +122,19 @@ func (x *UserAccessKey) GetDescription() string {
return ""
}
func (x *UserAccessKey) GetAccessedAt() int64 {
if x != nil {
return x.AccessedAt
}
return 0
}
var File_models_model_user_access_key_proto protoreflect.FileDescriptor
var file_models_model_user_access_key_proto_rawDesc = []byte{
0x0a, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75,
0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xbf, 0x01, 0x0a, 0x0d, 0x55, 0x73, 0x65,
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xdf, 0x01, 0x0a, 0x0d, 0x55, 0x73, 0x65,
0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73,
0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72,
@@ -138,7 +146,9 @@ var file_models_model_user_access_key_proto_rawDesc = []byte{
0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f,
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63,
0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x41, 0x74, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f,
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

View File

@@ -376,6 +376,7 @@ type CreateACMETaskRequest struct {
Domains []string `protobuf:"bytes,4,rep,name=domains,proto3" json:"domains,omitempty"`
AutoRenew bool `protobuf:"varint,5,opt,name=autoRenew,proto3" json:"autoRenew,omitempty"`
AuthType string `protobuf:"bytes,6,opt,name=authType,proto3" json:"authType,omitempty"`
AuthURL string `protobuf:"bytes,7,opt,name=authURL,proto3" json:"authURL,omitempty"`
}
func (x *CreateACMETaskRequest) Reset() {
@@ -452,6 +453,13 @@ func (x *CreateACMETaskRequest) GetAuthType() string {
return ""
}
func (x *CreateACMETaskRequest) GetAuthURL() string {
if x != nil {
return x.AuthURL
}
return ""
}
type CreateACMETaskResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -511,6 +519,7 @@ type UpdateACMETaskRequest struct {
DnsDomain string `protobuf:"bytes,4,opt,name=dnsDomain,proto3" json:"dnsDomain,omitempty"`
Domains []string `protobuf:"bytes,5,rep,name=domains,proto3" json:"domains,omitempty"`
AutoRenew bool `protobuf:"varint,6,opt,name=autoRenew,proto3" json:"autoRenew,omitempty"`
AuthURL string `protobuf:"bytes,7,opt,name=authURL,proto3" json:"authURL,omitempty"`
}
func (x *UpdateACMETaskRequest) Reset() {
@@ -587,6 +596,13 @@ func (x *UpdateACMETaskRequest) GetAutoRenew() bool {
return false
}
func (x *UpdateACMETaskRequest) GetAuthURL() string {
if x != nil {
return x.AuthURL
}
return ""
}
// 删除任务
type DeleteACMETaskRequest struct {
state protoimpl.MessageState
@@ -893,7 +909,7 @@ var file_service_acme_task_proto_rawDesc = []byte{
0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a,
0x0a, 0x09, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52,
0x09, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x22, 0xcf, 0x01, 0x0a, 0x15, 0x43,
0x09, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x22, 0xe9, 0x01, 0x0a, 0x15, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x72,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x55, 0x73,
@@ -906,95 +922,98 @@ var file_service_acme_task_proto_rawDesc = []byte{
0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x18,
0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x6e, 0x65, 0x77,
0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, 0x38, 0x0a, 0x16,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61,
0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x6d, 0x65,
0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0xd3, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07,
0x61, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61,
0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x22, 0x38, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64,
0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64,
0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d,
0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f,
0x6d, 0x61, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18,
0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x1c,
0x0a, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28,
0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x22, 0x37, 0x0a, 0x15,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73,
0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54,
0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x41, 0x43, 0x4d, 0x45,
0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61,
0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x13, 0x52,
0x75, 0x6e, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09,
0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x1a, 0x46, 0x69,
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73,
0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, 0x65,
0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63,
0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x61, 0x63, 0x6d, 0x65, 0x54,
0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x41,
0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73,
0x6b, 0x32, 0x84, 0x06, 0x0a, 0x0f, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x26, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
0x22, 0xed, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54,
0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63,
0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63,
0x6d, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
0x61, 0x63, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6e,
0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64,
0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x18,
0x0a, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52,
0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x6f,
0x52, 0x65, 0x6e, 0x65, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74,
0x6f, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x52,
0x4c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c,
0x22, 0x37, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61,
0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d,
0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61,
0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x12, 0x52, 0x75, 0x6e,
0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22,
0x5d, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01,
0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72,
0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
0x12, 0x1c, 0x0a, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20,
0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x22, 0x3c,
0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d,
0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a,
0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x1b,
0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54,
0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x61,
0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
0x70, 0x62, 0x2e, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x61, 0x63, 0x6d,
0x65, 0x54, 0x61, 0x73, 0x6b, 0x32, 0x84, 0x06, 0x0a, 0x0f, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61,
0x73, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x26, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45,
0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x41, 0x43, 0x4d, 0x45, 0x55, 0x73, 0x65,
0x72, 0x49, 0x64, 0x12, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b,
0x73, 0x57, 0x69, 0x74, 0x68, 0x41, 0x43, 0x4d, 0x45, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12,
0x31, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74,
0x68, 0x41, 0x43, 0x4d, 0x45, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x26, 0x63, 0x6f, 0x75, 0x6e,
0x73, 0x57, 0x69, 0x74, 0x68, 0x41, 0x43, 0x4d, 0x45, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x26,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45,
0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b,
0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x49, 0x64, 0x12, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74,
0x68, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x18, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43,
0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45,
0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70,
0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e,
0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54,
0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45,
0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a,
0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x12,
0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54,
0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 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, 0x3b, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x43, 0x4d,
0x45, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 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, 0x3e, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x12,
0x16, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x75, 0x6e,
0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41,
0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52,
0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x55, 0x0a, 0x18, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62,
0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1f,
0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41,
0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54,
0x61, 0x73, 0x6b, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41,
0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a,
0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61,
0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0e, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x2e, 0x70,
0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 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, 0x3b, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74,
0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x44,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 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, 0x3e, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x41, 0x43, 0x4d, 0x45, 0x54,
0x61, 0x73, 0x6b, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x43, 0x4d, 0x45,
0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62,
0x2e, 0x52, 0x75, 0x6e, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1e, 0x2e, 0x70, 0x62,
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45,
0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62,
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45,
0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04,
0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@@ -0,0 +1,655 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.12.3
// source: service_http_auth_policy.proto
package pb
import (
context "context"
proto "github.com/golang/protobuf/proto"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
// 创建策略
type CreateHTTPAuthPolicyRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
ParamsJSON []byte `protobuf:"bytes,3,opt,name=paramsJSON,proto3" json:"paramsJSON,omitempty"`
}
func (x *CreateHTTPAuthPolicyRequest) Reset() {
*x = CreateHTTPAuthPolicyRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_http_auth_policy_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateHTTPAuthPolicyRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateHTTPAuthPolicyRequest) ProtoMessage() {}
func (x *CreateHTTPAuthPolicyRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_http_auth_policy_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateHTTPAuthPolicyRequest.ProtoReflect.Descriptor instead.
func (*CreateHTTPAuthPolicyRequest) Descriptor() ([]byte, []int) {
return file_service_http_auth_policy_proto_rawDescGZIP(), []int{0}
}
func (x *CreateHTTPAuthPolicyRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CreateHTTPAuthPolicyRequest) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *CreateHTTPAuthPolicyRequest) GetParamsJSON() []byte {
if x != nil {
return x.ParamsJSON
}
return nil
}
type CreateHTTPAuthPolicyResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HttpAuthPolicyId int64 `protobuf:"varint,1,opt,name=httpAuthPolicyId,proto3" json:"httpAuthPolicyId,omitempty"`
}
func (x *CreateHTTPAuthPolicyResponse) Reset() {
*x = CreateHTTPAuthPolicyResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_http_auth_policy_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateHTTPAuthPolicyResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateHTTPAuthPolicyResponse) ProtoMessage() {}
func (x *CreateHTTPAuthPolicyResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_http_auth_policy_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateHTTPAuthPolicyResponse.ProtoReflect.Descriptor instead.
func (*CreateHTTPAuthPolicyResponse) Descriptor() ([]byte, []int) {
return file_service_http_auth_policy_proto_rawDescGZIP(), []int{1}
}
func (x *CreateHTTPAuthPolicyResponse) GetHttpAuthPolicyId() int64 {
if x != nil {
return x.HttpAuthPolicyId
}
return 0
}
// 修改策略
type UpdateHTTPAuthPolicyRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HttpAuthPolicyId int64 `protobuf:"varint,1,opt,name=httpAuthPolicyId,proto3" json:"httpAuthPolicyId,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
ParamsJSON []byte `protobuf:"bytes,3,opt,name=paramsJSON,proto3" json:"paramsJSON,omitempty"`
IsOn bool `protobuf:"varint,4,opt,name=isOn,proto3" json:"isOn,omitempty"`
}
func (x *UpdateHTTPAuthPolicyRequest) Reset() {
*x = UpdateHTTPAuthPolicyRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_http_auth_policy_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateHTTPAuthPolicyRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateHTTPAuthPolicyRequest) ProtoMessage() {}
func (x *UpdateHTTPAuthPolicyRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_http_auth_policy_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateHTTPAuthPolicyRequest.ProtoReflect.Descriptor instead.
func (*UpdateHTTPAuthPolicyRequest) Descriptor() ([]byte, []int) {
return file_service_http_auth_policy_proto_rawDescGZIP(), []int{2}
}
func (x *UpdateHTTPAuthPolicyRequest) GetHttpAuthPolicyId() int64 {
if x != nil {
return x.HttpAuthPolicyId
}
return 0
}
func (x *UpdateHTTPAuthPolicyRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *UpdateHTTPAuthPolicyRequest) GetParamsJSON() []byte {
if x != nil {
return x.ParamsJSON
}
return nil
}
func (x *UpdateHTTPAuthPolicyRequest) GetIsOn() bool {
if x != nil {
return x.IsOn
}
return false
}
// 查找策略信息
type FindEnabledHTTPAuthPolicyRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HttpAuthPolicyId int64 `protobuf:"varint,1,opt,name=httpAuthPolicyId,proto3" json:"httpAuthPolicyId,omitempty"`
}
func (x *FindEnabledHTTPAuthPolicyRequest) Reset() {
*x = FindEnabledHTTPAuthPolicyRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_http_auth_policy_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindEnabledHTTPAuthPolicyRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindEnabledHTTPAuthPolicyRequest) ProtoMessage() {}
func (x *FindEnabledHTTPAuthPolicyRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_http_auth_policy_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FindEnabledHTTPAuthPolicyRequest.ProtoReflect.Descriptor instead.
func (*FindEnabledHTTPAuthPolicyRequest) Descriptor() ([]byte, []int) {
return file_service_http_auth_policy_proto_rawDescGZIP(), []int{3}
}
func (x *FindEnabledHTTPAuthPolicyRequest) GetHttpAuthPolicyId() int64 {
if x != nil {
return x.HttpAuthPolicyId
}
return 0
}
type FindEnabledHTTPAuthPolicyResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HttpAuthPolicy *HTTPAuthPolicy `protobuf:"bytes,1,opt,name=httpAuthPolicy,proto3" json:"httpAuthPolicy,omitempty"`
}
func (x *FindEnabledHTTPAuthPolicyResponse) Reset() {
*x = FindEnabledHTTPAuthPolicyResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_http_auth_policy_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindEnabledHTTPAuthPolicyResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindEnabledHTTPAuthPolicyResponse) ProtoMessage() {}
func (x *FindEnabledHTTPAuthPolicyResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_http_auth_policy_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FindEnabledHTTPAuthPolicyResponse.ProtoReflect.Descriptor instead.
func (*FindEnabledHTTPAuthPolicyResponse) Descriptor() ([]byte, []int) {
return file_service_http_auth_policy_proto_rawDescGZIP(), []int{4}
}
func (x *FindEnabledHTTPAuthPolicyResponse) GetHttpAuthPolicy() *HTTPAuthPolicy {
if x != nil {
return x.HttpAuthPolicy
}
return nil
}
var File_service_http_auth_policy_proto protoreflect.FileDescriptor
var file_service_http_auth_policy_proto_rawDesc = []byte{
0x0a, 0x1e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x61,
0x75, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x02, 0x70, 0x62, 0x1a, 0x23, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64,
0x65, 0x6c, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70,
0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x4a, 0x0a, 0x1c, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x68,
0x74, 0x74, 0x70, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x68, 0x74, 0x74, 0x70, 0x41, 0x75, 0x74, 0x68, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x91, 0x01, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x41,
0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x10, 0x68, 0x74, 0x74, 0x70, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d,
0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x72,
0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18,
0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x22, 0x4e, 0x0a, 0x20, 0x46,
0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75,
0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x2a, 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x68, 0x74, 0x74, 0x70, 0x41,
0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x21, 0x46,
0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75,
0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x3a, 0x0a, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x48, 0x54,
0x54, 0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0e, 0x68, 0x74,
0x74, 0x70, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x32, 0xa5, 0x02, 0x0a,
0x15, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x48, 0x54, 0x54, 0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1f,
0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75,
0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x20, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x41,
0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x41,
0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69,
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75, 0x74,
0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x41, 0x75, 0x74, 0x68,
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54,
0x54, 0x50, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (
file_service_http_auth_policy_proto_rawDescOnce sync.Once
file_service_http_auth_policy_proto_rawDescData = file_service_http_auth_policy_proto_rawDesc
)
func file_service_http_auth_policy_proto_rawDescGZIP() []byte {
file_service_http_auth_policy_proto_rawDescOnce.Do(func() {
file_service_http_auth_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_http_auth_policy_proto_rawDescData)
})
return file_service_http_auth_policy_proto_rawDescData
}
var file_service_http_auth_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_service_http_auth_policy_proto_goTypes = []interface{}{
(*CreateHTTPAuthPolicyRequest)(nil), // 0: pb.CreateHTTPAuthPolicyRequest
(*CreateHTTPAuthPolicyResponse)(nil), // 1: pb.CreateHTTPAuthPolicyResponse
(*UpdateHTTPAuthPolicyRequest)(nil), // 2: pb.UpdateHTTPAuthPolicyRequest
(*FindEnabledHTTPAuthPolicyRequest)(nil), // 3: pb.FindEnabledHTTPAuthPolicyRequest
(*FindEnabledHTTPAuthPolicyResponse)(nil), // 4: pb.FindEnabledHTTPAuthPolicyResponse
(*HTTPAuthPolicy)(nil), // 5: pb.HTTPAuthPolicy
(*RPCSuccess)(nil), // 6: pb.RPCSuccess
}
var file_service_http_auth_policy_proto_depIdxs = []int32{
5, // 0: pb.FindEnabledHTTPAuthPolicyResponse.httpAuthPolicy:type_name -> pb.HTTPAuthPolicy
0, // 1: pb.HTTPAuthPolicyService.createHTTPAuthPolicy:input_type -> pb.CreateHTTPAuthPolicyRequest
2, // 2: pb.HTTPAuthPolicyService.updateHTTPAuthPolicy:input_type -> pb.UpdateHTTPAuthPolicyRequest
3, // 3: pb.HTTPAuthPolicyService.findEnabledHTTPAuthPolicy:input_type -> pb.FindEnabledHTTPAuthPolicyRequest
1, // 4: pb.HTTPAuthPolicyService.createHTTPAuthPolicy:output_type -> pb.CreateHTTPAuthPolicyResponse
6, // 5: pb.HTTPAuthPolicyService.updateHTTPAuthPolicy:output_type -> pb.RPCSuccess
4, // 6: pb.HTTPAuthPolicyService.findEnabledHTTPAuthPolicy:output_type -> pb.FindEnabledHTTPAuthPolicyResponse
4, // [4:7] is the sub-list for method output_type
1, // [1:4] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_service_http_auth_policy_proto_init() }
func file_service_http_auth_policy_proto_init() {
if File_service_http_auth_policy_proto != nil {
return
}
file_models_model_http_auth_policy_proto_init()
file_models_rpc_messages_proto_init()
if !protoimpl.UnsafeEnabled {
file_service_http_auth_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateHTTPAuthPolicyRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_http_auth_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateHTTPAuthPolicyResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_http_auth_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateHTTPAuthPolicyRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_http_auth_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindEnabledHTTPAuthPolicyRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_http_auth_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindEnabledHTTPAuthPolicyResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_http_auth_policy_proto_rawDesc,
NumEnums: 0,
NumMessages: 5,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_service_http_auth_policy_proto_goTypes,
DependencyIndexes: file_service_http_auth_policy_proto_depIdxs,
MessageInfos: file_service_http_auth_policy_proto_msgTypes,
}.Build()
File_service_http_auth_policy_proto = out.File
file_service_http_auth_policy_proto_rawDesc = nil
file_service_http_auth_policy_proto_goTypes = nil
file_service_http_auth_policy_proto_depIdxs = nil
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6
// HTTPAuthPolicyServiceClient is the client API for HTTPAuthPolicyService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type HTTPAuthPolicyServiceClient interface {
// 创建策略
CreateHTTPAuthPolicy(ctx context.Context, in *CreateHTTPAuthPolicyRequest, opts ...grpc.CallOption) (*CreateHTTPAuthPolicyResponse, error)
// 修改策略
UpdateHTTPAuthPolicy(ctx context.Context, in *UpdateHTTPAuthPolicyRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 查找策略信息
FindEnabledHTTPAuthPolicy(ctx context.Context, in *FindEnabledHTTPAuthPolicyRequest, opts ...grpc.CallOption) (*FindEnabledHTTPAuthPolicyResponse, error)
}
type hTTPAuthPolicyServiceClient struct {
cc grpc.ClientConnInterface
}
func NewHTTPAuthPolicyServiceClient(cc grpc.ClientConnInterface) HTTPAuthPolicyServiceClient {
return &hTTPAuthPolicyServiceClient{cc}
}
func (c *hTTPAuthPolicyServiceClient) CreateHTTPAuthPolicy(ctx context.Context, in *CreateHTTPAuthPolicyRequest, opts ...grpc.CallOption) (*CreateHTTPAuthPolicyResponse, error) {
out := new(CreateHTTPAuthPolicyResponse)
err := c.cc.Invoke(ctx, "/pb.HTTPAuthPolicyService/createHTTPAuthPolicy", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *hTTPAuthPolicyServiceClient) UpdateHTTPAuthPolicy(ctx context.Context, in *UpdateHTTPAuthPolicyRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, "/pb.HTTPAuthPolicyService/updateHTTPAuthPolicy", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *hTTPAuthPolicyServiceClient) FindEnabledHTTPAuthPolicy(ctx context.Context, in *FindEnabledHTTPAuthPolicyRequest, opts ...grpc.CallOption) (*FindEnabledHTTPAuthPolicyResponse, error) {
out := new(FindEnabledHTTPAuthPolicyResponse)
err := c.cc.Invoke(ctx, "/pb.HTTPAuthPolicyService/findEnabledHTTPAuthPolicy", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// HTTPAuthPolicyServiceServer is the server API for HTTPAuthPolicyService service.
type HTTPAuthPolicyServiceServer interface {
// 创建策略
CreateHTTPAuthPolicy(context.Context, *CreateHTTPAuthPolicyRequest) (*CreateHTTPAuthPolicyResponse, error)
// 修改策略
UpdateHTTPAuthPolicy(context.Context, *UpdateHTTPAuthPolicyRequest) (*RPCSuccess, error)
// 查找策略信息
FindEnabledHTTPAuthPolicy(context.Context, *FindEnabledHTTPAuthPolicyRequest) (*FindEnabledHTTPAuthPolicyResponse, error)
}
// UnimplementedHTTPAuthPolicyServiceServer can be embedded to have forward compatible implementations.
type UnimplementedHTTPAuthPolicyServiceServer struct {
}
func (*UnimplementedHTTPAuthPolicyServiceServer) CreateHTTPAuthPolicy(context.Context, *CreateHTTPAuthPolicyRequest) (*CreateHTTPAuthPolicyResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateHTTPAuthPolicy not implemented")
}
func (*UnimplementedHTTPAuthPolicyServiceServer) UpdateHTTPAuthPolicy(context.Context, *UpdateHTTPAuthPolicyRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateHTTPAuthPolicy not implemented")
}
func (*UnimplementedHTTPAuthPolicyServiceServer) FindEnabledHTTPAuthPolicy(context.Context, *FindEnabledHTTPAuthPolicyRequest) (*FindEnabledHTTPAuthPolicyResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindEnabledHTTPAuthPolicy not implemented")
}
func RegisterHTTPAuthPolicyServiceServer(s *grpc.Server, srv HTTPAuthPolicyServiceServer) {
s.RegisterService(&_HTTPAuthPolicyService_serviceDesc, srv)
}
func _HTTPAuthPolicyService_CreateHTTPAuthPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateHTTPAuthPolicyRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(HTTPAuthPolicyServiceServer).CreateHTTPAuthPolicy(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.HTTPAuthPolicyService/CreateHTTPAuthPolicy",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(HTTPAuthPolicyServiceServer).CreateHTTPAuthPolicy(ctx, req.(*CreateHTTPAuthPolicyRequest))
}
return interceptor(ctx, in, info, handler)
}
func _HTTPAuthPolicyService_UpdateHTTPAuthPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateHTTPAuthPolicyRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(HTTPAuthPolicyServiceServer).UpdateHTTPAuthPolicy(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.HTTPAuthPolicyService/UpdateHTTPAuthPolicy",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(HTTPAuthPolicyServiceServer).UpdateHTTPAuthPolicy(ctx, req.(*UpdateHTTPAuthPolicyRequest))
}
return interceptor(ctx, in, info, handler)
}
func _HTTPAuthPolicyService_FindEnabledHTTPAuthPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindEnabledHTTPAuthPolicyRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(HTTPAuthPolicyServiceServer).FindEnabledHTTPAuthPolicy(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.HTTPAuthPolicyService/FindEnabledHTTPAuthPolicy",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(HTTPAuthPolicyServiceServer).FindEnabledHTTPAuthPolicy(ctx, req.(*FindEnabledHTTPAuthPolicyRequest))
}
return interceptor(ctx, in, info, handler)
}
var _HTTPAuthPolicyService_serviceDesc = grpc.ServiceDesc{
ServiceName: "pb.HTTPAuthPolicyService",
HandlerType: (*HTTPAuthPolicyServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "createHTTPAuthPolicy",
Handler: _HTTPAuthPolicyService_CreateHTTPAuthPolicy_Handler,
},
{
MethodName: "updateHTTPAuthPolicy",
Handler: _HTTPAuthPolicyService_UpdateHTTPAuthPolicy_Handler,
},
{
MethodName: "findEnabledHTTPAuthPolicy",
Handler: _HTTPAuthPolicyService_FindEnabledHTTPAuthPolicy_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_http_auth_policy.proto",
}

View File

@@ -1361,6 +1361,62 @@ func (x *FindHTTPWebHostRedirectsResponse) GetHostRedirectsJSON() []byte {
return nil
}
// 更改认证设置
type UpdateHTTPWebAuthRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
WebId int64 `protobuf:"varint,1,opt,name=webId,proto3" json:"webId,omitempty"`
AuthJSON []byte `protobuf:"bytes,2,opt,name=authJSON,proto3" json:"authJSON,omitempty"`
}
func (x *UpdateHTTPWebAuthRequest) Reset() {
*x = UpdateHTTPWebAuthRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_http_web_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateHTTPWebAuthRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateHTTPWebAuthRequest) ProtoMessage() {}
func (x *UpdateHTTPWebAuthRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_http_web_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 UpdateHTTPWebAuthRequest.ProtoReflect.Descriptor instead.
func (*UpdateHTTPWebAuthRequest) Descriptor() ([]byte, []int) {
return file_service_http_web_proto_rawDescGZIP(), []int{25}
}
func (x *UpdateHTTPWebAuthRequest) GetWebId() int64 {
if x != nil {
return x.WebId
}
return 0
}
func (x *UpdateHTTPWebAuthRequest) GetAuthJSON() []byte {
if x != nil {
return x.AuthJSON
}
return nil
}
var File_service_http_web_proto protoreflect.FileDescriptor
var file_service_http_web_proto_rawDesc = []byte{
@@ -1493,113 +1549,122 @@ var file_service_http_web_proto_rawDesc = []byte{
0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x2c, 0x0a, 0x11, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63,
0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x68, 0x6f,
0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x32,
0x80, 0x0d, 0x0a, 0x0e, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e,
0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x12, 0x1d,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a,
0x18, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46,
0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22,
0x4c, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77,
0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x77, 0x65, 0x62, 0x49,
0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0xc3, 0x0d,
0x0a, 0x0e, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62,
0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x12, 0x1d, 0x2e, 0x70,
0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62,
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x66,
0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x47, 0x7a, 0x69, 0x70, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x47, 0x7a, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
0x73, 0x73, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x68, 0x61,
0x72, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x1a, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70,
0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a,
0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x47, 0x7a,
0x69, 0x70, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x47, 0x7a, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
0x12, 0x55, 0x0a, 0x1b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
0x26, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57,
0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e,
0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 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, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x50, 0x61, 0x67, 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, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f,
0x67, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63,
0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 0x74,
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, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1d, 0x2e,
0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x68, 0x61, 0x72, 0x73,
0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x1a, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x55,
0x0a, 0x1b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x2e,
0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x69, 0x72,
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 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, 0x57, 0x0a, 0x1c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x20,
0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 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, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x50, 0x61, 0x67, 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, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12,
0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57,
0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 0x74, 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, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x62,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x61,
0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x69, 0x72, 0x65, 0x77,
0x61, 0x6c, 0x6c, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57,
0x65, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 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, 0x57, 0x0a, 0x1c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48, 0x54, 0x54,
0x50, 0x53, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48,
0x54, 0x54, 0x50, 0x53, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54,
0x6f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a,
0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65,
0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63,
0x6b, 0x65, 0x74, 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, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x61, 0x73, 0x74, 0x63,
0x67, 0x69, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x61, 0x73, 0x74, 0x63, 0x67, 0x69, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73,
0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 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, 0x53, 0x0a, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72,
0x65, 0x63, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72,
0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x65, 0x0a, 0x18, 0x66,
0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65,
0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
0x54, 0x54, 0x50, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x16, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x73,
0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65,
0x74, 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, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x61, 0x73, 0x74, 0x63, 0x67, 0x69,
0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x46, 0x61, 0x73, 0x74, 0x63, 0x67, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73,
0x73, 0x12, 0x51, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57,
0x65, 0x62, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x24,
0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 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, 0x53, 0x0a, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63,
0x74, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63,
0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x65, 0x0a, 0x18, 0x66, 0x69, 0x6e,
0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69,
0x72, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70,
0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73,
0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
0x72, 0x65, 0x63, 0x74, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65,
0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e,
0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52,
0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x41, 0x75, 0x74, 0x68, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, 0x75, 0x74, 0x68, 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 (
@@ -1614,7 +1679,7 @@ func file_service_http_web_proto_rawDescGZIP() []byte {
return file_service_http_web_proto_rawDescData
}
var file_service_http_web_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
var file_service_http_web_proto_msgTypes = make([]protoimpl.MessageInfo, 26)
var file_service_http_web_proto_goTypes = []interface{}{
(*CreateHTTPWebRequest)(nil), // 0: pb.CreateHTTPWebRequest
(*CreateHTTPWebResponse)(nil), // 1: pb.CreateHTTPWebResponse
@@ -1641,11 +1706,12 @@ var file_service_http_web_proto_goTypes = []interface{}{
(*UpdateHTTPWebHostRedirectsRequest)(nil), // 22: pb.UpdateHTTPWebHostRedirectsRequest
(*FindHTTPWebHostRedirectsRequest)(nil), // 23: pb.FindHTTPWebHostRedirectsRequest
(*FindHTTPWebHostRedirectsResponse)(nil), // 24: pb.FindHTTPWebHostRedirectsResponse
(*HTTPWeb)(nil), // 25: pb.HTTPWeb
(*RPCSuccess)(nil), // 26: pb.RPCSuccess
(*UpdateHTTPWebAuthRequest)(nil), // 25: pb.UpdateHTTPWebAuthRequest
(*HTTPWeb)(nil), // 26: pb.HTTPWeb
(*RPCSuccess)(nil), // 27: pb.RPCSuccess
}
var file_service_http_web_proto_depIdxs = []int32{
25, // 0: pb.FindEnabledHTTPWebResponse.web:type_name -> pb.HTTPWeb
26, // 0: pb.FindEnabledHTTPWebResponse.web:type_name -> pb.HTTPWeb
0, // 1: pb.HTTPWebService.createHTTPWeb:input_type -> pb.CreateHTTPWebRequest
2, // 2: pb.HTTPWebService.findEnabledHTTPWeb:input_type -> pb.FindEnabledHTTPWebRequest
4, // 3: pb.HTTPWebService.findEnabledHTTPWebConfig:input_type -> pb.FindEnabledHTTPWebConfigRequest
@@ -1667,29 +1733,31 @@ var file_service_http_web_proto_depIdxs = []int32{
21, // 19: pb.HTTPWebService.updateHTTPWebRewriteRules:input_type -> pb.UpdateHTTPWebRewriteRulesRequest
22, // 20: pb.HTTPWebService.updateHTTPWebHostRedirects:input_type -> pb.UpdateHTTPWebHostRedirectsRequest
23, // 21: pb.HTTPWebService.findHTTPWebHostRedirects:input_type -> pb.FindHTTPWebHostRedirectsRequest
1, // 22: pb.HTTPWebService.createHTTPWeb:output_type -> pb.CreateHTTPWebResponse
3, // 23: pb.HTTPWebService.findEnabledHTTPWeb:output_type -> pb.FindEnabledHTTPWebResponse
5, // 24: pb.HTTPWebService.findEnabledHTTPWebConfig:output_type -> pb.FindEnabledHTTPWebConfigResponse
26, // 25: pb.HTTPWebService.updateHTTPWeb:output_type -> pb.RPCSuccess
26, // 26: pb.HTTPWebService.updateHTTPWebGzip:output_type -> pb.RPCSuccess
26, // 27: pb.HTTPWebService.updateHTTPWebCharset:output_type -> pb.RPCSuccess
26, // 28: pb.HTTPWebService.updateHTTPWebRequestHeader:output_type -> pb.RPCSuccess
26, // 29: pb.HTTPWebService.updateHTTPWebResponseHeader:output_type -> pb.RPCSuccess
26, // 30: pb.HTTPWebService.updateHTTPWebShutdown:output_type -> pb.RPCSuccess
26, // 31: pb.HTTPWebService.updateHTTPWebPages:output_type -> pb.RPCSuccess
26, // 32: pb.HTTPWebService.updateHTTPWebAccessLog:output_type -> pb.RPCSuccess
26, // 33: pb.HTTPWebService.updateHTTPWebStat:output_type -> pb.RPCSuccess
26, // 34: pb.HTTPWebService.updateHTTPWebCache:output_type -> pb.RPCSuccess
26, // 35: pb.HTTPWebService.updateHTTPWebFirewall:output_type -> pb.RPCSuccess
26, // 36: pb.HTTPWebService.updateHTTPWebLocations:output_type -> pb.RPCSuccess
26, // 37: pb.HTTPWebService.updateHTTPWebRedirectToHTTPS:output_type -> pb.RPCSuccess
26, // 38: pb.HTTPWebService.updateHTTPWebWebsocket:output_type -> pb.RPCSuccess
26, // 39: pb.HTTPWebService.updateHTTPWebFastcgi:output_type -> pb.RPCSuccess
26, // 40: pb.HTTPWebService.updateHTTPWebRewriteRules:output_type -> pb.RPCSuccess
26, // 41: pb.HTTPWebService.updateHTTPWebHostRedirects:output_type -> pb.RPCSuccess
24, // 42: pb.HTTPWebService.findHTTPWebHostRedirects:output_type -> pb.FindHTTPWebHostRedirectsResponse
22, // [22:43] is the sub-list for method output_type
1, // [1:22] is the sub-list for method input_type
25, // 22: pb.HTTPWebService.updateHTTPWebAuth:input_type -> pb.UpdateHTTPWebAuthRequest
1, // 23: pb.HTTPWebService.createHTTPWeb:output_type -> pb.CreateHTTPWebResponse
3, // 24: pb.HTTPWebService.findEnabledHTTPWeb:output_type -> pb.FindEnabledHTTPWebResponse
5, // 25: pb.HTTPWebService.findEnabledHTTPWebConfig:output_type -> pb.FindEnabledHTTPWebConfigResponse
27, // 26: pb.HTTPWebService.updateHTTPWeb:output_type -> pb.RPCSuccess
27, // 27: pb.HTTPWebService.updateHTTPWebGzip:output_type -> pb.RPCSuccess
27, // 28: pb.HTTPWebService.updateHTTPWebCharset:output_type -> pb.RPCSuccess
27, // 29: pb.HTTPWebService.updateHTTPWebRequestHeader:output_type -> pb.RPCSuccess
27, // 30: pb.HTTPWebService.updateHTTPWebResponseHeader:output_type -> pb.RPCSuccess
27, // 31: pb.HTTPWebService.updateHTTPWebShutdown:output_type -> pb.RPCSuccess
27, // 32: pb.HTTPWebService.updateHTTPWebPages:output_type -> pb.RPCSuccess
27, // 33: pb.HTTPWebService.updateHTTPWebAccessLog:output_type -> pb.RPCSuccess
27, // 34: pb.HTTPWebService.updateHTTPWebStat:output_type -> pb.RPCSuccess
27, // 35: pb.HTTPWebService.updateHTTPWebCache:output_type -> pb.RPCSuccess
27, // 36: pb.HTTPWebService.updateHTTPWebFirewall:output_type -> pb.RPCSuccess
27, // 37: pb.HTTPWebService.updateHTTPWebLocations:output_type -> pb.RPCSuccess
27, // 38: pb.HTTPWebService.updateHTTPWebRedirectToHTTPS:output_type -> pb.RPCSuccess
27, // 39: pb.HTTPWebService.updateHTTPWebWebsocket:output_type -> pb.RPCSuccess
27, // 40: pb.HTTPWebService.updateHTTPWebFastcgi:output_type -> pb.RPCSuccess
27, // 41: pb.HTTPWebService.updateHTTPWebRewriteRules:output_type -> pb.RPCSuccess
27, // 42: pb.HTTPWebService.updateHTTPWebHostRedirects:output_type -> pb.RPCSuccess
24, // 43: pb.HTTPWebService.findHTTPWebHostRedirects:output_type -> pb.FindHTTPWebHostRedirectsResponse
27, // 44: pb.HTTPWebService.updateHTTPWebAuth:output_type -> pb.RPCSuccess
23, // [23:45] is the sub-list for method output_type
1, // [1:23] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
@@ -2003,6 +2071,18 @@ func file_service_http_web_proto_init() {
return nil
}
}
file_service_http_web_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateHTTPWebAuthRequest); 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{
@@ -2010,7 +2090,7 @@ func file_service_http_web_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_http_web_proto_rawDesc,
NumEnums: 0,
NumMessages: 25,
NumMessages: 26,
NumExtensions: 0,
NumServices: 1,
},
@@ -2078,6 +2158,8 @@ type HTTPWebServiceClient interface {
UpdateHTTPWebHostRedirects(ctx context.Context, in *UpdateHTTPWebHostRedirectsRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 查找主机跳转设置
FindHTTPWebHostRedirects(ctx context.Context, in *FindHTTPWebHostRedirectsRequest, opts ...grpc.CallOption) (*FindHTTPWebHostRedirectsResponse, error)
// 更改认证设置
UpdateHTTPWebAuth(ctx context.Context, in *UpdateHTTPWebAuthRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
}
type hTTPWebServiceClient struct {
@@ -2277,6 +2359,15 @@ func (c *hTTPWebServiceClient) FindHTTPWebHostRedirects(ctx context.Context, in
return out, nil
}
func (c *hTTPWebServiceClient) UpdateHTTPWebAuth(ctx context.Context, in *UpdateHTTPWebAuthRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, "/pb.HTTPWebService/updateHTTPWebAuth", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// HTTPWebServiceServer is the server API for HTTPWebService service.
type HTTPWebServiceServer interface {
// 创建Web配置
@@ -2321,6 +2412,8 @@ type HTTPWebServiceServer interface {
UpdateHTTPWebHostRedirects(context.Context, *UpdateHTTPWebHostRedirectsRequest) (*RPCSuccess, error)
// 查找主机跳转设置
FindHTTPWebHostRedirects(context.Context, *FindHTTPWebHostRedirectsRequest) (*FindHTTPWebHostRedirectsResponse, error)
// 更改认证设置
UpdateHTTPWebAuth(context.Context, *UpdateHTTPWebAuthRequest) (*RPCSuccess, error)
}
// UnimplementedHTTPWebServiceServer can be embedded to have forward compatible implementations.
@@ -2390,6 +2483,9 @@ func (*UnimplementedHTTPWebServiceServer) UpdateHTTPWebHostRedirects(context.Con
func (*UnimplementedHTTPWebServiceServer) FindHTTPWebHostRedirects(context.Context, *FindHTTPWebHostRedirectsRequest) (*FindHTTPWebHostRedirectsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindHTTPWebHostRedirects not implemented")
}
func (*UnimplementedHTTPWebServiceServer) UpdateHTTPWebAuth(context.Context, *UpdateHTTPWebAuthRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateHTTPWebAuth not implemented")
}
func RegisterHTTPWebServiceServer(s *grpc.Server, srv HTTPWebServiceServer) {
s.RegisterService(&_HTTPWebService_serviceDesc, srv)
@@ -2773,6 +2869,24 @@ func _HTTPWebService_FindHTTPWebHostRedirects_Handler(srv interface{}, ctx conte
return interceptor(ctx, in, info, handler)
}
func _HTTPWebService_UpdateHTTPWebAuth_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateHTTPWebAuthRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(HTTPWebServiceServer).UpdateHTTPWebAuth(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.HTTPWebService/UpdateHTTPWebAuth",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(HTTPWebServiceServer).UpdateHTTPWebAuth(ctx, req.(*UpdateHTTPWebAuthRequest))
}
return interceptor(ctx, in, info, handler)
}
var _HTTPWebService_serviceDesc = grpc.ServiceDesc{
ServiceName: "pb.HTTPWebService",
HandlerType: (*HTTPWebServiceServer)(nil),
@@ -2861,6 +2975,10 @@ var _HTTPWebService_serviceDesc = grpc.ServiceDesc{
MethodName: "findHTTPWebHostRedirects",
Handler: _HTTPWebService_FindHTTPWebHostRedirects_Handler,
},
{
MethodName: "updateHTTPWebAuth",
Handler: _HTTPWebService_UpdateHTTPWebAuth_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_http_web.proto",

View File

@@ -673,6 +673,236 @@ func (x *ListIPItemsAfterVersionResponse) GetIpItems() []*IPItem {
return nil
}
// 检查IP状态
type CheckIPItemStatusRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IpListId int64 `protobuf:"varint,1,opt,name=ipListId,proto3" json:"ipListId,omitempty"`
Ip string `protobuf:"bytes,2,opt,name=ip,proto3" json:"ip,omitempty"`
}
func (x *CheckIPItemStatusRequest) Reset() {
*x = CheckIPItemStatusRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_item_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CheckIPItemStatusRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckIPItemStatusRequest) ProtoMessage() {}
func (x *CheckIPItemStatusRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_item_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CheckIPItemStatusRequest.ProtoReflect.Descriptor instead.
func (*CheckIPItemStatusRequest) Descriptor() ([]byte, []int) {
return file_service_ip_item_proto_rawDescGZIP(), []int{11}
}
func (x *CheckIPItemStatusRequest) GetIpListId() int64 {
if x != nil {
return x.IpListId
}
return 0
}
func (x *CheckIPItemStatusRequest) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
type CheckIPItemStatusResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IsOk bool `protobuf:"varint,1,opt,name=isOk,proto3" json:"isOk,omitempty"` // 是否查询成功
Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
IsFound bool `protobuf:"varint,3,opt,name=isFound,proto3" json:"isFound,omitempty"` // 是否找到
IsAllowed bool `protobuf:"varint,4,opt,name=isAllowed,proto3" json:"isAllowed,omitempty"` // 是否允许
IpItem *IPItem `protobuf:"bytes,5,opt,name=ipItem,proto3" json:"ipItem,omitempty"` // 匹配的IPItem
}
func (x *CheckIPItemStatusResponse) Reset() {
*x = CheckIPItemStatusResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_item_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CheckIPItemStatusResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckIPItemStatusResponse) ProtoMessage() {}
func (x *CheckIPItemStatusResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_item_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CheckIPItemStatusResponse.ProtoReflect.Descriptor instead.
func (*CheckIPItemStatusResponse) Descriptor() ([]byte, []int) {
return file_service_ip_item_proto_rawDescGZIP(), []int{12}
}
func (x *CheckIPItemStatusResponse) GetIsOk() bool {
if x != nil {
return x.IsOk
}
return false
}
func (x *CheckIPItemStatusResponse) GetError() string {
if x != nil {
return x.Error
}
return ""
}
func (x *CheckIPItemStatusResponse) GetIsFound() bool {
if x != nil {
return x.IsFound
}
return false
}
func (x *CheckIPItemStatusResponse) GetIsAllowed() bool {
if x != nil {
return x.IsAllowed
}
return false
}
func (x *CheckIPItemStatusResponse) GetIpItem() *IPItem {
if x != nil {
return x.IpItem
}
return nil
}
// 检查IP是否存在
type ExistsEnabledIPItemRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IpItemId int64 `protobuf:"varint,1,opt,name=ipItemId,proto3" json:"ipItemId,omitempty"`
}
func (x *ExistsEnabledIPItemRequest) Reset() {
*x = ExistsEnabledIPItemRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_item_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExistsEnabledIPItemRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExistsEnabledIPItemRequest) ProtoMessage() {}
func (x *ExistsEnabledIPItemRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_item_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExistsEnabledIPItemRequest.ProtoReflect.Descriptor instead.
func (*ExistsEnabledIPItemRequest) Descriptor() ([]byte, []int) {
return file_service_ip_item_proto_rawDescGZIP(), []int{13}
}
func (x *ExistsEnabledIPItemRequest) GetIpItemId() int64 {
if x != nil {
return x.IpItemId
}
return 0
}
type ExistsEnabledIPItemResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"`
}
func (x *ExistsEnabledIPItemResponse) Reset() {
*x = ExistsEnabledIPItemResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_item_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExistsEnabledIPItemResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExistsEnabledIPItemResponse) ProtoMessage() {}
func (x *ExistsEnabledIPItemResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_item_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExistsEnabledIPItemResponse.ProtoReflect.Descriptor instead.
func (*ExistsEnabledIPItemResponse) Descriptor() ([]byte, []int) {
return file_service_ip_item_proto_rawDescGZIP(), []int{14}
}
func (x *ExistsEnabledIPItemResponse) GetExists() bool {
if x != nil {
return x.Exists
}
return false
}
var File_service_ip_item_proto protoreflect.FileDescriptor
var file_service_ip_item_proto_rawDesc = []byte{
@@ -744,43 +974,75 @@ var file_service_ip_item_proto_rawDesc = []byte{
0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x07, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x73,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x49, 0x74,
0x65, 0x6d, 0x52, 0x07, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x32, 0xab, 0x04, 0x0a, 0x0d,
0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a,
0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x2e,
0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74,
0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x64, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
0x73, 0x73, 0x12, 0x51, 0x0a, 0x16, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65,
0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x2e, 0x70,
0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69,
0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49,
0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20,
0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57,
0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49,
0x74, 0x65, 0x6d, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50,
0x49, 0x74, 0x65, 0x6d, 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,
0x65, 0x6d, 0x52, 0x07, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x46, 0x0a, 0x18, 0x43,
0x68, 0x65, 0x63, 0x6b, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73,
0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73,
0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x69, 0x70, 0x22, 0xa1, 0x01, 0x0a, 0x19, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x50, 0x49,
0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x69,
0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73,
0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77,
0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f,
0x77, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x06, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52,
0x06, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x38, 0x0a, 0x1a, 0x45, 0x78, 0x69, 0x73, 0x74,
0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49,
0x64, 0x22, 0x35, 0x0a, 0x1b, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x32, 0xd5, 0x05, 0x0a, 0x0d, 0x49, 0x50, 0x49,
0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49,
0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a,
0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x2e,
0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
0x51, 0x0a, 0x16, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57,
0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c,
0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70,
0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x2e, 0x70, 0x62,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68,
0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e,
0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69,
0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49,
0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e,
0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x41, 0x66,
0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65,
0x6d, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x49,
0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x2e, 0x70, 0x62,
0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74,
0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43,
0x68, 0x65, 0x63, 0x6b, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x65, 0x78, 0x69, 0x73,
0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12,
0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -795,7 +1057,7 @@ func file_service_ip_item_proto_rawDescGZIP() []byte {
return file_service_ip_item_proto_rawDescData
}
var file_service_ip_item_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_service_ip_item_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
var file_service_ip_item_proto_goTypes = []interface{}{
(*CreateIPItemRequest)(nil), // 0: pb.CreateIPItemRequest
(*CreateIPItemResponse)(nil), // 1: pb.CreateIPItemResponse
@@ -808,33 +1070,42 @@ var file_service_ip_item_proto_goTypes = []interface{}{
(*FindEnabledIPItemResponse)(nil), // 8: pb.FindEnabledIPItemResponse
(*ListIPItemsAfterVersionRequest)(nil), // 9: pb.ListIPItemsAfterVersionRequest
(*ListIPItemsAfterVersionResponse)(nil), // 10: pb.ListIPItemsAfterVersionResponse
(*IPItem)(nil), // 11: pb.IPItem
(*RPCSuccess)(nil), // 12: pb.RPCSuccess
(*RPCCountResponse)(nil), // 13: pb.RPCCountResponse
(*CheckIPItemStatusRequest)(nil), // 11: pb.CheckIPItemStatusRequest
(*CheckIPItemStatusResponse)(nil), // 12: pb.CheckIPItemStatusResponse
(*ExistsEnabledIPItemRequest)(nil), // 13: pb.ExistsEnabledIPItemRequest
(*ExistsEnabledIPItemResponse)(nil), // 14: pb.ExistsEnabledIPItemResponse
(*IPItem)(nil), // 15: pb.IPItem
(*RPCSuccess)(nil), // 16: pb.RPCSuccess
(*RPCCountResponse)(nil), // 17: pb.RPCCountResponse
}
var file_service_ip_item_proto_depIdxs = []int32{
11, // 0: pb.ListIPItemsWithListIdResponse.ipItems:type_name -> pb.IPItem
11, // 1: pb.FindEnabledIPItemResponse.ipItem:type_name -> pb.IPItem
11, // 2: pb.ListIPItemsAfterVersionResponse.ipItems:type_name -> pb.IPItem
0, // 3: pb.IPItemService.createIPItem:input_type -> pb.CreateIPItemRequest
2, // 4: pb.IPItemService.updateIPItem:input_type -> pb.UpdateIPItemRequest
3, // 5: pb.IPItemService.deleteIPItem:input_type -> pb.DeleteIPItemRequest
4, // 6: pb.IPItemService.countIPItemsWithListId:input_type -> pb.CountIPItemsWithListIdRequest
5, // 7: pb.IPItemService.listIPItemsWithListId:input_type -> pb.ListIPItemsWithListIdRequest
7, // 8: pb.IPItemService.findEnabledIPItem:input_type -> pb.FindEnabledIPItemRequest
9, // 9: pb.IPItemService.listIPItemsAfterVersion:input_type -> pb.ListIPItemsAfterVersionRequest
1, // 10: pb.IPItemService.createIPItem:output_type -> pb.CreateIPItemResponse
12, // 11: pb.IPItemService.updateIPItem:output_type -> pb.RPCSuccess
12, // 12: pb.IPItemService.deleteIPItem:output_type -> pb.RPCSuccess
13, // 13: pb.IPItemService.countIPItemsWithListId:output_type -> pb.RPCCountResponse
6, // 14: pb.IPItemService.listIPItemsWithListId:output_type -> pb.ListIPItemsWithListIdResponse
8, // 15: pb.IPItemService.findEnabledIPItem:output_type -> pb.FindEnabledIPItemResponse
10, // 16: pb.IPItemService.listIPItemsAfterVersion:output_type -> pb.ListIPItemsAfterVersionResponse
10, // [10:17] is the sub-list for method output_type
3, // [3:10] is the sub-list for method input_type
3, // [3:3] is the sub-list for extension type_name
3, // [3:3] is the sub-list for extension extendee
0, // [0:3] is the sub-list for field type_name
15, // 0: pb.ListIPItemsWithListIdResponse.ipItems:type_name -> pb.IPItem
15, // 1: pb.FindEnabledIPItemResponse.ipItem:type_name -> pb.IPItem
15, // 2: pb.ListIPItemsAfterVersionResponse.ipItems:type_name -> pb.IPItem
15, // 3: pb.CheckIPItemStatusResponse.ipItem:type_name -> pb.IPItem
0, // 4: pb.IPItemService.createIPItem:input_type -> pb.CreateIPItemRequest
2, // 5: pb.IPItemService.updateIPItem:input_type -> pb.UpdateIPItemRequest
3, // 6: pb.IPItemService.deleteIPItem:input_type -> pb.DeleteIPItemRequest
4, // 7: pb.IPItemService.countIPItemsWithListId:input_type -> pb.CountIPItemsWithListIdRequest
5, // 8: pb.IPItemService.listIPItemsWithListId:input_type -> pb.ListIPItemsWithListIdRequest
7, // 9: pb.IPItemService.findEnabledIPItem:input_type -> pb.FindEnabledIPItemRequest
9, // 10: pb.IPItemService.listIPItemsAfterVersion:input_type -> pb.ListIPItemsAfterVersionRequest
11, // 11: pb.IPItemService.checkIPItemStatus:input_type -> pb.CheckIPItemStatusRequest
13, // 12: pb.IPItemService.existsEnabledIPItem:input_type -> pb.ExistsEnabledIPItemRequest
1, // 13: pb.IPItemService.createIPItem:output_type -> pb.CreateIPItemResponse
16, // 14: pb.IPItemService.updateIPItem:output_type -> pb.RPCSuccess
16, // 15: pb.IPItemService.deleteIPItem:output_type -> pb.RPCSuccess
17, // 16: pb.IPItemService.countIPItemsWithListId:output_type -> pb.RPCCountResponse
6, // 17: pb.IPItemService.listIPItemsWithListId:output_type -> pb.ListIPItemsWithListIdResponse
8, // 18: pb.IPItemService.findEnabledIPItem:output_type -> pb.FindEnabledIPItemResponse
10, // 19: pb.IPItemService.listIPItemsAfterVersion:output_type -> pb.ListIPItemsAfterVersionResponse
12, // 20: pb.IPItemService.checkIPItemStatus:output_type -> pb.CheckIPItemStatusResponse
14, // 21: pb.IPItemService.existsEnabledIPItem:output_type -> pb.ExistsEnabledIPItemResponse
13, // [13:22] is the sub-list for method output_type
4, // [4:13] is the sub-list for method input_type
4, // [4:4] is the sub-list for extension type_name
4, // [4:4] is the sub-list for extension extendee
0, // [0:4] is the sub-list for field type_name
}
func init() { file_service_ip_item_proto_init() }
@@ -977,6 +1248,54 @@ func file_service_ip_item_proto_init() {
return nil
}
}
file_service_ip_item_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CheckIPItemStatusRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_ip_item_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CheckIPItemStatusResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_ip_item_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExistsEnabledIPItemRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_ip_item_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExistsEnabledIPItemResponse); 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{
@@ -984,7 +1303,7 @@ func file_service_ip_item_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_ip_item_proto_rawDesc,
NumEnums: 0,
NumMessages: 11,
NumMessages: 15,
NumExtensions: 0,
NumServices: 1,
},
@@ -1024,6 +1343,10 @@ type IPItemServiceClient interface {
FindEnabledIPItem(ctx context.Context, in *FindEnabledIPItemRequest, opts ...grpc.CallOption) (*FindEnabledIPItemResponse, error)
// 根据版本列出一组IP
ListIPItemsAfterVersion(ctx context.Context, in *ListIPItemsAfterVersionRequest, opts ...grpc.CallOption) (*ListIPItemsAfterVersionResponse, error)
// 检查IP状态
CheckIPItemStatus(ctx context.Context, in *CheckIPItemStatusRequest, opts ...grpc.CallOption) (*CheckIPItemStatusResponse, error)
// 检查IP是否存在
ExistsEnabledIPItem(ctx context.Context, in *ExistsEnabledIPItemRequest, opts ...grpc.CallOption) (*ExistsEnabledIPItemResponse, error)
}
type iPItemServiceClient struct {
@@ -1097,6 +1420,24 @@ func (c *iPItemServiceClient) ListIPItemsAfterVersion(ctx context.Context, in *L
return out, nil
}
func (c *iPItemServiceClient) CheckIPItemStatus(ctx context.Context, in *CheckIPItemStatusRequest, opts ...grpc.CallOption) (*CheckIPItemStatusResponse, error) {
out := new(CheckIPItemStatusResponse)
err := c.cc.Invoke(ctx, "/pb.IPItemService/checkIPItemStatus", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *iPItemServiceClient) ExistsEnabledIPItem(ctx context.Context, in *ExistsEnabledIPItemRequest, opts ...grpc.CallOption) (*ExistsEnabledIPItemResponse, error) {
out := new(ExistsEnabledIPItemResponse)
err := c.cc.Invoke(ctx, "/pb.IPItemService/existsEnabledIPItem", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// IPItemServiceServer is the server API for IPItemService service.
type IPItemServiceServer interface {
// 创建IP
@@ -1113,6 +1454,10 @@ type IPItemServiceServer interface {
FindEnabledIPItem(context.Context, *FindEnabledIPItemRequest) (*FindEnabledIPItemResponse, error)
// 根据版本列出一组IP
ListIPItemsAfterVersion(context.Context, *ListIPItemsAfterVersionRequest) (*ListIPItemsAfterVersionResponse, error)
// 检查IP状态
CheckIPItemStatus(context.Context, *CheckIPItemStatusRequest) (*CheckIPItemStatusResponse, error)
// 检查IP是否存在
ExistsEnabledIPItem(context.Context, *ExistsEnabledIPItemRequest) (*ExistsEnabledIPItemResponse, error)
}
// UnimplementedIPItemServiceServer can be embedded to have forward compatible implementations.
@@ -1140,6 +1485,12 @@ func (*UnimplementedIPItemServiceServer) FindEnabledIPItem(context.Context, *Fin
func (*UnimplementedIPItemServiceServer) ListIPItemsAfterVersion(context.Context, *ListIPItemsAfterVersionRequest) (*ListIPItemsAfterVersionResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListIPItemsAfterVersion not implemented")
}
func (*UnimplementedIPItemServiceServer) CheckIPItemStatus(context.Context, *CheckIPItemStatusRequest) (*CheckIPItemStatusResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CheckIPItemStatus not implemented")
}
func (*UnimplementedIPItemServiceServer) ExistsEnabledIPItem(context.Context, *ExistsEnabledIPItemRequest) (*ExistsEnabledIPItemResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ExistsEnabledIPItem not implemented")
}
func RegisterIPItemServiceServer(s *grpc.Server, srv IPItemServiceServer) {
s.RegisterService(&_IPItemService_serviceDesc, srv)
@@ -1271,6 +1622,42 @@ func _IPItemService_ListIPItemsAfterVersion_Handler(srv interface{}, ctx context
return interceptor(ctx, in, info, handler)
}
func _IPItemService_CheckIPItemStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CheckIPItemStatusRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(IPItemServiceServer).CheckIPItemStatus(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.IPItemService/CheckIPItemStatus",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(IPItemServiceServer).CheckIPItemStatus(ctx, req.(*CheckIPItemStatusRequest))
}
return interceptor(ctx, in, info, handler)
}
func _IPItemService_ExistsEnabledIPItem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ExistsEnabledIPItemRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(IPItemServiceServer).ExistsEnabledIPItem(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.IPItemService/ExistsEnabledIPItem",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(IPItemServiceServer).ExistsEnabledIPItem(ctx, req.(*ExistsEnabledIPItemRequest))
}
return interceptor(ctx, in, info, handler)
}
var _IPItemService_serviceDesc = grpc.ServiceDesc{
ServiceName: "pb.IPItemService",
HandlerType: (*IPItemServiceServer)(nil),
@@ -1303,6 +1690,14 @@ var _IPItemService_serviceDesc = grpc.ServiceDesc{
MethodName: "listIPItemsAfterVersion",
Handler: _IPItemService_ListIPItemsAfterVersion_Handler,
},
{
MethodName: "checkIPItemStatus",
Handler: _IPItemService_CheckIPItemStatus_Handler,
},
{
MethodName: "existsEnabledIPItem",
Handler: _IPItemService_ExistsEnabledIPItem_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_ip_item.proto",

View File

@@ -39,6 +39,8 @@ type CreateIPListRequest struct {
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"`
TimeoutJSON []byte `protobuf:"bytes,4,opt,name=timeoutJSON,proto3" json:"timeoutJSON,omitempty"`
IsPublic bool `protobuf:"varint,5,opt,name=isPublic,proto3" json:"isPublic,omitempty"`
Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
}
func (x *CreateIPListRequest) Reset() {
@@ -101,6 +103,20 @@ func (x *CreateIPListRequest) GetTimeoutJSON() []byte {
return nil
}
func (x *CreateIPListRequest) GetIsPublic() bool {
if x != nil {
return x.IsPublic
}
return false
}
func (x *CreateIPListRequest) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
type CreateIPListResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -158,6 +174,7 @@ type UpdateIPListRequest struct {
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"`
TimeoutJSON []byte `protobuf:"bytes,4,opt,name=timeoutJSON,proto3" json:"timeoutJSON,omitempty"`
Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
}
func (x *UpdateIPListRequest) Reset() {
@@ -220,7 +237,14 @@ func (x *UpdateIPListRequest) GetTimeoutJSON() []byte {
return nil
}
// 查找IP列表
func (x *UpdateIPListRequest) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
// 查找IP列表信息
type FindEnabledIPListRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -315,6 +339,340 @@ func (x *FindEnabledIPListResponse) GetIpList() *IPList {
return nil
}
// 计算名单数量
type CountAllEnabledIPListsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
IsPublic bool `protobuf:"varint,2,opt,name=isPublic,proto3" json:"isPublic,omitempty"`
Keyword string `protobuf:"bytes,3,opt,name=keyword,proto3" json:"keyword,omitempty"`
}
func (x *CountAllEnabledIPListsRequest) Reset() {
*x = CountAllEnabledIPListsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_list_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CountAllEnabledIPListsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CountAllEnabledIPListsRequest) ProtoMessage() {}
func (x *CountAllEnabledIPListsRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_list_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CountAllEnabledIPListsRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledIPListsRequest) Descriptor() ([]byte, []int) {
return file_service_ip_list_proto_rawDescGZIP(), []int{5}
}
func (x *CountAllEnabledIPListsRequest) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *CountAllEnabledIPListsRequest) GetIsPublic() bool {
if x != nil {
return x.IsPublic
}
return false
}
func (x *CountAllEnabledIPListsRequest) GetKeyword() string {
if x != nil {
return x.Keyword
}
return ""
}
// 列出单页名单
type ListEnabledIPListsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
IsPublic bool `protobuf:"varint,2,opt,name=isPublic,proto3" json:"isPublic,omitempty"`
Keyword string `protobuf:"bytes,3,opt,name=keyword,proto3" json:"keyword,omitempty"`
Offset int64 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"`
Size int64 `protobuf:"varint,5,opt,name=size,proto3" json:"size,omitempty"`
}
func (x *ListEnabledIPListsRequest) Reset() {
*x = ListEnabledIPListsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_list_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListEnabledIPListsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListEnabledIPListsRequest) ProtoMessage() {}
func (x *ListEnabledIPListsRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_list_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListEnabledIPListsRequest.ProtoReflect.Descriptor instead.
func (*ListEnabledIPListsRequest) Descriptor() ([]byte, []int) {
return file_service_ip_list_proto_rawDescGZIP(), []int{6}
}
func (x *ListEnabledIPListsRequest) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *ListEnabledIPListsRequest) GetIsPublic() bool {
if x != nil {
return x.IsPublic
}
return false
}
func (x *ListEnabledIPListsRequest) GetKeyword() string {
if x != nil {
return x.Keyword
}
return ""
}
func (x *ListEnabledIPListsRequest) GetOffset() int64 {
if x != nil {
return x.Offset
}
return 0
}
func (x *ListEnabledIPListsRequest) GetSize() int64 {
if x != nil {
return x.Size
}
return 0
}
type ListEnabledIPListsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IpLists []*IPList `protobuf:"bytes,1,rep,name=ipLists,proto3" json:"ipLists,omitempty"`
}
func (x *ListEnabledIPListsResponse) Reset() {
*x = ListEnabledIPListsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_list_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListEnabledIPListsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListEnabledIPListsResponse) ProtoMessage() {}
func (x *ListEnabledIPListsResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_list_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListEnabledIPListsResponse.ProtoReflect.Descriptor instead.
func (*ListEnabledIPListsResponse) Descriptor() ([]byte, []int) {
return file_service_ip_list_proto_rawDescGZIP(), []int{7}
}
func (x *ListEnabledIPListsResponse) GetIpLists() []*IPList {
if x != nil {
return x.IpLists
}
return nil
}
// 删除IP名单
type DeleteIPListRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IpListId int64 `protobuf:"varint,1,opt,name=ipListId,proto3" json:"ipListId,omitempty"`
}
func (x *DeleteIPListRequest) Reset() {
*x = DeleteIPListRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_list_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteIPListRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteIPListRequest) ProtoMessage() {}
func (x *DeleteIPListRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_list_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteIPListRequest.ProtoReflect.Descriptor instead.
func (*DeleteIPListRequest) Descriptor() ([]byte, []int) {
return file_service_ip_list_proto_rawDescGZIP(), []int{8}
}
func (x *DeleteIPListRequest) GetIpListId() int64 {
if x != nil {
return x.IpListId
}
return 0
}
// 检查IPList是否存在
type ExistsEnabledIPListRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IpListId int64 `protobuf:"varint,1,opt,name=ipListId,proto3" json:"ipListId,omitempty"`
}
func (x *ExistsEnabledIPListRequest) Reset() {
*x = ExistsEnabledIPListRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_list_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExistsEnabledIPListRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExistsEnabledIPListRequest) ProtoMessage() {}
func (x *ExistsEnabledIPListRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_list_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExistsEnabledIPListRequest.ProtoReflect.Descriptor instead.
func (*ExistsEnabledIPListRequest) Descriptor() ([]byte, []int) {
return file_service_ip_list_proto_rawDescGZIP(), []int{9}
}
func (x *ExistsEnabledIPListRequest) GetIpListId() int64 {
if x != nil {
return x.IpListId
}
return 0
}
type ExistsEnabledIPListResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"`
}
func (x *ExistsEnabledIPListResponse) Reset() {
*x = ExistsEnabledIPListResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_list_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExistsEnabledIPListResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExistsEnabledIPListResponse) ProtoMessage() {}
func (x *ExistsEnabledIPListResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_list_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExistsEnabledIPListResponse.ProtoReflect.Descriptor instead.
func (*ExistsEnabledIPListResponse) Descriptor() ([]byte, []int) {
return file_service_ip_list_proto_rawDescGZIP(), []int{10}
}
func (x *ExistsEnabledIPListResponse) GetExists() bool {
if x != nil {
return x.Exists
}
return false
}
var File_service_ip_list_proto protoreflect.FileDescriptor
var file_service_ip_list_proto_rawDesc = []byte{
@@ -323,17 +681,21 @@ var file_service_ip_list_proto_rawDesc = []byte{
0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d,
0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x22, 0x73, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69,
0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65,
0x6f, 0x75, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x32, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x22, 0x7b, 0x0a, 0x13, 0x55,
0x74, 0x6f, 0x22, 0xb1, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c,
0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79,
0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x69, 0x6d,
0x65, 0x6f, 0x75, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x75,
0x62, 0x6c, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75,
0x62, 0x6c, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x32, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a,
0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x13, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x12,
@@ -341,30 +703,82 @@ var file_service_ip_list_proto_rawDesc = []byte{
0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x69, 0x6d,
0x65, 0x6f, 0x75, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x36, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64,
0x22, 0x3f, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49,
0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a,
0x06, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e,
0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x06, 0x69, 0x70, 0x4c, 0x69, 0x73,
0x74, 0x32, 0xdd, 0x01, 0x0a, 0x0d, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c,
0x69, 0x73, 0x74, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49,
0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70,
0x65, 0x6f, 0x75, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x36, 0x0a, 0x18, 0x46, 0x69,
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74,
0x49, 0x64, 0x22, 0x3f, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x22, 0x0a, 0x06, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x06, 0x69, 0x70, 0x4c,
0x69, 0x73, 0x74, 0x22, 0x69, 0x0a, 0x1d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x75,
0x62, 0x6c, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75,
0x62, 0x6c, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x91,
0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50,
0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04,
0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01,
0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07,
0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b,
0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12,
0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69,
0x7a, 0x65, 0x22, 0x42, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x24, 0x0a, 0x07, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x69,
0x70, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x22, 0x31, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x22, 0x38, 0x0a, 0x1a, 0x45, 0x78, 0x69,
0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73,
0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73,
0x74, 0x49, 0x64, 0x22, 0x35, 0x0a, 0x1b, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01,
0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x32, 0x96, 0x04, 0x0a, 0x0d, 0x49,
0x50, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0c,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x2e, 0x70,
0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50,
0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x12,
0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x73,
0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50,
0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62,
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69,
0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x16, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c,
0x69, 0x73, 0x74, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41,
0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 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, 0x53, 0x0a,
0x12, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69,
0x73, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69,
0x73, 0x74, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50,
0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x56, 0x0a, 0x13, 0x65,
0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69,
0x73, 0x74, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
}
var (
@@ -379,29 +793,45 @@ func file_service_ip_list_proto_rawDescGZIP() []byte {
return file_service_ip_list_proto_rawDescData
}
var file_service_ip_list_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_service_ip_list_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_service_ip_list_proto_goTypes = []interface{}{
(*CreateIPListRequest)(nil), // 0: pb.CreateIPListRequest
(*CreateIPListResponse)(nil), // 1: pb.CreateIPListResponse
(*UpdateIPListRequest)(nil), // 2: pb.UpdateIPListRequest
(*FindEnabledIPListRequest)(nil), // 3: pb.FindEnabledIPListRequest
(*FindEnabledIPListResponse)(nil), // 4: pb.FindEnabledIPListResponse
(*IPList)(nil), // 5: pb.IPList
(*RPCSuccess)(nil), // 6: pb.RPCSuccess
(*CreateIPListRequest)(nil), // 0: pb.CreateIPListRequest
(*CreateIPListResponse)(nil), // 1: pb.CreateIPListResponse
(*UpdateIPListRequest)(nil), // 2: pb.UpdateIPListRequest
(*FindEnabledIPListRequest)(nil), // 3: pb.FindEnabledIPListRequest
(*FindEnabledIPListResponse)(nil), // 4: pb.FindEnabledIPListResponse
(*CountAllEnabledIPListsRequest)(nil), // 5: pb.CountAllEnabledIPListsRequest
(*ListEnabledIPListsRequest)(nil), // 6: pb.ListEnabledIPListsRequest
(*ListEnabledIPListsResponse)(nil), // 7: pb.ListEnabledIPListsResponse
(*DeleteIPListRequest)(nil), // 8: pb.DeleteIPListRequest
(*ExistsEnabledIPListRequest)(nil), // 9: pb.ExistsEnabledIPListRequest
(*ExistsEnabledIPListResponse)(nil), // 10: pb.ExistsEnabledIPListResponse
(*IPList)(nil), // 11: pb.IPList
(*RPCSuccess)(nil), // 12: pb.RPCSuccess
(*RPCCountResponse)(nil), // 13: pb.RPCCountResponse
}
var file_service_ip_list_proto_depIdxs = []int32{
5, // 0: pb.FindEnabledIPListResponse.ipList:type_name -> pb.IPList
0, // 1: pb.IPListService.createIPList:input_type -> pb.CreateIPListRequest
2, // 2: pb.IPListService.updateIPList:input_type -> pb.UpdateIPListRequest
3, // 3: pb.IPListService.findEnabledIPList:input_type -> pb.FindEnabledIPListRequest
1, // 4: pb.IPListService.createIPList:output_type -> pb.CreateIPListResponse
6, // 5: pb.IPListService.updateIPList:output_type -> pb.RPCSuccess
4, // 6: pb.IPListService.findEnabledIPList:output_type -> pb.FindEnabledIPListResponse
4, // [4:7] is the sub-list for method output_type
1, // [1:4] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
11, // 0: pb.FindEnabledIPListResponse.ipList:type_name -> pb.IPList
11, // 1: pb.ListEnabledIPListsResponse.ipLists:type_name -> pb.IPList
0, // 2: pb.IPListService.createIPList:input_type -> pb.CreateIPListRequest
2, // 3: pb.IPListService.updateIPList:input_type -> pb.UpdateIPListRequest
3, // 4: pb.IPListService.findEnabledIPList:input_type -> pb.FindEnabledIPListRequest
5, // 5: pb.IPListService.countAllEnabledIPLists:input_type -> pb.CountAllEnabledIPListsRequest
6, // 6: pb.IPListService.listEnabledIPLists:input_type -> pb.ListEnabledIPListsRequest
8, // 7: pb.IPListService.deleteIPList:input_type -> pb.DeleteIPListRequest
9, // 8: pb.IPListService.existsEnabledIPList:input_type -> pb.ExistsEnabledIPListRequest
1, // 9: pb.IPListService.createIPList:output_type -> pb.CreateIPListResponse
12, // 10: pb.IPListService.updateIPList:output_type -> pb.RPCSuccess
4, // 11: pb.IPListService.findEnabledIPList:output_type -> pb.FindEnabledIPListResponse
13, // 12: pb.IPListService.countAllEnabledIPLists:output_type -> pb.RPCCountResponse
7, // 13: pb.IPListService.listEnabledIPLists:output_type -> pb.ListEnabledIPListsResponse
12, // 14: pb.IPListService.deleteIPList:output_type -> pb.RPCSuccess
10, // 15: pb.IPListService.existsEnabledIPList:output_type -> pb.ExistsEnabledIPListResponse
9, // [9:16] is the sub-list for method output_type
2, // [2:9] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_service_ip_list_proto_init() }
@@ -472,6 +902,78 @@ func file_service_ip_list_proto_init() {
return nil
}
}
file_service_ip_list_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CountAllEnabledIPListsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_ip_list_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListEnabledIPListsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_ip_list_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListEnabledIPListsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_ip_list_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteIPListRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_ip_list_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExistsEnabledIPListRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_ip_list_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExistsEnabledIPListResponse); 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{
@@ -479,7 +981,7 @@ func file_service_ip_list_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_ip_list_proto_rawDesc,
NumEnums: 0,
NumMessages: 5,
NumMessages: 11,
NumExtensions: 0,
NumServices: 1,
},
@@ -509,8 +1011,16 @@ type IPListServiceClient interface {
CreateIPList(ctx context.Context, in *CreateIPListRequest, opts ...grpc.CallOption) (*CreateIPListResponse, error)
// 修改IP列表
UpdateIPList(ctx context.Context, in *UpdateIPListRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 查找IP列表
// 查找IP列表信息
FindEnabledIPList(ctx context.Context, in *FindEnabledIPListRequest, opts ...grpc.CallOption) (*FindEnabledIPListResponse, error)
// 计算名单数量
CountAllEnabledIPLists(ctx context.Context, in *CountAllEnabledIPListsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
// 列出单页名单
ListEnabledIPLists(ctx context.Context, in *ListEnabledIPListsRequest, opts ...grpc.CallOption) (*ListEnabledIPListsResponse, error)
// 删除IP名单
DeleteIPList(ctx context.Context, in *DeleteIPListRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 检查IPList是否存在
ExistsEnabledIPList(ctx context.Context, in *ExistsEnabledIPListRequest, opts ...grpc.CallOption) (*ExistsEnabledIPListResponse, error)
}
type iPListServiceClient struct {
@@ -548,14 +1058,58 @@ func (c *iPListServiceClient) FindEnabledIPList(ctx context.Context, in *FindEna
return out, nil
}
func (c *iPListServiceClient) CountAllEnabledIPLists(ctx context.Context, in *CountAllEnabledIPListsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
out := new(RPCCountResponse)
err := c.cc.Invoke(ctx, "/pb.IPListService/countAllEnabledIPLists", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *iPListServiceClient) ListEnabledIPLists(ctx context.Context, in *ListEnabledIPListsRequest, opts ...grpc.CallOption) (*ListEnabledIPListsResponse, error) {
out := new(ListEnabledIPListsResponse)
err := c.cc.Invoke(ctx, "/pb.IPListService/listEnabledIPLists", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *iPListServiceClient) DeleteIPList(ctx context.Context, in *DeleteIPListRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, "/pb.IPListService/deleteIPList", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *iPListServiceClient) ExistsEnabledIPList(ctx context.Context, in *ExistsEnabledIPListRequest, opts ...grpc.CallOption) (*ExistsEnabledIPListResponse, error) {
out := new(ExistsEnabledIPListResponse)
err := c.cc.Invoke(ctx, "/pb.IPListService/existsEnabledIPList", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// IPListServiceServer is the server API for IPListService service.
type IPListServiceServer interface {
// 创建IP列表
CreateIPList(context.Context, *CreateIPListRequest) (*CreateIPListResponse, error)
// 修改IP列表
UpdateIPList(context.Context, *UpdateIPListRequest) (*RPCSuccess, error)
// 查找IP列表
// 查找IP列表信息
FindEnabledIPList(context.Context, *FindEnabledIPListRequest) (*FindEnabledIPListResponse, error)
// 计算名单数量
CountAllEnabledIPLists(context.Context, *CountAllEnabledIPListsRequest) (*RPCCountResponse, error)
// 列出单页名单
ListEnabledIPLists(context.Context, *ListEnabledIPListsRequest) (*ListEnabledIPListsResponse, error)
// 删除IP名单
DeleteIPList(context.Context, *DeleteIPListRequest) (*RPCSuccess, error)
// 检查IPList是否存在
ExistsEnabledIPList(context.Context, *ExistsEnabledIPListRequest) (*ExistsEnabledIPListResponse, error)
}
// UnimplementedIPListServiceServer can be embedded to have forward compatible implementations.
@@ -571,6 +1125,18 @@ func (*UnimplementedIPListServiceServer) UpdateIPList(context.Context, *UpdateIP
func (*UnimplementedIPListServiceServer) FindEnabledIPList(context.Context, *FindEnabledIPListRequest) (*FindEnabledIPListResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindEnabledIPList not implemented")
}
func (*UnimplementedIPListServiceServer) CountAllEnabledIPLists(context.Context, *CountAllEnabledIPListsRequest) (*RPCCountResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledIPLists not implemented")
}
func (*UnimplementedIPListServiceServer) ListEnabledIPLists(context.Context, *ListEnabledIPListsRequest) (*ListEnabledIPListsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListEnabledIPLists not implemented")
}
func (*UnimplementedIPListServiceServer) DeleteIPList(context.Context, *DeleteIPListRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteIPList not implemented")
}
func (*UnimplementedIPListServiceServer) ExistsEnabledIPList(context.Context, *ExistsEnabledIPListRequest) (*ExistsEnabledIPListResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ExistsEnabledIPList not implemented")
}
func RegisterIPListServiceServer(s *grpc.Server, srv IPListServiceServer) {
s.RegisterService(&_IPListService_serviceDesc, srv)
@@ -630,6 +1196,78 @@ func _IPListService_FindEnabledIPList_Handler(srv interface{}, ctx context.Conte
return interceptor(ctx, in, info, handler)
}
func _IPListService_CountAllEnabledIPLists_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CountAllEnabledIPListsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(IPListServiceServer).CountAllEnabledIPLists(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.IPListService/CountAllEnabledIPLists",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(IPListServiceServer).CountAllEnabledIPLists(ctx, req.(*CountAllEnabledIPListsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _IPListService_ListEnabledIPLists_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListEnabledIPListsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(IPListServiceServer).ListEnabledIPLists(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.IPListService/ListEnabledIPLists",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(IPListServiceServer).ListEnabledIPLists(ctx, req.(*ListEnabledIPListsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _IPListService_DeleteIPList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteIPListRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(IPListServiceServer).DeleteIPList(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.IPListService/DeleteIPList",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(IPListServiceServer).DeleteIPList(ctx, req.(*DeleteIPListRequest))
}
return interceptor(ctx, in, info, handler)
}
func _IPListService_ExistsEnabledIPList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ExistsEnabledIPListRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(IPListServiceServer).ExistsEnabledIPList(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.IPListService/ExistsEnabledIPList",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(IPListServiceServer).ExistsEnabledIPList(ctx, req.(*ExistsEnabledIPListRequest))
}
return interceptor(ctx, in, info, handler)
}
var _IPListService_serviceDesc = grpc.ServiceDesc{
ServiceName: "pb.IPListService",
HandlerType: (*IPListServiceServer)(nil),
@@ -646,6 +1284,22 @@ var _IPListService_serviceDesc = grpc.ServiceDesc{
MethodName: "findEnabledIPList",
Handler: _IPListService_FindEnabledIPList_Handler,
},
{
MethodName: "countAllEnabledIPLists",
Handler: _IPListService_CountAllEnabledIPLists_Handler,
},
{
MethodName: "listEnabledIPLists",
Handler: _IPListService_ListEnabledIPLists_Handler,
},
{
MethodName: "deleteIPList",
Handler: _IPListService_DeleteIPList_Handler,
},
{
MethodName: "existsEnabledIPList",
Handler: _IPListService_ExistsEnabledIPList_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_ip_list.proto",

File diff suppressed because it is too large Load Diff

View File

@@ -2769,6 +2769,141 @@ func (x *FindLatestNodeClustersResponse) GetNodeClusters() []*NodeCluster {
return nil
}
// 取得集群的配置概要信息
type FindEnabledNodeClusterConfigInfoRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}
func (x *FindEnabledNodeClusterConfigInfoRequest) Reset() {
*x = FindEnabledNodeClusterConfigInfoRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_node_cluster_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindEnabledNodeClusterConfigInfoRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindEnabledNodeClusterConfigInfoRequest) ProtoMessage() {}
func (x *FindEnabledNodeClusterConfigInfoRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_node_cluster_proto_msgTypes[52]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FindEnabledNodeClusterConfigInfoRequest.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeClusterConfigInfoRequest) Descriptor() ([]byte, []int) {
return file_service_node_cluster_proto_rawDescGZIP(), []int{52}
}
func (x *FindEnabledNodeClusterConfigInfoRequest) GetNodeClusterId() int64 {
if x != nil {
return x.NodeClusterId
}
return 0
}
type FindEnabledNodeClusterConfigInfoResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HealthCheckIsOn bool `protobuf:"varint,1,opt,name=healthCheckIsOn,proto3" json:"healthCheckIsOn,omitempty"`
HasFirewallActions bool `protobuf:"varint,2,opt,name=hasFirewallActions,proto3" json:"hasFirewallActions,omitempty"`
HasThresholds bool `protobuf:"varint,3,opt,name=hasThresholds,proto3" json:"hasThresholds,omitempty"`
HasMessageReceivers bool `protobuf:"varint,4,opt,name=hasMessageReceivers,proto3" json:"hasMessageReceivers,omitempty"`
IsTOAEnabled bool `protobuf:"varint,5,opt,name=isTOAEnabled,proto3" json:"isTOAEnabled,omitempty"`
HasMetricItems bool `protobuf:"varint,6,opt,name=hasMetricItems,proto3" json:"hasMetricItems,omitempty"`
}
func (x *FindEnabledNodeClusterConfigInfoResponse) Reset() {
*x = FindEnabledNodeClusterConfigInfoResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_node_cluster_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindEnabledNodeClusterConfigInfoResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindEnabledNodeClusterConfigInfoResponse) ProtoMessage() {}
func (x *FindEnabledNodeClusterConfigInfoResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_node_cluster_proto_msgTypes[53]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FindEnabledNodeClusterConfigInfoResponse.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeClusterConfigInfoResponse) Descriptor() ([]byte, []int) {
return file_service_node_cluster_proto_rawDescGZIP(), []int{53}
}
func (x *FindEnabledNodeClusterConfigInfoResponse) GetHealthCheckIsOn() bool {
if x != nil {
return x.HealthCheckIsOn
}
return false
}
func (x *FindEnabledNodeClusterConfigInfoResponse) GetHasFirewallActions() bool {
if x != nil {
return x.HasFirewallActions
}
return false
}
func (x *FindEnabledNodeClusterConfigInfoResponse) GetHasThresholds() bool {
if x != nil {
return x.HasThresholds
}
return false
}
func (x *FindEnabledNodeClusterConfigInfoResponse) GetHasMessageReceivers() bool {
if x != nil {
return x.HasMessageReceivers
}
return false
}
func (x *FindEnabledNodeClusterConfigInfoResponse) GetIsTOAEnabled() bool {
if x != nil {
return x.IsTOAEnabled
}
return false
}
func (x *FindEnabledNodeClusterConfigInfoResponse) GetHasMetricItems() bool {
if x != nil {
return x.HasMetricItems
}
return false
}
type ExecuteNodeClusterHealthCheckResponse_Result struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -2784,7 +2919,7 @@ type ExecuteNodeClusterHealthCheckResponse_Result struct {
func (x *ExecuteNodeClusterHealthCheckResponse_Result) Reset() {
*x = ExecuteNodeClusterHealthCheckResponse_Result{}
if protoimpl.UnsafeEnabled {
mi := &file_service_node_cluster_proto_msgTypes[52]
mi := &file_service_node_cluster_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2797,7 +2932,7 @@ func (x *ExecuteNodeClusterHealthCheckResponse_Result) String() string {
func (*ExecuteNodeClusterHealthCheckResponse_Result) ProtoMessage() {}
func (x *ExecuteNodeClusterHealthCheckResponse_Result) ProtoReflect() protoreflect.Message {
mi := &file_service_node_cluster_proto_msgTypes[52]
mi := &file_service_node_cluster_proto_msgTypes[54]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3207,240 +3342,272 @@ var file_service_node_cluster_proto_rawDesc = []byte{
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0c, 0x6e, 0x6f, 0x64,
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x32, 0xf5,
0x1c, 0x0a, 0x12, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x70,
0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x64, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12,
0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5f, 0x0a,
0x16, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x22, 0x4f,
0x0a, 0x27, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64,
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22,
0xa8, 0x02, 0x0a, 0x28, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0f,
0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x73, 0x4f, 0x6e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65,
0x63, 0x6b, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x2e, 0x0a, 0x12, 0x68, 0x61, 0x73, 0x46, 0x69, 0x72,
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01,
0x28, 0x08, 0x52, 0x12, 0x68, 0x61, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x41,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x54, 0x68, 0x72,
0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68,
0x61, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x30, 0x0a, 0x13,
0x68, 0x61, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76,
0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x68, 0x61, 0x73, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x73, 0x12, 0x22,
0x0a, 0x0c, 0x69, 0x73, 0x54, 0x4f, 0x41, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x4f, 0x41, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x68, 0x61, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49,
0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x61, 0x73, 0x4d,
0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x32, 0xf4, 0x1d, 0x0a, 0x12, 0x4e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64,
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x70, 0x62,
0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e,
0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e,
0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e,
0x0a, 0x1b, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69,
0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x26, 0x2e,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57,
0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b,
0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x2e, 0x70,
0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x74, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x1b, 0x66, 0x69,
0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f,
0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46,
0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f,
0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69,
0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1b, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12,
0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1b, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73, 0x74,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61,
0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73,
0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x20,
0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48,
0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x1c, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x27, 0x2e, 0x70, 0x62,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 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, 0x74, 0x0a, 0x1d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75,
0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61,
0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x29, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65,
0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x2a, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64,
0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64,
0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x20, 0x66, 0x69, 0x6e, 0x64,
0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74,
0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x2e, 0x70,
0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x46,
0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65,
0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x1c, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c,
0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x74, 0x0a, 0x1d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f,
0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62,
0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x2a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41,
0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61,
0x6e, 0x74, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41,
0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61,
0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62,
0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x98, 0x01, 0x0a, 0x29, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12,
0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57,
0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61,
0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19,
0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46,
0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x2c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41,
0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x37, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50, 0x72,
0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x29, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x2a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e,
0x74, 0x49, 0x64, 0x12, 0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74,
0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46,
0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64,
0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x12, 0x24, 0x2e,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44,
0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x2c, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53,
0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x37, 0x2e, 0x70, 0x62, 0x2e,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44,
0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x2a, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44,
0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44,
0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14,
0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x29, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
0x49, 0x64, 0x12, 0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49,
0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44,
0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x62, 0x0a, 0x17, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e,
0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69,
0x6e, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69,
0x6e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e,
0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x98, 0x01, 0x0a, 0x29, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57,
0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x34,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69,
0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69,
0x6e, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44,
0x4e, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x4e,
0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x44, 0x4e, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23,
0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64,
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x12, 0x1f, 0x2e, 0x70, 0x62,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x1a,
0x63, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x44, 0x4e, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x44, 0x4e, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e,
0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x54, 0x4f, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70,
0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64,
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x12, 0x1f, 0x2e, 0x70, 0x62,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x54, 0x4f, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x85, 0x01, 0x0a,
0x30, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68,
0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
0x64, 0x12, 0x3b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14,
0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0xaa, 0x01, 0x0a, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65,
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
0x44, 0x4e, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e,
0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x1a, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x43,
0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x43,
0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e,
0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54,
0x4f, 0x41, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f,
0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f,
0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x30, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50,
0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3b, 0x2e,
0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69,
0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e,
0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0xaa, 0x01, 0x0a, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57,
0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x79, 0x49, 0x64, 0x12, 0x3a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68,
0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x8b, 0x01, 0x0a, 0x33, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3e, 0x2e, 0x70, 0x62, 0x2e, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54,
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52,
0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0xb3, 0x01, 0x0a, 0x32, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69,
0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x3b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01,
0x0a, 0x33, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74,
0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69,
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x22, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61,
0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x2d, 0x2e, 0x70, 0x62,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x49, 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, 0x69, 0x0a, 0x25, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48,
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69,
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 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, 0x5b, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
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, 0xb3, 0x01, 0x0a, 0x32,
0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54,
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x49, 0x64, 0x12, 0x3d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x3e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x63, 0x0a, 0x22, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54,
0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 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, 0x69, 0x0a, 0x25, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x46,
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12,
0x30, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 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, 0x5b, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79,
0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
0x73, 0x73, 0x12, 0x71, 0x0a, 0x1c, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x62,
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x46, 0x72, 0x65,
0x65, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x46, 0x72, 0x65, 0x65,
0x50, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
0x6e, 0x64, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x74, 0x0a, 0x1d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x73, 0x55, 0x73,
0x69, 0x6e, 0x67, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x72, 0x74, 0x49,
0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67,
0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74,
0x65, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12,
0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65,
0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x71,
0x0a, 0x1c, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x27,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74,
0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f, 0x72,
0x74, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x24,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f, 0x72, 0x74,
0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x46, 0x72,
0x65, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x1d, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x49,
0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x70,
0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x73, 0x55, 0x73, 0x69,
0x6e, 0x67, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x4e, 0x6f,
0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62,
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4e, 0x6f,
0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x7d, 0x0a, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
}
var (
@@ -3455,7 +3622,7 @@ func file_service_node_cluster_proto_rawDescGZIP() []byte {
return file_service_node_cluster_proto_rawDescData
}
var file_service_node_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 53)
var file_service_node_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 55)
var file_service_node_cluster_proto_goTypes = []interface{}{
(*FindAllEnabledNodeClustersRequest)(nil), // 0: pb.FindAllEnabledNodeClustersRequest
(*FindAllEnabledNodeClustersResponse)(nil), // 1: pb.FindAllEnabledNodeClustersResponse
@@ -3509,29 +3676,31 @@ var file_service_node_cluster_proto_goTypes = []interface{}{
(*CheckPortIsUsingInNodeClusterResponse)(nil), // 49: pb.CheckPortIsUsingInNodeClusterResponse
(*FindLatestNodeClustersRequest)(nil), // 50: pb.FindLatestNodeClustersRequest
(*FindLatestNodeClustersResponse)(nil), // 51: pb.FindLatestNodeClustersResponse
(*ExecuteNodeClusterHealthCheckResponse_Result)(nil), // 52: pb.ExecuteNodeClusterHealthCheckResponse.Result
(*NodeCluster)(nil), // 53: pb.NodeCluster
(*APINode)(nil), // 54: pb.APINode
(*DNSDomain)(nil), // 55: pb.DNSDomain
(*DNSProvider)(nil), // 56: pb.DNSProvider
(*Node)(nil), // 57: pb.Node
(*RPCSuccess)(nil), // 58: pb.RPCSuccess
(*RPCCountResponse)(nil), // 59: pb.RPCCountResponse
(*FindEnabledNodeClusterConfigInfoRequest)(nil), // 52: pb.FindEnabledNodeClusterConfigInfoRequest
(*FindEnabledNodeClusterConfigInfoResponse)(nil), // 53: pb.FindEnabledNodeClusterConfigInfoResponse
(*ExecuteNodeClusterHealthCheckResponse_Result)(nil), // 54: pb.ExecuteNodeClusterHealthCheckResponse.Result
(*NodeCluster)(nil), // 55: pb.NodeCluster
(*APINode)(nil), // 56: pb.APINode
(*DNSDomain)(nil), // 57: pb.DNSDomain
(*DNSProvider)(nil), // 58: pb.DNSProvider
(*Node)(nil), // 59: pb.Node
(*RPCSuccess)(nil), // 60: pb.RPCSuccess
(*RPCCountResponse)(nil), // 61: pb.RPCCountResponse
}
var file_service_node_cluster_proto_depIdxs = []int32{
53, // 0: pb.FindAllEnabledNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
53, // 1: pb.FindEnabledNodeClusterResponse.nodeCluster:type_name -> pb.NodeCluster
54, // 2: pb.FindAPINodesWithNodeClusterResponse.apiNodes:type_name -> pb.APINode
53, // 3: pb.ListEnabledNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
52, // 4: pb.ExecuteNodeClusterHealthCheckResponse.results:type_name -> pb.ExecuteNodeClusterHealthCheckResponse.Result
53, // 5: pb.FindAllEnabledNodeClustersWithNodeGrantIdResponse.nodeClusters:type_name -> pb.NodeCluster
55, // 6: pb.FindEnabledNodeClusterDNSResponse.domain:type_name -> pb.DNSDomain
56, // 7: pb.FindEnabledNodeClusterDNSResponse.provider:type_name -> pb.DNSProvider
53, // 8: pb.FindAllEnabledNodeClustersWithDNSDomainIdResponse.nodeClusters:type_name -> pb.NodeCluster
53, // 9: pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse.nodeClusters:type_name -> pb.NodeCluster
53, // 10: pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse.nodeClusters:type_name -> pb.NodeCluster
53, // 11: pb.FindLatestNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
57, // 12: pb.ExecuteNodeClusterHealthCheckResponse.Result.node:type_name -> pb.Node
55, // 0: pb.FindAllEnabledNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
55, // 1: pb.FindEnabledNodeClusterResponse.nodeCluster:type_name -> pb.NodeCluster
56, // 2: pb.FindAPINodesWithNodeClusterResponse.apiNodes:type_name -> pb.APINode
55, // 3: pb.ListEnabledNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
54, // 4: pb.ExecuteNodeClusterHealthCheckResponse.results:type_name -> pb.ExecuteNodeClusterHealthCheckResponse.Result
55, // 5: pb.FindAllEnabledNodeClustersWithNodeGrantIdResponse.nodeClusters:type_name -> pb.NodeCluster
57, // 6: pb.FindEnabledNodeClusterDNSResponse.domain:type_name -> pb.DNSDomain
58, // 7: pb.FindEnabledNodeClusterDNSResponse.provider:type_name -> pb.DNSProvider
55, // 8: pb.FindAllEnabledNodeClustersWithDNSDomainIdResponse.nodeClusters:type_name -> pb.NodeCluster
55, // 9: pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse.nodeClusters:type_name -> pb.NodeCluster
55, // 10: pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse.nodeClusters:type_name -> pb.NodeCluster
55, // 11: pb.FindLatestNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
59, // 12: pb.ExecuteNodeClusterHealthCheckResponse.Result.node:type_name -> pb.Node
2, // 13: pb.NodeClusterService.createNodeCluster:input_type -> pb.CreateNodeClusterRequest
4, // 14: pb.NodeClusterService.updateNodeCluster:input_type -> pb.UpdateNodeClusterRequest
5, // 15: pb.NodeClusterService.deleteNodeCluster:input_type -> pb.DeleteNodeClusterRequest
@@ -3565,41 +3734,43 @@ var file_service_node_cluster_proto_depIdxs = []int32{
46, // 43: pb.NodeClusterService.findFreePortInNodeCluster:input_type -> pb.FindFreePortInNodeClusterRequest
48, // 44: pb.NodeClusterService.checkPortIsUsingInNodeCluster:input_type -> pb.CheckPortIsUsingInNodeClusterRequest
50, // 45: pb.NodeClusterService.findLatestNodeClusters:input_type -> pb.FindLatestNodeClustersRequest
3, // 46: pb.NodeClusterService.createNodeCluster:output_type -> pb.CreateNodeClusterResponse
58, // 47: pb.NodeClusterService.updateNodeCluster:output_type -> pb.RPCSuccess
58, // 48: pb.NodeClusterService.deleteNodeCluster:output_type -> pb.RPCSuccess
7, // 49: pb.NodeClusterService.findEnabledNodeCluster:output_type -> pb.FindEnabledNodeClusterResponse
9, // 50: pb.NodeClusterService.findAPINodesWithNodeCluster:output_type -> pb.FindAPINodesWithNodeClusterResponse
1, // 51: pb.NodeClusterService.findAllEnabledNodeClusters:output_type -> pb.FindAllEnabledNodeClustersResponse
59, // 52: pb.NodeClusterService.countAllEnabledNodeClusters:output_type -> pb.RPCCountResponse
12, // 53: pb.NodeClusterService.listEnabledNodeClusters:output_type -> pb.ListEnabledNodeClustersResponse
14, // 54: pb.NodeClusterService.findNodeClusterHealthCheckConfig:output_type -> pb.FindNodeClusterHealthCheckConfigResponse
58, // 55: pb.NodeClusterService.updateNodeClusterHealthCheck:output_type -> pb.RPCSuccess
17, // 56: pb.NodeClusterService.executeNodeClusterHealthCheck:output_type -> pb.ExecuteNodeClusterHealthCheckResponse
59, // 57: pb.NodeClusterService.countAllEnabledNodeClustersWithNodeGrantId:output_type -> pb.RPCCountResponse
20, // 58: pb.NodeClusterService.findAllEnabledNodeClustersWithNodeGrantId:output_type -> pb.FindAllEnabledNodeClustersWithNodeGrantIdResponse
22, // 59: pb.NodeClusterService.findEnabledNodeClusterDNS:output_type -> pb.FindEnabledNodeClusterDNSResponse
59, // 60: pb.NodeClusterService.countAllEnabledNodeClustersWithDNSProviderId:output_type -> pb.RPCCountResponse
59, // 61: pb.NodeClusterService.countAllEnabledNodeClustersWithDNSDomainId:output_type -> pb.RPCCountResponse
26, // 62: pb.NodeClusterService.findAllEnabledNodeClustersWithDNSDomainId:output_type -> pb.FindAllEnabledNodeClustersWithDNSDomainIdResponse
28, // 63: pb.NodeClusterService.checkNodeClusterDNSName:output_type -> pb.CheckNodeClusterDNSNameResponse
58, // 64: pb.NodeClusterService.updateNodeClusterDNS:output_type -> pb.RPCSuccess
31, // 65: pb.NodeClusterService.checkNodeClusterDNSChanges:output_type -> pb.CheckNodeClusterDNSChangesResponse
33, // 66: pb.NodeClusterService.findEnabledNodeClusterTOA:output_type -> pb.FindEnabledNodeClusterTOAResponse
58, // 67: pb.NodeClusterService.updateNodeClusterTOA:output_type -> pb.RPCSuccess
59, // 68: pb.NodeClusterService.countAllEnabledNodeClustersWithHTTPCachePolicyId:output_type -> pb.RPCCountResponse
37, // 69: pb.NodeClusterService.findAllEnabledNodeClustersWithHTTPCachePolicyId:output_type -> pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse
59, // 70: pb.NodeClusterService.countAllEnabledNodeClustersWithHTTPFirewallPolicyId:output_type -> pb.RPCCountResponse
40, // 71: pb.NodeClusterService.findAllEnabledNodeClustersWithHTTPFirewallPolicyId:output_type -> pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse
58, // 72: pb.NodeClusterService.updateNodeClusterHTTPCachePolicyId:output_type -> pb.RPCSuccess
58, // 73: pb.NodeClusterService.updateNodeClusterHTTPFirewallPolicyId:output_type -> pb.RPCSuccess
58, // 74: pb.NodeClusterService.updateNodeClusterSystemService:output_type -> pb.RPCSuccess
45, // 75: pb.NodeClusterService.findNodeClusterSystemService:output_type -> pb.FindNodeClusterSystemServiceResponse
47, // 76: pb.NodeClusterService.findFreePortInNodeCluster:output_type -> pb.FindFreePortInNodeClusterResponse
49, // 77: pb.NodeClusterService.checkPortIsUsingInNodeCluster:output_type -> pb.CheckPortIsUsingInNodeClusterResponse
51, // 78: pb.NodeClusterService.findLatestNodeClusters:output_type -> pb.FindLatestNodeClustersResponse
46, // [46:79] is the sub-list for method output_type
13, // [13:46] is the sub-list for method input_type
52, // 46: pb.NodeClusterService.findEnabledNodeClusterConfigInfo:input_type -> pb.FindEnabledNodeClusterConfigInfoRequest
3, // 47: pb.NodeClusterService.createNodeCluster:output_type -> pb.CreateNodeClusterResponse
60, // 48: pb.NodeClusterService.updateNodeCluster:output_type -> pb.RPCSuccess
60, // 49: pb.NodeClusterService.deleteNodeCluster:output_type -> pb.RPCSuccess
7, // 50: pb.NodeClusterService.findEnabledNodeCluster:output_type -> pb.FindEnabledNodeClusterResponse
9, // 51: pb.NodeClusterService.findAPINodesWithNodeCluster:output_type -> pb.FindAPINodesWithNodeClusterResponse
1, // 52: pb.NodeClusterService.findAllEnabledNodeClusters:output_type -> pb.FindAllEnabledNodeClustersResponse
61, // 53: pb.NodeClusterService.countAllEnabledNodeClusters:output_type -> pb.RPCCountResponse
12, // 54: pb.NodeClusterService.listEnabledNodeClusters:output_type -> pb.ListEnabledNodeClustersResponse
14, // 55: pb.NodeClusterService.findNodeClusterHealthCheckConfig:output_type -> pb.FindNodeClusterHealthCheckConfigResponse
60, // 56: pb.NodeClusterService.updateNodeClusterHealthCheck:output_type -> pb.RPCSuccess
17, // 57: pb.NodeClusterService.executeNodeClusterHealthCheck:output_type -> pb.ExecuteNodeClusterHealthCheckResponse
61, // 58: pb.NodeClusterService.countAllEnabledNodeClustersWithNodeGrantId:output_type -> pb.RPCCountResponse
20, // 59: pb.NodeClusterService.findAllEnabledNodeClustersWithNodeGrantId:output_type -> pb.FindAllEnabledNodeClustersWithNodeGrantIdResponse
22, // 60: pb.NodeClusterService.findEnabledNodeClusterDNS:output_type -> pb.FindEnabledNodeClusterDNSResponse
61, // 61: pb.NodeClusterService.countAllEnabledNodeClustersWithDNSProviderId:output_type -> pb.RPCCountResponse
61, // 62: pb.NodeClusterService.countAllEnabledNodeClustersWithDNSDomainId:output_type -> pb.RPCCountResponse
26, // 63: pb.NodeClusterService.findAllEnabledNodeClustersWithDNSDomainId:output_type -> pb.FindAllEnabledNodeClustersWithDNSDomainIdResponse
28, // 64: pb.NodeClusterService.checkNodeClusterDNSName:output_type -> pb.CheckNodeClusterDNSNameResponse
60, // 65: pb.NodeClusterService.updateNodeClusterDNS:output_type -> pb.RPCSuccess
31, // 66: pb.NodeClusterService.checkNodeClusterDNSChanges:output_type -> pb.CheckNodeClusterDNSChangesResponse
33, // 67: pb.NodeClusterService.findEnabledNodeClusterTOA:output_type -> pb.FindEnabledNodeClusterTOAResponse
60, // 68: pb.NodeClusterService.updateNodeClusterTOA:output_type -> pb.RPCSuccess
61, // 69: pb.NodeClusterService.countAllEnabledNodeClustersWithHTTPCachePolicyId:output_type -> pb.RPCCountResponse
37, // 70: pb.NodeClusterService.findAllEnabledNodeClustersWithHTTPCachePolicyId:output_type -> pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse
61, // 71: pb.NodeClusterService.countAllEnabledNodeClustersWithHTTPFirewallPolicyId:output_type -> pb.RPCCountResponse
40, // 72: pb.NodeClusterService.findAllEnabledNodeClustersWithHTTPFirewallPolicyId:output_type -> pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse
60, // 73: pb.NodeClusterService.updateNodeClusterHTTPCachePolicyId:output_type -> pb.RPCSuccess
60, // 74: pb.NodeClusterService.updateNodeClusterHTTPFirewallPolicyId:output_type -> pb.RPCSuccess
60, // 75: pb.NodeClusterService.updateNodeClusterSystemService:output_type -> pb.RPCSuccess
45, // 76: pb.NodeClusterService.findNodeClusterSystemService:output_type -> pb.FindNodeClusterSystemServiceResponse
47, // 77: pb.NodeClusterService.findFreePortInNodeCluster:output_type -> pb.FindFreePortInNodeClusterResponse
49, // 78: pb.NodeClusterService.checkPortIsUsingInNodeCluster:output_type -> pb.CheckPortIsUsingInNodeClusterResponse
51, // 79: pb.NodeClusterService.findLatestNodeClusters:output_type -> pb.FindLatestNodeClustersResponse
53, // 80: pb.NodeClusterService.findEnabledNodeClusterConfigInfo:output_type -> pb.FindEnabledNodeClusterConfigInfoResponse
47, // [47:81] is the sub-list for method output_type
13, // [13:47] is the sub-list for method input_type
13, // [13:13] is the sub-list for extension type_name
13, // [13:13] is the sub-list for extension extendee
0, // [0:13] is the sub-list for field type_name
@@ -4242,6 +4413,30 @@ func file_service_node_cluster_proto_init() {
}
}
file_service_node_cluster_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindEnabledNodeClusterConfigInfoRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_node_cluster_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindEnabledNodeClusterConfigInfoResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_node_cluster_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExecuteNodeClusterHealthCheckResponse_Result); i {
case 0:
return &v.state
@@ -4260,7 +4455,7 @@ func file_service_node_cluster_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_node_cluster_proto_rawDesc,
NumEnums: 0,
NumMessages: 53,
NumMessages: 55,
NumExtensions: 0,
NumServices: 1,
},
@@ -4352,6 +4547,8 @@ type NodeClusterServiceClient interface {
CheckPortIsUsingInNodeCluster(ctx context.Context, in *CheckPortIsUsingInNodeClusterRequest, opts ...grpc.CallOption) (*CheckPortIsUsingInNodeClusterResponse, error)
// 查找最近访问的集群
FindLatestNodeClusters(ctx context.Context, in *FindLatestNodeClustersRequest, opts ...grpc.CallOption) (*FindLatestNodeClustersResponse, error)
// 取得集群的配置概要信息
FindEnabledNodeClusterConfigInfo(ctx context.Context, in *FindEnabledNodeClusterConfigInfoRequest, opts ...grpc.CallOption) (*FindEnabledNodeClusterConfigInfoResponse, error)
}
type nodeClusterServiceClient struct {
@@ -4659,6 +4856,15 @@ func (c *nodeClusterServiceClient) FindLatestNodeClusters(ctx context.Context, i
return out, nil
}
func (c *nodeClusterServiceClient) FindEnabledNodeClusterConfigInfo(ctx context.Context, in *FindEnabledNodeClusterConfigInfoRequest, opts ...grpc.CallOption) (*FindEnabledNodeClusterConfigInfoResponse, error) {
out := new(FindEnabledNodeClusterConfigInfoResponse)
err := c.cc.Invoke(ctx, "/pb.NodeClusterService/findEnabledNodeClusterConfigInfo", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// NodeClusterServiceServer is the server API for NodeClusterService service.
type NodeClusterServiceServer interface {
// 创建集群
@@ -4727,6 +4933,8 @@ type NodeClusterServiceServer interface {
CheckPortIsUsingInNodeCluster(context.Context, *CheckPortIsUsingInNodeClusterRequest) (*CheckPortIsUsingInNodeClusterResponse, error)
// 查找最近访问的集群
FindLatestNodeClusters(context.Context, *FindLatestNodeClustersRequest) (*FindLatestNodeClustersResponse, error)
// 取得集群的配置概要信息
FindEnabledNodeClusterConfigInfo(context.Context, *FindEnabledNodeClusterConfigInfoRequest) (*FindEnabledNodeClusterConfigInfoResponse, error)
}
// UnimplementedNodeClusterServiceServer can be embedded to have forward compatible implementations.
@@ -4832,6 +5040,9 @@ func (*UnimplementedNodeClusterServiceServer) CheckPortIsUsingInNodeCluster(cont
func (*UnimplementedNodeClusterServiceServer) FindLatestNodeClusters(context.Context, *FindLatestNodeClustersRequest) (*FindLatestNodeClustersResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindLatestNodeClusters not implemented")
}
func (*UnimplementedNodeClusterServiceServer) FindEnabledNodeClusterConfigInfo(context.Context, *FindEnabledNodeClusterConfigInfoRequest) (*FindEnabledNodeClusterConfigInfoResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindEnabledNodeClusterConfigInfo not implemented")
}
func RegisterNodeClusterServiceServer(s *grpc.Server, srv NodeClusterServiceServer) {
s.RegisterService(&_NodeClusterService_serviceDesc, srv)
@@ -5431,6 +5642,24 @@ func _NodeClusterService_FindLatestNodeClusters_Handler(srv interface{}, ctx con
return interceptor(ctx, in, info, handler)
}
func _NodeClusterService_FindEnabledNodeClusterConfigInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindEnabledNodeClusterConfigInfoRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(NodeClusterServiceServer).FindEnabledNodeClusterConfigInfo(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.NodeClusterService/FindEnabledNodeClusterConfigInfo",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(NodeClusterServiceServer).FindEnabledNodeClusterConfigInfo(ctx, req.(*FindEnabledNodeClusterConfigInfoRequest))
}
return interceptor(ctx, in, info, handler)
}
var _NodeClusterService_serviceDesc = grpc.ServiceDesc{
ServiceName: "pb.NodeClusterService",
HandlerType: (*NodeClusterServiceServer)(nil),
@@ -5567,6 +5796,10 @@ var _NodeClusterService_serviceDesc = grpc.ServiceDesc{
MethodName: "findLatestNodeClusters",
Handler: _NodeClusterService_FindLatestNodeClusters_Handler,
},
{
MethodName: "findEnabledNodeClusterConfigInfo",
Handler: _NodeClusterService_FindEnabledNodeClusterConfigInfo_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_node_cluster.proto",

View File

@@ -0,0 +1,566 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.12.3
// source: service_node_cluster_metric_item.proto
package pb
import (
context "context"
proto "github.com/golang/protobuf/proto"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
// 启用某个指标
type EnableNodeClusterMetricItemRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
MetricItemId int64 `protobuf:"varint,2,opt,name=metricItemId,proto3" json:"metricItemId,omitempty"`
}
func (x *EnableNodeClusterMetricItemRequest) Reset() {
*x = EnableNodeClusterMetricItemRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_node_cluster_metric_item_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EnableNodeClusterMetricItemRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EnableNodeClusterMetricItemRequest) ProtoMessage() {}
func (x *EnableNodeClusterMetricItemRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_node_cluster_metric_item_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EnableNodeClusterMetricItemRequest.ProtoReflect.Descriptor instead.
func (*EnableNodeClusterMetricItemRequest) Descriptor() ([]byte, []int) {
return file_service_node_cluster_metric_item_proto_rawDescGZIP(), []int{0}
}
func (x *EnableNodeClusterMetricItemRequest) GetNodeClusterId() int64 {
if x != nil {
return x.NodeClusterId
}
return 0
}
func (x *EnableNodeClusterMetricItemRequest) GetMetricItemId() int64 {
if x != nil {
return x.MetricItemId
}
return 0
}
// 禁用某个指标
type DisableNodeClusterMetricItemRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
MetricItemId int64 `protobuf:"varint,2,opt,name=metricItemId,proto3" json:"metricItemId,omitempty"`
}
func (x *DisableNodeClusterMetricItemRequest) Reset() {
*x = DisableNodeClusterMetricItemRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_node_cluster_metric_item_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DisableNodeClusterMetricItemRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DisableNodeClusterMetricItemRequest) ProtoMessage() {}
func (x *DisableNodeClusterMetricItemRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_node_cluster_metric_item_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DisableNodeClusterMetricItemRequest.ProtoReflect.Descriptor instead.
func (*DisableNodeClusterMetricItemRequest) Descriptor() ([]byte, []int) {
return file_service_node_cluster_metric_item_proto_rawDescGZIP(), []int{1}
}
func (x *DisableNodeClusterMetricItemRequest) GetNodeClusterId() int64 {
if x != nil {
return x.NodeClusterId
}
return 0
}
func (x *DisableNodeClusterMetricItemRequest) GetMetricItemId() int64 {
if x != nil {
return x.MetricItemId
}
return 0
}
// 查找集群中所有指标
type FindAllNodeClusterMetricItemsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}
func (x *FindAllNodeClusterMetricItemsRequest) Reset() {
*x = FindAllNodeClusterMetricItemsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_node_cluster_metric_item_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindAllNodeClusterMetricItemsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindAllNodeClusterMetricItemsRequest) ProtoMessage() {}
func (x *FindAllNodeClusterMetricItemsRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_node_cluster_metric_item_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FindAllNodeClusterMetricItemsRequest.ProtoReflect.Descriptor instead.
func (*FindAllNodeClusterMetricItemsRequest) Descriptor() ([]byte, []int) {
return file_service_node_cluster_metric_item_proto_rawDescGZIP(), []int{2}
}
func (x *FindAllNodeClusterMetricItemsRequest) GetNodeClusterId() int64 {
if x != nil {
return x.NodeClusterId
}
return 0
}
type FindAllNodeClusterMetricItemsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MetricItems []*MetricItem `protobuf:"bytes,1,rep,name=metricItems,proto3" json:"metricItems,omitempty"`
}
func (x *FindAllNodeClusterMetricItemsResponse) Reset() {
*x = FindAllNodeClusterMetricItemsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_node_cluster_metric_item_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindAllNodeClusterMetricItemsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindAllNodeClusterMetricItemsResponse) ProtoMessage() {}
func (x *FindAllNodeClusterMetricItemsResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_node_cluster_metric_item_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FindAllNodeClusterMetricItemsResponse.ProtoReflect.Descriptor instead.
func (*FindAllNodeClusterMetricItemsResponse) Descriptor() ([]byte, []int) {
return file_service_node_cluster_metric_item_proto_rawDescGZIP(), []int{3}
}
func (x *FindAllNodeClusterMetricItemsResponse) GetMetricItems() []*MetricItem {
if x != nil {
return x.MetricItems
}
return nil
}
var File_service_node_cluster_metric_item_proto protoreflect.FileDescriptor
var file_service_node_cluster_metric_item_proto_rawDesc = []byte{
0x0a, 0x26, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x69, 0x74,
0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x19, 0x6d, 0x6f,
0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f,
0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x69, 0x74, 0x65,
0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6e, 0x0a, 0x22, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72,
0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a,
0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65,
0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x6f, 0x0a, 0x23, 0x44, 0x69, 0x73, 0x61, 0x62,
0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74,
0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24,
0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74,
0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72,
0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x4c, 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64,
0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x59, 0x0a, 0x25, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72,
0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x30, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x49, 0x74, 0x65, 0x6d, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d,
0x73, 0x32, 0xc4, 0x02, 0x0a, 0x1c, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x12, 0x55, 0x0a, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65,
0x6d, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64,
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74,
0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x57, 0x0a, 0x1c, 0x64, 0x69, 0x73,
0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d,
0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x44,
0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
0x73, 0x73, 0x12, 0x74, 0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64,
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74,
0x65, 0x6d, 0x73, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_service_node_cluster_metric_item_proto_rawDescOnce sync.Once
file_service_node_cluster_metric_item_proto_rawDescData = file_service_node_cluster_metric_item_proto_rawDesc
)
func file_service_node_cluster_metric_item_proto_rawDescGZIP() []byte {
file_service_node_cluster_metric_item_proto_rawDescOnce.Do(func() {
file_service_node_cluster_metric_item_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_node_cluster_metric_item_proto_rawDescData)
})
return file_service_node_cluster_metric_item_proto_rawDescData
}
var file_service_node_cluster_metric_item_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_service_node_cluster_metric_item_proto_goTypes = []interface{}{
(*EnableNodeClusterMetricItemRequest)(nil), // 0: pb.EnableNodeClusterMetricItemRequest
(*DisableNodeClusterMetricItemRequest)(nil), // 1: pb.DisableNodeClusterMetricItemRequest
(*FindAllNodeClusterMetricItemsRequest)(nil), // 2: pb.FindAllNodeClusterMetricItemsRequest
(*FindAllNodeClusterMetricItemsResponse)(nil), // 3: pb.FindAllNodeClusterMetricItemsResponse
(*MetricItem)(nil), // 4: pb.MetricItem
(*RPCSuccess)(nil), // 5: pb.RPCSuccess
}
var file_service_node_cluster_metric_item_proto_depIdxs = []int32{
4, // 0: pb.FindAllNodeClusterMetricItemsResponse.metricItems:type_name -> pb.MetricItem
0, // 1: pb.NodeClusterMetricItemService.enableNodeClusterMetricItem:input_type -> pb.EnableNodeClusterMetricItemRequest
1, // 2: pb.NodeClusterMetricItemService.disableNodeClusterMetricItem:input_type -> pb.DisableNodeClusterMetricItemRequest
2, // 3: pb.NodeClusterMetricItemService.findAllNodeClusterMetricItems:input_type -> pb.FindAllNodeClusterMetricItemsRequest
5, // 4: pb.NodeClusterMetricItemService.enableNodeClusterMetricItem:output_type -> pb.RPCSuccess
5, // 5: pb.NodeClusterMetricItemService.disableNodeClusterMetricItem:output_type -> pb.RPCSuccess
3, // 6: pb.NodeClusterMetricItemService.findAllNodeClusterMetricItems:output_type -> pb.FindAllNodeClusterMetricItemsResponse
4, // [4:7] is the sub-list for method output_type
1, // [1:4] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_service_node_cluster_metric_item_proto_init() }
func file_service_node_cluster_metric_item_proto_init() {
if File_service_node_cluster_metric_item_proto != nil {
return
}
file_models_rpc_messages_proto_init()
file_models_model_metric_item_proto_init()
if !protoimpl.UnsafeEnabled {
file_service_node_cluster_metric_item_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EnableNodeClusterMetricItemRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_node_cluster_metric_item_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DisableNodeClusterMetricItemRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_node_cluster_metric_item_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindAllNodeClusterMetricItemsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_node_cluster_metric_item_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindAllNodeClusterMetricItemsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_node_cluster_metric_item_proto_rawDesc,
NumEnums: 0,
NumMessages: 4,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_service_node_cluster_metric_item_proto_goTypes,
DependencyIndexes: file_service_node_cluster_metric_item_proto_depIdxs,
MessageInfos: file_service_node_cluster_metric_item_proto_msgTypes,
}.Build()
File_service_node_cluster_metric_item_proto = out.File
file_service_node_cluster_metric_item_proto_rawDesc = nil
file_service_node_cluster_metric_item_proto_goTypes = nil
file_service_node_cluster_metric_item_proto_depIdxs = nil
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6
// NodeClusterMetricItemServiceClient is the client API for NodeClusterMetricItemService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type NodeClusterMetricItemServiceClient interface {
// 启用某个指标
EnableNodeClusterMetricItem(ctx context.Context, in *EnableNodeClusterMetricItemRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 禁用某个指标
DisableNodeClusterMetricItem(ctx context.Context, in *DisableNodeClusterMetricItemRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 查找集群中所有指标
FindAllNodeClusterMetricItems(ctx context.Context, in *FindAllNodeClusterMetricItemsRequest, opts ...grpc.CallOption) (*FindAllNodeClusterMetricItemsResponse, error)
}
type nodeClusterMetricItemServiceClient struct {
cc grpc.ClientConnInterface
}
func NewNodeClusterMetricItemServiceClient(cc grpc.ClientConnInterface) NodeClusterMetricItemServiceClient {
return &nodeClusterMetricItemServiceClient{cc}
}
func (c *nodeClusterMetricItemServiceClient) EnableNodeClusterMetricItem(ctx context.Context, in *EnableNodeClusterMetricItemRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, "/pb.NodeClusterMetricItemService/enableNodeClusterMetricItem", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *nodeClusterMetricItemServiceClient) DisableNodeClusterMetricItem(ctx context.Context, in *DisableNodeClusterMetricItemRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, "/pb.NodeClusterMetricItemService/disableNodeClusterMetricItem", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *nodeClusterMetricItemServiceClient) FindAllNodeClusterMetricItems(ctx context.Context, in *FindAllNodeClusterMetricItemsRequest, opts ...grpc.CallOption) (*FindAllNodeClusterMetricItemsResponse, error) {
out := new(FindAllNodeClusterMetricItemsResponse)
err := c.cc.Invoke(ctx, "/pb.NodeClusterMetricItemService/findAllNodeClusterMetricItems", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// NodeClusterMetricItemServiceServer is the server API for NodeClusterMetricItemService service.
type NodeClusterMetricItemServiceServer interface {
// 启用某个指标
EnableNodeClusterMetricItem(context.Context, *EnableNodeClusterMetricItemRequest) (*RPCSuccess, error)
// 禁用某个指标
DisableNodeClusterMetricItem(context.Context, *DisableNodeClusterMetricItemRequest) (*RPCSuccess, error)
// 查找集群中所有指标
FindAllNodeClusterMetricItems(context.Context, *FindAllNodeClusterMetricItemsRequest) (*FindAllNodeClusterMetricItemsResponse, error)
}
// UnimplementedNodeClusterMetricItemServiceServer can be embedded to have forward compatible implementations.
type UnimplementedNodeClusterMetricItemServiceServer struct {
}
func (*UnimplementedNodeClusterMetricItemServiceServer) EnableNodeClusterMetricItem(context.Context, *EnableNodeClusterMetricItemRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method EnableNodeClusterMetricItem not implemented")
}
func (*UnimplementedNodeClusterMetricItemServiceServer) DisableNodeClusterMetricItem(context.Context, *DisableNodeClusterMetricItemRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method DisableNodeClusterMetricItem not implemented")
}
func (*UnimplementedNodeClusterMetricItemServiceServer) FindAllNodeClusterMetricItems(context.Context, *FindAllNodeClusterMetricItemsRequest) (*FindAllNodeClusterMetricItemsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindAllNodeClusterMetricItems not implemented")
}
func RegisterNodeClusterMetricItemServiceServer(s *grpc.Server, srv NodeClusterMetricItemServiceServer) {
s.RegisterService(&_NodeClusterMetricItemService_serviceDesc, srv)
}
func _NodeClusterMetricItemService_EnableNodeClusterMetricItem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(EnableNodeClusterMetricItemRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(NodeClusterMetricItemServiceServer).EnableNodeClusterMetricItem(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.NodeClusterMetricItemService/EnableNodeClusterMetricItem",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(NodeClusterMetricItemServiceServer).EnableNodeClusterMetricItem(ctx, req.(*EnableNodeClusterMetricItemRequest))
}
return interceptor(ctx, in, info, handler)
}
func _NodeClusterMetricItemService_DisableNodeClusterMetricItem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DisableNodeClusterMetricItemRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(NodeClusterMetricItemServiceServer).DisableNodeClusterMetricItem(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.NodeClusterMetricItemService/DisableNodeClusterMetricItem",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(NodeClusterMetricItemServiceServer).DisableNodeClusterMetricItem(ctx, req.(*DisableNodeClusterMetricItemRequest))
}
return interceptor(ctx, in, info, handler)
}
func _NodeClusterMetricItemService_FindAllNodeClusterMetricItems_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindAllNodeClusterMetricItemsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(NodeClusterMetricItemServiceServer).FindAllNodeClusterMetricItems(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.NodeClusterMetricItemService/FindAllNodeClusterMetricItems",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(NodeClusterMetricItemServiceServer).FindAllNodeClusterMetricItems(ctx, req.(*FindAllNodeClusterMetricItemsRequest))
}
return interceptor(ctx, in, info, handler)
}
var _NodeClusterMetricItemService_serviceDesc = grpc.ServiceDesc{
ServiceName: "pb.NodeClusterMetricItemService",
HandlerType: (*NodeClusterMetricItemServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "enableNodeClusterMetricItem",
Handler: _NodeClusterMetricItemService_EnableNodeClusterMetricItem_Handler,
},
{
MethodName: "disableNodeClusterMetricItem",
Handler: _NodeClusterMetricItemService_DisableNodeClusterMetricItem_Handler,
},
{
MethodName: "findAllNodeClusterMetricItems",
Handler: _NodeClusterMetricItemService_FindAllNodeClusterMetricItems_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_node_cluster_metric_item.proto",
}

View File

@@ -36,6 +36,7 @@ type CreateUserAccessKeyRequest struct {
unknownFields protoimpl.UnknownFields
UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"`
AdminId int64 `protobuf:"varint,3,opt,name=adminId,proto3" json:"adminId,omitempty"`
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
}
@@ -78,6 +79,13 @@ func (x *CreateUserAccessKeyRequest) GetUserId() int64 {
return 0
}
func (x *CreateUserAccessKeyRequest) GetAdminId() int64 {
if x != nil {
return x.AdminId
}
return 0
}
func (x *CreateUserAccessKeyRequest) GetDescription() string {
if x != nil {
return x.Description
@@ -138,7 +146,8 @@ type FindAllEnabledUserAccessKeysRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"`
UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"`
AdminId int64 `protobuf:"varint,2,opt,name=adminId,proto3" json:"adminId,omitempty"`
}
func (x *FindAllEnabledUserAccessKeysRequest) Reset() {
@@ -180,6 +189,13 @@ func (x *FindAllEnabledUserAccessKeysRequest) GetUserId() int64 {
return 0
}
func (x *FindAllEnabledUserAccessKeysRequest) GetAdminId() int64 {
if x != nil {
return x.AdminId
}
return 0
}
type FindAllEnabledUserAccessKeysResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -331,6 +347,62 @@ func (x *UpdateUserAccessKeyIsOnRequest) GetIsOn() bool {
return false
}
// 计算AccessKey数量
type CountAllEnabledUserAccessKeysRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AdminId int64 `protobuf:"varint,1,opt,name=adminId,proto3" json:"adminId,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"`
}
func (x *CountAllEnabledUserAccessKeysRequest) Reset() {
*x = CountAllEnabledUserAccessKeysRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_access_key_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CountAllEnabledUserAccessKeysRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CountAllEnabledUserAccessKeysRequest) ProtoMessage() {}
func (x *CountAllEnabledUserAccessKeysRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_user_access_key_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CountAllEnabledUserAccessKeysRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledUserAccessKeysRequest) Descriptor() ([]byte, []int) {
return file_service_user_access_key_proto_rawDescGZIP(), []int{6}
}
func (x *CountAllEnabledUserAccessKeysRequest) GetAdminId() int64 {
if x != nil {
return x.AdminId
}
return 0
}
func (x *CountAllEnabledUserAccessKeysRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
var File_service_user_access_key_proto protoreflect.FileDescriptor
var file_service_user_access_key_proto_rawDesc = []byte{
@@ -340,62 +412,77 @@ var file_service_user_access_key_proto_rawDesc = []byte{
0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22,
0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65,
0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x22, 0x56, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72,
0x74, 0x6f, 0x22, 0x70, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72,
0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x47, 0x0a, 0x1b, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65,
0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x75, 0x73, 0x65,
0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65,
0x79, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x23, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b,
0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73,
0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72,
0x49, 0x64, 0x22, 0x61, 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65,
0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0e, 0x75, 0x73,
0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65,
0x73, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73,
0x73, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x46, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55,
0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75,
0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69,
0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e,
0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x22, 0x47, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73,
0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73,
0x73, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x75, 0x73,
0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x22, 0x57, 0x0a,
0x23, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55,
0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61,
0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65,
0x73, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39,
0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x73,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72,
0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x41,
0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x46, 0x0a, 0x1a, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x41,
0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49,
0x64, 0x22, 0x5e, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41,
0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x73, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73,
0x73, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x75, 0x73,
0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x22, 0x5e, 0x0a,
0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73,
0x73, 0x4b, 0x65, 0x79, 0x49, 0x73, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x28, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63,
0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f,
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x32, 0xf7, 0x02,
0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x53,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x2e,
0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63,
0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e,
0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63,
0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71,
0x0a, 0x1c, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x27,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41,
0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x45, 0x0a, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41,
0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65,
0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x17, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49,
0x73, 0x4f, 0x6e, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55,
0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x73, 0x4f, 0x6e,
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,
0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a,
0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f,
0x6e, 0x22, 0x58, 0x0a, 0x24, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65,
0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d,
0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69,
0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x32, 0xd8, 0x03, 0x0a, 0x14,
0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73,
0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x2e, 0x70, 0x62,
0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73,
0x73, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62,
0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73,
0x73, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x1c,
0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73,
0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x27, 0x2e, 0x70,
0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63,
0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x45, 0x0a, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63,
0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x17, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x73, 0x4f,
0x6e, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65,
0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x73, 0x4f, 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, 0x5f, 0x0a, 0x1d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65,
0x73, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41,
0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -410,7 +497,7 @@ func file_service_user_access_key_proto_rawDescGZIP() []byte {
return file_service_user_access_key_proto_rawDescData
}
var file_service_user_access_key_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_service_user_access_key_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_service_user_access_key_proto_goTypes = []interface{}{
(*CreateUserAccessKeyRequest)(nil), // 0: pb.CreateUserAccessKeyRequest
(*CreateUserAccessKeyResponse)(nil), // 1: pb.CreateUserAccessKeyResponse
@@ -418,21 +505,25 @@ var file_service_user_access_key_proto_goTypes = []interface{}{
(*FindAllEnabledUserAccessKeysResponse)(nil), // 3: pb.FindAllEnabledUserAccessKeysResponse
(*DeleteUserAccessKeyRequest)(nil), // 4: pb.DeleteUserAccessKeyRequest
(*UpdateUserAccessKeyIsOnRequest)(nil), // 5: pb.UpdateUserAccessKeyIsOnRequest
(*UserAccessKey)(nil), // 6: pb.UserAccessKey
(*RPCSuccess)(nil), // 7: pb.RPCSuccess
(*CountAllEnabledUserAccessKeysRequest)(nil), // 6: pb.CountAllEnabledUserAccessKeysRequest
(*UserAccessKey)(nil), // 7: pb.UserAccessKey
(*RPCSuccess)(nil), // 8: pb.RPCSuccess
(*RPCCountResponse)(nil), // 9: pb.RPCCountResponse
}
var file_service_user_access_key_proto_depIdxs = []int32{
6, // 0: pb.FindAllEnabledUserAccessKeysResponse.userAccessKeys:type_name -> pb.UserAccessKey
7, // 0: pb.FindAllEnabledUserAccessKeysResponse.userAccessKeys:type_name -> pb.UserAccessKey
0, // 1: pb.UserAccessKeyService.createUserAccessKey:input_type -> pb.CreateUserAccessKeyRequest
2, // 2: pb.UserAccessKeyService.findAllEnabledUserAccessKeys:input_type -> pb.FindAllEnabledUserAccessKeysRequest
4, // 3: pb.UserAccessKeyService.deleteUserAccessKey:input_type -> pb.DeleteUserAccessKeyRequest
5, // 4: pb.UserAccessKeyService.updateUserAccessKeyIsOn:input_type -> pb.UpdateUserAccessKeyIsOnRequest
1, // 5: pb.UserAccessKeyService.createUserAccessKey:output_type -> pb.CreateUserAccessKeyResponse
3, // 6: pb.UserAccessKeyService.findAllEnabledUserAccessKeys:output_type -> pb.FindAllEnabledUserAccessKeysResponse
7, // 7: pb.UserAccessKeyService.deleteUserAccessKey:output_type -> pb.RPCSuccess
7, // 8: pb.UserAccessKeyService.updateUserAccessKeyIsOn:output_type -> pb.RPCSuccess
5, // [5:9] is the sub-list for method output_type
1, // [1:5] is the sub-list for method input_type
6, // 5: pb.UserAccessKeyService.countAllEnabledUserAccessKeys:input_type -> pb.CountAllEnabledUserAccessKeysRequest
1, // 6: pb.UserAccessKeyService.createUserAccessKey:output_type -> pb.CreateUserAccessKeyResponse
3, // 7: pb.UserAccessKeyService.findAllEnabledUserAccessKeys:output_type -> pb.FindAllEnabledUserAccessKeysResponse
8, // 8: pb.UserAccessKeyService.deleteUserAccessKey:output_type -> pb.RPCSuccess
8, // 9: pb.UserAccessKeyService.updateUserAccessKeyIsOn:output_type -> pb.RPCSuccess
9, // 10: pb.UserAccessKeyService.countAllEnabledUserAccessKeys:output_type -> pb.RPCCountResponse
6, // [6:11] is the sub-list for method output_type
1, // [1:6] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
@@ -518,6 +609,18 @@ func file_service_user_access_key_proto_init() {
return nil
}
}
file_service_user_access_key_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CountAllEnabledUserAccessKeysRequest); 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{
@@ -525,7 +628,7 @@ func file_service_user_access_key_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_user_access_key_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumMessages: 7,
NumExtensions: 0,
NumServices: 1,
},
@@ -559,6 +662,8 @@ type UserAccessKeyServiceClient interface {
DeleteUserAccessKey(ctx context.Context, in *DeleteUserAccessKeyRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 设置是否启用AccessKey
UpdateUserAccessKeyIsOn(ctx context.Context, in *UpdateUserAccessKeyIsOnRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 计算AccessKey数量
CountAllEnabledUserAccessKeys(ctx context.Context, in *CountAllEnabledUserAccessKeysRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
}
type userAccessKeyServiceClient struct {
@@ -605,6 +710,15 @@ func (c *userAccessKeyServiceClient) UpdateUserAccessKeyIsOn(ctx context.Context
return out, nil
}
func (c *userAccessKeyServiceClient) CountAllEnabledUserAccessKeys(ctx context.Context, in *CountAllEnabledUserAccessKeysRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
out := new(RPCCountResponse)
err := c.cc.Invoke(ctx, "/pb.UserAccessKeyService/countAllEnabledUserAccessKeys", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// UserAccessKeyServiceServer is the server API for UserAccessKeyService service.
type UserAccessKeyServiceServer interface {
// 创建AccessKey
@@ -615,6 +729,8 @@ type UserAccessKeyServiceServer interface {
DeleteUserAccessKey(context.Context, *DeleteUserAccessKeyRequest) (*RPCSuccess, error)
// 设置是否启用AccessKey
UpdateUserAccessKeyIsOn(context.Context, *UpdateUserAccessKeyIsOnRequest) (*RPCSuccess, error)
// 计算AccessKey数量
CountAllEnabledUserAccessKeys(context.Context, *CountAllEnabledUserAccessKeysRequest) (*RPCCountResponse, error)
}
// UnimplementedUserAccessKeyServiceServer can be embedded to have forward compatible implementations.
@@ -633,6 +749,9 @@ func (*UnimplementedUserAccessKeyServiceServer) DeleteUserAccessKey(context.Cont
func (*UnimplementedUserAccessKeyServiceServer) UpdateUserAccessKeyIsOn(context.Context, *UpdateUserAccessKeyIsOnRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateUserAccessKeyIsOn not implemented")
}
func (*UnimplementedUserAccessKeyServiceServer) CountAllEnabledUserAccessKeys(context.Context, *CountAllEnabledUserAccessKeysRequest) (*RPCCountResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledUserAccessKeys not implemented")
}
func RegisterUserAccessKeyServiceServer(s *grpc.Server, srv UserAccessKeyServiceServer) {
s.RegisterService(&_UserAccessKeyService_serviceDesc, srv)
@@ -710,6 +829,24 @@ func _UserAccessKeyService_UpdateUserAccessKeyIsOn_Handler(srv interface{}, ctx
return interceptor(ctx, in, info, handler)
}
func _UserAccessKeyService_CountAllEnabledUserAccessKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CountAllEnabledUserAccessKeysRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserAccessKeyServiceServer).CountAllEnabledUserAccessKeys(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.UserAccessKeyService/CountAllEnabledUserAccessKeys",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserAccessKeyServiceServer).CountAllEnabledUserAccessKeys(ctx, req.(*CountAllEnabledUserAccessKeysRequest))
}
return interceptor(ctx, in, info, handler)
}
var _UserAccessKeyService_serviceDesc = grpc.ServiceDesc{
ServiceName: "pb.UserAccessKeyService",
HandlerType: (*UserAccessKeyServiceServer)(nil),
@@ -730,6 +867,10 @@ var _UserAccessKeyService_serviceDesc = grpc.ServiceDesc{
MethodName: "updateUserAccessKeyIsOn",
Handler: _UserAccessKeyService_UpdateUserAccessKeyIsOn_Handler,
},
{
MethodName: "countAllEnabledUserAccessKeys",
Handler: _UserAccessKeyService_CountAllEnabledUserAccessKeys_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_user_access_key.proto",

View File

@@ -16,10 +16,10 @@ message ACMETask {
int64 createdAt = 5;
bool autoRenew = 6;
string authType = 7;
string authURL = 8;
ACMEUser acmeUser = 30;
DNSProvider dnsProvider = 31;
SSLCert sslCert = 32;
ACMETaskLog latestACMETaskLog = 33;
}

View File

@@ -0,0 +1,13 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
// 服务认证策略
message HTTPAuthPolicy {
int64 id = 1;
bool isOn = 2;
string name = 3;
string type = 4;
bytes paramsJSON = 5;
}

View File

@@ -10,4 +10,6 @@ message IPList {
string name = 4;
string code = 5;
bytes timeoutJSON = 6;
bool isPublic = 7;
string description = 8;
}

View File

@@ -0,0 +1,17 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
// 指标定义
message MetricItem {
int64 id = 1;
bool isOn = 2;
string code = 3;
string category = 4;
string name = 5;
repeated string keys = 6;
int32 period = 7;
string periodUnit = 8;
string value = 10;
}

View File

@@ -12,4 +12,5 @@ message UserAccessKey {
string uniqueId = 5;
string secret = 6;
string description = 7;
int64 accessedAt = 8;
}

View File

@@ -80,6 +80,7 @@ message CreateACMETaskRequest {
repeated string domains = 4;
bool autoRenew = 5;
string authType = 6;
string authURL = 7;
}
message CreateACMETaskResponse {
@@ -94,6 +95,7 @@ message UpdateACMETaskRequest {
string dnsDomain = 4;
repeated string domains = 5;
bool autoRenew = 6;
string authURL = 7;
}
// 删除任务

View File

@@ -0,0 +1,47 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_http_auth_policy.proto";
import "models/rpc_messages.proto";
// 服务认证策略服务
service HTTPAuthPolicyService {
// 创建策略
rpc createHTTPAuthPolicy (CreateHTTPAuthPolicyRequest) returns (CreateHTTPAuthPolicyResponse);
// 修改策略
rpc updateHTTPAuthPolicy (UpdateHTTPAuthPolicyRequest) returns (RPCSuccess);
// 查找策略信息
rpc findEnabledHTTPAuthPolicy (FindEnabledHTTPAuthPolicyRequest) returns (FindEnabledHTTPAuthPolicyResponse);
}
// 创建策略
message CreateHTTPAuthPolicyRequest {
string name = 1;
string type = 2;
bytes paramsJSON = 3;
}
message CreateHTTPAuthPolicyResponse {
int64 httpAuthPolicyId = 1;
}
// 修改策略
message UpdateHTTPAuthPolicyRequest {
int64 httpAuthPolicyId = 1;
string name = 2;
bytes paramsJSON = 3;
bool isOn = 4;
}
// 查找策略信息
message FindEnabledHTTPAuthPolicyRequest {
int64 httpAuthPolicyId = 1;
}
message FindEnabledHTTPAuthPolicyResponse {
HTTPAuthPolicy httpAuthPolicy = 1;
}

View File

@@ -69,6 +69,9 @@ service HTTPWebService {
// 查找主机跳转设置
rpc findHTTPWebHostRedirects (FindHTTPWebHostRedirectsRequest) returns (FindHTTPWebHostRedirectsResponse);
// 更改认证设置
rpc updateHTTPWebAuth (UpdateHTTPWebAuthRequest) returns (RPCSuccess);
}
// 创建Web配置
@@ -207,4 +210,10 @@ message FindHTTPWebHostRedirectsRequest {
message FindHTTPWebHostRedirectsResponse {
bytes hostRedirectsJSON = 1;
}
// 更改认证设置
message UpdateHTTPWebAuthRequest {
int64 webId = 1;
bytes authJSON = 2;
}

View File

@@ -28,6 +28,12 @@ service IPItemService {
// 根据版本列出一组IP
rpc listIPItemsAfterVersion (ListIPItemsAfterVersionRequest) returns (ListIPItemsAfterVersionResponse);
// 检查IP状态
rpc checkIPItemStatus (CheckIPItemStatusRequest) returns (CheckIPItemStatusResponse);
// 检查IP是否存在
rpc existsEnabledIPItem (ExistsEnabledIPItemRequest) returns (ExistsEnabledIPItemResponse);
}
// 创建IP
@@ -94,4 +100,27 @@ message ListIPItemsAfterVersionRequest {
message ListIPItemsAfterVersionResponse {
repeated IPItem ipItems = 1;
}
// 检查IP状态
message CheckIPItemStatusRequest {
int64 ipListId = 1;
string ip = 2;
}
message CheckIPItemStatusResponse {
bool isOk = 1; // 是否查询成功
string error = 2;
bool isFound = 3; // 是否找到
bool isAllowed = 4; // 是否允许
IPItem ipItem = 5; // 匹配的IPItem
}
// 检查IP是否存在
message ExistsEnabledIPItemRequest {
int64 ipItemId = 1;
}
message ExistsEnabledIPItemResponse {
bool exists = 1;
}

View File

@@ -14,8 +14,20 @@ service IPListService {
// 修改IP列表
rpc updateIPList (UpdateIPListRequest) returns (RPCSuccess);
// 查找IP列表
// 查找IP列表信息
rpc findEnabledIPList (FindEnabledIPListRequest) returns (FindEnabledIPListResponse);
// 计算名单数量
rpc countAllEnabledIPLists (CountAllEnabledIPListsRequest) returns (RPCCountResponse);
// 列出单页名单
rpc listEnabledIPLists (ListEnabledIPListsRequest) returns (ListEnabledIPListsResponse);
// 删除IP名单
rpc deleteIPList (DeleteIPListRequest) returns (RPCSuccess);
// 检查IPList是否存在
rpc existsEnabledIPList (ExistsEnabledIPListRequest) returns (ExistsEnabledIPListResponse);
}
// 创建IP列表
@@ -24,6 +36,8 @@ message CreateIPListRequest {
string name = 2;
string code = 3;
bytes timeoutJSON = 4;
bool isPublic = 5;
string description = 6;
}
message CreateIPListResponse {
@@ -36,13 +50,48 @@ message UpdateIPListRequest {
string name = 2;
string code = 3;
bytes timeoutJSON = 4;
string description = 5;
}
// 查找IP列表
// 查找IP列表信息
message FindEnabledIPListRequest {
int64 ipListId = 1;
}
message FindEnabledIPListResponse {
IPList ipList = 1;
}
// 计算名单数量
message CountAllEnabledIPListsRequest {
string type = 1;
bool isPublic = 2;
string keyword = 3;
}
// 列出单页名单
message ListEnabledIPListsRequest {
string type = 1;
bool isPublic = 2;
string keyword = 3;
int64 offset = 4;
int64 size = 5;
}
message ListEnabledIPListsResponse {
repeated IPList ipLists = 1;
}
// 删除IP名单
message DeleteIPListRequest {
int64 ipListId = 1;
}
// 检查IPList是否存在
message ExistsEnabledIPListRequest {
int64 ipListId = 1;
}
message ExistsEnabledIPListResponse {
bool exists = 1;
}

View File

@@ -0,0 +1,84 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_metric_item.proto";
import "models/rpc_messages.proto";
// 指标相关服务
service MetricItemService {
// 创建指标
rpc createMetricItem (CreateMetricItemRequest) returns (CreateMetricItemResponse);
// 修改指标
rpc updateMetricItem (UpdateMetricItemRequest) returns (RPCSuccess);
// 查找单个指标信息
rpc findEnabledMetricItem (FindEnabledMetricItemRequest) returns (FindEnabledMetricItemResponse);
// 计算指标数量
rpc countAllEnabledMetricItems (CountAllEnabledMetricItemsRequest) returns (RPCCountResponse);
// 列出单页指标
rpc listEnabledMetricItems (ListEnabledMetricItemsRequest) returns (ListEnabledMetricItemsResponse);
// 删除指标
rpc deleteMetricItem (DeleteMetricItemRequest) returns (RPCSuccess);
}
// 创建指标
message CreateMetricItemRequest {
string code = 1;
string category = 2;
string name = 3;
repeated string keys = 4;
int32 period = 5;
string periodUnit = 6;
string value = 7;
}
message CreateMetricItemResponse {
int64 metricItemId = 1;
}
// 修改指标
message UpdateMetricItemRequest {
int64 metricItemId = 1;
string name = 2;
repeated string keys = 3;
int32 period = 4;
string periodUnit = 5;
string value = 6;
bool isOn = 7;
}
// 查找单个指标信息
message FindEnabledMetricItemRequest {
int64 metricItemId = 1;
}
message FindEnabledMetricItemResponse {
MetricItem metricItem = 1;
}
// 计算指标数量
message CountAllEnabledMetricItemsRequest {
string category = 1;
}
// 列出单页指标
message ListEnabledMetricItemsRequest {
string category = 1;
int64 offset = 2;
int64 size = 3;
}
message ListEnabledMetricItemsResponse {
repeated MetricItem metricItems = 1;
}
// 删除指标
message DeleteMetricItemRequest {
int64 metricItemId = 1;
}

View File

@@ -109,6 +109,9 @@ service NodeClusterService {
// 查找最近访问的集群
rpc findLatestNodeClusters (FindLatestNodeClustersRequest) returns (FindLatestNodeClustersResponse);
// 取得集群的配置概要信息
rpc findEnabledNodeClusterConfigInfo (FindEnabledNodeClusterConfigInfoRequest) returns (FindEnabledNodeClusterConfigInfoResponse);
}
// 获取所有集群的信息
@@ -392,4 +395,18 @@ message FindLatestNodeClustersRequest {
message FindLatestNodeClustersResponse {
repeated NodeCluster nodeClusters = 1;
}
// 取得集群的配置概要信息
message FindEnabledNodeClusterConfigInfoRequest {
int64 nodeClusterId = 1;
}
message FindEnabledNodeClusterConfigInfoResponse {
bool healthCheckIsOn = 1;
bool hasFirewallActions = 2;
bool hasThresholds = 3;
bool hasMessageReceivers = 4;
bool isTOAEnabled = 5;
bool hasMetricItems = 6;
}

View File

@@ -0,0 +1,40 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/rpc_messages.proto";
import "models/model_metric_item.proto";
// 集群指标
service NodeClusterMetricItemService {
// 启用某个指标
rpc enableNodeClusterMetricItem (EnableNodeClusterMetricItemRequest) returns (RPCSuccess);
// 禁用某个指标
rpc disableNodeClusterMetricItem (DisableNodeClusterMetricItemRequest) returns (RPCSuccess);
// 查找集群中所有指标
rpc findAllNodeClusterMetricItems (FindAllNodeClusterMetricItemsRequest) returns (FindAllNodeClusterMetricItemsResponse);
}
// 启用某个指标
message EnableNodeClusterMetricItemRequest {
int64 nodeClusterId = 1;
int64 metricItemId = 2;
}
// 禁用某个指标
message DisableNodeClusterMetricItemRequest {
int64 nodeClusterId = 1;
int64 metricItemId = 2;
}
// 查找集群中所有指标
message FindAllNodeClusterMetricItemsRequest {
int64 nodeClusterId = 1;
}
message FindAllNodeClusterMetricItemsResponse {
repeated MetricItem metricItems = 1;
}

View File

@@ -19,11 +19,15 @@ service UserAccessKeyService {
// 设置是否启用AccessKey
rpc updateUserAccessKeyIsOn (UpdateUserAccessKeyIsOnRequest) returns (RPCSuccess);
// 计算AccessKey数量
rpc countAllEnabledUserAccessKeys (CountAllEnabledUserAccessKeysRequest) returns (RPCCountResponse);
}
// 创建AccessKey
message CreateUserAccessKeyRequest {
int64 userId = 1;
int64 adminId = 3;
string description = 2;
}
@@ -34,6 +38,7 @@ message CreateUserAccessKeyResponse {
// 查找所有的AccessKey
message FindAllEnabledUserAccessKeysRequest {
int64 userId = 1;
int64 adminId = 2;
}
message FindAllEnabledUserAccessKeysResponse {
@@ -49,4 +54,10 @@ message DeleteUserAccessKeyRequest {
message UpdateUserAccessKeyIsOnRequest {
int64 userAccessKeyId = 1;
bool isOn = 2;
}
// 计算AccessKey数量
message CountAllEnabledUserAccessKeysRequest {
int64 adminId = 1;
int64 userId = 2;
}

View File

@@ -2,6 +2,7 @@ package firewallconfigs
import "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/ipconfigs"
// HTTPFirewallInboundConfig HTTP防火墙入口配置
type HTTPFirewallInboundConfig struct {
IsOn bool `yaml:"isOn" json:"isOn"`
GroupRefs []*HTTPFirewallRuleGroupRef `yaml:"groupRefs" json:"groupRefs"`
@@ -14,9 +15,16 @@ type HTTPFirewallInboundConfig struct {
AllowListRef *ipconfigs.IPListRef `yaml:"whiteListRef" json:"whiteListRef"`
DenyListRef *ipconfigs.IPListRef `yaml:"blackListRef" json:"blackListRef"`
GreyListRef *ipconfigs.IPListRef `yaml:"greyListRef" json:"greyListRef"`
// 绑定的IP名单
PublicAllowListRefs []*ipconfigs.IPListRef `yaml:"publicWhiteListRefs" json:"publicWhiteListRefs"`
PublicDenyListRefs []*ipconfigs.IPListRef `yaml:"publicBlackListRefs" json:"publicBlackListRefs"`
allAllowListRefs []*ipconfigs.IPListRef
allDenyListRefs []*ipconfigs.IPListRef
}
// 初始化
// Init 初始化
func (this *HTTPFirewallInboundConfig) Init() error {
for _, group := range this.Groups {
err := group.Init()
@@ -32,10 +40,26 @@ func (this *HTTPFirewallInboundConfig) Init() error {
}
}
this.allAllowListRefs = []*ipconfigs.IPListRef{}
if this.AllowListRef != nil {
this.allAllowListRefs = append(this.allAllowListRefs, this.AllowListRef)
}
if len(this.PublicAllowListRefs) > 0 {
this.allAllowListRefs = append(this.allAllowListRefs, this.PublicAllowListRefs...)
}
this.allDenyListRefs = []*ipconfigs.IPListRef{}
if this.DenyListRef != nil {
this.allDenyListRefs = append(this.allDenyListRefs, this.DenyListRef)
}
if len(this.PublicAllowListRefs) > 0 {
this.allDenyListRefs = append(this.allDenyListRefs, this.PublicDenyListRefs...)
}
return nil
}
// 根据Code查找Group
// FindGroupWithCode 根据Code查找Group
func (this *HTTPFirewallInboundConfig) FindGroupWithCode(code string) *HTTPFirewallRuleGroup {
for _, group := range this.Groups {
if group.Code == code {
@@ -45,7 +69,7 @@ func (this *HTTPFirewallInboundConfig) FindGroupWithCode(code string) *HTTPFirew
return nil
}
// 删除某个分组
// RemoveRuleGroup 删除某个分组
func (this *HTTPFirewallInboundConfig) RemoveRuleGroup(groupId int64) {
groups := []*HTTPFirewallRuleGroup{}
refs := []*HTTPFirewallRuleGroupRef{}
@@ -64,3 +88,68 @@ func (this *HTTPFirewallInboundConfig) RemoveRuleGroup(groupId int64) {
this.Groups = groups
this.GroupRefs = refs
}
// AddPublicList 绑定公用的IP名单
func (this *HTTPFirewallInboundConfig) AddPublicList(listId int64, listType string) {
var refs []*ipconfigs.IPListRef
switch listType {
case ipconfigs.IPListTypeBlack:
refs = this.PublicDenyListRefs
case ipconfigs.IPListTypeWhite:
refs = this.PublicAllowListRefs
}
var found = false
for _, ref := range refs {
if ref.ListId == listId {
found = true
ref.IsOn = true
break
}
}
if !found {
refs = append(refs, &ipconfigs.IPListRef{
IsOn: true,
ListId: listId,
})
}
switch listType {
case ipconfigs.IPListTypeBlack:
this.PublicDenyListRefs = refs
case ipconfigs.IPListTypeWhite:
this.PublicAllowListRefs = refs
}
}
// RemovePublicList 解绑公用的IP名单
func (this *HTTPFirewallInboundConfig) RemovePublicList(listId int64, listType string) {
var refs []*ipconfigs.IPListRef
switch listType {
case ipconfigs.IPListTypeBlack:
refs = this.PublicDenyListRefs
case ipconfigs.IPListTypeWhite:
refs = this.PublicAllowListRefs
}
var newRefs = []*ipconfigs.IPListRef{}
for _, ref := range refs {
if ref.ListId == listId {
continue
}
newRefs = append(newRefs, ref)
}
switch listType {
case ipconfigs.IPListTypeBlack:
this.PublicDenyListRefs = newRefs
case ipconfigs.IPListTypeWhite:
this.PublicAllowListRefs = newRefs
}
}
// AllAllowListRefs 获取所有允许的IP名单
func (this *HTTPFirewallInboundConfig) AllAllowListRefs() []*ipconfigs.IPListRef {
return this.allAllowListRefs
}
// AllDenyListRefs 获取所有禁止的IP名单
func (this *HTTPFirewallInboundConfig) AllDenyListRefs() []*ipconfigs.IPListRef {
return this.allDenyListRefs
}

View File

@@ -0,0 +1,62 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package serverconfigs
import (
"encoding/json"
"net/http"
)
// HTTPAuthBasicMethodUser BasicAuth中的用户
type HTTPAuthBasicMethodUser struct {
Username string `json:"username"`
Password string `json:"password"`
}
func (this *HTTPAuthBasicMethodUser) Validate(password string) (bool, error) {
return this.Password == password, nil
}
// HTTPAuthBasicMethod BasicAuth方法定义
type HTTPAuthBasicMethod struct {
Users []*HTTPAuthBasicMethodUser `json:"users"`
Realm string `json:"realm"`
Charset string `json:"charset"`
userMap map[string]*HTTPAuthBasicMethodUser // username => *User
}
func NewHTTPAuthBasicMethod() *HTTPAuthBasicMethod {
return &HTTPAuthBasicMethod{}
}
func (this *HTTPAuthBasicMethod) Init(params map[string]interface{}) error {
this.userMap = map[string]*HTTPAuthBasicMethodUser{}
paramsJSON, err := json.Marshal(params)
if err != nil {
return err
}
err = json.Unmarshal(paramsJSON, this)
if err != nil {
return err
}
for _, user := range this.Users {
this.userMap[user.Username] = user
}
return nil
}
func (this *HTTPAuthBasicMethod) Filter(req *http.Request, doSubReq func(subReq *http.Request) (status int, err error), formatter func(string) string) (bool, error) {
username, password, ok := req.BasicAuth()
if !ok {
return false, nil
}
user, ok := this.userMap[username]
if !ok {
return false, nil
}
return user.Validate(password)
}

View File

@@ -0,0 +1,59 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package serverconfigs
import (
"encoding/base64"
"github.com/iwind/TeaGo/assert"
"github.com/iwind/TeaGo/maps"
"net/http"
"testing"
)
func TestHTTPAuthBasicMethodUser_Validate(t *testing.T) {
a := assert.NewAssertion(t)
{
user := &HTTPAuthBasicMethodUser{
Password: "123456",
}
b, err := user.Validate("123456")
if err != nil {
t.Fatal(err)
}
a.IsTrue(b)
}
{
user := &HTTPAuthBasicMethodUser{
Password: "654321",
}
b, err := user.Validate("123456")
if err != nil {
t.Fatal(err)
}
a.IsFalse(b)
}
}
func TestHTTPAuthBasicMethod_Filter(t *testing.T) {
method := &HTTPAuthBasicMethod{}
err := method.Init(map[string]interface{}{
"users": []maps.Map{
{
"username": "hello",
"password": "world",
},
},
})
if err != nil {
t.Fatal(err)
}
req, err := http.NewRequest(http.MethodGet, "http://teaos.cn/", nil)
if err != nil {
t.Fatal(err)
}
req.Header.Set("Authorization", "Basic "+base64.StdEncoding.EncodeToString([]byte("hello:world")))
t.Log(method.Filter(req, nil, nil))
}

View File

@@ -0,0 +1,20 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package serverconfigs
// HTTPAuthConfig 认证配置
type HTTPAuthConfig struct {
IsPrior bool `yaml:"isPrior" json:"isPrior"`
IsOn bool `yaml:"isOn" json:"isOn"`
PolicyRefs []*HTTPAuthPolicyRef `yaml:"policyRefs" json:"policyRefs"`
}
func (this *HTTPAuthConfig) Init() error {
for _, ref := range this.PolicyRefs {
err := ref.Init()
if err != nil {
return err
}
}
return nil
}

View File

@@ -0,0 +1,14 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package serverconfigs
import "net/http"
// HTTPAuthMethodInterface HTTP认证接口定义
type HTTPAuthMethodInterface interface {
// Init 初始化
Init(params map[string]interface{}) error
// Filter 过滤
Filter(req *http.Request, subReqFunc func(subReq *http.Request) (status int, err error), formatter func(string) string) (bool, error)
}

View File

@@ -0,0 +1,31 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package serverconfigs
type HTTPAuthType = string
const (
HTTPAuthTypeBasicAuth HTTPAuthType = "basicAuth" // BasicAuth
HTTPAuthTypeSubRequest HTTPAuthType = "subRequest" // 子请求
)
type HTTPAuthTypeDefinition struct {
Name string `json:"name"`
Code string `json:"code"`
Description string `json:"description"`
}
func FindAllHTTPAuthTypes() []*HTTPAuthTypeDefinition {
return []*HTTPAuthTypeDefinition{
{
Name: "基本认证",
Code: HTTPAuthTypeBasicAuth,
Description: "BasicAuth最简单的HTTP请求认证方式通过传递<span class=\"ui label tiny basic text\">Authorization: Basic xxx</span> Header认证。",
},
{
Name: "子请求",
Code: HTTPAuthTypeSubRequest,
Description: "通过自定义的URL子请求来认证请求。",
},
}
}

View File

@@ -0,0 +1,53 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package serverconfigs
import (
"errors"
"net/http"
)
// HTTPAuthPolicy HTTP认证策略
type HTTPAuthPolicy struct {
Id int64 `json:"id"`
Name string `json:"name"`
IsOn bool `json:"isOn"`
Type HTTPAuthType `json:"type"`
Params map[string]interface{} `json:"params"`
method HTTPAuthMethodInterface
}
// Init 初始化
func (this *HTTPAuthPolicy) Init() error {
switch this.Type {
case HTTPAuthTypeBasicAuth:
this.method = NewHTTPAuthBasicMethod()
case HTTPAuthTypeSubRequest:
this.method = NewHTTPAuthSubRequestMethod()
}
if this.method == nil {
return errors.New("unknown auth method '" + this.Type + "'")
}
err := this.method.Init(this.Params)
if err != nil {
return err
}
return nil
}
// Filter 过滤
func (this *HTTPAuthPolicy) Filter(req *http.Request, subReqFunc func(subReq *http.Request) (status int, err error), formatter func(string) string) (bool, error) {
if this.method == nil {
// 如果设置正确的方法,我们直接允许请求
return true, nil
}
return this.method.Filter(req, subReqFunc, formatter)
}
// Method 获取认证实例
func (this *HTTPAuthPolicy) Method() HTTPAuthMethodInterface {
return this.method
}

View File

@@ -0,0 +1,20 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package serverconfigs
// HTTPAuthPolicyRef 认证策略引用
type HTTPAuthPolicyRef struct {
IsOn bool `yaml:"isOn" json:"isOn"`
AuthPolicyId int64 `yaml:"authPolicyId" json:"authPolicyId"`
AuthPolicy *HTTPAuthPolicy `yaml:"authPolicy" json:"authPolicy"`
}
func (this *HTTPAuthPolicyRef) Init() error {
if this.AuthPolicy != nil {
err := this.AuthPolicy.Init()
if err != nil {
return err
}
}
return nil
}

View File

@@ -0,0 +1,108 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package serverconfigs
import (
"crypto/tls"
"encoding/json"
"net/http"
"regexp"
"time"
)
var httpAuthSubRequestHTTPClient = &http.Client{
Timeout: 10 * time.Second,
Transport: &http.Transport{
TLSClientConfig: &tls.Config{
InsecureSkipVerify: true,
},
},
}
// HTTPAuthSubRequestMethod 使用URL认证
type HTTPAuthSubRequestMethod struct {
URL string `json:"url"`
Method string `json:"method"`
// TODO 增加自定义Header、超时、证书等
isFullURL bool
}
func NewHTTPAuthSubRequestMethod() *HTTPAuthSubRequestMethod {
return &HTTPAuthSubRequestMethod{}
}
// Init 初始化
func (this *HTTPAuthSubRequestMethod) Init(params map[string]interface{}) error {
paramsJSON, err := json.Marshal(params)
if err != nil {
return err
}
err = json.Unmarshal(paramsJSON, this)
if err != nil {
return err
}
// 是否是完整的URL
this.isFullURL = false
if regexp.MustCompile(`^(?i)(http|https)://`).MatchString(this.URL) {
this.isFullURL = true
} else {
if len(this.URL) == 0 || this.URL[0] != '/' {
this.URL = "/" + this.URL
}
}
return nil
}
// Filter 过滤
func (this *HTTPAuthSubRequestMethod) Filter(req *http.Request, doSubReq func(subReq *http.Request) (status int, err error), formatter func(string) string) (bool, error) {
var method = this.Method
if len(method) == 0 {
method = req.Method
}
var url = formatter(this.URL)
var scheme = "http"
if req.TLS != nil {
scheme = "https"
}
var host = req.URL.Host
if len(host) == 0 {
host = req.Host
}
if !this.isFullURL {
url = scheme + "://" + host + url
}
newReq, err := http.NewRequest(method, url, nil)
if err != nil {
return false, err
}
for k, v := range req.Header {
if k != "Connection" {
newReq.Header[k] = v
}
}
if !this.isFullURL {
status, err := doSubReq(newReq)
if err != nil {
return false, err
}
return status >= 200 && status < 300, nil
}
// TODO 需要将Header和StatusCode、ResponseBody输出到客户端
newReq.Header.Set("Referer", scheme+"://"+host+req.URL.RequestURI())
resp, err := httpAuthSubRequestHTTPClient.Do(newReq)
if err != nil {
return false, err
}
defer func() {
_ = resp.Body.Close()
}()
return resp.StatusCode >= 200 && resp.StatusCode < 300, nil
}

View File

@@ -0,0 +1,64 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package serverconfigs
import (
"github.com/iwind/TeaGo/rands"
"net/http"
"strings"
"testing"
)
func TestHTTPAuthRequestMethod_Filter(t *testing.T) {
method := &HTTPAuthSubRequestMethod{}
err := method.Init(map[string]interface{}{
"url": "http://127.0.0.1:2345/",
"method": http.MethodPost,
})
if err != nil {
t.Fatal(err)
}
req, err := http.NewRequest(http.MethodGet, "https://teaos.cn/", nil)
if err != nil {
t.Fatal(err)
}
req.Header.Set("Hello", "World")
req.Header.Set("User-Agent", "GoEdge/1.0")
b, err := method.Filter(req, func(subReq *http.Request) (status int, err error) {
return
}, func(s string) string {
return s
})
if err != nil {
t.Fatal(err)
}
t.Log("result:", b)
}
func TestHTTPAuthRequestMethod_Filter_Path(t *testing.T) {
method := &HTTPAuthSubRequestMethod{}
err := method.Init(map[string]interface{}{
"url": "/hello?${var}",
"method": http.MethodGet,
})
if err != nil {
t.Fatal(err)
}
req, err := http.NewRequest(http.MethodGet, "http://teaos.cn/", nil)
if err != nil {
t.Fatal(err)
}
req.Header.Set("Hello", "World")
req.Header.Set("User-Agent", "GoEdge/1.0")
b, err := method.Filter(req, func(subReq *http.Request) (status int, err error) {
status = rands.Int(200, 400)
t.Log("execute sub request:", subReq.URL, status)
return
}, func(s string) string {
return strings.ReplaceAll(s, "${var}", "$VAR")
})
if err != nil {
t.Fatal(err)
}
t.Log("result:", b)
}

View File

@@ -65,7 +65,7 @@ func (this *HTTPHostRedirectConfig) BeforeURLRegexp() *regexp.Regexp {
// MatchRequest 判断请求是否符合条件
func (this *HTTPHostRedirectConfig) MatchRequest(formatter func(source string) string) bool {
if this.Conds == nil {
if this.Conds == nil || !this.Conds.HasRequestConds() {
return true
}
return this.Conds.MatchRequest(formatter)

View File

@@ -260,7 +260,7 @@ func (this *HTTPLocationConfig) ExtractPattern() error {
// TODO 支持子Location
func (this *HTTPLocationConfig) Match(path string, formatter func(source string) string) (vars map[string]string, isMatched bool) {
// 判断条件
if this.Conds != nil && !this.Conds.MatchRequest(formatter) {
if this.Conds != nil && this.Conds.HasRequestConds() && !this.Conds.MatchRequest(formatter) {
return
}

View File

@@ -90,7 +90,7 @@ func (this *HTTPRewriteRule) MatchRequest(requestPath string, formatter func(sou
}
// 判断条件
if this.Conds != nil && !this.Conds.MatchRequest(formatter) {
if this.Conds != nil && this.Conds.HasRequestConds() && !this.Conds.MatchRequest(formatter) {
return "", nil, false
}

View File

@@ -39,6 +39,7 @@ type HTTPWebConfig struct {
FilterPolicies []*HTTPFilterPolicy `yaml:"filterPolicies" json:"filterPolicies"` // 筛选策略
HostRedirects []*HTTPHostRedirectConfig `yaml:"hostRedirects" json:"hostRedirects"` // 主机跳转
Auth *HTTPAuthConfig `yaml:"auth" json:"auth"` // 认证配置
}
func (this *HTTPWebConfig) Init() error {
@@ -224,6 +225,14 @@ func (this *HTTPWebConfig) Init() error {
}
}
// auth
if this.Auth != nil {
err := this.Auth.Init()
if err != nil {
return err
}
}
return nil
}

View File

@@ -0,0 +1,64 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package serverconfigs
import (
"github.com/cespare/xxhash/v2"
"github.com/iwind/TeaGo/types"
"strconv"
)
// MetricItemCategory 指标分类
type MetricItemCategory = string
const (
MetricItemCategoryHTTP MetricItemCategory = "http"
MetricItemCategoryTCP MetricItemCategory = "tcp"
MetricItemCategoryUDP MetricItemCategory = "udp"
)
// MetricItemPeriodUnit 指标周期单位
type MetricItemPeriodUnit = string
const (
MetricItemPeriodUnitMinute MetricItemPeriodUnit = "minute"
MetricItemPeriodUnitHour MetricItemPeriodUnit = "hour"
MetricItemPeriodUnitDay MetricItemPeriodUnit = "day"
MetricItemPeriodUnitWeek MetricItemPeriodUnit = "week"
MetricItemPeriodUnitMonth MetricItemPeriodUnit = "month"
)
// MetricItemConfig 指标配置
type MetricItemConfig struct {
Id int64 `yaml:"id" json:"id"`
IsOn bool `yaml:"isOn" json:"isOn"`
Category MetricItemCategory `yaml:"category" json:"category"`
Period int `yaml:"period" json:"period"`
PeriodUnit MetricItemPeriodUnit `yaml:"periodUnit" json:"periodUnit"`
Keys []string `yaml:"keys" json:"keys"`
Value string `yaml:"value" json:"value"`
sumType string // 统计类型
}
// Init 初始化
func (this *MetricItemConfig) Init() error {
return nil
}
// ParseRequest 处理请求
func (this *MetricItemConfig) ParseRequest(format func(string) string) (key string, hash string, value float64) {
for _, k := range this.Keys {
key += "@" + format(k)
}
hash = strconv.FormatUint(xxhash.Sum64String(key), 10)
// TODO value将来支持复杂运算比如 ${request.traffic.bytes} * 8
if len(this.Value) == 0 {
value = 1
} else {
value = types.Float64(format(this.Value))
}
return
}

View File

@@ -0,0 +1,39 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package serverconfigs
import (
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
"testing"
)
func TestMetricItemConfig_ProcessRequest(t *testing.T) {
var metric = &MetricItemConfig{
Keys: []string{"${remoteAddr}", "${status}", "${requestPath}"},
Value: "${trafficIn}",
}
key, hash, value := metric.ParseRequest(func(s string) string {
return configutils.ParseVariables(s, func(varName string) (value string) {
switch varName {
case "trafficIn":
return "1000"
}
return "[" + varName + "]"
})
})
t.Log("key:", key, "hash:", hash)
t.Logf("value: %f", value)
}
func BenchmarkMetricItemConfig_ProcessRequest(b *testing.B) {
var metric = &MetricItemConfig{
Keys: []string{"${remoteAddr}", "${status}"},
}
for i := 0; i < b.N; i++ {
metric.ParseRequest(func(s string) string {
return configutils.ParseVariables(s, func(varName string) (value string) {
return "[" + varName + "]"
})
})
}
}

View File

@@ -2,7 +2,7 @@ package shared
import "strings"
// HeaderList定义
// HTTPHeaderPolicy HeaderList定义
type HTTPHeaderPolicy struct {
Id int64 `yaml:"id" json:"id"` // ID
Name string `yaml:"name" json:"name"` // 名称 TODO
@@ -26,7 +26,7 @@ type HTTPHeaderPolicy struct {
deleteHeaderMap map[string]bool // header => bool
}
// 校验
// Init 校验
func (this *HTTPHeaderPolicy) Init() error {
this.addHeaderNames = []string{}
for _, h := range this.AddHeaders {
@@ -69,12 +69,12 @@ func (this *HTTPHeaderPolicy) Init() error {
return nil
}
// 判断是否为空
// IsEmpty 判断是否为空
func (this *HTTPHeaderPolicy) IsEmpty() bool {
return len(this.AddHeaders) == 0 && len(this.AddTrailers) == 0 && len(this.SetHeaders) == 0 && len(this.ReplaceHeaders) == 0 && this.Expires == nil
return len(this.AddHeaders) == 0 && len(this.AddTrailers) == 0 && len(this.SetHeaders) == 0 && len(this.ReplaceHeaders) == 0 && this.Expires == nil && len(this.DeleteHeaders) == 0
}
// 判断Add和Set中是否包含某个Header
// ContainsHeader 判断Add和Set中是否包含某个Header
func (this *HTTPHeaderPolicy) ContainsHeader(name string) bool {
name = strings.ToUpper(name)
@@ -91,7 +91,7 @@ func (this *HTTPHeaderPolicy) ContainsHeader(name string) bool {
return false
}
// 判断删除列表中是否包含某个Header
// ContainsDeletedHeader 判断删除列表中是否包含某个Header
func (this *HTTPHeaderPolicy) ContainsDeletedHeader(name string) bool {
_, ok := this.deleteHeaderMap[strings.ToUpper(name)]
return ok

View File

@@ -0,0 +1,249 @@
package vars
import (
"bytes"
"errors"
"fmt"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
"github.com/iwind/TeaGo/types"
"math"
"reflect"
"strconv"
"strings"
)
// func列表code => type
var funcMap = map[string]reflect.Value{
"float": reflect.ValueOf(FuncFloat),
"round": reflect.ValueOf(FuncRound),
"ceil": reflect.ValueOf(FuncCeil),
"floor": reflect.ValueOf(FuncFloor),
"format": reflect.ValueOf(FuncFormat),
"append": reflect.ValueOf(FuncAppend),
}
// FuncFloat 浮点数处理
// float | float('%.2f')
func FuncFloat(args ...interface{}) interface{} {
if len(args) == 0 {
return 0
}
if len(args) == 1 {
return types.Float64(args[0])
}
args[0] = types.Float64(args[0])
return FuncFormat(args...)
}
// FuncRound 对数字四舍五入
// round | round(2)
func FuncRound(args ...interface{}) interface{} {
if len(args) == 0 {
return 0
}
if len(args) == 1 {
return int64(math.Round(types.Float64(args[0])))
}
precision := types.Int64(args[1])
if precision <= 0 {
return int64(math.Round(types.Float64(args[0])))
}
return fmt.Sprintf("%."+strconv.FormatInt(precision, 10)+"f", types.Float64(args[0]))
}
// FuncCeil 对数字进行取不小于它的整数
// ceil
func FuncCeil(args ...interface{}) interface{} {
if len(args) == 0 {
return 0
}
return int64(math.Ceil(types.Float64(args[0])))
}
// FuncFloor 对数字进行取不大于它的整数
// floor
func FuncFloor(args ...interface{}) interface{} {
if len(args) == 0 {
return 0
}
return int64(math.Floor(types.Float64(args[0])))
}
// FuncFormat 格式化
// format('%.2f')
func FuncFormat(args ...interface{}) interface{} {
if len(args) == 0 {
return ""
}
if len(args) == 1 {
return types.String(args[0])
}
format := types.String(args[1])
if len(args) == 2 {
return fmt.Sprintf(format, args[0])
} else {
return fmt.Sprintf(format, append([]interface{}{args[0]}, args[2:]...)...)
}
}
// FuncAppend 附加字符串
// append('a', 'b')
func FuncAppend(args ...interface{}) interface{} {
s := strings.Builder{}
for _, arg := range args {
s.WriteString(types.String(arg))
}
return s.String()
}
// RunFuncExpr 执行函数表达式
func RunFuncExpr(value interface{}, expr []byte) (interface{}, error) {
// 防止因nil参数导致panic
if value == nil {
value = ""
}
// 空表达式直接返回
if len(expr) == 0 || len(bytes.TrimSpace(expr)) == 0 {
return value, nil
}
identifier := []byte{}
isInQuote := false
isQuoted := false
quoteByte := byte(0)
funcCode := ""
args := []interface{}{value}
for index, b := range expr {
switch b {
case '|':
if isInQuote {
identifier = append(identifier, b)
} else { // end function
if len(funcCode) == 0 {
funcCode = string(identifier)
} else if len(identifier) > 0 {
return value, errors.New("invalid identifier '" + string(identifier) + "'")
}
value, err := callFunc(funcCode, args)
if err != nil {
return value, err
}
return RunFuncExpr(value, expr[index+1:])
}
case '(':
if isInQuote {
identifier = append(identifier, b)
} else {
funcCode = string(identifier)
identifier = []byte{}
}
case ',', ')':
if isInQuote {
identifier = append(identifier, b)
} else {
if isQuoted {
isQuoted = false
args = append(args, string(identifier))
} else {
arg, err := checkLiteral(string(identifier))
if err != nil {
return value, err
}
args = append(args, arg)
}
identifier = []byte{}
}
case '\\':
if isInQuote && (index == len(expr)-1 || expr[index+1] != quoteByte) {
identifier = append(identifier, b)
} else {
continue
}
case '\'', '"':
if isInQuote {
if quoteByte == b && expr[index-1] != '\\' {
isInQuote = false
break
}
} else if index == 0 || expr[index-1] != '\\' {
isInQuote = true
isQuoted = true
quoteByte = b
break
}
identifier = append(identifier, b)
case ' ', '\t':
if isInQuote {
identifier = append(identifier, b)
}
default:
identifier = append(identifier, b)
}
}
if len(funcCode) == 0 {
funcCode = string(identifier)
} else if len(identifier) > 0 {
return value, errors.New("invalid identifier '" + string(identifier) + "'")
}
return callFunc(funcCode, args)
}
// RegisterFunc 注册一个函数
func RegisterFunc(code string, f interface{}) {
funcMap[code] = reflect.ValueOf(f)
}
// 调用一个函数
func callFunc(funcCode string, args []interface{}) (value interface{}, err error) {
fn, ok := funcMap[funcCode]
if !ok {
return value, errors.New("function '" + funcCode + "' not found")
}
argValues := []reflect.Value{}
for _, arg := range args {
argValues = append(argValues, reflect.ValueOf(arg))
}
result := fn.Call(argValues)
if len(result) == 0 {
value = nil
} else {
value = result[0].Interface()
}
return
}
// 检查字面量支持true, false, null, nil和整数数字、浮点数数字不支持e
func checkLiteral(identifier string) (result interface{}, err error) {
if len(identifier) == 0 {
return "", nil
}
switch strings.ToLower(identifier) {
case "true":
result = true
return
case "false":
result = false
return
case "null", "nil":
result = nil
return
default:
if shared.RegexpAllDigitNumber.MatchString(identifier) {
result = types.Int64(identifier)
return
}
if shared.RegexpAllFloatNumber.MatchString(identifier) {
result = types.Float64(identifier)
return
}
}
err = errors.New("undefined identifier '" + identifier + "'")
return
}

View File

@@ -0,0 +1,188 @@
package vars
import (
"github.com/iwind/TeaGo/assert"
"reflect"
"testing"
)
func TestFuncFloat(t *testing.T) {
a := assert.NewAssertion(t)
a.IsTrue(FuncFloat() == 0)
a.IsTrue(FuncFloat("123.456789") == 123.456789)
a.IsTrue(FuncFloat("123.456789", "%.2f") == "123.46")
}
func TestFuncFormat(t *testing.T) {
a := assert.NewAssertion(t)
t.Log(FuncFormat(123.456789, "%.2f"))
a.IsTrue(FuncFormat(123.456789, "%.2f") == "123.46")
a.IsTrue(FuncFormat(123.456123, "%.3f%s", "HELLO") == "123.456HELLO")
}
func TestFuncAppend(t *testing.T) {
a := assert.NewAssertion(t)
a.IsTrue(FuncAppend("a", "b", "c") == "abc")
}
func TestFuncCall(t *testing.T) {
{
funcType := reflect.ValueOf(FuncFloat)
values := funcType.Call([]reflect.Value{reflect.ValueOf("123.4567890123")})
for _, v := range values {
t.Log(v.Interface())
}
}
{
funcType := reflect.ValueOf(FuncAppend)
values := funcType.Call([]reflect.Value{reflect.ValueOf("a"), reflect.ValueOf("b"), reflect.ValueOf("c")})
for _, v := range values {
t.Log(v.Interface())
}
}
}
func TestRunFuncExpr(t *testing.T) {
a := assert.NewAssertion(t)
t.Log(RunFuncExpr(123.456789, []byte("float|format('%.3f%s,%s', 'a', 'b')|append('a1','b2','c3')")))
t.Log(RunFuncExpr(123.456, []byte("append('a', 'b2', 'c345\"', \"6789'10'\", '\\'Hello\\'\\\"')")))
t.Log(RunFuncExpr(123.456, []byte("append('78910')|float|format('%.6f')")))
t.Log(RunFuncExpr(123.456, []byte("format('%.2f') | append('a', 'b', 'c\td')")))
t.Log(RunFuncExpr(123.456, []byte("append(123.456, true, 'a')")))
t.Log(RunFuncExpr(123.456, []byte("")))
t.Log(RunFuncExpr(123.456, []byte(" ")))
{
v, err := RunFuncExpr(123.456, []byte(" format('%.2f')"))
if err != nil {
t.Fatal(err)
}
a.IsTrue(v == "123.46")
}
t.Log(RunFuncExpr(nil, []byte("float")))
{
v, err := RunFuncExpr("123.456", []byte("round"))
if err != nil {
t.Fatal(err)
}
t.Log(v)
a.IsTrue(v == int64(123))
}
{
v, err := RunFuncExpr("123.567", []byte("round"))
if err != nil {
t.Fatal(err)
}
t.Log(v)
a.IsTrue(v == int64(124))
}
{
v, err := RunFuncExpr("123.567", []byte("round(2)"))
if err != nil {
t.Fatal(err)
}
t.Log(v)
a.IsTrue(v == "123.57")
}
{
v, err := RunFuncExpr("123.4567123", []byte("round(4)"))
if err != nil {
t.Fatal(err)
}
t.Log(v)
a.IsTrue(v == "123.4567")
}
{
v, err := RunFuncExpr("123.567", []byte("ceil"))
if err != nil {
t.Fatal(err)
}
t.Log(v)
a.IsTrue(v == int64(124))
}
{
v, err := RunFuncExpr("123.567", []byte("floor"))
if err != nil {
t.Fatal(err)
}
t.Log(v)
a.IsTrue(v == int64(123))
}
}
func TestCheckLiteral(t *testing.T) {
a := assert.NewAssertion(t)
{
_, err := checkLiteral("abc")
a.IsNotNil(err)
t.Log(err)
}
{
result, err := checkLiteral("true")
a.IsNil(err)
a.IsTrue(result == true)
}
{
result, err := checkLiteral("false")
a.IsNil(err)
a.IsTrue(result == false)
}
{
result, err := checkLiteral("null")
a.IsNil(err)
a.IsTrue(result == nil)
}
{
result, err := checkLiteral("nil")
a.IsNil(err)
a.IsTrue(result == nil)
}
{
result, err := checkLiteral("123")
a.IsNil(err)
t.Log(result)
a.IsTrue(result == int64(123))
}
{
result, err := checkLiteral("+123")
a.IsNil(err)
t.Log(result)
a.IsTrue(result == int64(123))
}
{
result, err := checkLiteral("-123")
a.IsNil(err)
t.Log(result)
a.IsTrue(result == int64(-123))
}
{
result, err := checkLiteral("123.456")
a.IsNil(err)
t.Log(result)
a.IsTrue(result == 123.456)
}
{
result, err := checkLiteral("-123.456")
a.IsNil(err)
t.Log(result)
a.IsTrue(result == -123.456)
}
}