显示SSH认证相关集群、节点

This commit is contained in:
GoEdgeLab
2020-10-25 21:27:49 +08:00
parent ff80946844
commit e643de4132
4 changed files with 1041 additions and 277 deletions

View File

@@ -1065,6 +1065,196 @@ func (x *ExecuteNodeClusterHealthCheckResponse) GetResults() []*ExecuteNodeClust
return nil
}
// 计算使用某个认证的集群数量
type CountAllEnabledNodeClustersWithGrantIdRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GrantId int64 `protobuf:"varint,1,opt,name=grantId,proto3" json:"grantId,omitempty"`
}
func (x *CountAllEnabledNodeClustersWithGrantIdRequest) Reset() {
*x = CountAllEnabledNodeClustersWithGrantIdRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_node_cluster_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CountAllEnabledNodeClustersWithGrantIdRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CountAllEnabledNodeClustersWithGrantIdRequest) ProtoMessage() {}
func (x *CountAllEnabledNodeClustersWithGrantIdRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_node_cluster_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 CountAllEnabledNodeClustersWithGrantIdRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledNodeClustersWithGrantIdRequest) Descriptor() ([]byte, []int) {
return file_service_node_cluster_proto_rawDescGZIP(), []int{21}
}
func (x *CountAllEnabledNodeClustersWithGrantIdRequest) GetGrantId() int64 {
if x != nil {
return x.GrantId
}
return 0
}
type CountAllEnabledNodeClustersWithGrantIdResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
}
func (x *CountAllEnabledNodeClustersWithGrantIdResponse) Reset() {
*x = CountAllEnabledNodeClustersWithGrantIdResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_node_cluster_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CountAllEnabledNodeClustersWithGrantIdResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CountAllEnabledNodeClustersWithGrantIdResponse) ProtoMessage() {}
func (x *CountAllEnabledNodeClustersWithGrantIdResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_node_cluster_proto_msgTypes[22]
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 CountAllEnabledNodeClustersWithGrantIdResponse.ProtoReflect.Descriptor instead.
func (*CountAllEnabledNodeClustersWithGrantIdResponse) Descriptor() ([]byte, []int) {
return file_service_node_cluster_proto_rawDescGZIP(), []int{22}
}
func (x *CountAllEnabledNodeClustersWithGrantIdResponse) GetCount() int64 {
if x != nil {
return x.Count
}
return 0
}
// 查找使用某个认证的所有集群
type FindAllEnabledNodeClustersWithGrantIdRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GrantId int64 `protobuf:"varint,1,opt,name=grantId,proto3" json:"grantId,omitempty"`
}
func (x *FindAllEnabledNodeClustersWithGrantIdRequest) Reset() {
*x = FindAllEnabledNodeClustersWithGrantIdRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_node_cluster_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindAllEnabledNodeClustersWithGrantIdRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindAllEnabledNodeClustersWithGrantIdRequest) ProtoMessage() {}
func (x *FindAllEnabledNodeClustersWithGrantIdRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_node_cluster_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FindAllEnabledNodeClustersWithGrantIdRequest.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodeClustersWithGrantIdRequest) Descriptor() ([]byte, []int) {
return file_service_node_cluster_proto_rawDescGZIP(), []int{23}
}
func (x *FindAllEnabledNodeClustersWithGrantIdRequest) GetGrantId() int64 {
if x != nil {
return x.GrantId
}
return 0
}
type FindAllEnabledNodeClustersWithGrantIdResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Clusters []*NodeCluster `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"`
}
func (x *FindAllEnabledNodeClustersWithGrantIdResponse) Reset() {
*x = FindAllEnabledNodeClustersWithGrantIdResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_node_cluster_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindAllEnabledNodeClustersWithGrantIdResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindAllEnabledNodeClustersWithGrantIdResponse) ProtoMessage() {}
func (x *FindAllEnabledNodeClustersWithGrantIdResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_node_cluster_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FindAllEnabledNodeClustersWithGrantIdResponse.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodeClustersWithGrantIdResponse) Descriptor() ([]byte, []int) {
return file_service_node_cluster_proto_rawDescGZIP(), []int{24}
}
func (x *FindAllEnabledNodeClustersWithGrantIdResponse) GetClusters() []*NodeCluster {
if x != nil {
return x.Clusters
}
return nil
}
type ExecuteNodeClusterHealthCheckResponse_Result struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -1080,7 +1270,7 @@ type ExecuteNodeClusterHealthCheckResponse_Result struct {
func (x *ExecuteNodeClusterHealthCheckResponse_Result) Reset() {
*x = ExecuteNodeClusterHealthCheckResponse_Result{}
if protoimpl.UnsafeEnabled {
mi := &file_service_node_cluster_proto_msgTypes[21]
mi := &file_service_node_cluster_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1093,7 +1283,7 @@ func (x *ExecuteNodeClusterHealthCheckResponse_Result) String() string {
func (*ExecuteNodeClusterHealthCheckResponse_Result) ProtoMessage() {}
func (x *ExecuteNodeClusterHealthCheckResponse_Result) ProtoReflect() protoreflect.Message {
mi := &file_service_node_cluster_proto_msgTypes[21]
mi := &file_service_node_cluster_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1265,85 +1455,123 @@ var file_service_node_cluster_proto_rawDesc = []byte{
0x4f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x14,
0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65,
0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x73, 0x74, 0x4d, 0x73, 0x18, 0x05,
0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x63, 0x6f, 0x73, 0x74, 0x4d, 0x73, 0x32, 0xcb, 0x09, 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, 0x47, 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, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47,
0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e,
0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x63, 0x6f, 0x73, 0x74, 0x4d, 0x73, 0x22, 0x49, 0x0a, 0x2d,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47,
0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a,
0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49,
0x64, 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,
0x48, 0x0a, 0x2c, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74,
0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x18, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x2d, 0x46, 0x69, 0x6e,
0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74,
0x49, 0x64, 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, 0xec, 0x0b, 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, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x45,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x1b, 0x66, 0x69, 0x6e, 0x64,
0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64,
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, 0x47, 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, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x11, 0x64, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c,
0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70,
0x62, 0x2e, 0x52, 0x50, 0x43, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65,
0x73, 0x73, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x70,
0x62, 0x2e, 0x46, 0x69, 0x6e, 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,
0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65,
0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64,
0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 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,
0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x1b, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f,
0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e,
0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e,
0x46, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68,
0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x73, 0x12, 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,
0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 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,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f,
0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e,
0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48,
0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c,
0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x1c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
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, 0x12, 0x7d, 0x0a, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c,
0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14,
0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x63,
0x63, 0x65, 0x73, 0x73, 0x12, 0x74, 0x0a, 0x1d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75,
0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61,
0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x29, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65,
0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f,
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x5d, 0x0a, 0x1c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65,
0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52,
0x50, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
0x74, 0x0a, 0x1d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64,
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e,
0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x26, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41,
0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64,
0x12, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x25, 0x66, 0x69, 0x6e, 0x64,
0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49,
0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 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 (
@@ -1358,73 +1586,82 @@ 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, 22)
var file_service_node_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 26)
var file_service_node_cluster_proto_goTypes = []interface{}{
(*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
(*DeleteNodeClusterRequest)(nil), // 7: pb.DeleteNodeClusterRequest
(*FindEnabledNodeClusterRequest)(nil), // 8: pb.FindEnabledNodeClusterRequest
(*FindEnabledNodeClusterResponse)(nil), // 9: pb.FindEnabledNodeClusterResponse
(*FindAPINodesWithNodeClusterRequest)(nil), // 10: pb.FindAPINodesWithNodeClusterRequest
(*FindAPINodesWithNodeClusterResponse)(nil), // 11: pb.FindAPINodesWithNodeClusterResponse
(*CountAllEnabledNodeClustersRequest)(nil), // 12: pb.CountAllEnabledNodeClustersRequest
(*CountAllEnabledNodeClustersResponse)(nil), // 13: pb.CountAllEnabledNodeClustersResponse
(*ListEnabledNodeClustersRequest)(nil), // 14: pb.ListEnabledNodeClustersRequest
(*ListEnabledNodeClustersResponse)(nil), // 15: pb.ListEnabledNodeClustersResponse
(*FindNodeClusterHealthCheckConfigRequest)(nil), // 16: pb.FindNodeClusterHealthCheckConfigRequest
(*FindNodeClusterHealthCheckConfigResponse)(nil), // 17: pb.FindNodeClusterHealthCheckConfigResponse
(*UpdateNodeClusterHealthCheckRequest)(nil), // 18: pb.UpdateNodeClusterHealthCheckRequest
(*ExecuteNodeClusterHealthCheckRequest)(nil), // 19: pb.ExecuteNodeClusterHealthCheckRequest
(*ExecuteNodeClusterHealthCheckResponse)(nil), // 20: pb.ExecuteNodeClusterHealthCheckResponse
(*ExecuteNodeClusterHealthCheckResponse_Result)(nil), // 21: pb.ExecuteNodeClusterHealthCheckResponse.Result
(*NodeCluster)(nil), // 22: pb.NodeCluster
(*APINode)(nil), // 23: pb.APINode
(*Node)(nil), // 24: pb.Node
(*RPCUpdateSuccess)(nil), // 25: pb.RPCUpdateSuccess
(*RPCDeleteSuccess)(nil), // 26: pb.RPCDeleteSuccess
(*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
(*DeleteNodeClusterRequest)(nil), // 7: pb.DeleteNodeClusterRequest
(*FindEnabledNodeClusterRequest)(nil), // 8: pb.FindEnabledNodeClusterRequest
(*FindEnabledNodeClusterResponse)(nil), // 9: pb.FindEnabledNodeClusterResponse
(*FindAPINodesWithNodeClusterRequest)(nil), // 10: pb.FindAPINodesWithNodeClusterRequest
(*FindAPINodesWithNodeClusterResponse)(nil), // 11: pb.FindAPINodesWithNodeClusterResponse
(*CountAllEnabledNodeClustersRequest)(nil), // 12: pb.CountAllEnabledNodeClustersRequest
(*CountAllEnabledNodeClustersResponse)(nil), // 13: pb.CountAllEnabledNodeClustersResponse
(*ListEnabledNodeClustersRequest)(nil), // 14: pb.ListEnabledNodeClustersRequest
(*ListEnabledNodeClustersResponse)(nil), // 15: pb.ListEnabledNodeClustersResponse
(*FindNodeClusterHealthCheckConfigRequest)(nil), // 16: pb.FindNodeClusterHealthCheckConfigRequest
(*FindNodeClusterHealthCheckConfigResponse)(nil), // 17: pb.FindNodeClusterHealthCheckConfigResponse
(*UpdateNodeClusterHealthCheckRequest)(nil), // 18: pb.UpdateNodeClusterHealthCheckRequest
(*ExecuteNodeClusterHealthCheckRequest)(nil), // 19: pb.ExecuteNodeClusterHealthCheckRequest
(*ExecuteNodeClusterHealthCheckResponse)(nil), // 20: pb.ExecuteNodeClusterHealthCheckResponse
(*CountAllEnabledNodeClustersWithGrantIdRequest)(nil), // 21: pb.CountAllEnabledNodeClustersWithGrantIdRequest
(*CountAllEnabledNodeClustersWithGrantIdResponse)(nil), // 22: pb.CountAllEnabledNodeClustersWithGrantIdResponse
(*FindAllEnabledNodeClustersWithGrantIdRequest)(nil), // 23: pb.FindAllEnabledNodeClustersWithGrantIdRequest
(*FindAllEnabledNodeClustersWithGrantIdResponse)(nil), // 24: pb.FindAllEnabledNodeClustersWithGrantIdResponse
(*ExecuteNodeClusterHealthCheckResponse_Result)(nil), // 25: pb.ExecuteNodeClusterHealthCheckResponse.Result
(*NodeCluster)(nil), // 26: pb.NodeCluster
(*APINode)(nil), // 27: pb.APINode
(*Node)(nil), // 28: pb.Node
(*RPCUpdateSuccess)(nil), // 29: pb.RPCUpdateSuccess
(*RPCDeleteSuccess)(nil), // 30: pb.RPCDeleteSuccess
}
var file_service_node_cluster_proto_depIdxs = []int32{
22, // 0: pb.FindAllEnabledNodeClustersResponse.clusters:type_name -> pb.NodeCluster
22, // 1: pb.FindAllChangedNodeClustersResponse.clusters:type_name -> pb.NodeCluster
22, // 2: pb.FindEnabledNodeClusterResponse.cluster:type_name -> pb.NodeCluster
23, // 3: pb.FindAPINodesWithNodeClusterResponse.apiNodes:type_name -> pb.APINode
22, // 4: pb.ListEnabledNodeClustersResponse.clusters:type_name -> pb.NodeCluster
21, // 5: pb.ExecuteNodeClusterHealthCheckResponse.results:type_name -> pb.ExecuteNodeClusterHealthCheckResponse.Result
24, // 6: pb.ExecuteNodeClusterHealthCheckResponse.Result.node:type_name -> pb.Node
4, // 7: pb.NodeClusterService.createNodeCluster:input_type -> pb.CreateNodeClusterRequest
6, // 8: pb.NodeClusterService.updateNodeCluster:input_type -> pb.UpdateNodeClusterRequest
7, // 9: pb.NodeClusterService.deleteNodeCluster:input_type -> pb.DeleteNodeClusterRequest
8, // 10: pb.NodeClusterService.findEnabledNodeCluster:input_type -> pb.FindEnabledNodeClusterRequest
10, // 11: pb.NodeClusterService.findAPINodesWithNodeCluster:input_type -> pb.FindAPINodesWithNodeClusterRequest
0, // 12: pb.NodeClusterService.findAllEnabledNodeClusters:input_type -> pb.FindAllEnabledNodeClustersRequest
2, // 13: pb.NodeClusterService.findAllChangedNodeClusters:input_type -> pb.FindAllChangedNodeClustersRequest
12, // 14: pb.NodeClusterService.countAllEnabledNodeClusters:input_type -> pb.CountAllEnabledNodeClustersRequest
14, // 15: pb.NodeClusterService.listEnabledNodeClusters:input_type -> pb.ListEnabledNodeClustersRequest
16, // 16: pb.NodeClusterService.findNodeClusterHealthCheckConfig:input_type -> pb.FindNodeClusterHealthCheckConfigRequest
18, // 17: pb.NodeClusterService.updateNodeClusterHealthCheck:input_type -> pb.UpdateNodeClusterHealthCheckRequest
19, // 18: pb.NodeClusterService.executeNodeClusterHealthCheck:input_type -> pb.ExecuteNodeClusterHealthCheckRequest
5, // 19: pb.NodeClusterService.createNodeCluster:output_type -> pb.CreateNodeClusterResponse
25, // 20: pb.NodeClusterService.updateNodeCluster:output_type -> pb.RPCUpdateSuccess
26, // 21: pb.NodeClusterService.deleteNodeCluster:output_type -> pb.RPCDeleteSuccess
9, // 22: pb.NodeClusterService.findEnabledNodeCluster:output_type -> pb.FindEnabledNodeClusterResponse
11, // 23: pb.NodeClusterService.findAPINodesWithNodeCluster:output_type -> pb.FindAPINodesWithNodeClusterResponse
1, // 24: pb.NodeClusterService.findAllEnabledNodeClusters:output_type -> pb.FindAllEnabledNodeClustersResponse
3, // 25: pb.NodeClusterService.findAllChangedNodeClusters:output_type -> pb.FindAllChangedNodeClustersResponse
13, // 26: pb.NodeClusterService.countAllEnabledNodeClusters:output_type -> pb.CountAllEnabledNodeClustersResponse
15, // 27: pb.NodeClusterService.listEnabledNodeClusters:output_type -> pb.ListEnabledNodeClustersResponse
17, // 28: pb.NodeClusterService.findNodeClusterHealthCheckConfig:output_type -> pb.FindNodeClusterHealthCheckConfigResponse
25, // 29: pb.NodeClusterService.updateNodeClusterHealthCheck:output_type -> pb.RPCUpdateSuccess
20, // 30: pb.NodeClusterService.executeNodeClusterHealthCheck:output_type -> pb.ExecuteNodeClusterHealthCheckResponse
19, // [19:31] is the sub-list for method output_type
7, // [7:19] is the sub-list for method input_type
7, // [7:7] is the sub-list for extension type_name
7, // [7:7] is the sub-list for extension extendee
0, // [0:7] is the sub-list for field type_name
26, // 0: pb.FindAllEnabledNodeClustersResponse.clusters:type_name -> pb.NodeCluster
26, // 1: pb.FindAllChangedNodeClustersResponse.clusters:type_name -> pb.NodeCluster
26, // 2: pb.FindEnabledNodeClusterResponse.cluster:type_name -> pb.NodeCluster
27, // 3: pb.FindAPINodesWithNodeClusterResponse.apiNodes:type_name -> pb.APINode
26, // 4: pb.ListEnabledNodeClustersResponse.clusters:type_name -> pb.NodeCluster
25, // 5: pb.ExecuteNodeClusterHealthCheckResponse.results:type_name -> pb.ExecuteNodeClusterHealthCheckResponse.Result
26, // 6: pb.FindAllEnabledNodeClustersWithGrantIdResponse.clusters:type_name -> pb.NodeCluster
28, // 7: pb.ExecuteNodeClusterHealthCheckResponse.Result.node:type_name -> pb.Node
4, // 8: pb.NodeClusterService.createNodeCluster:input_type -> pb.CreateNodeClusterRequest
6, // 9: pb.NodeClusterService.updateNodeCluster:input_type -> pb.UpdateNodeClusterRequest
7, // 10: pb.NodeClusterService.deleteNodeCluster:input_type -> pb.DeleteNodeClusterRequest
8, // 11: pb.NodeClusterService.findEnabledNodeCluster:input_type -> pb.FindEnabledNodeClusterRequest
10, // 12: pb.NodeClusterService.findAPINodesWithNodeCluster:input_type -> pb.FindAPINodesWithNodeClusterRequest
0, // 13: pb.NodeClusterService.findAllEnabledNodeClusters:input_type -> pb.FindAllEnabledNodeClustersRequest
2, // 14: pb.NodeClusterService.findAllChangedNodeClusters:input_type -> pb.FindAllChangedNodeClustersRequest
12, // 15: pb.NodeClusterService.countAllEnabledNodeClusters:input_type -> pb.CountAllEnabledNodeClustersRequest
14, // 16: pb.NodeClusterService.listEnabledNodeClusters:input_type -> pb.ListEnabledNodeClustersRequest
16, // 17: pb.NodeClusterService.findNodeClusterHealthCheckConfig:input_type -> pb.FindNodeClusterHealthCheckConfigRequest
18, // 18: pb.NodeClusterService.updateNodeClusterHealthCheck:input_type -> pb.UpdateNodeClusterHealthCheckRequest
19, // 19: pb.NodeClusterService.executeNodeClusterHealthCheck:input_type -> pb.ExecuteNodeClusterHealthCheckRequest
21, // 20: pb.NodeClusterService.countAllEnabledNodeClustersWithGrantId:input_type -> pb.CountAllEnabledNodeClustersWithGrantIdRequest
23, // 21: pb.NodeClusterService.findAllEnabledNodeClustersWithGrantId:input_type -> pb.FindAllEnabledNodeClustersWithGrantIdRequest
5, // 22: pb.NodeClusterService.createNodeCluster:output_type -> pb.CreateNodeClusterResponse
29, // 23: pb.NodeClusterService.updateNodeCluster:output_type -> pb.RPCUpdateSuccess
30, // 24: pb.NodeClusterService.deleteNodeCluster:output_type -> pb.RPCDeleteSuccess
9, // 25: pb.NodeClusterService.findEnabledNodeCluster:output_type -> pb.FindEnabledNodeClusterResponse
11, // 26: pb.NodeClusterService.findAPINodesWithNodeCluster:output_type -> pb.FindAPINodesWithNodeClusterResponse
1, // 27: pb.NodeClusterService.findAllEnabledNodeClusters:output_type -> pb.FindAllEnabledNodeClustersResponse
3, // 28: pb.NodeClusterService.findAllChangedNodeClusters:output_type -> pb.FindAllChangedNodeClustersResponse
13, // 29: pb.NodeClusterService.countAllEnabledNodeClusters:output_type -> pb.CountAllEnabledNodeClustersResponse
15, // 30: pb.NodeClusterService.listEnabledNodeClusters:output_type -> pb.ListEnabledNodeClustersResponse
17, // 31: pb.NodeClusterService.findNodeClusterHealthCheckConfig:output_type -> pb.FindNodeClusterHealthCheckConfigResponse
29, // 32: pb.NodeClusterService.updateNodeClusterHealthCheck:output_type -> pb.RPCUpdateSuccess
20, // 33: pb.NodeClusterService.executeNodeClusterHealthCheck:output_type -> pb.ExecuteNodeClusterHealthCheckResponse
22, // 34: pb.NodeClusterService.countAllEnabledNodeClustersWithGrantId:output_type -> pb.CountAllEnabledNodeClustersWithGrantIdResponse
24, // 35: pb.NodeClusterService.findAllEnabledNodeClustersWithGrantId:output_type -> pb.FindAllEnabledNodeClustersWithGrantIdResponse
22, // [22:36] is the sub-list for method output_type
8, // [8:22] is the sub-list for method input_type
8, // [8:8] is the sub-list for extension type_name
8, // [8:8] is the sub-list for extension extendee
0, // [0:8] is the sub-list for field type_name
}
func init() { file_service_node_cluster_proto_init() }
@@ -1690,6 +1927,54 @@ func file_service_node_cluster_proto_init() {
}
}
file_service_node_cluster_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CountAllEnabledNodeClustersWithGrantIdRequest); 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[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CountAllEnabledNodeClustersWithGrantIdResponse); 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[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindAllEnabledNodeClustersWithGrantIdRequest); 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[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindAllEnabledNodeClustersWithGrantIdResponse); 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[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExecuteNodeClusterHealthCheckResponse_Result); i {
case 0:
return &v.state
@@ -1708,7 +1993,7 @@ func file_service_node_cluster_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_node_cluster_proto_rawDesc,
NumEnums: 0,
NumMessages: 22,
NumMessages: 26,
NumExtensions: 0,
NumServices: 1,
},
@@ -1758,6 +2043,10 @@ type NodeClusterServiceClient interface {
UpdateNodeClusterHealthCheck(ctx context.Context, in *UpdateNodeClusterHealthCheckRequest, opts ...grpc.CallOption) (*RPCUpdateSuccess, error)
// 执行健康检查
ExecuteNodeClusterHealthCheck(ctx context.Context, in *ExecuteNodeClusterHealthCheckRequest, opts ...grpc.CallOption) (*ExecuteNodeClusterHealthCheckResponse, error)
// 计算使用某个认证的集群数量
CountAllEnabledNodeClustersWithGrantId(ctx context.Context, in *CountAllEnabledNodeClustersWithGrantIdRequest, opts ...grpc.CallOption) (*CountAllEnabledNodeClustersWithGrantIdResponse, error)
// 查找使用某个认证的所有集群
FindAllEnabledNodeClustersWithGrantId(ctx context.Context, in *FindAllEnabledNodeClustersWithGrantIdRequest, opts ...grpc.CallOption) (*FindAllEnabledNodeClustersWithGrantIdResponse, error)
}
type nodeClusterServiceClient struct {
@@ -1876,6 +2165,24 @@ func (c *nodeClusterServiceClient) ExecuteNodeClusterHealthCheck(ctx context.Con
return out, nil
}
func (c *nodeClusterServiceClient) CountAllEnabledNodeClustersWithGrantId(ctx context.Context, in *CountAllEnabledNodeClustersWithGrantIdRequest, opts ...grpc.CallOption) (*CountAllEnabledNodeClustersWithGrantIdResponse, error) {
out := new(CountAllEnabledNodeClustersWithGrantIdResponse)
err := c.cc.Invoke(ctx, "/pb.NodeClusterService/countAllEnabledNodeClustersWithGrantId", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *nodeClusterServiceClient) FindAllEnabledNodeClustersWithGrantId(ctx context.Context, in *FindAllEnabledNodeClustersWithGrantIdRequest, opts ...grpc.CallOption) (*FindAllEnabledNodeClustersWithGrantIdResponse, error) {
out := new(FindAllEnabledNodeClustersWithGrantIdResponse)
err := c.cc.Invoke(ctx, "/pb.NodeClusterService/findAllEnabledNodeClustersWithGrantId", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// NodeClusterServiceServer is the server API for NodeClusterService service.
type NodeClusterServiceServer interface {
// 创建集群
@@ -1902,6 +2209,10 @@ type NodeClusterServiceServer interface {
UpdateNodeClusterHealthCheck(context.Context, *UpdateNodeClusterHealthCheckRequest) (*RPCUpdateSuccess, error)
// 执行健康检查
ExecuteNodeClusterHealthCheck(context.Context, *ExecuteNodeClusterHealthCheckRequest) (*ExecuteNodeClusterHealthCheckResponse, error)
// 计算使用某个认证的集群数量
CountAllEnabledNodeClustersWithGrantId(context.Context, *CountAllEnabledNodeClustersWithGrantIdRequest) (*CountAllEnabledNodeClustersWithGrantIdResponse, error)
// 查找使用某个认证的所有集群
FindAllEnabledNodeClustersWithGrantId(context.Context, *FindAllEnabledNodeClustersWithGrantIdRequest) (*FindAllEnabledNodeClustersWithGrantIdResponse, error)
}
// UnimplementedNodeClusterServiceServer can be embedded to have forward compatible implementations.
@@ -1944,6 +2255,12 @@ func (*UnimplementedNodeClusterServiceServer) UpdateNodeClusterHealthCheck(conte
func (*UnimplementedNodeClusterServiceServer) ExecuteNodeClusterHealthCheck(context.Context, *ExecuteNodeClusterHealthCheckRequest) (*ExecuteNodeClusterHealthCheckResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ExecuteNodeClusterHealthCheck not implemented")
}
func (*UnimplementedNodeClusterServiceServer) CountAllEnabledNodeClustersWithGrantId(context.Context, *CountAllEnabledNodeClustersWithGrantIdRequest) (*CountAllEnabledNodeClustersWithGrantIdResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodeClustersWithGrantId not implemented")
}
func (*UnimplementedNodeClusterServiceServer) FindAllEnabledNodeClustersWithGrantId(context.Context, *FindAllEnabledNodeClustersWithGrantIdRequest) (*FindAllEnabledNodeClustersWithGrantIdResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledNodeClustersWithGrantId not implemented")
}
func RegisterNodeClusterServiceServer(s *grpc.Server, srv NodeClusterServiceServer) {
s.RegisterService(&_NodeClusterService_serviceDesc, srv)
@@ -2165,6 +2482,42 @@ func _NodeClusterService_ExecuteNodeClusterHealthCheck_Handler(srv interface{},
return interceptor(ctx, in, info, handler)
}
func _NodeClusterService_CountAllEnabledNodeClustersWithGrantId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CountAllEnabledNodeClustersWithGrantIdRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(NodeClusterServiceServer).CountAllEnabledNodeClustersWithGrantId(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.NodeClusterService/CountAllEnabledNodeClustersWithGrantId",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(NodeClusterServiceServer).CountAllEnabledNodeClustersWithGrantId(ctx, req.(*CountAllEnabledNodeClustersWithGrantIdRequest))
}
return interceptor(ctx, in, info, handler)
}
func _NodeClusterService_FindAllEnabledNodeClustersWithGrantId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindAllEnabledNodeClustersWithGrantIdRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(NodeClusterServiceServer).FindAllEnabledNodeClustersWithGrantId(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.NodeClusterService/FindAllEnabledNodeClustersWithGrantId",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(NodeClusterServiceServer).FindAllEnabledNodeClustersWithGrantId(ctx, req.(*FindAllEnabledNodeClustersWithGrantIdRequest))
}
return interceptor(ctx, in, info, handler)
}
var _NodeClusterService_serviceDesc = grpc.ServiceDesc{
ServiceName: "pb.NodeClusterService",
HandlerType: (*NodeClusterServiceServer)(nil),
@@ -2217,6 +2570,14 @@ var _NodeClusterService_serviceDesc = grpc.ServiceDesc{
MethodName: "executeNodeClusterHealthCheck",
Handler: _NodeClusterService_ExecuteNodeClusterHealthCheck_Handler,
},
{
MethodName: "countAllEnabledNodeClustersWithGrantId",
Handler: _NodeClusterService_CountAllEnabledNodeClustersWithGrantId_Handler,
},
{
MethodName: "findAllEnabledNodeClustersWithGrantId",
Handler: _NodeClusterService_FindAllEnabledNodeClustersWithGrantId_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_node_cluster.proto",