From f8049b3739634f7141e603d4481c3a85479c1667 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sun, 30 Aug 2020 16:12:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=8A=82=E7=82=B9IP=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=E7=AE=A1=E7=90=86=E7=AD=89=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/grpc.sh | 1 + internal/apis/api_node.go | 1 + internal/db/models/node_cluster_dao.go | 59 +- internal/db/models/node_cluster_model.go | 24 +- internal/db/models/node_dao.go | 23 +- internal/db/models/node_ip_address_dao.go | 129 ++ .../db/models/node_ip_address_dao_test.go | 5 + internal/db/models/node_ip_address_model.go | 26 + .../db/models/node_ip_address_model_ext.go | 1 + internal/db/models/node_model.go | 4 + internal/rpc/pb/model_node.pb.go | 75 +- internal/rpc/pb/model_node_cluster.pb.go | 40 +- internal/rpc/pb/model_node_ip_address.pb.go | 203 +++ internal/rpc/pb/service_node.pb.go | 521 +++++-- internal/rpc/pb/service_node_cluster.pb.go | 1248 +++++++++++++-- internal/rpc/pb/service_node_ip_address.pb.go | 1375 +++++++++++++++++ internal/rpc/protos/model_node.proto | 5 + internal/rpc/protos/model_node_cluster.proto | 2 + .../rpc/protos/model_node_ip_address.proto | 14 + internal/rpc/protos/service_node.proto | 19 +- .../rpc/protos/service_node_cluster.proto | 86 +- .../rpc/protos/service_node_ip_address.proto | 97 ++ internal/rpc/services/service_node.go | 29 +- internal/rpc/services/service_node_cluster.go | 120 +- .../rpc/services/service_node_ip_address.go | 149 ++ 25 files changed, 3945 insertions(+), 311 deletions(-) create mode 100644 internal/db/models/node_ip_address_dao.go create mode 100644 internal/db/models/node_ip_address_dao_test.go create mode 100644 internal/db/models/node_ip_address_model.go create mode 100644 internal/db/models/node_ip_address_model_ext.go create mode 100644 internal/rpc/pb/model_node_ip_address.pb.go create mode 100644 internal/rpc/pb/service_node_ip_address.pb.go create mode 100644 internal/rpc/protos/model_node_ip_address.proto create mode 100644 internal/rpc/protos/service_node_ip_address.proto create mode 100644 internal/rpc/services/service_node_ip_address.go diff --git a/build/grpc.sh b/build/grpc.sh index c28e18cf..f4878881 100755 --- a/build/grpc.sh +++ b/build/grpc.sh @@ -16,6 +16,7 @@ pub ${ADMIN_PROJECT} admin pub ${ADMIN_PROJECT} node pub ${ADMIN_PROJECT} node_cluster pub ${ADMIN_PROJECT} node_grant +pub ${ADMIN_PROJECT} node_ip_address pub ${ADMIN_PROJECT} server cp ../internal/rpc/pb/model_*.go ${ADMIN_PROJECT}/internal/rpc/pb/ diff --git a/internal/apis/api_node.go b/internal/apis/api_node.go index 19ea52ba..0ba90de6 100644 --- a/internal/apis/api_node.go +++ b/internal/apis/api_node.go @@ -56,6 +56,7 @@ func (this *APINode) listenRPC() error { pb.RegisterServerServiceServer(rpcServer, &services.ServerService{}) pb.RegisterNodeServiceServer(rpcServer, &services.NodeService{}) pb.RegisterNodeClusterServiceServer(rpcServer, &services.NodeClusterService{}) + pb.RegisterNodeIPAddressServiceServer(rpcServer, &services.NodeIPAddressService{}) err = rpcServer.Serve(listener) if err != nil { return errors.New("[API]start rpc failed: " + err.Error()) diff --git a/internal/db/models/node_cluster_dao.go b/internal/db/models/node_cluster_dao.go index 3a803cd5..cb75a0ba 100644 --- a/internal/db/models/node_cluster_dao.go +++ b/internal/db/models/node_cluster_dao.go @@ -1,9 +1,11 @@ package models import ( + "errors" _ "github.com/go-sql-driver/mysql" "github.com/iwind/TeaGo/Tea" "github.com/iwind/TeaGo/dbs" + "github.com/iwind/TeaGo/types" ) const ( @@ -27,19 +29,21 @@ func NewNodeClusterDAO() *NodeClusterDAO { var SharedNodeClusterDAO = NewNodeClusterDAO() // 启用条目 -func (this *NodeClusterDAO) EnableNodeCluster(id uint32) (rowsAffected int64, err error) { - return this.Query(). +func (this *NodeClusterDAO) EnableNodeCluster(id int64) error { + _, err := this.Query(). Pk(id). Set("state", NodeClusterStateEnabled). Update() + return err } // 禁用条目 -func (this *NodeClusterDAO) DisableNodeCluster(id uint32) (rowsAffected int64, err error) { - return this.Query(). +func (this *NodeClusterDAO) DisableNodeCluster(id int64) error { + _, err := this.Query(). Pk(id). Set("state", NodeClusterStateDisabled). Update() + return err } // 查找启用中的条目 @@ -72,3 +76,50 @@ func (this *NodeClusterDAO) FindAllEnableClusters() (result []*NodeCluster, err FindAll() return } + +// 创建集群 +func (this *NodeClusterDAO) CreateCluster(name string, grantId int64, installDir string) (clusterId int64, err error) { + op := NewNodeClusterOperator() + op.Name = name + op.GrantId = grantId + op.InstallDir = installDir + op.State = NodeClusterStateEnabled + _, err = this.Save(op) + if err != nil { + return 0, err + } + + return types.Int64(op.Id), nil +} + +// 修改集群 +func (this *NodeClusterDAO) UpdateCluster(clusterId int64, name string, grantId int64, installDir string) error { + if clusterId <= 0 { + return errors.New("invalid clusterId") + } + op := NewNodeClusterOperator() + op.Id = clusterId + op.Name = name + op.GrantId = grantId + op.InstallDir = installDir + _, err := this.Save(op) + return err +} + +// 计算所有集群数量 +func (this *NodeClusterDAO) CountAllEnabledClusters() (int64, error) { + return this.Query(). + State(NodeClusterStateEnabled). + Count() +} + +// 列出单页集群 +func (this *NodeClusterDAO) ListEnabledClusters(offset, size int64) (result []*NodeCluster, err error) { + _, err = this.Query(). + State(NodeClusterStateEnabled). + Offset(offset). + Limit(size). + Slice(&result). + FindAll() + return +} diff --git a/internal/db/models/node_cluster_model.go b/internal/db/models/node_cluster_model.go index a2256ea1..fbc2049f 100644 --- a/internal/db/models/node_cluster_model.go +++ b/internal/db/models/node_cluster_model.go @@ -2,19 +2,23 @@ package models // 节点集群 type NodeCluster struct { - Id uint32 `field:"id"` // ID - Name string `field:"name"` // 名称 - Order uint32 `field:"order"` // 排序 - CreatedAt uint32 `field:"createdAt"` // 创建时间 - State uint8 `field:"state"` // 状态 + Id uint32 `field:"id"` // ID + Name string `field:"name"` // 名称 + InstallDir string `field:"installDir"` // 安装目录 + GrantId uint32 `field:"grantId"` // 默认认证方式 + Order uint32 `field:"order"` // 排序 + CreatedAt uint32 `field:"createdAt"` // 创建时间 + State uint8 `field:"state"` // 状态 } type NodeClusterOperator struct { - Id interface{} // ID - Name interface{} // 名称 - Order interface{} // 排序 - CreatedAt interface{} // 创建时间 - State interface{} // 状态 + Id interface{} // ID + Name interface{} // 名称 + InstallDir interface{} // 安装目录 + GrantId interface{} // 默认认证方式 + Order interface{} // 排序 + CreatedAt interface{} // 创建时间 + State interface{} // 状态 } func NewNodeClusterOperator() *NodeClusterOperator { diff --git a/internal/db/models/node_dao.go b/internal/db/models/node_dao.go index d7b03c5f..53149e7a 100644 --- a/internal/db/models/node_dao.go +++ b/internal/db/models/node_dao.go @@ -169,14 +169,19 @@ func (this *NodeDAO) CountAllEnabledNodes() (int64, error) { } // 列出单页节点 -func (this *NodeDAO) ListEnabledNodes(offset int64, size int64) (result []*Node, err error) { - _, err = this.Query(). +func (this *NodeDAO) ListEnabledNodesMatch(offset int64, size int64, clusterId int64) (result []*Node, err error) { + query := this.Query(). State(NodeStateEnabled). Offset(offset). Limit(size). DescPk(). - Slice(&result). - FindAll() + Slice(&result) + + if clusterId > 0 { + query.Attr("clusterId", clusterId) + } + + _, err = query.FindAll() return } @@ -236,6 +241,16 @@ func (this *NodeDAO) FindAllNodeIdsMatch(clusterId int64) (result []int64, err e return } +// 计算节点数量 +func (this *NodeDAO) CountAllEnabledNodesMatch(clusterId int64) (int64, error) { + query := this.Query() + query.State(NodeStateEnabled) + if clusterId > 0 { + query.Attr("clusterId", clusterId) + } + return query.Count() +} + // 更改节点状态 func (this *NodeDAO) UpdateNodeStatus(nodeId int64, statusJSON []byte) error { _, err := this.Query(). diff --git a/internal/db/models/node_ip_address_dao.go b/internal/db/models/node_ip_address_dao.go new file mode 100644 index 00000000..121ed6d7 --- /dev/null +++ b/internal/db/models/node_ip_address_dao.go @@ -0,0 +1,129 @@ +package models + +import ( + "errors" + _ "github.com/go-sql-driver/mysql" + "github.com/iwind/TeaGo/Tea" + "github.com/iwind/TeaGo/dbs" + "github.com/iwind/TeaGo/types" +) + +const ( + NodeIPAddressStateEnabled = 1 // 已启用 + NodeIPAddressStateDisabled = 0 // 已禁用 +) + +type NodeIPAddressDAO dbs.DAO + +func NewNodeIPAddressDAO() *NodeIPAddressDAO { + return dbs.NewDAO(&NodeIPAddressDAO{ + DAOObject: dbs.DAOObject{ + DB: Tea.Env, + Table: "edgeNodeIPAddresses", + Model: new(NodeIPAddress), + PkName: "id", + }, + }).(*NodeIPAddressDAO) +} + +var SharedNodeIPAddressDAO = NewNodeIPAddressDAO() + +// 启用条目 +func (this *NodeIPAddressDAO) EnableAddress(id int64) (err error) { + _, err = this.Query(). + Pk(id). + Set("state", NodeIPAddressStateEnabled). + Update() + return err +} + +// 禁用IP地址 +func (this *NodeIPAddressDAO) DisableAddress(id int64) (err error) { + _, err = this.Query(). + Pk(id). + Set("state", NodeIPAddressStateDisabled). + Update() + return err +} + +// 禁用节点的所有的IP地址 +func (this *NodeIPAddressDAO) DisableAllAddressesWithNodeId(nodeId int64) error { + if nodeId <= 0 { + return errors.New("invalid nodeId") + } + _, err := this.Query(). + Attr("nodeId", nodeId). + Set("state", NodeIPAddressStateDisabled). + Update() + return err +} + +// 查找启用中的IP地址 +func (this *NodeIPAddressDAO) FindEnabledAddress(id int64) (*NodeIPAddress, error) { + result, err := this.Query(). + Pk(id). + Attr("state", NodeIPAddressStateEnabled). + Find() + if result == nil { + return nil, err + } + return result.(*NodeIPAddress), err +} + +// 根据主键查找名称 +func (this *NodeIPAddressDAO) FindAddressName(id int64) (string, error) { + return this.Query(). + Pk(id). + Result("name"). + FindStringCol("") +} + +// 创建IP地址 +func (this *NodeIPAddressDAO) CreateAddress(nodeId int64, name string, ip string) (addressId int64, err error) { + op := NewNodeIPAddressOperator() + op.NodeId = nodeId + op.Name = name + op.IP = ip + op.State = NodeIPAddressStateEnabled + _, err = this.Save(op) + if err != nil { + return 0, err + } + return types.Int64(op.Id), nil +} + +// 修改IP地址 +func (this *NodeIPAddressDAO) UpdateAddress(addressId int64, name string, ip string) (err error) { + if addressId <= 0 { + return errors.New("invalid addressId") + } + + op := NewNodeIPAddressOperator() + op.Id = addressId + op.Name = name + op.IP = ip + _, err = this.Save(op) + return err +} + +// 修改IP地址所属节点 +func (this *NodeIPAddressDAO) UpdateAddressNodeId(addressId int64, nodeId int64) error { + _, err := this.Query(). + Pk(addressId). + Set("nodeId", nodeId). + Set("state", NodeIPAddressStateEnabled). // 恢复状态 + Update() + return err +} + +// 查找某个节点所有的IP地址 +func (this *NodeIPAddressDAO) FindAllEnabledAddressesWithNode(nodeId int64) (result []*NodeIPAddress, err error) { + _, err = this.Query(). + Attr("nodeId", nodeId). + State(NodeIPAddressStateEnabled). + Desc("order"). + AscPk(). + Slice(&result). + FindAll() + return +} diff --git a/internal/db/models/node_ip_address_dao_test.go b/internal/db/models/node_ip_address_dao_test.go new file mode 100644 index 00000000..97c24b56 --- /dev/null +++ b/internal/db/models/node_ip_address_dao_test.go @@ -0,0 +1,5 @@ +package models + +import ( + _ "github.com/go-sql-driver/mysql" +) diff --git a/internal/db/models/node_ip_address_model.go b/internal/db/models/node_ip_address_model.go new file mode 100644 index 00000000..fa66cb2d --- /dev/null +++ b/internal/db/models/node_ip_address_model.go @@ -0,0 +1,26 @@ +package models + +// +type NodeIPAddress struct { + Id uint32 `field:"id"` // ID + NodeId uint32 `field:"nodeId"` // 节点ID + Name string `field:"name"` // 名称 + IP string `field:"ip"` // IP地址 + Description string `field:"description"` // 描述 + State uint8 `field:"state"` // 状态 + Order uint32 `field:"order"` // 排序 +} + +type NodeIPAddressOperator struct { + Id interface{} // ID + NodeId interface{} // 节点ID + Name interface{} // 名称 + IP interface{} // IP地址 + Description interface{} // 描述 + State interface{} // 状态 + Order interface{} // 排序 +} + +func NewNodeIPAddressOperator() *NodeIPAddressOperator { + return &NodeIPAddressOperator{} +} diff --git a/internal/db/models/node_ip_address_model_ext.go b/internal/db/models/node_ip_address_model_ext.go new file mode 100644 index 00000000..2640e7f9 --- /dev/null +++ b/internal/db/models/node_ip_address_model_ext.go @@ -0,0 +1 @@ +package models diff --git a/internal/db/models/node_model.go b/internal/db/models/node_model.go index c6c604d9..3a64cda5 100644 --- a/internal/db/models/node_model.go +++ b/internal/db/models/node_model.go @@ -15,6 +15,8 @@ type Node struct { Status string `field:"status"` // 最新的状态 Version uint32 `field:"version"` // 当前版本号 LatestVersion uint32 `field:"latestVersion"` // 最后版本号 + InstallDir string `field:"installDir"` // 安装目录 + IsInstalled uint8 `field:"isInstalled"` // 是否已安装 State uint8 `field:"state"` // 状态 } @@ -32,6 +34,8 @@ type NodeOperator struct { Status interface{} // 最新的状态 Version interface{} // 当前版本号 LatestVersion interface{} // 最后版本号 + InstallDir interface{} // 安装目录 + IsInstalled interface{} // 是否已安装 State interface{} // 状态 } diff --git a/internal/rpc/pb/model_node.pb.go b/internal/rpc/pb/model_node.pb.go index 561d6e55..bbe3b28a 100644 --- a/internal/rpc/pb/model_node.pb.go +++ b/internal/rpc/pb/model_node.pb.go @@ -30,11 +30,16 @@ type Node struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` - Cluster *NodeCluster `protobuf:"bytes,32,opt,name=cluster,proto3" json:"cluster,omitempty"` - Login *NodeLogin `protobuf:"bytes,33,opt,name=login,proto3" json:"login,omitempty"` + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + InstallDir string `protobuf:"bytes,4,opt,name=installDir,proto3" json:"installDir,omitempty"` + IsInstalled bool `protobuf:"varint,5,opt,name=isInstalled,proto3" json:"isInstalled,omitempty"` + Code string `protobuf:"bytes,6,opt,name=code,proto3" json:"code,omitempty"` + UniqueId string `protobuf:"bytes,7,opt,name=uniqueId,proto3" json:"uniqueId,omitempty"` + Secret string `protobuf:"bytes,8,opt,name=secret,proto3" json:"secret,omitempty"` + Cluster *NodeCluster `protobuf:"bytes,32,opt,name=cluster,proto3" json:"cluster,omitempty"` + Login *NodeLogin `protobuf:"bytes,33,opt,name=login,proto3" json:"login,omitempty"` } func (x *Node) Reset() { @@ -90,6 +95,41 @@ func (x *Node) GetStatus() string { return "" } +func (x *Node) GetInstallDir() string { + if x != nil { + return x.InstallDir + } + return "" +} + +func (x *Node) GetIsInstalled() bool { + if x != nil { + return x.IsInstalled + } + return false +} + +func (x *Node) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *Node) GetUniqueId() string { + if x != nil { + return x.UniqueId + } + return "" +} + +func (x *Node) GetSecret() string { + if x != nil { + return x.Secret + } + return "" +} + func (x *Node) GetCluster() *NodeCluster { if x != nil { return x.Cluster @@ -111,17 +151,26 @@ var file_model_node_proto_rawDesc = []byte{ 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x18, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x6f, 0x67, - 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92, 0x01, 0x0a, 0x04, 0x4e, 0x6f, 0x64, + 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x02, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, - 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, - 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, - 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, - 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x42, 0x06, 0x5a, - 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, + 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x12, 0x20, 0x0a, + 0x0b, 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x29, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x23, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, + 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/rpc/pb/model_node_cluster.pb.go b/internal/rpc/pb/model_node_cluster.pb.go index c71f5191..4c4ec07c 100644 --- a/internal/rpc/pb/model_node_cluster.pb.go +++ b/internal/rpc/pb/model_node_cluster.pb.go @@ -30,9 +30,11 @@ type NodeCluster struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - CreatedAt int64 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + CreatedAt int64 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + GrantId int64 `protobuf:"varint,4,opt,name=grantId,proto3" json:"grantId,omitempty"` + InstallDir string `protobuf:"bytes,5,opt,name=installDir,proto3" json:"installDir,omitempty"` } func (x *NodeCluster) Reset() { @@ -88,17 +90,35 @@ func (x *NodeCluster) GetCreatedAt() int64 { return 0 } +func (x *NodeCluster) GetGrantId() int64 { + if x != nil { + return x.GrantId + } + return 0 +} + +func (x *NodeCluster) GetInstallDir() string { + if x != nil { + return x.InstallDir + } + return "" +} + var File_model_node_cluster_proto protoreflect.FileDescriptor var file_model_node_cluster_proto_rawDesc = []byte{ 0x0a, 0x18, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x4f, - 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x42, - 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x89, + 0x01, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/rpc/pb/model_node_ip_address.pb.go b/internal/rpc/pb/model_node_ip_address.pb.go new file mode 100644 index 00000000..8a1b4722 --- /dev/null +++ b/internal/rpc/pb/model_node_ip_address.pb.go @@ -0,0 +1,203 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.12.3 +// source: model_node_ip_address.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 NodeIPAddress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + NodeId int64 `protobuf:"varint,2,opt,name=nodeId,proto3" json:"nodeId,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Ip string `protobuf:"bytes,4,opt,name=ip,proto3" json:"ip,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + State int64 `protobuf:"varint,6,opt,name=state,proto3" json:"state,omitempty"` + Order int64 `protobuf:"varint,7,opt,name=order,proto3" json:"order,omitempty"` +} + +func (x *NodeIPAddress) Reset() { + *x = NodeIPAddress{} + if protoimpl.UnsafeEnabled { + mi := &file_model_node_ip_address_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NodeIPAddress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeIPAddress) ProtoMessage() {} + +func (x *NodeIPAddress) ProtoReflect() protoreflect.Message { + mi := &file_model_node_ip_address_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 NodeIPAddress.ProtoReflect.Descriptor instead. +func (*NodeIPAddress) Descriptor() ([]byte, []int) { + return file_model_node_ip_address_proto_rawDescGZIP(), []int{0} +} + +func (x *NodeIPAddress) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *NodeIPAddress) GetNodeId() int64 { + if x != nil { + return x.NodeId + } + return 0 +} + +func (x *NodeIPAddress) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *NodeIPAddress) GetIp() string { + if x != nil { + return x.Ip + } + return "" +} + +func (x *NodeIPAddress) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *NodeIPAddress) GetState() int64 { + if x != nil { + return x.State + } + return 0 +} + +func (x *NodeIPAddress) GetOrder() int64 { + if x != nil { + return x.Order + } + return 0 +} + +var File_model_node_ip_address_proto protoreflect.FileDescriptor + +var file_model_node_ip_address_proto_rawDesc = []byte{ + 0x0a, 0x1b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x70, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, + 0x62, 0x22, 0xa9, 0x01, 0x0a, 0x0d, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 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, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x06, 0x5a, + 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_model_node_ip_address_proto_rawDescOnce sync.Once + file_model_node_ip_address_proto_rawDescData = file_model_node_ip_address_proto_rawDesc +) + +func file_model_node_ip_address_proto_rawDescGZIP() []byte { + file_model_node_ip_address_proto_rawDescOnce.Do(func() { + file_model_node_ip_address_proto_rawDescData = protoimpl.X.CompressGZIP(file_model_node_ip_address_proto_rawDescData) + }) + return file_model_node_ip_address_proto_rawDescData +} + +var file_model_node_ip_address_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_model_node_ip_address_proto_goTypes = []interface{}{ + (*NodeIPAddress)(nil), // 0: pb.NodeIPAddress +} +var file_model_node_ip_address_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_model_node_ip_address_proto_init() } +func file_model_node_ip_address_proto_init() { + if File_model_node_ip_address_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_model_node_ip_address_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NodeIPAddress); 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_model_node_ip_address_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_model_node_ip_address_proto_goTypes, + DependencyIndexes: file_model_node_ip_address_proto_depIdxs, + MessageInfos: file_model_node_ip_address_proto_msgTypes, + }.Build() + File_model_node_ip_address_proto = out.File + file_model_node_ip_address_proto_rawDesc = nil + file_model_node_ip_address_proto_goTypes = nil + file_model_node_ip_address_proto_depIdxs = nil +} diff --git a/internal/rpc/pb/service_node.pb.go b/internal/rpc/pb/service_node.pb.go index 97e6fafe..27753a4f 100644 --- a/internal/rpc/pb/service_node.pb.go +++ b/internal/rpc/pb/service_node.pb.go @@ -227,17 +227,18 @@ func (x *CountAllEnabledNodesResponse) GetCount() int64 { } // 列出单页节点 -type ListEnabledNodesRequest struct { +type ListEnabledNodesMatchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` + Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` + ClusterId int64 `protobuf:"varint,3,opt,name=clusterId,proto3" json:"clusterId,omitempty"` } -func (x *ListEnabledNodesRequest) Reset() { - *x = ListEnabledNodesRequest{} +func (x *ListEnabledNodesMatchRequest) Reset() { + *x = ListEnabledNodesMatchRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -245,13 +246,13 @@ func (x *ListEnabledNodesRequest) Reset() { } } -func (x *ListEnabledNodesRequest) String() string { +func (x *ListEnabledNodesMatchRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListEnabledNodesRequest) ProtoMessage() {} +func (*ListEnabledNodesMatchRequest) ProtoMessage() {} -func (x *ListEnabledNodesRequest) ProtoReflect() protoreflect.Message { +func (x *ListEnabledNodesMatchRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -263,26 +264,33 @@ func (x *ListEnabledNodesRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListEnabledNodesRequest.ProtoReflect.Descriptor instead. -func (*ListEnabledNodesRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListEnabledNodesMatchRequest.ProtoReflect.Descriptor instead. +func (*ListEnabledNodesMatchRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{4} } -func (x *ListEnabledNodesRequest) GetOffset() int64 { +func (x *ListEnabledNodesMatchRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } -func (x *ListEnabledNodesRequest) GetSize() int64 { +func (x *ListEnabledNodesMatchRequest) GetSize() int64 { if x != nil { return x.Size } return 0 } -type ListEnabledNodesResponse struct { +func (x *ListEnabledNodesMatchRequest) GetClusterId() int64 { + if x != nil { + return x.ClusterId + } + return 0 +} + +type ListEnabledNodesMatchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -290,8 +298,8 @@ type ListEnabledNodesResponse struct { Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` } -func (x *ListEnabledNodesResponse) Reset() { - *x = ListEnabledNodesResponse{} +func (x *ListEnabledNodesMatchResponse) Reset() { + *x = ListEnabledNodesMatchResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -299,13 +307,13 @@ func (x *ListEnabledNodesResponse) Reset() { } } -func (x *ListEnabledNodesResponse) String() string { +func (x *ListEnabledNodesMatchResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListEnabledNodesResponse) ProtoMessage() {} +func (*ListEnabledNodesMatchResponse) ProtoMessage() {} -func (x *ListEnabledNodesResponse) ProtoReflect() protoreflect.Message { +func (x *ListEnabledNodesMatchResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -317,12 +325,12 @@ func (x *ListEnabledNodesResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListEnabledNodesResponse.ProtoReflect.Descriptor instead. -func (*ListEnabledNodesResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ListEnabledNodesMatchResponse.ProtoReflect.Descriptor instead. +func (*ListEnabledNodesMatchResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{5} } -func (x *ListEnabledNodesResponse) GetNodes() []*Node { +func (x *ListEnabledNodesMatchResponse) GetNodes() []*Node { if x != nil { return x.Nodes } @@ -963,6 +971,101 @@ func (*SyncNodesVersionWithClusterResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{19} } +// 计算匹配的节点数量 +type CountAllEnabledNodesMatchRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClusterId int64 `protobuf:"varint,1,opt,name=clusterId,proto3" json:"clusterId,omitempty"` +} + +func (x *CountAllEnabledNodesMatchRequest) Reset() { + *x = CountAllEnabledNodesMatchRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CountAllEnabledNodesMatchRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountAllEnabledNodesMatchRequest) ProtoMessage() {} + +func (x *CountAllEnabledNodesMatchRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountAllEnabledNodesMatchRequest.ProtoReflect.Descriptor instead. +func (*CountAllEnabledNodesMatchRequest) Descriptor() ([]byte, []int) { + return file_service_node_proto_rawDescGZIP(), []int{20} +} + +func (x *CountAllEnabledNodesMatchRequest) GetClusterId() int64 { + if x != nil { + return x.ClusterId + } + return 0 +} + +type CountAllEnabledNodesMatchResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` +} + +func (x *CountAllEnabledNodesMatchResponse) Reset() { + *x = CountAllEnabledNodesMatchResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CountAllEnabledNodesMatchResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountAllEnabledNodesMatchResponse) ProtoMessage() {} + +func (x *CountAllEnabledNodesMatchResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountAllEnabledNodesMatchResponse.ProtoReflect.Descriptor instead. +func (*CountAllEnabledNodesMatchResponse) Descriptor() ([]byte, []int) { + return file_service_node_proto_rawDescGZIP(), []int{21} +} + +func (x *CountAllEnabledNodesMatchResponse) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + var File_service_node_proto protoreflect.FileDescriptor var file_service_node_proto_rawDesc = []byte{ @@ -985,107 +1088,125 @@ var file_service_node_proto_rawDesc = []byte{ 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x22, 0x45, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3a, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, - 0x6f, 0x64, 0x65, 0x73, 0x22, 0x2c, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, - 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, - 0x49, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x11, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x4c, 0x6f, 0x67, - 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x22, 0x14, - 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, - 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1c, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, - 0x1a, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x19, 0x43, - 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x13, 0x0a, 0x11, 0x4e, 0x6f, 0x64, 0x65, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x14, 0x0a, - 0x12, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x51, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, - 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x1a, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x42, 0x0a, 0x22, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x25, 0x0a, 0x23, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, - 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x8f, 0x06, - 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, - 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x63, 0x6f, + 0x74, 0x22, 0x68, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x1d, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x05, + 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x2c, 0x0a, 0x12, + 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x44, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x82, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x23, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, + 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x22, 0x14, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x0a, 0x16, + 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x37, + 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x04, 0x6e, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x70, 0x6f, + 0x73, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x53, 0x4f, 0x4e, + 0x22, 0x13, 0x0a, 0x11, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x14, 0x0a, 0x12, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x0a, 0x17, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x1a, + 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x0a, 0x22, 0x53, 0x79, + 0x6e, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, + 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x25, + 0x0a, 0x23, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x0a, 0x20, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, + 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x21, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x32, 0x88, 0x07, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x59, 0x0a, 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, - 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, - 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, - 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, - 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3f, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x15, 0x2e, - 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, - 0x12, 0x4d, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x6e, 0x0a, 0x1b, 0x73, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x26, - 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x6e, 0x63, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, + 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, 0x2e, + 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4a, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, + 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, + 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, + 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, + 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x15, 0x2e, 0x70, 0x62, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x4d, + 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, + 0x1b, 0x73, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x70, + 0x62, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, + 0x64, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 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 ( @@ -1100,14 +1221,14 @@ func file_service_node_proto_rawDescGZIP() []byte { return file_service_node_proto_rawDescData } -var file_service_node_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_service_node_proto_msgTypes = make([]protoimpl.MessageInfo, 22) var file_service_node_proto_goTypes = []interface{}{ (*CreateNodeRequest)(nil), // 0: pb.CreateNodeRequest (*CreateNodeResponse)(nil), // 1: pb.CreateNodeResponse (*CountAllEnabledNodesRequest)(nil), // 2: pb.CountAllEnabledNodesRequest (*CountAllEnabledNodesResponse)(nil), // 3: pb.CountAllEnabledNodesResponse - (*ListEnabledNodesRequest)(nil), // 4: pb.ListEnabledNodesRequest - (*ListEnabledNodesResponse)(nil), // 5: pb.ListEnabledNodesResponse + (*ListEnabledNodesMatchRequest)(nil), // 4: pb.ListEnabledNodesMatchRequest + (*ListEnabledNodesMatchResponse)(nil), // 5: pb.ListEnabledNodesMatchResponse (*DisableNodeRequest)(nil), // 6: pb.DisableNodeRequest (*DisableNodeResponse)(nil), // 7: pb.DisableNodeResponse (*UpdateNodeRequest)(nil), // 8: pb.UpdateNodeRequest @@ -1122,36 +1243,40 @@ var file_service_node_proto_goTypes = []interface{}{ (*UpdateNodeStatusResponse)(nil), // 17: pb.UpdateNodeStatusResponse (*SyncNodesVersionWithClusterRequest)(nil), // 18: pb.SyncNodesVersionWithClusterRequest (*SyncNodesVersionWithClusterResponse)(nil), // 19: pb.SyncNodesVersionWithClusterResponse - (*NodeLogin)(nil), // 20: pb.NodeLogin - (*Node)(nil), // 21: pb.Node + (*CountAllEnabledNodesMatchRequest)(nil), // 20: pb.CountAllEnabledNodesMatchRequest + (*CountAllEnabledNodesMatchResponse)(nil), // 21: pb.CountAllEnabledNodesMatchResponse + (*NodeLogin)(nil), // 22: pb.NodeLogin + (*Node)(nil), // 23: pb.Node } var file_service_node_proto_depIdxs = []int32{ - 20, // 0: pb.CreateNodeRequest.Login:type_name -> pb.NodeLogin - 21, // 1: pb.ListEnabledNodesResponse.nodes:type_name -> pb.Node - 20, // 2: pb.UpdateNodeRequest.Login:type_name -> pb.NodeLogin - 21, // 3: pb.FindEnabledNodeResponse.node:type_name -> pb.Node + 22, // 0: pb.CreateNodeRequest.Login:type_name -> pb.NodeLogin + 23, // 1: pb.ListEnabledNodesMatchResponse.nodes:type_name -> pb.Node + 22, // 2: pb.UpdateNodeRequest.Login:type_name -> pb.NodeLogin + 23, // 3: pb.FindEnabledNodeResponse.node:type_name -> pb.Node 0, // 4: pb.NodeService.createNode:input_type -> pb.CreateNodeRequest 2, // 5: pb.NodeService.countAllEnabledNodes:input_type -> pb.CountAllEnabledNodesRequest - 4, // 6: pb.NodeService.listEnabledNodes:input_type -> pb.ListEnabledNodesRequest - 6, // 7: pb.NodeService.disableNode:input_type -> pb.DisableNodeRequest - 8, // 8: pb.NodeService.updateNode:input_type -> pb.UpdateNodeRequest - 10, // 9: pb.NodeService.findEnabledNode:input_type -> pb.FindEnabledNodeRequest - 12, // 10: pb.NodeService.composeNodeConfig:input_type -> pb.ComposeNodeConfigRequest - 14, // 11: pb.NodeService.nodeStream:input_type -> pb.NodeStreamRequest - 16, // 12: pb.NodeService.updateNodeStatus:input_type -> pb.UpdateNodeStatusRequest - 18, // 13: pb.NodeService.syncNodesVersionWithCluster:input_type -> pb.SyncNodesVersionWithClusterRequest - 1, // 14: pb.NodeService.createNode:output_type -> pb.CreateNodeResponse - 3, // 15: pb.NodeService.countAllEnabledNodes:output_type -> pb.CountAllEnabledNodesResponse - 5, // 16: pb.NodeService.listEnabledNodes:output_type -> pb.ListEnabledNodesResponse - 7, // 17: pb.NodeService.disableNode:output_type -> pb.DisableNodeResponse - 9, // 18: pb.NodeService.updateNode:output_type -> pb.UpdateNodeResponse - 11, // 19: pb.NodeService.findEnabledNode:output_type -> pb.FindEnabledNodeResponse - 13, // 20: pb.NodeService.composeNodeConfig:output_type -> pb.ComposeNodeConfigResponse - 15, // 21: pb.NodeService.nodeStream:output_type -> pb.NodeStreamResponse - 17, // 22: pb.NodeService.updateNodeStatus:output_type -> pb.UpdateNodeStatusResponse - 19, // 23: pb.NodeService.syncNodesVersionWithCluster:output_type -> pb.SyncNodesVersionWithClusterResponse - 14, // [14:24] is the sub-list for method output_type - 4, // [4:14] is the sub-list for method input_type + 20, // 6: pb.NodeService.countAllEnabledNodesMatch:input_type -> pb.CountAllEnabledNodesMatchRequest + 4, // 7: pb.NodeService.listEnabledNodesMatch:input_type -> pb.ListEnabledNodesMatchRequest + 6, // 8: pb.NodeService.disableNode:input_type -> pb.DisableNodeRequest + 8, // 9: pb.NodeService.updateNode:input_type -> pb.UpdateNodeRequest + 10, // 10: pb.NodeService.findEnabledNode:input_type -> pb.FindEnabledNodeRequest + 12, // 11: pb.NodeService.composeNodeConfig:input_type -> pb.ComposeNodeConfigRequest + 14, // 12: pb.NodeService.nodeStream:input_type -> pb.NodeStreamRequest + 16, // 13: pb.NodeService.updateNodeStatus:input_type -> pb.UpdateNodeStatusRequest + 18, // 14: pb.NodeService.syncNodesVersionWithCluster:input_type -> pb.SyncNodesVersionWithClusterRequest + 1, // 15: pb.NodeService.createNode:output_type -> pb.CreateNodeResponse + 3, // 16: pb.NodeService.countAllEnabledNodes:output_type -> pb.CountAllEnabledNodesResponse + 21, // 17: pb.NodeService.countAllEnabledNodesMatch:output_type -> pb.CountAllEnabledNodesMatchResponse + 5, // 18: pb.NodeService.listEnabledNodesMatch:output_type -> pb.ListEnabledNodesMatchResponse + 7, // 19: pb.NodeService.disableNode:output_type -> pb.DisableNodeResponse + 9, // 20: pb.NodeService.updateNode:output_type -> pb.UpdateNodeResponse + 11, // 21: pb.NodeService.findEnabledNode:output_type -> pb.FindEnabledNodeResponse + 13, // 22: pb.NodeService.composeNodeConfig:output_type -> pb.ComposeNodeConfigResponse + 15, // 23: pb.NodeService.nodeStream:output_type -> pb.NodeStreamResponse + 17, // 24: pb.NodeService.updateNodeStatus:output_type -> pb.UpdateNodeStatusResponse + 19, // 25: pb.NodeService.syncNodesVersionWithCluster:output_type -> pb.SyncNodesVersionWithClusterResponse + 15, // [15:26] is the sub-list for method output_type + 4, // [4:15] 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 @@ -1214,7 +1339,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListEnabledNodesRequest); i { + switch v := v.(*ListEnabledNodesMatchRequest); i { case 0: return &v.state case 1: @@ -1226,7 +1351,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListEnabledNodesResponse); i { + switch v := v.(*ListEnabledNodesMatchResponse); i { case 0: return &v.state case 1: @@ -1405,6 +1530,30 @@ func file_service_node_proto_init() { return nil } } + file_service_node_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CountAllEnabledNodesMatchRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CountAllEnabledNodesMatchResponse); 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{ @@ -1412,7 +1561,7 @@ func file_service_node_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_node_proto_rawDesc, NumEnums: 0, - NumMessages: 20, + NumMessages: 22, NumExtensions: 0, NumServices: 1, }, @@ -1442,8 +1591,10 @@ type NodeServiceClient interface { CreateNode(ctx context.Context, in *CreateNodeRequest, opts ...grpc.CallOption) (*CreateNodeResponse, error) // 节点数量 CountAllEnabledNodes(ctx context.Context, in *CountAllEnabledNodesRequest, opts ...grpc.CallOption) (*CountAllEnabledNodesResponse, error) + // 计算匹配的节点数量 + CountAllEnabledNodesMatch(ctx context.Context, in *CountAllEnabledNodesMatchRequest, opts ...grpc.CallOption) (*CountAllEnabledNodesMatchResponse, error) // 列出单页节点 - ListEnabledNodes(ctx context.Context, in *ListEnabledNodesRequest, opts ...grpc.CallOption) (*ListEnabledNodesResponse, error) + ListEnabledNodesMatch(ctx context.Context, in *ListEnabledNodesMatchRequest, opts ...grpc.CallOption) (*ListEnabledNodesMatchResponse, error) // 禁用节点 DisableNode(ctx context.Context, in *DisableNodeRequest, opts ...grpc.CallOption) (*DisableNodeResponse, error) // 修改节点 @@ -1486,9 +1637,18 @@ func (c *nodeServiceClient) CountAllEnabledNodes(ctx context.Context, in *CountA return out, nil } -func (c *nodeServiceClient) ListEnabledNodes(ctx context.Context, in *ListEnabledNodesRequest, opts ...grpc.CallOption) (*ListEnabledNodesResponse, error) { - out := new(ListEnabledNodesResponse) - err := c.cc.Invoke(ctx, "/pb.NodeService/listEnabledNodes", in, out, opts...) +func (c *nodeServiceClient) CountAllEnabledNodesMatch(ctx context.Context, in *CountAllEnabledNodesMatchRequest, opts ...grpc.CallOption) (*CountAllEnabledNodesMatchResponse, error) { + out := new(CountAllEnabledNodesMatchResponse) + err := c.cc.Invoke(ctx, "/pb.NodeService/countAllEnabledNodesMatch", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeServiceClient) ListEnabledNodesMatch(ctx context.Context, in *ListEnabledNodesMatchRequest, opts ...grpc.CallOption) (*ListEnabledNodesMatchResponse, error) { + out := new(ListEnabledNodesMatchResponse) + err := c.cc.Invoke(ctx, "/pb.NodeService/listEnabledNodesMatch", in, out, opts...) if err != nil { return nil, err } @@ -1586,8 +1746,10 @@ type NodeServiceServer interface { CreateNode(context.Context, *CreateNodeRequest) (*CreateNodeResponse, error) // 节点数量 CountAllEnabledNodes(context.Context, *CountAllEnabledNodesRequest) (*CountAllEnabledNodesResponse, error) + // 计算匹配的节点数量 + CountAllEnabledNodesMatch(context.Context, *CountAllEnabledNodesMatchRequest) (*CountAllEnabledNodesMatchResponse, error) // 列出单页节点 - ListEnabledNodes(context.Context, *ListEnabledNodesRequest) (*ListEnabledNodesResponse, error) + ListEnabledNodesMatch(context.Context, *ListEnabledNodesMatchRequest) (*ListEnabledNodesMatchResponse, error) // 禁用节点 DisableNode(context.Context, *DisableNodeRequest) (*DisableNodeResponse, error) // 修改节点 @@ -1614,8 +1776,11 @@ func (*UnimplementedNodeServiceServer) CreateNode(context.Context, *CreateNodeRe func (*UnimplementedNodeServiceServer) CountAllEnabledNodes(context.Context, *CountAllEnabledNodesRequest) (*CountAllEnabledNodesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodes not implemented") } -func (*UnimplementedNodeServiceServer) ListEnabledNodes(context.Context, *ListEnabledNodesRequest) (*ListEnabledNodesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListEnabledNodes not implemented") +func (*UnimplementedNodeServiceServer) CountAllEnabledNodesMatch(context.Context, *CountAllEnabledNodesMatchRequest) (*CountAllEnabledNodesMatchResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodesMatch not implemented") +} +func (*UnimplementedNodeServiceServer) ListEnabledNodesMatch(context.Context, *ListEnabledNodesMatchRequest) (*ListEnabledNodesMatchResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListEnabledNodesMatch not implemented") } func (*UnimplementedNodeServiceServer) DisableNode(context.Context, *DisableNodeRequest) (*DisableNodeResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DisableNode not implemented") @@ -1679,20 +1844,38 @@ func _NodeService_CountAllEnabledNodes_Handler(srv interface{}, ctx context.Cont return interceptor(ctx, in, info, handler) } -func _NodeService_ListEnabledNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListEnabledNodesRequest) +func _NodeService_CountAllEnabledNodesMatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CountAllEnabledNodesMatchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServiceServer).ListEnabledNodes(ctx, in) + return srv.(NodeServiceServer).CountAllEnabledNodesMatch(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/pb.NodeService/ListEnabledNodes", + FullMethod: "/pb.NodeService/CountAllEnabledNodesMatch", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServiceServer).ListEnabledNodes(ctx, req.(*ListEnabledNodesRequest)) + return srv.(NodeServiceServer).CountAllEnabledNodesMatch(ctx, req.(*CountAllEnabledNodesMatchRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeService_ListEnabledNodesMatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListEnabledNodesMatchRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServiceServer).ListEnabledNodesMatch(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeService/ListEnabledNodesMatch", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServiceServer).ListEnabledNodesMatch(ctx, req.(*ListEnabledNodesMatchRequest)) } return interceptor(ctx, in, info, handler) } @@ -1844,8 +2027,12 @@ var _NodeService_serviceDesc = grpc.ServiceDesc{ Handler: _NodeService_CountAllEnabledNodes_Handler, }, { - MethodName: "listEnabledNodes", - Handler: _NodeService_ListEnabledNodes_Handler, + MethodName: "countAllEnabledNodesMatch", + Handler: _NodeService_CountAllEnabledNodesMatch_Handler, + }, + { + MethodName: "listEnabledNodesMatch", + Handler: _NodeService_ListEnabledNodesMatch_Handler, }, { MethodName: "disableNode", diff --git a/internal/rpc/pb/service_node_cluster.pb.go b/internal/rpc/pb/service_node_cluster.pb.go index 58b373d0..6bfca315 100644 --- a/internal/rpc/pb/service_node_cluster.pb.go +++ b/internal/rpc/pb/service_node_cluster.pb.go @@ -116,14 +116,14 @@ func (x *FindAllEnabledNodeClustersResponse) GetClusters() []*NodeCluster { } // 获取变更的集群 -type FindAllChangedClustersRequest struct { +type FindAllChangedNodeClustersRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *FindAllChangedClustersRequest) Reset() { - *x = FindAllChangedClustersRequest{} +func (x *FindAllChangedNodeClustersRequest) Reset() { + *x = FindAllChangedNodeClustersRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_cluster_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -131,13 +131,13 @@ func (x *FindAllChangedClustersRequest) Reset() { } } -func (x *FindAllChangedClustersRequest) String() string { +func (x *FindAllChangedNodeClustersRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FindAllChangedClustersRequest) ProtoMessage() {} +func (*FindAllChangedNodeClustersRequest) ProtoMessage() {} -func (x *FindAllChangedClustersRequest) ProtoReflect() protoreflect.Message { +func (x *FindAllChangedNodeClustersRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_cluster_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -149,12 +149,12 @@ func (x *FindAllChangedClustersRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FindAllChangedClustersRequest.ProtoReflect.Descriptor instead. -func (*FindAllChangedClustersRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use FindAllChangedNodeClustersRequest.ProtoReflect.Descriptor instead. +func (*FindAllChangedNodeClustersRequest) Descriptor() ([]byte, []int) { return file_service_node_cluster_proto_rawDescGZIP(), []int{2} } -type FindAllChangedClustersResponse struct { +type FindAllChangedNodeClustersResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -162,8 +162,8 @@ type FindAllChangedClustersResponse struct { Clusters []*NodeCluster `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` } -func (x *FindAllChangedClustersResponse) Reset() { - *x = FindAllChangedClustersResponse{} +func (x *FindAllChangedNodeClustersResponse) Reset() { + *x = FindAllChangedNodeClustersResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_cluster_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -171,13 +171,13 @@ func (x *FindAllChangedClustersResponse) Reset() { } } -func (x *FindAllChangedClustersResponse) String() string { +func (x *FindAllChangedNodeClustersResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FindAllChangedClustersResponse) ProtoMessage() {} +func (*FindAllChangedNodeClustersResponse) ProtoMessage() {} -func (x *FindAllChangedClustersResponse) ProtoReflect() protoreflect.Message { +func (x *FindAllChangedNodeClustersResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_cluster_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -189,12 +189,603 @@ func (x *FindAllChangedClustersResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FindAllChangedClustersResponse.ProtoReflect.Descriptor instead. -func (*FindAllChangedClustersResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use FindAllChangedNodeClustersResponse.ProtoReflect.Descriptor instead. +func (*FindAllChangedNodeClustersResponse) Descriptor() ([]byte, []int) { return file_service_node_cluster_proto_rawDescGZIP(), []int{3} } -func (x *FindAllChangedClustersResponse) GetClusters() []*NodeCluster { +func (x *FindAllChangedNodeClustersResponse) GetClusters() []*NodeCluster { + if x != nil { + return x.Clusters + } + return nil +} + +// 创建集群 +type CreateNodeClusterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + GrantId int64 `protobuf:"varint,2,opt,name=grantId,proto3" json:"grantId,omitempty"` + InstallDir string `protobuf:"bytes,3,opt,name=installDir,proto3" json:"installDir,omitempty"` +} + +func (x *CreateNodeClusterRequest) Reset() { + *x = CreateNodeClusterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_cluster_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNodeClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNodeClusterRequest) ProtoMessage() {} + +func (x *CreateNodeClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_cluster_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 CreateNodeClusterRequest.ProtoReflect.Descriptor instead. +func (*CreateNodeClusterRequest) Descriptor() ([]byte, []int) { + return file_service_node_cluster_proto_rawDescGZIP(), []int{4} +} + +func (x *CreateNodeClusterRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateNodeClusterRequest) GetGrantId() int64 { + if x != nil { + return x.GrantId + } + return 0 +} + +func (x *CreateNodeClusterRequest) GetInstallDir() string { + if x != nil { + return x.InstallDir + } + return "" +} + +type CreateNodeClusterResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClusterId int64 `protobuf:"varint,1,opt,name=clusterId,proto3" json:"clusterId,omitempty"` +} + +func (x *CreateNodeClusterResponse) Reset() { + *x = CreateNodeClusterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_cluster_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNodeClusterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNodeClusterResponse) ProtoMessage() {} + +func (x *CreateNodeClusterResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_cluster_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 CreateNodeClusterResponse.ProtoReflect.Descriptor instead. +func (*CreateNodeClusterResponse) Descriptor() ([]byte, []int) { + return file_service_node_cluster_proto_rawDescGZIP(), []int{5} +} + +func (x *CreateNodeClusterResponse) GetClusterId() int64 { + if x != nil { + return x.ClusterId + } + return 0 +} + +// 修改集群 +type UpdateNodeClusterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClusterId int64 `protobuf:"varint,1,opt,name=clusterId,proto3" json:"clusterId,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + GrantId int64 `protobuf:"varint,3,opt,name=grantId,proto3" json:"grantId,omitempty"` + InstallDir string `protobuf:"bytes,4,opt,name=installDir,proto3" json:"installDir,omitempty"` +} + +func (x *UpdateNodeClusterRequest) Reset() { + *x = UpdateNodeClusterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_cluster_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNodeClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNodeClusterRequest) ProtoMessage() {} + +func (x *UpdateNodeClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_cluster_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 UpdateNodeClusterRequest.ProtoReflect.Descriptor instead. +func (*UpdateNodeClusterRequest) Descriptor() ([]byte, []int) { + return file_service_node_cluster_proto_rawDescGZIP(), []int{6} +} + +func (x *UpdateNodeClusterRequest) GetClusterId() int64 { + if x != nil { + return x.ClusterId + } + return 0 +} + +func (x *UpdateNodeClusterRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateNodeClusterRequest) GetGrantId() int64 { + if x != nil { + return x.GrantId + } + return 0 +} + +func (x *UpdateNodeClusterRequest) GetInstallDir() string { + if x != nil { + return x.InstallDir + } + return "" +} + +type UpdateNodeClusterResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateNodeClusterResponse) Reset() { + *x = UpdateNodeClusterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_cluster_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNodeClusterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNodeClusterResponse) ProtoMessage() {} + +func (x *UpdateNodeClusterResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_cluster_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 UpdateNodeClusterResponse.ProtoReflect.Descriptor instead. +func (*UpdateNodeClusterResponse) Descriptor() ([]byte, []int) { + return file_service_node_cluster_proto_rawDescGZIP(), []int{7} +} + +// 禁用集群 +type DisableNodeClusterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClusterId int64 `protobuf:"varint,1,opt,name=clusterId,proto3" json:"clusterId,omitempty"` +} + +func (x *DisableNodeClusterRequest) Reset() { + *x = DisableNodeClusterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_cluster_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisableNodeClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableNodeClusterRequest) ProtoMessage() {} + +func (x *DisableNodeClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_cluster_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 DisableNodeClusterRequest.ProtoReflect.Descriptor instead. +func (*DisableNodeClusterRequest) Descriptor() ([]byte, []int) { + return file_service_node_cluster_proto_rawDescGZIP(), []int{8} +} + +func (x *DisableNodeClusterRequest) GetClusterId() int64 { + if x != nil { + return x.ClusterId + } + return 0 +} + +type DisableNodeClusterResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DisableNodeClusterResponse) Reset() { + *x = DisableNodeClusterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_cluster_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisableNodeClusterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableNodeClusterResponse) ProtoMessage() {} + +func (x *DisableNodeClusterResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_cluster_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 DisableNodeClusterResponse.ProtoReflect.Descriptor instead. +func (*DisableNodeClusterResponse) Descriptor() ([]byte, []int) { + return file_service_node_cluster_proto_rawDescGZIP(), []int{9} +} + +// 查找单个集群信息 +type FindEnabledNodeClusterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClusterId int64 `protobuf:"varint,1,opt,name=clusterId,proto3" json:"clusterId,omitempty"` +} + +func (x *FindEnabledNodeClusterRequest) Reset() { + *x = FindEnabledNodeClusterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_cluster_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindEnabledNodeClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindEnabledNodeClusterRequest) ProtoMessage() {} + +func (x *FindEnabledNodeClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_cluster_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 FindEnabledNodeClusterRequest.ProtoReflect.Descriptor instead. +func (*FindEnabledNodeClusterRequest) Descriptor() ([]byte, []int) { + return file_service_node_cluster_proto_rawDescGZIP(), []int{10} +} + +func (x *FindEnabledNodeClusterRequest) GetClusterId() int64 { + if x != nil { + return x.ClusterId + } + return 0 +} + +type FindEnabledNodeClusterResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cluster *NodeCluster `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` +} + +func (x *FindEnabledNodeClusterResponse) Reset() { + *x = FindEnabledNodeClusterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_cluster_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindEnabledNodeClusterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindEnabledNodeClusterResponse) ProtoMessage() {} + +func (x *FindEnabledNodeClusterResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_cluster_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 FindEnabledNodeClusterResponse.ProtoReflect.Descriptor instead. +func (*FindEnabledNodeClusterResponse) Descriptor() ([]byte, []int) { + return file_service_node_cluster_proto_rawDescGZIP(), []int{11} +} + +func (x *FindEnabledNodeClusterResponse) GetCluster() *NodeCluster { + if x != nil { + return x.Cluster + } + return nil +} + +// 计算所有集群数量 +type CountAllEnabledNodeClustersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CountAllEnabledNodeClustersRequest) Reset() { + *x = CountAllEnabledNodeClustersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_cluster_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CountAllEnabledNodeClustersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountAllEnabledNodeClustersRequest) ProtoMessage() {} + +func (x *CountAllEnabledNodeClustersRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_cluster_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 CountAllEnabledNodeClustersRequest.ProtoReflect.Descriptor instead. +func (*CountAllEnabledNodeClustersRequest) Descriptor() ([]byte, []int) { + return file_service_node_cluster_proto_rawDescGZIP(), []int{12} +} + +type CountAllEnabledNodeClustersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` +} + +func (x *CountAllEnabledNodeClustersResponse) Reset() { + *x = CountAllEnabledNodeClustersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_cluster_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CountAllEnabledNodeClustersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountAllEnabledNodeClustersResponse) ProtoMessage() {} + +func (x *CountAllEnabledNodeClustersResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_cluster_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 CountAllEnabledNodeClustersResponse.ProtoReflect.Descriptor instead. +func (*CountAllEnabledNodeClustersResponse) Descriptor() ([]byte, []int) { + return file_service_node_cluster_proto_rawDescGZIP(), []int{13} +} + +func (x *CountAllEnabledNodeClustersResponse) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +// 列出单页集群 +type ListEnabledNodeClustersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` +} + +func (x *ListEnabledNodeClustersRequest) Reset() { + *x = ListEnabledNodeClustersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_cluster_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEnabledNodeClustersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEnabledNodeClustersRequest) ProtoMessage() {} + +func (x *ListEnabledNodeClustersRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_cluster_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 ListEnabledNodeClustersRequest.ProtoReflect.Descriptor instead. +func (*ListEnabledNodeClustersRequest) Descriptor() ([]byte, []int) { + return file_service_node_cluster_proto_rawDescGZIP(), []int{14} +} + +func (x *ListEnabledNodeClustersRequest) GetOffset() int64 { + if x != nil { + return x.Offset + } + return 0 +} + +func (x *ListEnabledNodeClustersRequest) GetSize() int64 { + if x != nil { + return x.Size + } + return 0 +} + +type ListEnabledNodeClustersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Clusters []*NodeCluster `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` +} + +func (x *ListEnabledNodeClustersResponse) Reset() { + *x = ListEnabledNodeClustersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_cluster_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEnabledNodeClustersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEnabledNodeClustersResponse) ProtoMessage() {} + +func (x *ListEnabledNodeClustersResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_cluster_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEnabledNodeClustersResponse.ProtoReflect.Descriptor instead. +func (*ListEnabledNodeClustersResponse) Descriptor() ([]byte, []int) { + return file_service_node_cluster_proto_rawDescGZIP(), []int{15} +} + +func (x *ListEnabledNodeClustersResponse) GetClusters() []*NodeCluster { if x != nil { return x.Clusters } @@ -215,29 +806,116 @@ var file_service_node_cluster_proto_rawDesc = []byte{ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x63, 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, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x73, 0x22, 0x1f, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x4d, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x63, 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, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x73, 0x32, 0xde, 0x01, 0x0a, 0x12, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x67, 0x0a, 0x16, 0x66, 0x69, 0x6e, - 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 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, + 0x72, 0x73, 0x22, 0x23, 0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x51, 0x0a, 0x22, 0x46, 0x69, 0x6e, 0x64, 0x41, + 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, + 0x08, 0x63, 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, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x22, 0x68, 0x0a, 0x18, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x18, 0x0a, 0x07, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x72, 0x61, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, + 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x44, 0x69, 0x72, 0x22, 0x39, 0x0a, 0x19, 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, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, + 0x86, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, + 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, + 0x0a, 0x1d, 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, 0x12, + 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4b, 0x0a, + 0x1e, 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, + 0x29, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x22, 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, + 0x22, 0x3b, 0x0a, 0x23, 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, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4c, 0x0a, + 0x1e, 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, 0x12, + 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4e, 0x0a, 0x1f, 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, 0x2b, + 0x0a, 0x08, 0x63, 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, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x32, 0x9c, 0x06, 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, 0x50, 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, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x70, + 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, + 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 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, 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, 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, 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, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x21, 0x2e, 0x70, - 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, - 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, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x64, 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, + 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, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, + 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 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, 0x43, 0x68, 0x61, 0x6e, 0x67, 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, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 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, 0x27, 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, + 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, 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -252,26 +930,52 @@ 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, 4) +var file_service_node_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_service_node_cluster_proto_goTypes = []interface{}{ - (*FindAllEnabledNodeClustersRequest)(nil), // 0: pb.FindAllEnabledNodeClustersRequest - (*FindAllEnabledNodeClustersResponse)(nil), // 1: pb.FindAllEnabledNodeClustersResponse - (*FindAllChangedClustersRequest)(nil), // 2: pb.FindAllChangedClustersRequest - (*FindAllChangedClustersResponse)(nil), // 3: pb.FindAllChangedClustersResponse - (*NodeCluster)(nil), // 4: pb.NodeCluster + (*FindAllEnabledNodeClustersRequest)(nil), // 0: pb.FindAllEnabledNodeClustersRequest + (*FindAllEnabledNodeClustersResponse)(nil), // 1: pb.FindAllEnabledNodeClustersResponse + (*FindAllChangedNodeClustersRequest)(nil), // 2: pb.FindAllChangedNodeClustersRequest + (*FindAllChangedNodeClustersResponse)(nil), // 3: pb.FindAllChangedNodeClustersResponse + (*CreateNodeClusterRequest)(nil), // 4: pb.CreateNodeClusterRequest + (*CreateNodeClusterResponse)(nil), // 5: pb.CreateNodeClusterResponse + (*UpdateNodeClusterRequest)(nil), // 6: pb.UpdateNodeClusterRequest + (*UpdateNodeClusterResponse)(nil), // 7: pb.UpdateNodeClusterResponse + (*DisableNodeClusterRequest)(nil), // 8: pb.DisableNodeClusterRequest + (*DisableNodeClusterResponse)(nil), // 9: pb.DisableNodeClusterResponse + (*FindEnabledNodeClusterRequest)(nil), // 10: pb.FindEnabledNodeClusterRequest + (*FindEnabledNodeClusterResponse)(nil), // 11: pb.FindEnabledNodeClusterResponse + (*CountAllEnabledNodeClustersRequest)(nil), // 12: pb.CountAllEnabledNodeClustersRequest + (*CountAllEnabledNodeClustersResponse)(nil), // 13: pb.CountAllEnabledNodeClustersResponse + (*ListEnabledNodeClustersRequest)(nil), // 14: pb.ListEnabledNodeClustersRequest + (*ListEnabledNodeClustersResponse)(nil), // 15: pb.ListEnabledNodeClustersResponse + (*NodeCluster)(nil), // 16: pb.NodeCluster } var file_service_node_cluster_proto_depIdxs = []int32{ - 4, // 0: pb.FindAllEnabledNodeClustersResponse.clusters:type_name -> pb.NodeCluster - 4, // 1: pb.FindAllChangedClustersResponse.clusters:type_name -> pb.NodeCluster - 0, // 2: pb.NodeClusterService.findAllEnabledClusters:input_type -> pb.FindAllEnabledNodeClustersRequest - 2, // 3: pb.NodeClusterService.findAllChangedClusters:input_type -> pb.FindAllChangedClustersRequest - 1, // 4: pb.NodeClusterService.findAllEnabledClusters:output_type -> pb.FindAllEnabledNodeClustersResponse - 3, // 5: pb.NodeClusterService.findAllChangedClusters:output_type -> pb.FindAllChangedClustersResponse - 4, // [4:6] is the sub-list for method output_type - 2, // [2:4] 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 + 16, // 0: pb.FindAllEnabledNodeClustersResponse.clusters:type_name -> pb.NodeCluster + 16, // 1: pb.FindAllChangedNodeClustersResponse.clusters:type_name -> pb.NodeCluster + 16, // 2: pb.FindEnabledNodeClusterResponse.cluster:type_name -> pb.NodeCluster + 16, // 3: pb.ListEnabledNodeClustersResponse.clusters:type_name -> pb.NodeCluster + 4, // 4: pb.NodeClusterService.createNodeCluster:input_type -> pb.CreateNodeClusterRequest + 6, // 5: pb.NodeClusterService.updateNodeCluster:input_type -> pb.UpdateNodeClusterRequest + 8, // 6: pb.NodeClusterService.disableNodeCluster:input_type -> pb.DisableNodeClusterRequest + 10, // 7: pb.NodeClusterService.findEnabledNodeCluster:input_type -> pb.FindEnabledNodeClusterRequest + 0, // 8: pb.NodeClusterService.findAllEnabledNodeClusters:input_type -> pb.FindAllEnabledNodeClustersRequest + 2, // 9: pb.NodeClusterService.findAllChangedNodeClusters:input_type -> pb.FindAllChangedNodeClustersRequest + 12, // 10: pb.NodeClusterService.countAllEnabledNodeClusters:input_type -> pb.CountAllEnabledNodeClustersRequest + 14, // 11: pb.NodeClusterService.listEnabledNodeClusters:input_type -> pb.ListEnabledNodeClustersRequest + 5, // 12: pb.NodeClusterService.createNodeCluster:output_type -> pb.CreateNodeClusterResponse + 7, // 13: pb.NodeClusterService.updateNodeCluster:output_type -> pb.UpdateNodeClusterResponse + 9, // 14: pb.NodeClusterService.disableNodeCluster:output_type -> pb.DisableNodeClusterResponse + 11, // 15: pb.NodeClusterService.findEnabledNodeCluster:output_type -> pb.FindEnabledNodeClusterResponse + 1, // 16: pb.NodeClusterService.findAllEnabledNodeClusters:output_type -> pb.FindAllEnabledNodeClustersResponse + 3, // 17: pb.NodeClusterService.findAllChangedNodeClusters:output_type -> pb.FindAllChangedNodeClustersResponse + 13, // 18: pb.NodeClusterService.countAllEnabledNodeClusters:output_type -> pb.CountAllEnabledNodeClustersResponse + 15, // 19: pb.NodeClusterService.listEnabledNodeClusters:output_type -> pb.ListEnabledNodeClustersResponse + 12, // [12:20] is the sub-list for method output_type + 4, // [4:12] 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_node_cluster_proto_init() } @@ -306,7 +1010,7 @@ func file_service_node_cluster_proto_init() { } } file_service_node_cluster_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindAllChangedClustersRequest); i { + switch v := v.(*FindAllChangedNodeClustersRequest); i { case 0: return &v.state case 1: @@ -318,7 +1022,151 @@ func file_service_node_cluster_proto_init() { } } file_service_node_cluster_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindAllChangedClustersResponse); i { + switch v := v.(*FindAllChangedNodeClustersResponse); 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[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeClusterRequest); 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[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeClusterResponse); 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[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNodeClusterRequest); 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[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNodeClusterResponse); 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[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableNodeClusterRequest); 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[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableNodeClusterResponse); 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[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindEnabledNodeClusterRequest); 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[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindEnabledNodeClusterResponse); 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[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CountAllEnabledNodeClustersRequest); 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[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CountAllEnabledNodeClustersResponse); 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[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEnabledNodeClustersRequest); 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[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEnabledNodeClustersResponse); i { case 0: return &v.state case 1: @@ -336,7 +1184,7 @@ func file_service_node_cluster_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_node_cluster_proto_rawDesc, NumEnums: 0, - NumMessages: 4, + NumMessages: 16, NumExtensions: 0, NumServices: 1, }, @@ -362,10 +1210,22 @@ const _ = grpc.SupportPackageIsVersion6 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type NodeClusterServiceClient interface { + // 创建集群 + CreateNodeCluster(ctx context.Context, in *CreateNodeClusterRequest, opts ...grpc.CallOption) (*CreateNodeClusterResponse, error) + // 修改集群 + UpdateNodeCluster(ctx context.Context, in *UpdateNodeClusterRequest, opts ...grpc.CallOption) (*UpdateNodeClusterResponse, error) + // 禁用集群 + DisableNodeCluster(ctx context.Context, in *DisableNodeClusterRequest, opts ...grpc.CallOption) (*DisableNodeClusterResponse, error) + // 查找单个集群信息 + FindEnabledNodeCluster(ctx context.Context, in *FindEnabledNodeClusterRequest, opts ...grpc.CallOption) (*FindEnabledNodeClusterResponse, error) // 获取所有集群的信息 - FindAllEnabledClusters(ctx context.Context, in *FindAllEnabledNodeClustersRequest, opts ...grpc.CallOption) (*FindAllEnabledNodeClustersResponse, error) + FindAllEnabledNodeClusters(ctx context.Context, in *FindAllEnabledNodeClustersRequest, opts ...grpc.CallOption) (*FindAllEnabledNodeClustersResponse, error) // 获取变更的集群 - FindAllChangedClusters(ctx context.Context, in *FindAllChangedClustersRequest, opts ...grpc.CallOption) (*FindAllChangedClustersResponse, error) + FindAllChangedNodeClusters(ctx context.Context, in *FindAllChangedNodeClustersRequest, opts ...grpc.CallOption) (*FindAllChangedNodeClustersResponse, error) + // 计算所有集群数量 + CountAllEnabledNodeClusters(ctx context.Context, in *CountAllEnabledNodeClustersRequest, opts ...grpc.CallOption) (*CountAllEnabledNodeClustersResponse, error) + // 列出单页集群 + ListEnabledNodeClusters(ctx context.Context, in *ListEnabledNodeClustersRequest, opts ...grpc.CallOption) (*ListEnabledNodeClustersResponse, error) } type nodeClusterServiceClient struct { @@ -376,18 +1236,72 @@ func NewNodeClusterServiceClient(cc grpc.ClientConnInterface) NodeClusterService return &nodeClusterServiceClient{cc} } -func (c *nodeClusterServiceClient) FindAllEnabledClusters(ctx context.Context, in *FindAllEnabledNodeClustersRequest, opts ...grpc.CallOption) (*FindAllEnabledNodeClustersResponse, error) { - out := new(FindAllEnabledNodeClustersResponse) - err := c.cc.Invoke(ctx, "/pb.NodeClusterService/findAllEnabledClusters", in, out, opts...) +func (c *nodeClusterServiceClient) CreateNodeCluster(ctx context.Context, in *CreateNodeClusterRequest, opts ...grpc.CallOption) (*CreateNodeClusterResponse, error) { + out := new(CreateNodeClusterResponse) + err := c.cc.Invoke(ctx, "/pb.NodeClusterService/createNodeCluster", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *nodeClusterServiceClient) FindAllChangedClusters(ctx context.Context, in *FindAllChangedClustersRequest, opts ...grpc.CallOption) (*FindAllChangedClustersResponse, error) { - out := new(FindAllChangedClustersResponse) - err := c.cc.Invoke(ctx, "/pb.NodeClusterService/findAllChangedClusters", in, out, opts...) +func (c *nodeClusterServiceClient) UpdateNodeCluster(ctx context.Context, in *UpdateNodeClusterRequest, opts ...grpc.CallOption) (*UpdateNodeClusterResponse, error) { + out := new(UpdateNodeClusterResponse) + err := c.cc.Invoke(ctx, "/pb.NodeClusterService/updateNodeCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClusterServiceClient) DisableNodeCluster(ctx context.Context, in *DisableNodeClusterRequest, opts ...grpc.CallOption) (*DisableNodeClusterResponse, error) { + out := new(DisableNodeClusterResponse) + err := c.cc.Invoke(ctx, "/pb.NodeClusterService/disableNodeCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClusterServiceClient) FindEnabledNodeCluster(ctx context.Context, in *FindEnabledNodeClusterRequest, opts ...grpc.CallOption) (*FindEnabledNodeClusterResponse, error) { + out := new(FindEnabledNodeClusterResponse) + err := c.cc.Invoke(ctx, "/pb.NodeClusterService/findEnabledNodeCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClusterServiceClient) FindAllEnabledNodeClusters(ctx context.Context, in *FindAllEnabledNodeClustersRequest, opts ...grpc.CallOption) (*FindAllEnabledNodeClustersResponse, error) { + out := new(FindAllEnabledNodeClustersResponse) + err := c.cc.Invoke(ctx, "/pb.NodeClusterService/findAllEnabledNodeClusters", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClusterServiceClient) FindAllChangedNodeClusters(ctx context.Context, in *FindAllChangedNodeClustersRequest, opts ...grpc.CallOption) (*FindAllChangedNodeClustersResponse, error) { + out := new(FindAllChangedNodeClustersResponse) + err := c.cc.Invoke(ctx, "/pb.NodeClusterService/findAllChangedNodeClusters", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClusterServiceClient) CountAllEnabledNodeClusters(ctx context.Context, in *CountAllEnabledNodeClustersRequest, opts ...grpc.CallOption) (*CountAllEnabledNodeClustersResponse, error) { + out := new(CountAllEnabledNodeClustersResponse) + err := c.cc.Invoke(ctx, "/pb.NodeClusterService/countAllEnabledNodeClusters", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClusterServiceClient) ListEnabledNodeClusters(ctx context.Context, in *ListEnabledNodeClustersRequest, opts ...grpc.CallOption) (*ListEnabledNodeClustersResponse, error) { + out := new(ListEnabledNodeClustersResponse) + err := c.cc.Invoke(ctx, "/pb.NodeClusterService/listEnabledNodeClusters", in, out, opts...) if err != nil { return nil, err } @@ -396,59 +1310,197 @@ func (c *nodeClusterServiceClient) FindAllChangedClusters(ctx context.Context, i // NodeClusterServiceServer is the server API for NodeClusterService service. type NodeClusterServiceServer interface { + // 创建集群 + CreateNodeCluster(context.Context, *CreateNodeClusterRequest) (*CreateNodeClusterResponse, error) + // 修改集群 + UpdateNodeCluster(context.Context, *UpdateNodeClusterRequest) (*UpdateNodeClusterResponse, error) + // 禁用集群 + DisableNodeCluster(context.Context, *DisableNodeClusterRequest) (*DisableNodeClusterResponse, error) + // 查找单个集群信息 + FindEnabledNodeCluster(context.Context, *FindEnabledNodeClusterRequest) (*FindEnabledNodeClusterResponse, error) // 获取所有集群的信息 - FindAllEnabledClusters(context.Context, *FindAllEnabledNodeClustersRequest) (*FindAllEnabledNodeClustersResponse, error) + FindAllEnabledNodeClusters(context.Context, *FindAllEnabledNodeClustersRequest) (*FindAllEnabledNodeClustersResponse, error) // 获取变更的集群 - FindAllChangedClusters(context.Context, *FindAllChangedClustersRequest) (*FindAllChangedClustersResponse, error) + FindAllChangedNodeClusters(context.Context, *FindAllChangedNodeClustersRequest) (*FindAllChangedNodeClustersResponse, error) + // 计算所有集群数量 + CountAllEnabledNodeClusters(context.Context, *CountAllEnabledNodeClustersRequest) (*CountAllEnabledNodeClustersResponse, error) + // 列出单页集群 + ListEnabledNodeClusters(context.Context, *ListEnabledNodeClustersRequest) (*ListEnabledNodeClustersResponse, error) } // UnimplementedNodeClusterServiceServer can be embedded to have forward compatible implementations. type UnimplementedNodeClusterServiceServer struct { } -func (*UnimplementedNodeClusterServiceServer) FindAllEnabledClusters(context.Context, *FindAllEnabledNodeClustersRequest) (*FindAllEnabledNodeClustersResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledClusters not implemented") +func (*UnimplementedNodeClusterServiceServer) CreateNodeCluster(context.Context, *CreateNodeClusterRequest) (*CreateNodeClusterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateNodeCluster not implemented") } -func (*UnimplementedNodeClusterServiceServer) FindAllChangedClusters(context.Context, *FindAllChangedClustersRequest) (*FindAllChangedClustersResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method FindAllChangedClusters not implemented") +func (*UnimplementedNodeClusterServiceServer) UpdateNodeCluster(context.Context, *UpdateNodeClusterRequest) (*UpdateNodeClusterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeCluster not implemented") +} +func (*UnimplementedNodeClusterServiceServer) DisableNodeCluster(context.Context, *DisableNodeClusterRequest) (*DisableNodeClusterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisableNodeCluster not implemented") +} +func (*UnimplementedNodeClusterServiceServer) FindEnabledNodeCluster(context.Context, *FindEnabledNodeClusterRequest) (*FindEnabledNodeClusterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindEnabledNodeCluster not implemented") +} +func (*UnimplementedNodeClusterServiceServer) FindAllEnabledNodeClusters(context.Context, *FindAllEnabledNodeClustersRequest) (*FindAllEnabledNodeClustersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledNodeClusters not implemented") +} +func (*UnimplementedNodeClusterServiceServer) FindAllChangedNodeClusters(context.Context, *FindAllChangedNodeClustersRequest) (*FindAllChangedNodeClustersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindAllChangedNodeClusters not implemented") +} +func (*UnimplementedNodeClusterServiceServer) CountAllEnabledNodeClusters(context.Context, *CountAllEnabledNodeClustersRequest) (*CountAllEnabledNodeClustersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodeClusters not implemented") +} +func (*UnimplementedNodeClusterServiceServer) ListEnabledNodeClusters(context.Context, *ListEnabledNodeClustersRequest) (*ListEnabledNodeClustersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListEnabledNodeClusters not implemented") } func RegisterNodeClusterServiceServer(s *grpc.Server, srv NodeClusterServiceServer) { s.RegisterService(&_NodeClusterService_serviceDesc, srv) } -func _NodeClusterService_FindAllEnabledClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _NodeClusterService_CreateNodeCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateNodeClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeClusterServiceServer).CreateNodeCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeClusterService/CreateNodeCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeClusterServiceServer).CreateNodeCluster(ctx, req.(*CreateNodeClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeClusterService_UpdateNodeCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateNodeClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeClusterServiceServer).UpdateNodeCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeClusterService/UpdateNodeCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeClusterServiceServer).UpdateNodeCluster(ctx, req.(*UpdateNodeClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeClusterService_DisableNodeCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisableNodeClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeClusterServiceServer).DisableNodeCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeClusterService/DisableNodeCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeClusterServiceServer).DisableNodeCluster(ctx, req.(*DisableNodeClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeClusterService_FindEnabledNodeCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FindEnabledNodeClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeClusterServiceServer).FindEnabledNodeCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeClusterService/FindEnabledNodeCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeClusterServiceServer).FindEnabledNodeCluster(ctx, req.(*FindEnabledNodeClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeClusterService_FindAllEnabledNodeClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FindAllEnabledNodeClustersRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeClusterServiceServer).FindAllEnabledClusters(ctx, in) + return srv.(NodeClusterServiceServer).FindAllEnabledNodeClusters(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/pb.NodeClusterService/FindAllEnabledClusters", + FullMethod: "/pb.NodeClusterService/FindAllEnabledNodeClusters", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeClusterServiceServer).FindAllEnabledClusters(ctx, req.(*FindAllEnabledNodeClustersRequest)) + return srv.(NodeClusterServiceServer).FindAllEnabledNodeClusters(ctx, req.(*FindAllEnabledNodeClustersRequest)) } return interceptor(ctx, in, info, handler) } -func _NodeClusterService_FindAllChangedClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(FindAllChangedClustersRequest) +func _NodeClusterService_FindAllChangedNodeClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FindAllChangedNodeClustersRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeClusterServiceServer).FindAllChangedClusters(ctx, in) + return srv.(NodeClusterServiceServer).FindAllChangedNodeClusters(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/pb.NodeClusterService/FindAllChangedClusters", + FullMethod: "/pb.NodeClusterService/FindAllChangedNodeClusters", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeClusterServiceServer).FindAllChangedClusters(ctx, req.(*FindAllChangedClustersRequest)) + return srv.(NodeClusterServiceServer).FindAllChangedNodeClusters(ctx, req.(*FindAllChangedNodeClustersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeClusterService_CountAllEnabledNodeClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CountAllEnabledNodeClustersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeClusterServiceServer).CountAllEnabledNodeClusters(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeClusterService/CountAllEnabledNodeClusters", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeClusterServiceServer).CountAllEnabledNodeClusters(ctx, req.(*CountAllEnabledNodeClustersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeClusterService_ListEnabledNodeClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListEnabledNodeClustersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeClusterServiceServer).ListEnabledNodeClusters(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeClusterService/ListEnabledNodeClusters", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeClusterServiceServer).ListEnabledNodeClusters(ctx, req.(*ListEnabledNodeClustersRequest)) } return interceptor(ctx, in, info, handler) } @@ -458,12 +1510,36 @@ var _NodeClusterService_serviceDesc = grpc.ServiceDesc{ HandlerType: (*NodeClusterServiceServer)(nil), Methods: []grpc.MethodDesc{ { - MethodName: "findAllEnabledClusters", - Handler: _NodeClusterService_FindAllEnabledClusters_Handler, + MethodName: "createNodeCluster", + Handler: _NodeClusterService_CreateNodeCluster_Handler, }, { - MethodName: "findAllChangedClusters", - Handler: _NodeClusterService_FindAllChangedClusters_Handler, + MethodName: "updateNodeCluster", + Handler: _NodeClusterService_UpdateNodeCluster_Handler, + }, + { + MethodName: "disableNodeCluster", + Handler: _NodeClusterService_DisableNodeCluster_Handler, + }, + { + MethodName: "findEnabledNodeCluster", + Handler: _NodeClusterService_FindEnabledNodeCluster_Handler, + }, + { + MethodName: "findAllEnabledNodeClusters", + Handler: _NodeClusterService_FindAllEnabledNodeClusters_Handler, + }, + { + MethodName: "findAllChangedNodeClusters", + Handler: _NodeClusterService_FindAllChangedNodeClusters_Handler, + }, + { + MethodName: "countAllEnabledNodeClusters", + Handler: _NodeClusterService_CountAllEnabledNodeClusters_Handler, + }, + { + MethodName: "listEnabledNodeClusters", + Handler: _NodeClusterService_ListEnabledNodeClusters_Handler, }, }, Streams: []grpc.StreamDesc{}, diff --git a/internal/rpc/pb/service_node_ip_address.pb.go b/internal/rpc/pb/service_node_ip_address.pb.go new file mode 100644 index 00000000..635c5f26 --- /dev/null +++ b/internal/rpc/pb/service_node_ip_address.pb.go @@ -0,0 +1,1375 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.12.3 +// source: service_node_ip_address.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 + +// 创建IP地址 +type CreateNodeIPAddressRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Ip string `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"` +} + +func (x *CreateNodeIPAddressRequest) Reset() { + *x = CreateNodeIPAddressRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_ip_address_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNodeIPAddressRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNodeIPAddressRequest) ProtoMessage() {} + +func (x *CreateNodeIPAddressRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_ip_address_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 CreateNodeIPAddressRequest.ProtoReflect.Descriptor instead. +func (*CreateNodeIPAddressRequest) Descriptor() ([]byte, []int) { + return file_service_node_ip_address_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateNodeIPAddressRequest) GetNodeId() int64 { + if x != nil { + return x.NodeId + } + return 0 +} + +func (x *CreateNodeIPAddressRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateNodeIPAddressRequest) GetIp() string { + if x != nil { + return x.Ip + } + return "" +} + +type CreateNodeIPAddressResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AddressId int64 `protobuf:"varint,1,opt,name=addressId,proto3" json:"addressId,omitempty"` +} + +func (x *CreateNodeIPAddressResponse) Reset() { + *x = CreateNodeIPAddressResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_ip_address_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNodeIPAddressResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNodeIPAddressResponse) ProtoMessage() {} + +func (x *CreateNodeIPAddressResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_ip_address_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 CreateNodeIPAddressResponse.ProtoReflect.Descriptor instead. +func (*CreateNodeIPAddressResponse) Descriptor() ([]byte, []int) { + return file_service_node_ip_address_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateNodeIPAddressResponse) GetAddressId() int64 { + if x != nil { + return x.AddressId + } + return 0 +} + +// 修改IP地址 +type UpdateNodeIPAddressRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AddressId int64 `protobuf:"varint,1,opt,name=addressId,proto3" json:"addressId,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Ip string `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"` +} + +func (x *UpdateNodeIPAddressRequest) Reset() { + *x = UpdateNodeIPAddressRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_ip_address_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNodeIPAddressRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNodeIPAddressRequest) ProtoMessage() {} + +func (x *UpdateNodeIPAddressRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_ip_address_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 UpdateNodeIPAddressRequest.ProtoReflect.Descriptor instead. +func (*UpdateNodeIPAddressRequest) Descriptor() ([]byte, []int) { + return file_service_node_ip_address_proto_rawDescGZIP(), []int{2} +} + +func (x *UpdateNodeIPAddressRequest) GetAddressId() int64 { + if x != nil { + return x.AddressId + } + return 0 +} + +func (x *UpdateNodeIPAddressRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateNodeIPAddressRequest) GetIp() string { + if x != nil { + return x.Ip + } + return "" +} + +type UpdateNodeIPAddressResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateNodeIPAddressResponse) Reset() { + *x = UpdateNodeIPAddressResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_ip_address_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNodeIPAddressResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNodeIPAddressResponse) ProtoMessage() {} + +func (x *UpdateNodeIPAddressResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_ip_address_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 UpdateNodeIPAddressResponse.ProtoReflect.Descriptor instead. +func (*UpdateNodeIPAddressResponse) Descriptor() ([]byte, []int) { + return file_service_node_ip_address_proto_rawDescGZIP(), []int{3} +} + +// 修改IP地址所属节点 +type UpdateNodeIPAddressNodeIdRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AddressId int64 `protobuf:"varint,1,opt,name=addressId,proto3" json:"addressId,omitempty"` + NodeId int64 `protobuf:"varint,2,opt,name=nodeId,proto3" json:"nodeId,omitempty"` +} + +func (x *UpdateNodeIPAddressNodeIdRequest) Reset() { + *x = UpdateNodeIPAddressNodeIdRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_ip_address_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNodeIPAddressNodeIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNodeIPAddressNodeIdRequest) ProtoMessage() {} + +func (x *UpdateNodeIPAddressNodeIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_ip_address_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 UpdateNodeIPAddressNodeIdRequest.ProtoReflect.Descriptor instead. +func (*UpdateNodeIPAddressNodeIdRequest) Descriptor() ([]byte, []int) { + return file_service_node_ip_address_proto_rawDescGZIP(), []int{4} +} + +func (x *UpdateNodeIPAddressNodeIdRequest) GetAddressId() int64 { + if x != nil { + return x.AddressId + } + return 0 +} + +func (x *UpdateNodeIPAddressNodeIdRequest) GetNodeId() int64 { + if x != nil { + return x.NodeId + } + return 0 +} + +type UpdateNodeIPAddressNodeIdResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateNodeIPAddressNodeIdResponse) Reset() { + *x = UpdateNodeIPAddressNodeIdResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_ip_address_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNodeIPAddressNodeIdResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNodeIPAddressNodeIdResponse) ProtoMessage() {} + +func (x *UpdateNodeIPAddressNodeIdResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_ip_address_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 UpdateNodeIPAddressNodeIdResponse.ProtoReflect.Descriptor instead. +func (*UpdateNodeIPAddressNodeIdResponse) Descriptor() ([]byte, []int) { + return file_service_node_ip_address_proto_rawDescGZIP(), []int{5} +} + +// 禁用单个IP地址 +type DisableNodeIPAddressRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AddressId int64 `protobuf:"varint,1,opt,name=addressId,proto3" json:"addressId,omitempty"` +} + +func (x *DisableNodeIPAddressRequest) Reset() { + *x = DisableNodeIPAddressRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_ip_address_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisableNodeIPAddressRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableNodeIPAddressRequest) ProtoMessage() {} + +func (x *DisableNodeIPAddressRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_ip_address_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 DisableNodeIPAddressRequest.ProtoReflect.Descriptor instead. +func (*DisableNodeIPAddressRequest) Descriptor() ([]byte, []int) { + return file_service_node_ip_address_proto_rawDescGZIP(), []int{6} +} + +func (x *DisableNodeIPAddressRequest) GetAddressId() int64 { + if x != nil { + return x.AddressId + } + return 0 +} + +type DisableNodeIPAddressResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DisableNodeIPAddressResponse) Reset() { + *x = DisableNodeIPAddressResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_ip_address_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisableNodeIPAddressResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableNodeIPAddressResponse) ProtoMessage() {} + +func (x *DisableNodeIPAddressResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_ip_address_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 DisableNodeIPAddressResponse.ProtoReflect.Descriptor instead. +func (*DisableNodeIPAddressResponse) Descriptor() ([]byte, []int) { + return file_service_node_ip_address_proto_rawDescGZIP(), []int{7} +} + +// 禁用节点的所有IP地址 +type DisableAllIPAddressesWithNodeIdRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` +} + +func (x *DisableAllIPAddressesWithNodeIdRequest) Reset() { + *x = DisableAllIPAddressesWithNodeIdRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_ip_address_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisableAllIPAddressesWithNodeIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableAllIPAddressesWithNodeIdRequest) ProtoMessage() {} + +func (x *DisableAllIPAddressesWithNodeIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_ip_address_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 DisableAllIPAddressesWithNodeIdRequest.ProtoReflect.Descriptor instead. +func (*DisableAllIPAddressesWithNodeIdRequest) Descriptor() ([]byte, []int) { + return file_service_node_ip_address_proto_rawDescGZIP(), []int{8} +} + +func (x *DisableAllIPAddressesWithNodeIdRequest) GetNodeId() int64 { + if x != nil { + return x.NodeId + } + return 0 +} + +type DisableAllIPAddressesWithNodeIdResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DisableAllIPAddressesWithNodeIdResponse) Reset() { + *x = DisableAllIPAddressesWithNodeIdResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_ip_address_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisableAllIPAddressesWithNodeIdResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableAllIPAddressesWithNodeIdResponse) ProtoMessage() {} + +func (x *DisableAllIPAddressesWithNodeIdResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_ip_address_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 DisableAllIPAddressesWithNodeIdResponse.ProtoReflect.Descriptor instead. +func (*DisableAllIPAddressesWithNodeIdResponse) Descriptor() ([]byte, []int) { + return file_service_node_ip_address_proto_rawDescGZIP(), []int{9} +} + +// 查找单个IP地址 +type FindEnabledNodeIPAddressRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AddressId int64 `protobuf:"varint,1,opt,name=addressId,proto3" json:"addressId,omitempty"` +} + +func (x *FindEnabledNodeIPAddressRequest) Reset() { + *x = FindEnabledNodeIPAddressRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_ip_address_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindEnabledNodeIPAddressRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindEnabledNodeIPAddressRequest) ProtoMessage() {} + +func (x *FindEnabledNodeIPAddressRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_ip_address_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 FindEnabledNodeIPAddressRequest.ProtoReflect.Descriptor instead. +func (*FindEnabledNodeIPAddressRequest) Descriptor() ([]byte, []int) { + return file_service_node_ip_address_proto_rawDescGZIP(), []int{10} +} + +func (x *FindEnabledNodeIPAddressRequest) GetAddressId() int64 { + if x != nil { + return x.AddressId + } + return 0 +} + +type FindEnabledNodeIPAddressResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpAddress *NodeIPAddress `protobuf:"bytes,1,opt,name=ipAddress,proto3" json:"ipAddress,omitempty"` +} + +func (x *FindEnabledNodeIPAddressResponse) Reset() { + *x = FindEnabledNodeIPAddressResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_ip_address_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindEnabledNodeIPAddressResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindEnabledNodeIPAddressResponse) ProtoMessage() {} + +func (x *FindEnabledNodeIPAddressResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_ip_address_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 FindEnabledNodeIPAddressResponse.ProtoReflect.Descriptor instead. +func (*FindEnabledNodeIPAddressResponse) Descriptor() ([]byte, []int) { + return file_service_node_ip_address_proto_rawDescGZIP(), []int{11} +} + +func (x *FindEnabledNodeIPAddressResponse) GetIpAddress() *NodeIPAddress { + if x != nil { + return x.IpAddress + } + return nil +} + +// 查找节点的所有地址 +type FindAllEnabledIPAddressesWithNodeIdRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` +} + +func (x *FindAllEnabledIPAddressesWithNodeIdRequest) Reset() { + *x = FindAllEnabledIPAddressesWithNodeIdRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_ip_address_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindAllEnabledIPAddressesWithNodeIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindAllEnabledIPAddressesWithNodeIdRequest) ProtoMessage() {} + +func (x *FindAllEnabledIPAddressesWithNodeIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_ip_address_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 FindAllEnabledIPAddressesWithNodeIdRequest.ProtoReflect.Descriptor instead. +func (*FindAllEnabledIPAddressesWithNodeIdRequest) Descriptor() ([]byte, []int) { + return file_service_node_ip_address_proto_rawDescGZIP(), []int{12} +} + +func (x *FindAllEnabledIPAddressesWithNodeIdRequest) GetNodeId() int64 { + if x != nil { + return x.NodeId + } + return 0 +} + +type FindAllEnabledIPAddressesWithNodeIdResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Addresses []*NodeIPAddress `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` +} + +func (x *FindAllEnabledIPAddressesWithNodeIdResponse) Reset() { + *x = FindAllEnabledIPAddressesWithNodeIdResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_ip_address_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindAllEnabledIPAddressesWithNodeIdResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindAllEnabledIPAddressesWithNodeIdResponse) ProtoMessage() {} + +func (x *FindAllEnabledIPAddressesWithNodeIdResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_ip_address_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 FindAllEnabledIPAddressesWithNodeIdResponse.ProtoReflect.Descriptor instead. +func (*FindAllEnabledIPAddressesWithNodeIdResponse) Descriptor() ([]byte, []int) { + return file_service_node_ip_address_proto_rawDescGZIP(), []int{13} +} + +func (x *FindAllEnabledIPAddressesWithNodeIdResponse) GetAddresses() []*NodeIPAddress { + if x != nil { + return x.Addresses + } + return nil +} + +var File_service_node_ip_address_proto protoreflect.FileDescriptor + +var file_service_node_ip_address_proto_rawDesc = []byte{ + 0x0a, 0x1d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, + 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x02, 0x70, 0x62, 0x1a, 0x1b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x58, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, + 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0x3b, 0x0a, 0x1b, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0x1d, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x64, + 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, + 0x22, 0x23, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x1b, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x49, 0x64, 0x22, 0x1e, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x40, 0x0a, 0x26, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, + 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, + 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, + 0x64, 0x65, 0x49, 0x64, 0x22, 0x29, 0x0a, 0x27, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, + 0x6c, 0x6c, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, + 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3f, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, + 0x22, 0x53, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, + 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x44, 0x0a, 0x2a, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x2b, 0x46, + 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, + 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x32, 0xf7, 0x05, 0x0a, 0x14, + 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x62, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, + 0x64, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, + 0x0a, 0x14, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x1f, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x2e, 0x70, + 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86, 0x01, 0x0a, + 0x23, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, + 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, + 0x64, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, + 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, + 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_service_node_ip_address_proto_rawDescOnce sync.Once + file_service_node_ip_address_proto_rawDescData = file_service_node_ip_address_proto_rawDesc +) + +func file_service_node_ip_address_proto_rawDescGZIP() []byte { + file_service_node_ip_address_proto_rawDescOnce.Do(func() { + file_service_node_ip_address_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_node_ip_address_proto_rawDescData) + }) + return file_service_node_ip_address_proto_rawDescData +} + +var file_service_node_ip_address_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_service_node_ip_address_proto_goTypes = []interface{}{ + (*CreateNodeIPAddressRequest)(nil), // 0: pb.CreateNodeIPAddressRequest + (*CreateNodeIPAddressResponse)(nil), // 1: pb.CreateNodeIPAddressResponse + (*UpdateNodeIPAddressRequest)(nil), // 2: pb.UpdateNodeIPAddressRequest + (*UpdateNodeIPAddressResponse)(nil), // 3: pb.UpdateNodeIPAddressResponse + (*UpdateNodeIPAddressNodeIdRequest)(nil), // 4: pb.UpdateNodeIPAddressNodeIdRequest + (*UpdateNodeIPAddressNodeIdResponse)(nil), // 5: pb.UpdateNodeIPAddressNodeIdResponse + (*DisableNodeIPAddressRequest)(nil), // 6: pb.DisableNodeIPAddressRequest + (*DisableNodeIPAddressResponse)(nil), // 7: pb.DisableNodeIPAddressResponse + (*DisableAllIPAddressesWithNodeIdRequest)(nil), // 8: pb.DisableAllIPAddressesWithNodeIdRequest + (*DisableAllIPAddressesWithNodeIdResponse)(nil), // 9: pb.DisableAllIPAddressesWithNodeIdResponse + (*FindEnabledNodeIPAddressRequest)(nil), // 10: pb.FindEnabledNodeIPAddressRequest + (*FindEnabledNodeIPAddressResponse)(nil), // 11: pb.FindEnabledNodeIPAddressResponse + (*FindAllEnabledIPAddressesWithNodeIdRequest)(nil), // 12: pb.FindAllEnabledIPAddressesWithNodeIdRequest + (*FindAllEnabledIPAddressesWithNodeIdResponse)(nil), // 13: pb.FindAllEnabledIPAddressesWithNodeIdResponse + (*NodeIPAddress)(nil), // 14: pb.NodeIPAddress +} +var file_service_node_ip_address_proto_depIdxs = []int32{ + 14, // 0: pb.FindEnabledNodeIPAddressResponse.ipAddress:type_name -> pb.NodeIPAddress + 14, // 1: pb.FindAllEnabledIPAddressesWithNodeIdResponse.addresses:type_name -> pb.NodeIPAddress + 0, // 2: pb.NodeIPAddressService.createNodeIPAddress:input_type -> pb.CreateNodeIPAddressRequest + 2, // 3: pb.NodeIPAddressService.updateNodeIPAddress:input_type -> pb.UpdateNodeIPAddressRequest + 4, // 4: pb.NodeIPAddressService.updateNodeIPAddressNodeId:input_type -> pb.UpdateNodeIPAddressNodeIdRequest + 6, // 5: pb.NodeIPAddressService.disableNodeIPAddress:input_type -> pb.DisableNodeIPAddressRequest + 8, // 6: pb.NodeIPAddressService.disableAllIPAddressesWithNodeId:input_type -> pb.DisableAllIPAddressesWithNodeIdRequest + 10, // 7: pb.NodeIPAddressService.findEnabledNodeIPAddress:input_type -> pb.FindEnabledNodeIPAddressRequest + 12, // 8: pb.NodeIPAddressService.findAllEnabledIPAddressesWithNodeId:input_type -> pb.FindAllEnabledIPAddressesWithNodeIdRequest + 1, // 9: pb.NodeIPAddressService.createNodeIPAddress:output_type -> pb.CreateNodeIPAddressResponse + 3, // 10: pb.NodeIPAddressService.updateNodeIPAddress:output_type -> pb.UpdateNodeIPAddressResponse + 5, // 11: pb.NodeIPAddressService.updateNodeIPAddressNodeId:output_type -> pb.UpdateNodeIPAddressNodeIdResponse + 7, // 12: pb.NodeIPAddressService.disableNodeIPAddress:output_type -> pb.DisableNodeIPAddressResponse + 9, // 13: pb.NodeIPAddressService.disableAllIPAddressesWithNodeId:output_type -> pb.DisableAllIPAddressesWithNodeIdResponse + 11, // 14: pb.NodeIPAddressService.findEnabledNodeIPAddress:output_type -> pb.FindEnabledNodeIPAddressResponse + 13, // 15: pb.NodeIPAddressService.findAllEnabledIPAddressesWithNodeId:output_type -> pb.FindAllEnabledIPAddressesWithNodeIdResponse + 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_node_ip_address_proto_init() } +func file_service_node_ip_address_proto_init() { + if File_service_node_ip_address_proto != nil { + return + } + file_model_node_ip_address_proto_init() + if !protoimpl.UnsafeEnabled { + file_service_node_ip_address_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeIPAddressRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_ip_address_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeIPAddressResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_ip_address_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNodeIPAddressRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_ip_address_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNodeIPAddressResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_ip_address_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNodeIPAddressNodeIdRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_ip_address_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNodeIPAddressNodeIdResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_ip_address_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableNodeIPAddressRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_ip_address_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableNodeIPAddressResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_ip_address_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableAllIPAddressesWithNodeIdRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_ip_address_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableAllIPAddressesWithNodeIdResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_ip_address_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindEnabledNodeIPAddressRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_ip_address_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindEnabledNodeIPAddressResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_ip_address_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindAllEnabledIPAddressesWithNodeIdRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_ip_address_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindAllEnabledIPAddressesWithNodeIdResponse); 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_ip_address_proto_rawDesc, + NumEnums: 0, + NumMessages: 14, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_service_node_ip_address_proto_goTypes, + DependencyIndexes: file_service_node_ip_address_proto_depIdxs, + MessageInfos: file_service_node_ip_address_proto_msgTypes, + }.Build() + File_service_node_ip_address_proto = out.File + file_service_node_ip_address_proto_rawDesc = nil + file_service_node_ip_address_proto_goTypes = nil + file_service_node_ip_address_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 + +// NodeIPAddressServiceClient is the client API for NodeIPAddressService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type NodeIPAddressServiceClient interface { + // 创建IP地址 + CreateNodeIPAddress(ctx context.Context, in *CreateNodeIPAddressRequest, opts ...grpc.CallOption) (*CreateNodeIPAddressResponse, error) + // 修改IP地址 + UpdateNodeIPAddress(ctx context.Context, in *UpdateNodeIPAddressRequest, opts ...grpc.CallOption) (*UpdateNodeIPAddressResponse, error) + // 修改IP地址所属节点 + UpdateNodeIPAddressNodeId(ctx context.Context, in *UpdateNodeIPAddressNodeIdRequest, opts ...grpc.CallOption) (*UpdateNodeIPAddressNodeIdResponse, error) + // 禁用单个IP地址 + DisableNodeIPAddress(ctx context.Context, in *DisableNodeIPAddressRequest, opts ...grpc.CallOption) (*DisableNodeIPAddressResponse, error) + // 禁用节点的所有IP地址 + DisableAllIPAddressesWithNodeId(ctx context.Context, in *DisableAllIPAddressesWithNodeIdRequest, opts ...grpc.CallOption) (*DisableAllIPAddressesWithNodeIdResponse, error) + // 查找单个IP地址 + FindEnabledNodeIPAddress(ctx context.Context, in *FindEnabledNodeIPAddressRequest, opts ...grpc.CallOption) (*FindEnabledNodeIPAddressResponse, error) + // 查找节点的所有地址 + FindAllEnabledIPAddressesWithNodeId(ctx context.Context, in *FindAllEnabledIPAddressesWithNodeIdRequest, opts ...grpc.CallOption) (*FindAllEnabledIPAddressesWithNodeIdResponse, error) +} + +type nodeIPAddressServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewNodeIPAddressServiceClient(cc grpc.ClientConnInterface) NodeIPAddressServiceClient { + return &nodeIPAddressServiceClient{cc} +} + +func (c *nodeIPAddressServiceClient) CreateNodeIPAddress(ctx context.Context, in *CreateNodeIPAddressRequest, opts ...grpc.CallOption) (*CreateNodeIPAddressResponse, error) { + out := new(CreateNodeIPAddressResponse) + err := c.cc.Invoke(ctx, "/pb.NodeIPAddressService/createNodeIPAddress", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeIPAddressServiceClient) UpdateNodeIPAddress(ctx context.Context, in *UpdateNodeIPAddressRequest, opts ...grpc.CallOption) (*UpdateNodeIPAddressResponse, error) { + out := new(UpdateNodeIPAddressResponse) + err := c.cc.Invoke(ctx, "/pb.NodeIPAddressService/updateNodeIPAddress", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeIPAddressServiceClient) UpdateNodeIPAddressNodeId(ctx context.Context, in *UpdateNodeIPAddressNodeIdRequest, opts ...grpc.CallOption) (*UpdateNodeIPAddressNodeIdResponse, error) { + out := new(UpdateNodeIPAddressNodeIdResponse) + err := c.cc.Invoke(ctx, "/pb.NodeIPAddressService/updateNodeIPAddressNodeId", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeIPAddressServiceClient) DisableNodeIPAddress(ctx context.Context, in *DisableNodeIPAddressRequest, opts ...grpc.CallOption) (*DisableNodeIPAddressResponse, error) { + out := new(DisableNodeIPAddressResponse) + err := c.cc.Invoke(ctx, "/pb.NodeIPAddressService/disableNodeIPAddress", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeIPAddressServiceClient) DisableAllIPAddressesWithNodeId(ctx context.Context, in *DisableAllIPAddressesWithNodeIdRequest, opts ...grpc.CallOption) (*DisableAllIPAddressesWithNodeIdResponse, error) { + out := new(DisableAllIPAddressesWithNodeIdResponse) + err := c.cc.Invoke(ctx, "/pb.NodeIPAddressService/disableAllIPAddressesWithNodeId", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeIPAddressServiceClient) FindEnabledNodeIPAddress(ctx context.Context, in *FindEnabledNodeIPAddressRequest, opts ...grpc.CallOption) (*FindEnabledNodeIPAddressResponse, error) { + out := new(FindEnabledNodeIPAddressResponse) + err := c.cc.Invoke(ctx, "/pb.NodeIPAddressService/findEnabledNodeIPAddress", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeIPAddressServiceClient) FindAllEnabledIPAddressesWithNodeId(ctx context.Context, in *FindAllEnabledIPAddressesWithNodeIdRequest, opts ...grpc.CallOption) (*FindAllEnabledIPAddressesWithNodeIdResponse, error) { + out := new(FindAllEnabledIPAddressesWithNodeIdResponse) + err := c.cc.Invoke(ctx, "/pb.NodeIPAddressService/findAllEnabledIPAddressesWithNodeId", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// NodeIPAddressServiceServer is the server API for NodeIPAddressService service. +type NodeIPAddressServiceServer interface { + // 创建IP地址 + CreateNodeIPAddress(context.Context, *CreateNodeIPAddressRequest) (*CreateNodeIPAddressResponse, error) + // 修改IP地址 + UpdateNodeIPAddress(context.Context, *UpdateNodeIPAddressRequest) (*UpdateNodeIPAddressResponse, error) + // 修改IP地址所属节点 + UpdateNodeIPAddressNodeId(context.Context, *UpdateNodeIPAddressNodeIdRequest) (*UpdateNodeIPAddressNodeIdResponse, error) + // 禁用单个IP地址 + DisableNodeIPAddress(context.Context, *DisableNodeIPAddressRequest) (*DisableNodeIPAddressResponse, error) + // 禁用节点的所有IP地址 + DisableAllIPAddressesWithNodeId(context.Context, *DisableAllIPAddressesWithNodeIdRequest) (*DisableAllIPAddressesWithNodeIdResponse, error) + // 查找单个IP地址 + FindEnabledNodeIPAddress(context.Context, *FindEnabledNodeIPAddressRequest) (*FindEnabledNodeIPAddressResponse, error) + // 查找节点的所有地址 + FindAllEnabledIPAddressesWithNodeId(context.Context, *FindAllEnabledIPAddressesWithNodeIdRequest) (*FindAllEnabledIPAddressesWithNodeIdResponse, error) +} + +// UnimplementedNodeIPAddressServiceServer can be embedded to have forward compatible implementations. +type UnimplementedNodeIPAddressServiceServer struct { +} + +func (*UnimplementedNodeIPAddressServiceServer) CreateNodeIPAddress(context.Context, *CreateNodeIPAddressRequest) (*CreateNodeIPAddressResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateNodeIPAddress not implemented") +} +func (*UnimplementedNodeIPAddressServiceServer) UpdateNodeIPAddress(context.Context, *UpdateNodeIPAddressRequest) (*UpdateNodeIPAddressResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeIPAddress not implemented") +} +func (*UnimplementedNodeIPAddressServiceServer) UpdateNodeIPAddressNodeId(context.Context, *UpdateNodeIPAddressNodeIdRequest) (*UpdateNodeIPAddressNodeIdResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeIPAddressNodeId not implemented") +} +func (*UnimplementedNodeIPAddressServiceServer) DisableNodeIPAddress(context.Context, *DisableNodeIPAddressRequest) (*DisableNodeIPAddressResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisableNodeIPAddress not implemented") +} +func (*UnimplementedNodeIPAddressServiceServer) DisableAllIPAddressesWithNodeId(context.Context, *DisableAllIPAddressesWithNodeIdRequest) (*DisableAllIPAddressesWithNodeIdResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisableAllIPAddressesWithNodeId not implemented") +} +func (*UnimplementedNodeIPAddressServiceServer) FindEnabledNodeIPAddress(context.Context, *FindEnabledNodeIPAddressRequest) (*FindEnabledNodeIPAddressResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindEnabledNodeIPAddress not implemented") +} +func (*UnimplementedNodeIPAddressServiceServer) FindAllEnabledIPAddressesWithNodeId(context.Context, *FindAllEnabledIPAddressesWithNodeIdRequest) (*FindAllEnabledIPAddressesWithNodeIdResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledIPAddressesWithNodeId not implemented") +} + +func RegisterNodeIPAddressServiceServer(s *grpc.Server, srv NodeIPAddressServiceServer) { + s.RegisterService(&_NodeIPAddressService_serviceDesc, srv) +} + +func _NodeIPAddressService_CreateNodeIPAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateNodeIPAddressRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeIPAddressServiceServer).CreateNodeIPAddress(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeIPAddressService/CreateNodeIPAddress", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeIPAddressServiceServer).CreateNodeIPAddress(ctx, req.(*CreateNodeIPAddressRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeIPAddressService_UpdateNodeIPAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateNodeIPAddressRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeIPAddressServiceServer).UpdateNodeIPAddress(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeIPAddressService/UpdateNodeIPAddress", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeIPAddressServiceServer).UpdateNodeIPAddress(ctx, req.(*UpdateNodeIPAddressRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeIPAddressService_UpdateNodeIPAddressNodeId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateNodeIPAddressNodeIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeIPAddressServiceServer).UpdateNodeIPAddressNodeId(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeIPAddressService/UpdateNodeIPAddressNodeId", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeIPAddressServiceServer).UpdateNodeIPAddressNodeId(ctx, req.(*UpdateNodeIPAddressNodeIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeIPAddressService_DisableNodeIPAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisableNodeIPAddressRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeIPAddressServiceServer).DisableNodeIPAddress(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeIPAddressService/DisableNodeIPAddress", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeIPAddressServiceServer).DisableNodeIPAddress(ctx, req.(*DisableNodeIPAddressRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeIPAddressService_DisableAllIPAddressesWithNodeId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisableAllIPAddressesWithNodeIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeIPAddressServiceServer).DisableAllIPAddressesWithNodeId(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeIPAddressService/DisableAllIPAddressesWithNodeId", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeIPAddressServiceServer).DisableAllIPAddressesWithNodeId(ctx, req.(*DisableAllIPAddressesWithNodeIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeIPAddressService_FindEnabledNodeIPAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FindEnabledNodeIPAddressRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeIPAddressServiceServer).FindEnabledNodeIPAddress(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeIPAddressService/FindEnabledNodeIPAddress", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeIPAddressServiceServer).FindEnabledNodeIPAddress(ctx, req.(*FindEnabledNodeIPAddressRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeIPAddressService_FindAllEnabledIPAddressesWithNodeId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FindAllEnabledIPAddressesWithNodeIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeIPAddressServiceServer).FindAllEnabledIPAddressesWithNodeId(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeIPAddressService/FindAllEnabledIPAddressesWithNodeId", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeIPAddressServiceServer).FindAllEnabledIPAddressesWithNodeId(ctx, req.(*FindAllEnabledIPAddressesWithNodeIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _NodeIPAddressService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "pb.NodeIPAddressService", + HandlerType: (*NodeIPAddressServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "createNodeIPAddress", + Handler: _NodeIPAddressService_CreateNodeIPAddress_Handler, + }, + { + MethodName: "updateNodeIPAddress", + Handler: _NodeIPAddressService_UpdateNodeIPAddress_Handler, + }, + { + MethodName: "updateNodeIPAddressNodeId", + Handler: _NodeIPAddressService_UpdateNodeIPAddressNodeId_Handler, + }, + { + MethodName: "disableNodeIPAddress", + Handler: _NodeIPAddressService_DisableNodeIPAddress_Handler, + }, + { + MethodName: "disableAllIPAddressesWithNodeId", + Handler: _NodeIPAddressService_DisableAllIPAddressesWithNodeId_Handler, + }, + { + MethodName: "findEnabledNodeIPAddress", + Handler: _NodeIPAddressService_FindEnabledNodeIPAddress_Handler, + }, + { + MethodName: "findAllEnabledIPAddressesWithNodeId", + Handler: _NodeIPAddressService_FindAllEnabledIPAddressesWithNodeId_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "service_node_ip_address.proto", +} diff --git a/internal/rpc/protos/model_node.proto b/internal/rpc/protos/model_node.proto index 7a11ccfe..15c75e10 100644 --- a/internal/rpc/protos/model_node.proto +++ b/internal/rpc/protos/model_node.proto @@ -10,6 +10,11 @@ message Node { int64 id = 1; string name = 2; string status = 3; + string installDir = 4; + bool isInstalled = 5; + string code = 6; + string uniqueId = 7; + string secret = 8; NodeCluster cluster = 32; NodeLogin login = 33; diff --git a/internal/rpc/protos/model_node_cluster.proto b/internal/rpc/protos/model_node_cluster.proto index 64151935..810aec84 100644 --- a/internal/rpc/protos/model_node_cluster.proto +++ b/internal/rpc/protos/model_node_cluster.proto @@ -7,4 +7,6 @@ message NodeCluster { int64 id = 1; string name = 2; int64 createdAt = 3; + int64 grantId = 4; + string installDir = 5; } \ No newline at end of file diff --git a/internal/rpc/protos/model_node_ip_address.proto b/internal/rpc/protos/model_node_ip_address.proto new file mode 100644 index 00000000..512b5aa0 --- /dev/null +++ b/internal/rpc/protos/model_node_ip_address.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; +option go_package = "./pb"; + +package pb; + +message NodeIPAddress { + int64 id = 1; + int64 nodeId = 2; + string name = 3; + string ip = 4; + string description = 5; + int64 state = 6; + int64 order = 7; +} \ No newline at end of file diff --git a/internal/rpc/protos/service_node.proto b/internal/rpc/protos/service_node.proto index 701dd07d..2eb26bb1 100644 --- a/internal/rpc/protos/service_node.proto +++ b/internal/rpc/protos/service_node.proto @@ -12,8 +12,11 @@ service NodeService { // 节点数量 rpc countAllEnabledNodes (CountAllEnabledNodesRequest) returns (CountAllEnabledNodesResponse); + // 计算匹配的节点数量 + rpc countAllEnabledNodesMatch (CountAllEnabledNodesMatchRequest) returns (CountAllEnabledNodesMatchResponse); + // 列出单页节点 - rpc listEnabledNodes (ListEnabledNodesRequest) returns (ListEnabledNodesResponse); + rpc listEnabledNodesMatch (ListEnabledNodesMatchRequest) returns (ListEnabledNodesMatchResponse); // 禁用节点 rpc disableNode (DisableNodeRequest) returns (DisableNodeResponse); @@ -58,12 +61,13 @@ message CountAllEnabledNodesResponse { } // 列出单页节点 -message ListEnabledNodesRequest { +message ListEnabledNodesMatchRequest { int64 offset = 1; int64 size = 2; + int64 clusterId = 3; } -message ListEnabledNodesResponse { +message ListEnabledNodesMatchResponse { repeated Node nodes = 1; } @@ -131,4 +135,13 @@ message SyncNodesVersionWithClusterRequest { } message SyncNodesVersionWithClusterResponse { +} + +// 计算匹配的节点数量 +message CountAllEnabledNodesMatchRequest { + int64 clusterId = 1; +} + +message CountAllEnabledNodesMatchResponse { + int64 count = 1; } \ No newline at end of file diff --git a/internal/rpc/protos/service_node_cluster.proto b/internal/rpc/protos/service_node_cluster.proto index e08cba3d..0cb0e974 100644 --- a/internal/rpc/protos/service_node_cluster.proto +++ b/internal/rpc/protos/service_node_cluster.proto @@ -5,11 +5,29 @@ package pb; import "model_node_cluster.proto"; service NodeClusterService { + // 创建集群 + rpc createNodeCluster (CreateNodeClusterRequest) returns (CreateNodeClusterResponse); + + // 修改集群 + rpc updateNodeCluster (UpdateNodeClusterRequest) returns (UpdateNodeClusterResponse); + + // 禁用集群 + rpc disableNodeCluster (DisableNodeClusterRequest) returns (DisableNodeClusterResponse); + + // 查找单个集群信息 + rpc findEnabledNodeCluster (FindEnabledNodeClusterRequest) returns (FindEnabledNodeClusterResponse); + // 获取所有集群的信息 - rpc findAllEnabledClusters (FindAllEnabledNodeClustersRequest) returns (FindAllEnabledNodeClustersResponse); + rpc findAllEnabledNodeClusters (FindAllEnabledNodeClustersRequest) returns (FindAllEnabledNodeClustersResponse); // 获取变更的集群 - rpc findAllChangedClusters (FindAllChangedClustersRequest) returns (FindAllChangedClustersResponse); + rpc findAllChangedNodeClusters (FindAllChangedNodeClustersRequest) returns (FindAllChangedNodeClustersResponse); + + // 计算所有集群数量 + rpc countAllEnabledNodeClusters (CountAllEnabledNodeClustersRequest) returns (CountAllEnabledNodeClustersResponse); + + // 列出单页集群 + rpc listEnabledNodeClusters (ListEnabledNodeClustersRequest) returns (ListEnabledNodeClustersResponse); } // 获取所有集群的信息 @@ -22,10 +40,70 @@ message FindAllEnabledNodeClustersResponse { } // 获取变更的集群 -message FindAllChangedClustersRequest { +message FindAllChangedNodeClustersRequest { } -message FindAllChangedClustersResponse { +message FindAllChangedNodeClustersResponse { + repeated NodeCluster clusters = 1; +} + +// 创建集群 +message CreateNodeClusterRequest { + string name = 1; + int64 grantId = 2; + string installDir = 3; +} + +message CreateNodeClusterResponse { + int64 clusterId = 1; +} + +// 修改集群 +message UpdateNodeClusterRequest { + int64 clusterId = 1; + string name = 2; + int64 grantId = 3; + string installDir = 4; +} + +message UpdateNodeClusterResponse { + +} + +// 禁用集群 +message DisableNodeClusterRequest { + int64 clusterId = 1; +} + +message DisableNodeClusterResponse { + +} + +// 查找单个集群信息 +message FindEnabledNodeClusterRequest { + int64 clusterId = 1; +} + +message FindEnabledNodeClusterResponse { + NodeCluster cluster = 1; +} + +// 计算所有集群数量 +message CountAllEnabledNodeClustersRequest { + +} + +message CountAllEnabledNodeClustersResponse { + int64 count = 1; +} + +// 列出单页集群 +message ListEnabledNodeClustersRequest { + int64 offset = 1; + int64 size = 2; +} + +message ListEnabledNodeClustersResponse { repeated NodeCluster clusters = 1; } \ No newline at end of file diff --git a/internal/rpc/protos/service_node_ip_address.proto b/internal/rpc/protos/service_node_ip_address.proto new file mode 100644 index 00000000..dabdcd11 --- /dev/null +++ b/internal/rpc/protos/service_node_ip_address.proto @@ -0,0 +1,97 @@ +syntax = "proto3"; +option go_package = "./pb"; + +package pb; + +import "model_node_ip_address.proto"; + +service NodeIPAddressService { + // 创建IP地址 + rpc createNodeIPAddress (CreateNodeIPAddressRequest) returns (CreateNodeIPAddressResponse); + + // 修改IP地址 + rpc updateNodeIPAddress (UpdateNodeIPAddressRequest) returns (UpdateNodeIPAddressResponse); + + // 修改IP地址所属节点 + rpc updateNodeIPAddressNodeId (UpdateNodeIPAddressNodeIdRequest) returns (UpdateNodeIPAddressNodeIdResponse); + + // 禁用单个IP地址 + rpc disableNodeIPAddress (DisableNodeIPAddressRequest) returns (DisableNodeIPAddressResponse); + + // 禁用节点的所有IP地址 + rpc disableAllIPAddressesWithNodeId (DisableAllIPAddressesWithNodeIdRequest) returns (DisableAllIPAddressesWithNodeIdResponse); + + // 查找单个IP地址 + rpc findEnabledNodeIPAddress (FindEnabledNodeIPAddressRequest) returns (FindEnabledNodeIPAddressResponse); + + // 查找节点的所有地址 + rpc findAllEnabledIPAddressesWithNodeId (FindAllEnabledIPAddressesWithNodeIdRequest) returns (FindAllEnabledIPAddressesWithNodeIdResponse); +} + +// 创建IP地址 +message CreateNodeIPAddressRequest { + int64 nodeId = 1; + string name = 2; + string ip = 3; +} + +message CreateNodeIPAddressResponse { + int64 addressId = 1; +} + +// 修改IP地址 +message UpdateNodeIPAddressRequest { + int64 addressId = 1; + string name = 2; + string ip = 3; +} + +message UpdateNodeIPAddressResponse { + +} + +// 修改IP地址所属节点 +message UpdateNodeIPAddressNodeIdRequest { + int64 addressId = 1; + int64 nodeId = 2; +} + +message UpdateNodeIPAddressNodeIdResponse { + +} + +// 禁用单个IP地址 +message DisableNodeIPAddressRequest { + int64 addressId = 1; +} + +message DisableNodeIPAddressResponse { + +} + +// 禁用节点的所有IP地址 +message DisableAllIPAddressesWithNodeIdRequest { + int64 nodeId = 1; +} + +message DisableAllIPAddressesWithNodeIdResponse { + +} + +// 查找单个IP地址 +message FindEnabledNodeIPAddressRequest { + int64 addressId = 1; +} + +message FindEnabledNodeIPAddressResponse { + NodeIPAddress ipAddress = 1; +} + +// 查找节点的所有地址 +message FindAllEnabledIPAddressesWithNodeIdRequest { + int64 nodeId = 1; +} + +message FindAllEnabledIPAddressesWithNodeIdResponse { + repeated NodeIPAddress addresses = 1; +} \ No newline at end of file diff --git a/internal/rpc/services/service_node.go b/internal/rpc/services/service_node.go index 8972877d..2049d120 100644 --- a/internal/rpc/services/service_node.go +++ b/internal/rpc/services/service_node.go @@ -52,12 +52,25 @@ func (this *NodeService) CountAllEnabledNodes(ctx context.Context, req *pb.Count return &pb.CountAllEnabledNodesResponse{Count: count}, nil } -func (this *NodeService) ListEnabledNodes(ctx context.Context, req *pb.ListEnabledNodesRequest) (*pb.ListEnabledNodesResponse, error) { +// 计算匹配的节点数量 +func (this *NodeService) CountAllEnabledNodesMatch(ctx context.Context, req *pb.CountAllEnabledNodesMatchRequest) (*pb.CountAllEnabledNodesMatchResponse, error) { _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) if err != nil { return nil, err } - nodes, err := models.SharedNodeDAO.ListEnabledNodes(req.Offset, req.Size) + count, err := models.SharedNodeDAO.CountAllEnabledNodesMatch(req.ClusterId) + if err != nil { + return nil, err + } + return &pb.CountAllEnabledNodesMatchResponse{Count: count}, nil +} + +func (this *NodeService) ListEnabledNodesMatch(ctx context.Context, req *pb.ListEnabledNodesMatchRequest) (*pb.ListEnabledNodesMatchResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + nodes, err := models.SharedNodeDAO.ListEnabledNodesMatch(req.Offset, req.Size, req.ClusterId) if err != nil { return nil, err } @@ -80,7 +93,7 @@ func (this *NodeService) ListEnabledNodes(ctx context.Context, req *pb.ListEnabl }) } - return &pb.ListEnabledNodesResponse{ + return &pb.ListEnabledNodesMatchResponse{ Nodes: result, }, nil } @@ -171,9 +184,13 @@ func (this *NodeService) FindEnabledNode(ctx context.Context, req *pb.FindEnable } return &pb.FindEnabledNodeResponse{Node: &pb.Node{ - Id: int64(node.Id), - Name: node.Name, - Status: node.Status, + Id: int64(node.Id), + Name: node.Name, + Status: node.Status, + UniqueId: node.UniqueId, + Secret: node.Secret, + InstallDir: node.InstallDir, + IsInstalled: node.IsInstalled == 1, Cluster: &pb.NodeCluster{ Id: int64(node.ClusterId), Name: clusterName, diff --git a/internal/rpc/services/service_node_cluster.go b/internal/rpc/services/service_node_cluster.go index 8d7a3e42..58295c1d 100644 --- a/internal/rpc/services/service_node_cluster.go +++ b/internal/rpc/services/service_node_cluster.go @@ -10,7 +10,78 @@ import ( type NodeClusterService struct { } -func (this *NodeClusterService) FindAllEnabledClusters(ctx context.Context, req *pb.FindAllEnabledNodeClustersRequest) (*pb.FindAllEnabledNodeClustersResponse, error) { +// 创建集群 +func (this *NodeClusterService) CreateNodeCluster(ctx context.Context, req *pb.CreateNodeClusterRequest) (*pb.CreateNodeClusterResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + clusterId, err := models.SharedNodeClusterDAO.CreateCluster(req.Name, req.GrantId, req.InstallDir) + if err != nil { + return nil, err + } + + return &pb.CreateNodeClusterResponse{ClusterId: clusterId}, nil +} + +// 修改集群 +func (this *NodeClusterService) UpdateNodeCluster(ctx context.Context, req *pb.UpdateNodeClusterRequest) (*pb.UpdateNodeClusterResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + err = models.SharedNodeClusterDAO.UpdateCluster(req.ClusterId, req.Name, req.GrantId, req.InstallDir) + if err != nil { + return nil, err + } + + return &pb.UpdateNodeClusterResponse{}, nil +} + +// 禁用集群 +func (this *NodeClusterService) DisableNodeCluster(ctx context.Context, req *pb.DisableNodeClusterRequest) (*pb.DisableNodeClusterResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + err = models.SharedNodeClusterDAO.DisableNodeCluster(req.ClusterId) + if err != nil { + return nil, err + } + + return &pb.DisableNodeClusterResponse{}, nil +} + +// 查找单个集群 +func (this *NodeClusterService) FindEnabledNodeCluster(ctx context.Context, req *pb.FindEnabledNodeClusterRequest) (*pb.FindEnabledNodeClusterResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + cluster, err := models.SharedNodeClusterDAO.FindEnabledNodeCluster(req.ClusterId) + if err != nil { + return nil, err + } + + if cluster == nil { + return &pb.FindEnabledNodeClusterResponse{}, nil + } + + return &pb.FindEnabledNodeClusterResponse{Cluster: &pb.NodeCluster{ + Id: int64(cluster.Id), + Name: cluster.Name, + CreatedAt: int64(cluster.CreatedAt), + InstallDir: cluster.InstallDir, + GrantId: int64(cluster.GrantId), + }}, nil +} + +// 查找所有可用的集群 +func (this *NodeClusterService) FindAllEnabledNodeClusters(ctx context.Context, req *pb.FindAllEnabledNodeClustersRequest) (*pb.FindAllEnabledNodeClustersResponse, error) { _ = req _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) @@ -38,7 +109,7 @@ func (this *NodeClusterService) FindAllEnabledClusters(ctx context.Context, req } // 查找所有变更的集群 -func (this *NodeClusterService) FindAllChangedClusters(ctx context.Context, req *pb.FindAllChangedClustersRequest) (*pb.FindAllChangedClustersResponse, error) { +func (this *NodeClusterService) FindAllChangedNodeClusters(ctx context.Context, req *pb.FindAllChangedNodeClustersRequest) (*pb.FindAllChangedNodeClustersResponse, error) { _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) if err != nil { return nil, err @@ -49,7 +120,7 @@ func (this *NodeClusterService) FindAllChangedClusters(ctx context.Context, req return nil, err } if len(clusterIds) == 0 { - return &pb.FindAllChangedClustersResponse{ + return &pb.FindAllChangedNodeClustersResponse{ Clusters: []*pb.NodeCluster{}, }, nil } @@ -68,5 +139,46 @@ func (this *NodeClusterService) FindAllChangedClusters(ctx context.Context, req CreatedAt: int64(cluster.CreatedAt), }) } - return &pb.FindAllChangedClustersResponse{Clusters: result}, nil + return &pb.FindAllChangedNodeClustersResponse{Clusters: result}, nil +} + +// 计算所有集群数量 +func (this *NodeClusterService) CountAllEnabledNodeClusters(ctx context.Context, req *pb.CountAllEnabledNodeClustersRequest) (*pb.CountAllEnabledNodeClustersResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + count, err := models.SharedNodeClusterDAO.CountAllEnabledClusters() + if err != nil { + return nil, err + } + + return &pb.CountAllEnabledNodeClustersResponse{Count: count}, nil +} + +// 列出单页集群 +func (this *NodeClusterService) ListEnabledNodeClusters(ctx context.Context, req *pb.ListEnabledNodeClustersRequest) (*pb.ListEnabledNodeClustersResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + clusters, err := models.SharedNodeClusterDAO.ListEnabledClusters(req.Offset, req.Size) + if err != nil { + return nil, err + } + + result := []*pb.NodeCluster{} + for _, cluster := range clusters { + result = append(result, &pb.NodeCluster{ + Id: int64(cluster.Id), + Name: cluster.Name, + CreatedAt: int64(cluster.CreatedAt), + GrantId: int64(cluster.GrantId), + InstallDir: cluster.InstallDir, + }) + } + + return &pb.ListEnabledNodeClustersResponse{Clusters: result}, nil } diff --git a/internal/rpc/services/service_node_ip_address.go b/internal/rpc/services/service_node_ip_address.go new file mode 100644 index 00000000..d2d10aef --- /dev/null +++ b/internal/rpc/services/service_node_ip_address.go @@ -0,0 +1,149 @@ +package services + +import ( + "context" + "github.com/TeaOSLab/EdgeAPI/internal/db/models" + "github.com/TeaOSLab/EdgeAPI/internal/rpc/pb" + rpcutils "github.com/TeaOSLab/EdgeAPI/internal/rpc/utils" +) + +type NodeIPAddressService struct { +} + +// 创建IP地址 +func (this *NodeIPAddressService) CreateNodeIPAddress(ctx context.Context, req *pb.CreateNodeIPAddressRequest) (*pb.CreateNodeIPAddressResponse, error) { + // 校验请求 + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + addressId, err := models.SharedNodeIPAddressDAO.CreateAddress(req.NodeId, req.Name, req.Ip) + if err != nil { + return nil, err + } + + return &pb.CreateNodeIPAddressResponse{AddressId: addressId}, nil +} + +// 修改IP地址 +func (this *NodeIPAddressService) UpdateNodeIPAddress(ctx context.Context, req *pb.UpdateNodeIPAddressRequest) (*pb.UpdateNodeIPAddressResponse, error) { + // 校验请求 + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + err = models.SharedNodeIPAddressDAO.UpdateAddress(req.AddressId, req.Name, req.Ip) + if err != nil { + return nil, err + } + + return &pb.UpdateNodeIPAddressResponse{}, nil +} + +// 修改IP地址所属节点 +func (this *NodeIPAddressService) UpdateNodeIPAddressNodeId(ctx context.Context, req *pb.UpdateNodeIPAddressNodeIdRequest) (*pb.UpdateNodeIPAddressNodeIdResponse, error) { + // 校验请求 + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + err = models.SharedNodeIPAddressDAO.UpdateAddressNodeId(req.AddressId, req.NodeId) + if err != nil { + return nil, err + } + + return &pb.UpdateNodeIPAddressNodeIdResponse{}, nil +} + +// 禁用单个IP地址 +func (this *NodeIPAddressService) DisableNodeIPAddress(ctx context.Context, req *pb.DisableNodeIPAddressRequest) (*pb.DisableNodeIPAddressResponse, error) { + // 校验请求 + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + err = models.SharedNodeIPAddressDAO.DisableAddress(req.AddressId) + if err != nil { + return nil, err + } + + return &pb.DisableNodeIPAddressResponse{}, nil +} + +// 禁用某个节点的IP地址 +func (this *NodeIPAddressService) DisableAllIPAddressesWithNodeId(ctx context.Context, req *pb.DisableAllIPAddressesWithNodeIdRequest) (*pb.DisableAllIPAddressesWithNodeIdResponse, error) { + // 校验请求 + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + err = models.SharedNodeIPAddressDAO.DisableAllAddressesWithNodeId(req.NodeId) + if err != nil { + return nil, err + } + + return &pb.DisableAllIPAddressesWithNodeIdResponse{}, nil +} + +// 查找单个IP地址 +func (this *NodeIPAddressService) FindEnabledNodeIPAddress(ctx context.Context, req *pb.FindEnabledNodeIPAddressRequest) (*pb.FindEnabledNodeIPAddressResponse, error) { + // 校验请求 + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + address, err := models.SharedNodeIPAddressDAO.FindEnabledAddress(req.AddressId) + if err != nil { + return nil, err + } + + var result *pb.NodeIPAddress = nil + if address != nil { + result = &pb.NodeIPAddress{ + Id: int64(address.Id), + NodeId: int64(address.NodeId), + Name: address.Name, + Ip: address.IP, + Description: address.Description, + State: int64(address.State), + Order: int64(address.Order), + } + } + + return &pb.FindEnabledNodeIPAddressResponse{IpAddress: result}, nil +} + +// 查找节点的所有地址 +func (this *NodeIPAddressService) FindAllEnabledIPAddressesWithNodeId(ctx context.Context, req *pb.FindAllEnabledIPAddressesWithNodeIdRequest) (*pb.FindAllEnabledIPAddressesWithNodeIdResponse, error) { + // 校验请求 + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + addresses, err := models.SharedNodeIPAddressDAO.FindAllEnabledAddressesWithNode(req.NodeId) + if err != nil { + return nil, err + } + + result := []*pb.NodeIPAddress{} + for _, address := range addresses { + result = append(result, &pb.NodeIPAddress{ + Id: int64(address.Id), + NodeId: int64(address.NodeId), + Name: address.Name, + Ip: address.IP, + Description: address.Description, + State: int64(address.State), + Order: int64(address.Order), + }) + } + + return &pb.FindAllEnabledIPAddressesWithNodeIdResponse{Addresses: result}, nil +}