// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.31.0
// 	protoc        v3.19.4
// source: service_node_cluster.proto

package pb

import (
	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)
)

// 获取所有集群的信息
type FindAllEnabledNodeClustersRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *FindAllEnabledNodeClustersRequest) Reset() {
	*x = FindAllEnabledNodeClustersRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindAllEnabledNodeClustersRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindAllEnabledNodeClustersRequest) ProtoMessage() {}

func (x *FindAllEnabledNodeClustersRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_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 FindAllEnabledNodeClustersRequest.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodeClustersRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{0}
}

type FindAllEnabledNodeClustersResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusters []*NodeCluster `protobuf:"bytes,1,rep,name=nodeClusters,proto3" json:"nodeClusters,omitempty"`
}

func (x *FindAllEnabledNodeClustersResponse) Reset() {
	*x = FindAllEnabledNodeClustersResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindAllEnabledNodeClustersResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindAllEnabledNodeClustersResponse) ProtoMessage() {}

func (x *FindAllEnabledNodeClustersResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_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 FindAllEnabledNodeClustersResponse.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodeClustersResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{1}
}

func (x *FindAllEnabledNodeClustersResponse) GetNodeClusters() []*NodeCluster {
	if x != nil {
		return x.NodeClusters
	}
	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"`
	NodeGrantId            int64  `protobuf:"varint,2,opt,name=nodeGrantId,proto3" json:"nodeGrantId,omitempty"`
	InstallDir             string `protobuf:"bytes,3,opt,name=installDir,proto3" json:"installDir,omitempty"`
	DnsDomainId            int64  `protobuf:"varint,4,opt,name=dnsDomainId,proto3" json:"dnsDomainId,omitempty"`
	DnsName                string `protobuf:"bytes,5,opt,name=dnsName,proto3" json:"dnsName,omitempty"`
	DnsTTL                 int32  `protobuf:"varint,9,opt,name=dnsTTL,proto3" json:"dnsTTL,omitempty"`
	HttpCachePolicyId      int64  `protobuf:"varint,6,opt,name=httpCachePolicyId,proto3" json:"httpCachePolicyId,omitempty"`
	HttpFirewallPolicyId   int64  `protobuf:"varint,7,opt,name=httpFirewallPolicyId,proto3" json:"httpFirewallPolicyId,omitempty"`
	SystemServicesJSON     []byte `protobuf:"bytes,8,opt,name=systemServicesJSON,proto3" json:"systemServicesJSON,omitempty"`          // 系统服务设置
	GlobalServerConfigJSON []byte `protobuf:"bytes,10,opt,name=globalServerConfigJSON,proto3" json:"globalServerConfigJSON,omitempty"` // 服务全局设置
	AutoInstallNftables    bool   `protobuf:"varint,11,opt,name=autoInstallNftables,proto3" json:"autoInstallNftables,omitempty"`      // 自动安装nftables
	AutoSystemTuning       bool   `protobuf:"varint,12,opt,name=autoSystemTuning,proto3" json:"autoSystemTuning,omitempty"`            // 是否自动调节系统参数
	AutoTrimDisks          bool   `protobuf:"varint,13,opt,name=autoTrimDisks,proto3" json:"autoTrimDisks,omitempty"`                  // 是否自动TRIM硬盘
	MaxConcurrentReads     int32  `protobuf:"varint,15,opt,name=maxConcurrentReads,proto3" json:"maxConcurrentReads,omitempty"`        // 最大并发读
	MaxConcurrentWrites    int32  `protobuf:"varint,16,opt,name=maxConcurrentWrites,proto3" json:"maxConcurrentWrites,omitempty"`      // 最大并发写
}

func (x *CreateNodeClusterRequest) Reset() {
	*x = CreateNodeClusterRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[2]
		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[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 CreateNodeClusterRequest.ProtoReflect.Descriptor instead.
func (*CreateNodeClusterRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{2}
}

func (x *CreateNodeClusterRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *CreateNodeClusterRequest) GetNodeGrantId() int64 {
	if x != nil {
		return x.NodeGrantId
	}
	return 0
}

func (x *CreateNodeClusterRequest) GetInstallDir() string {
	if x != nil {
		return x.InstallDir
	}
	return ""
}

func (x *CreateNodeClusterRequest) GetDnsDomainId() int64 {
	if x != nil {
		return x.DnsDomainId
	}
	return 0
}

func (x *CreateNodeClusterRequest) GetDnsName() string {
	if x != nil {
		return x.DnsName
	}
	return ""
}

func (x *CreateNodeClusterRequest) GetDnsTTL() int32 {
	if x != nil {
		return x.DnsTTL
	}
	return 0
}

func (x *CreateNodeClusterRequest) GetHttpCachePolicyId() int64 {
	if x != nil {
		return x.HttpCachePolicyId
	}
	return 0
}

func (x *CreateNodeClusterRequest) GetHttpFirewallPolicyId() int64 {
	if x != nil {
		return x.HttpFirewallPolicyId
	}
	return 0
}

func (x *CreateNodeClusterRequest) GetSystemServicesJSON() []byte {
	if x != nil {
		return x.SystemServicesJSON
	}
	return nil
}

func (x *CreateNodeClusterRequest) GetGlobalServerConfigJSON() []byte {
	if x != nil {
		return x.GlobalServerConfigJSON
	}
	return nil
}

func (x *CreateNodeClusterRequest) GetAutoInstallNftables() bool {
	if x != nil {
		return x.AutoInstallNftables
	}
	return false
}

func (x *CreateNodeClusterRequest) GetAutoSystemTuning() bool {
	if x != nil {
		return x.AutoSystemTuning
	}
	return false
}

func (x *CreateNodeClusterRequest) GetAutoTrimDisks() bool {
	if x != nil {
		return x.AutoTrimDisks
	}
	return false
}

func (x *CreateNodeClusterRequest) GetMaxConcurrentReads() int32 {
	if x != nil {
		return x.MaxConcurrentReads
	}
	return 0
}

func (x *CreateNodeClusterRequest) GetMaxConcurrentWrites() int32 {
	if x != nil {
		return x.MaxConcurrentWrites
	}
	return 0
}

type CreateNodeClusterResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *CreateNodeClusterResponse) Reset() {
	*x = CreateNodeClusterResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[3]
		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[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 CreateNodeClusterResponse.ProtoReflect.Descriptor instead.
func (*CreateNodeClusterResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{3}
}

func (x *CreateNodeClusterResponse) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

// 修改集群
type UpdateNodeClusterRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId       int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	Name                string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	NodeGrantId         int64  `protobuf:"varint,3,opt,name=nodeGrantId,proto3" json:"nodeGrantId,omitempty"`
	InstallDir          string `protobuf:"bytes,4,opt,name=installDir,proto3" json:"installDir,omitempty"`
	TimeZone            string `protobuf:"bytes,5,opt,name=timeZone,proto3" json:"timeZone,omitempty"`
	NodeMaxThreads      int32  `protobuf:"varint,6,opt,name=nodeMaxThreads,proto3" json:"nodeMaxThreads,omitempty"`
	AutoOpenPorts       bool   `protobuf:"varint,8,opt,name=autoOpenPorts,proto3" json:"autoOpenPorts,omitempty"`
	ClockJSON           []byte `protobuf:"bytes,9,opt,name=clockJSON,proto3" json:"clockJSON,omitempty"`
	AutoRemoteStart     bool   `protobuf:"varint,10,opt,name=autoRemoteStart,proto3" json:"autoRemoteStart,omitempty"`
	AutoInstallNftables bool   `protobuf:"varint,11,opt,name=autoInstallNftables,proto3" json:"autoInstallNftables,omitempty"`
	SshParamsJSON       []byte `protobuf:"bytes,12,opt,name=sshParamsJSON,proto3" json:"sshParamsJSON,omitempty"`
	AutoSystemTuning    bool   `protobuf:"varint,13,opt,name=autoSystemTuning,proto3" json:"autoSystemTuning,omitempty"`       // 是否自动调节系统参数
	AutoTrimDisks       bool   `protobuf:"varint,14,opt,name=autoTrimDisks,proto3" json:"autoTrimDisks,omitempty"`             // 是否自动TRIM硬盘
	MaxConcurrentReads  int32  `protobuf:"varint,15,opt,name=maxConcurrentReads,proto3" json:"maxConcurrentReads,omitempty"`   // 最大并发读
	MaxConcurrentWrites int32  `protobuf:"varint,16,opt,name=maxConcurrentWrites,proto3" json:"maxConcurrentWrites,omitempty"` // 最大并发写
}

func (x *UpdateNodeClusterRequest) Reset() {
	*x = UpdateNodeClusterRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[4]
		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[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 UpdateNodeClusterRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeClusterRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{4}
}

func (x *UpdateNodeClusterRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *UpdateNodeClusterRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *UpdateNodeClusterRequest) GetNodeGrantId() int64 {
	if x != nil {
		return x.NodeGrantId
	}
	return 0
}

func (x *UpdateNodeClusterRequest) GetInstallDir() string {
	if x != nil {
		return x.InstallDir
	}
	return ""
}

func (x *UpdateNodeClusterRequest) GetTimeZone() string {
	if x != nil {
		return x.TimeZone
	}
	return ""
}

func (x *UpdateNodeClusterRequest) GetNodeMaxThreads() int32 {
	if x != nil {
		return x.NodeMaxThreads
	}
	return 0
}

func (x *UpdateNodeClusterRequest) GetAutoOpenPorts() bool {
	if x != nil {
		return x.AutoOpenPorts
	}
	return false
}

func (x *UpdateNodeClusterRequest) GetClockJSON() []byte {
	if x != nil {
		return x.ClockJSON
	}
	return nil
}

func (x *UpdateNodeClusterRequest) GetAutoRemoteStart() bool {
	if x != nil {
		return x.AutoRemoteStart
	}
	return false
}

func (x *UpdateNodeClusterRequest) GetAutoInstallNftables() bool {
	if x != nil {
		return x.AutoInstallNftables
	}
	return false
}

func (x *UpdateNodeClusterRequest) GetSshParamsJSON() []byte {
	if x != nil {
		return x.SshParamsJSON
	}
	return nil
}

func (x *UpdateNodeClusterRequest) GetAutoSystemTuning() bool {
	if x != nil {
		return x.AutoSystemTuning
	}
	return false
}

func (x *UpdateNodeClusterRequest) GetAutoTrimDisks() bool {
	if x != nil {
		return x.AutoTrimDisks
	}
	return false
}

func (x *UpdateNodeClusterRequest) GetMaxConcurrentReads() int32 {
	if x != nil {
		return x.MaxConcurrentReads
	}
	return 0
}

func (x *UpdateNodeClusterRequest) GetMaxConcurrentWrites() int32 {
	if x != nil {
		return x.MaxConcurrentWrites
	}
	return 0
}

// 删除集群
type DeleteNodeClusterRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *DeleteNodeClusterRequest) Reset() {
	*x = DeleteNodeClusterRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeleteNodeClusterRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteNodeClusterRequest) ProtoMessage() {}

func (x *DeleteNodeClusterRequest) 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 DeleteNodeClusterRequest.ProtoReflect.Descriptor instead.
func (*DeleteNodeClusterRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{5}
}

func (x *DeleteNodeClusterRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

// 查找单个集群信息
type FindEnabledNodeClusterRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *FindEnabledNodeClusterRequest) Reset() {
	*x = FindEnabledNodeClusterRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[6]
		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[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 FindEnabledNodeClusterRequest.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeClusterRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{6}
}

func (x *FindEnabledNodeClusterRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

type FindEnabledNodeClusterResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeCluster *NodeCluster `protobuf:"bytes,1,opt,name=nodeCluster,proto3" json:"nodeCluster,omitempty"`
}

func (x *FindEnabledNodeClusterResponse) Reset() {
	*x = FindEnabledNodeClusterResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[7]
		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[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 FindEnabledNodeClusterResponse.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeClusterResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{7}
}

func (x *FindEnabledNodeClusterResponse) GetNodeCluster() *NodeCluster {
	if x != nil {
		return x.NodeCluster
	}
	return nil
}

// 查找集群的API节点信息
type FindAPINodesWithNodeClusterRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *FindAPINodesWithNodeClusterRequest) Reset() {
	*x = FindAPINodesWithNodeClusterRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindAPINodesWithNodeClusterRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindAPINodesWithNodeClusterRequest) ProtoMessage() {}

func (x *FindAPINodesWithNodeClusterRequest) 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 FindAPINodesWithNodeClusterRequest.ProtoReflect.Descriptor instead.
func (*FindAPINodesWithNodeClusterRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{8}
}

func (x *FindAPINodesWithNodeClusterRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

type FindAPINodesWithNodeClusterResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	UseAllAPINodes bool       `protobuf:"varint,1,opt,name=useAllAPINodes,proto3" json:"useAllAPINodes,omitempty"`
	ApiNodes       []*APINode `protobuf:"bytes,2,rep,name=apiNodes,proto3" json:"apiNodes,omitempty"`
}

func (x *FindAPINodesWithNodeClusterResponse) Reset() {
	*x = FindAPINodesWithNodeClusterResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindAPINodesWithNodeClusterResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindAPINodesWithNodeClusterResponse) ProtoMessage() {}

func (x *FindAPINodesWithNodeClusterResponse) 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 FindAPINodesWithNodeClusterResponse.ProtoReflect.Descriptor instead.
func (*FindAPINodesWithNodeClusterResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{9}
}

func (x *FindAPINodesWithNodeClusterResponse) GetUseAllAPINodes() bool {
	if x != nil {
		return x.UseAllAPINodes
	}
	return false
}

func (x *FindAPINodesWithNodeClusterResponse) GetApiNodes() []*APINode {
	if x != nil {
		return x.ApiNodes
	}
	return nil
}

// 计算所有集群数量
type CountAllEnabledNodeClustersRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"`
}

func (x *CountAllEnabledNodeClustersRequest) Reset() {
	*x = CountAllEnabledNodeClustersRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[10]
		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[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 CountAllEnabledNodeClustersRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledNodeClustersRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{10}
}

func (x *CountAllEnabledNodeClustersRequest) GetKeyword() string {
	if x != nil {
		return x.Keyword
	}
	return ""
}

// 列出单页集群
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"`
	Keyword string `protobuf:"bytes,3,opt,name=keyword,proto3" json:"keyword,omitempty"` // 可选项，搜索关键词
	IdDesc  bool   `protobuf:"varint,4,opt,name=idDesc,proto3" json:"idDesc,omitempty"`  // 可选项，是否按照ID倒序排列
	IdAsc   bool   `protobuf:"varint,5,opt,name=idAsc,proto3" json:"idAsc,omitempty"`    // 可选项，是否按照ID正序排列
}

func (x *ListEnabledNodeClustersRequest) Reset() {
	*x = ListEnabledNodeClustersRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[11]
		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[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 ListEnabledNodeClustersRequest.ProtoReflect.Descriptor instead.
func (*ListEnabledNodeClustersRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{11}
}

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
}

func (x *ListEnabledNodeClustersRequest) GetKeyword() string {
	if x != nil {
		return x.Keyword
	}
	return ""
}

func (x *ListEnabledNodeClustersRequest) GetIdDesc() bool {
	if x != nil {
		return x.IdDesc
	}
	return false
}

func (x *ListEnabledNodeClustersRequest) GetIdAsc() bool {
	if x != nil {
		return x.IdAsc
	}
	return false
}

type ListEnabledNodeClustersResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusters []*NodeCluster `protobuf:"bytes,1,rep,name=nodeClusters,proto3" json:"nodeClusters,omitempty"`
}

func (x *ListEnabledNodeClustersResponse) Reset() {
	*x = ListEnabledNodeClustersResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[12]
		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[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 ListEnabledNodeClustersResponse.ProtoReflect.Descriptor instead.
func (*ListEnabledNodeClustersResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{12}
}

func (x *ListEnabledNodeClustersResponse) GetNodeClusters() []*NodeCluster {
	if x != nil {
		return x.NodeClusters
	}
	return nil
}

// 查找集群的健康检查配置
type FindNodeClusterHealthCheckConfigRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *FindNodeClusterHealthCheckConfigRequest) Reset() {
	*x = FindNodeClusterHealthCheckConfigRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindNodeClusterHealthCheckConfigRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindNodeClusterHealthCheckConfigRequest) ProtoMessage() {}

func (x *FindNodeClusterHealthCheckConfigRequest) 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 FindNodeClusterHealthCheckConfigRequest.ProtoReflect.Descriptor instead.
func (*FindNodeClusterHealthCheckConfigRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{13}
}

func (x *FindNodeClusterHealthCheckConfigRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

type FindNodeClusterHealthCheckConfigResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	HealthCheckJSON []byte `protobuf:"bytes,1,opt,name=healthCheckJSON,proto3" json:"healthCheckJSON,omitempty"`
}

func (x *FindNodeClusterHealthCheckConfigResponse) Reset() {
	*x = FindNodeClusterHealthCheckConfigResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindNodeClusterHealthCheckConfigResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindNodeClusterHealthCheckConfigResponse) ProtoMessage() {}

func (x *FindNodeClusterHealthCheckConfigResponse) 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 FindNodeClusterHealthCheckConfigResponse.ProtoReflect.Descriptor instead.
func (*FindNodeClusterHealthCheckConfigResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{14}
}

func (x *FindNodeClusterHealthCheckConfigResponse) GetHealthCheckJSON() []byte {
	if x != nil {
		return x.HealthCheckJSON
	}
	return nil
}

// 修改集群健康检查设置
type UpdateNodeClusterHealthCheckRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId   int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	HealthCheckJSON []byte `protobuf:"bytes,2,opt,name=healthCheckJSON,proto3" json:"healthCheckJSON,omitempty"`
}

func (x *UpdateNodeClusterHealthCheckRequest) Reset() {
	*x = UpdateNodeClusterHealthCheckRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNodeClusterHealthCheckRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNodeClusterHealthCheckRequest) ProtoMessage() {}

func (x *UpdateNodeClusterHealthCheckRequest) 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 UpdateNodeClusterHealthCheckRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeClusterHealthCheckRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{15}
}

func (x *UpdateNodeClusterHealthCheckRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *UpdateNodeClusterHealthCheckRequest) GetHealthCheckJSON() []byte {
	if x != nil {
		return x.HealthCheckJSON
	}
	return nil
}

// 执行健康检查
type ExecuteNodeClusterHealthCheckRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *ExecuteNodeClusterHealthCheckRequest) Reset() {
	*x = ExecuteNodeClusterHealthCheckRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ExecuteNodeClusterHealthCheckRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ExecuteNodeClusterHealthCheckRequest) ProtoMessage() {}

func (x *ExecuteNodeClusterHealthCheckRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[16]
	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 ExecuteNodeClusterHealthCheckRequest.ProtoReflect.Descriptor instead.
func (*ExecuteNodeClusterHealthCheckRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{16}
}

func (x *ExecuteNodeClusterHealthCheckRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

type ExecuteNodeClusterHealthCheckResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Results []*ExecuteNodeClusterHealthCheckResponse_Result `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
}

func (x *ExecuteNodeClusterHealthCheckResponse) Reset() {
	*x = ExecuteNodeClusterHealthCheckResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ExecuteNodeClusterHealthCheckResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ExecuteNodeClusterHealthCheckResponse) ProtoMessage() {}

func (x *ExecuteNodeClusterHealthCheckResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[17]
	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 ExecuteNodeClusterHealthCheckResponse.ProtoReflect.Descriptor instead.
func (*ExecuteNodeClusterHealthCheckResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{17}
}

func (x *ExecuteNodeClusterHealthCheckResponse) GetResults() []*ExecuteNodeClusterHealthCheckResponse_Result {
	if x != nil {
		return x.Results
	}
	return nil
}

// 计算使用某个认证的集群数量
type CountAllEnabledNodeClustersWithNodeGrantIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeGrantId int64 `protobuf:"varint,1,opt,name=nodeGrantId,proto3" json:"nodeGrantId,omitempty"`
}

func (x *CountAllEnabledNodeClustersWithNodeGrantIdRequest) Reset() {
	*x = CountAllEnabledNodeClustersWithNodeGrantIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CountAllEnabledNodeClustersWithNodeGrantIdRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CountAllEnabledNodeClustersWithNodeGrantIdRequest) ProtoMessage() {}

func (x *CountAllEnabledNodeClustersWithNodeGrantIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CountAllEnabledNodeClustersWithNodeGrantIdRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledNodeClustersWithNodeGrantIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{18}
}

func (x *CountAllEnabledNodeClustersWithNodeGrantIdRequest) GetNodeGrantId() int64 {
	if x != nil {
		return x.NodeGrantId
	}
	return 0
}

// 查找使用某个认证的所有集群
type FindAllEnabledNodeClustersWithNodeGrantIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeGrantId int64 `protobuf:"varint,1,opt,name=nodeGrantId,proto3" json:"nodeGrantId,omitempty"`
}

func (x *FindAllEnabledNodeClustersWithNodeGrantIdRequest) Reset() {
	*x = FindAllEnabledNodeClustersWithNodeGrantIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindAllEnabledNodeClustersWithNodeGrantIdRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindAllEnabledNodeClustersWithNodeGrantIdRequest) ProtoMessage() {}

func (x *FindAllEnabledNodeClustersWithNodeGrantIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[19]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindAllEnabledNodeClustersWithNodeGrantIdRequest.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodeClustersWithNodeGrantIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{19}
}

func (x *FindAllEnabledNodeClustersWithNodeGrantIdRequest) GetNodeGrantId() int64 {
	if x != nil {
		return x.NodeGrantId
	}
	return 0
}

type FindAllEnabledNodeClustersWithNodeGrantIdResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusters []*NodeCluster `protobuf:"bytes,1,rep,name=nodeClusters,proto3" json:"nodeClusters,omitempty"`
}

func (x *FindAllEnabledNodeClustersWithNodeGrantIdResponse) Reset() {
	*x = FindAllEnabledNodeClustersWithNodeGrantIdResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindAllEnabledNodeClustersWithNodeGrantIdResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindAllEnabledNodeClustersWithNodeGrantIdResponse) ProtoMessage() {}

func (x *FindAllEnabledNodeClustersWithNodeGrantIdResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_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 FindAllEnabledNodeClustersWithNodeGrantIdResponse.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodeClustersWithNodeGrantIdResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{20}
}

func (x *FindAllEnabledNodeClustersWithNodeGrantIdResponse) GetNodeClusters() []*NodeCluster {
	if x != nil {
		return x.NodeClusters
	}
	return nil
}

// 查找集群的DNS配置
type FindEnabledNodeClusterDNSRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *FindEnabledNodeClusterDNSRequest) Reset() {
	*x = FindEnabledNodeClusterDNSRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindEnabledNodeClusterDNSRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindEnabledNodeClusterDNSRequest) ProtoMessage() {}

func (x *FindEnabledNodeClusterDNSRequest) 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 FindEnabledNodeClusterDNSRequest.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeClusterDNSRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{21}
}

func (x *FindEnabledNodeClusterDNSRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

type FindEnabledNodeClusterDNSResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name             string       `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Domain           *DNSDomain   `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"`
	Provider         *DNSProvider `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"`
	DefaultRoute     string       `protobuf:"bytes,6,opt,name=defaultRoute,proto3" json:"defaultRoute,omitempty"`
	NodesAutoSync    bool         `protobuf:"varint,4,opt,name=nodesAutoSync,proto3" json:"nodesAutoSync,omitempty"`
	ServersAutoSync  bool         `protobuf:"varint,5,opt,name=serversAutoSync,proto3" json:"serversAutoSync,omitempty"`
	CnameRecords     []string     `protobuf:"bytes,7,rep,name=cnameRecords,proto3" json:"cnameRecords,omitempty"`
	Ttl              int32        `protobuf:"varint,8,opt,name=ttl,proto3" json:"ttl,omitempty"`
	CnameAsDomain    bool         `protobuf:"varint,9,opt,name=cnameAsDomain,proto3" json:"cnameAsDomain,omitempty"`
	IncludingLnNodes bool         `protobuf:"varint,10,opt,name=includingLnNodes,proto3" json:"includingLnNodes,omitempty"`
}

func (x *FindEnabledNodeClusterDNSResponse) Reset() {
	*x = FindEnabledNodeClusterDNSResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindEnabledNodeClusterDNSResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindEnabledNodeClusterDNSResponse) ProtoMessage() {}

func (x *FindEnabledNodeClusterDNSResponse) 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 FindEnabledNodeClusterDNSResponse.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeClusterDNSResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{22}
}

func (x *FindEnabledNodeClusterDNSResponse) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *FindEnabledNodeClusterDNSResponse) GetDomain() *DNSDomain {
	if x != nil {
		return x.Domain
	}
	return nil
}

func (x *FindEnabledNodeClusterDNSResponse) GetProvider() *DNSProvider {
	if x != nil {
		return x.Provider
	}
	return nil
}

func (x *FindEnabledNodeClusterDNSResponse) GetDefaultRoute() string {
	if x != nil {
		return x.DefaultRoute
	}
	return ""
}

func (x *FindEnabledNodeClusterDNSResponse) GetNodesAutoSync() bool {
	if x != nil {
		return x.NodesAutoSync
	}
	return false
}

func (x *FindEnabledNodeClusterDNSResponse) GetServersAutoSync() bool {
	if x != nil {
		return x.ServersAutoSync
	}
	return false
}

func (x *FindEnabledNodeClusterDNSResponse) GetCnameRecords() []string {
	if x != nil {
		return x.CnameRecords
	}
	return nil
}

func (x *FindEnabledNodeClusterDNSResponse) GetTtl() int32 {
	if x != nil {
		return x.Ttl
	}
	return 0
}

func (x *FindEnabledNodeClusterDNSResponse) GetCnameAsDomain() bool {
	if x != nil {
		return x.CnameAsDomain
	}
	return false
}

func (x *FindEnabledNodeClusterDNSResponse) GetIncludingLnNodes() bool {
	if x != nil {
		return x.IncludingLnNodes
	}
	return false
}

// 计算使用某个DNS服务商的集群数量
type CountAllEnabledNodeClustersWithDNSProviderIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	DnsProviderId int64 `protobuf:"varint,1,opt,name=dnsProviderId,proto3" json:"dnsProviderId,omitempty"`
}

func (x *CountAllEnabledNodeClustersWithDNSProviderIdRequest) Reset() {
	*x = CountAllEnabledNodeClustersWithDNSProviderIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CountAllEnabledNodeClustersWithDNSProviderIdRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CountAllEnabledNodeClustersWithDNSProviderIdRequest) ProtoMessage() {}

func (x *CountAllEnabledNodeClustersWithDNSProviderIdRequest) 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 CountAllEnabledNodeClustersWithDNSProviderIdRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledNodeClustersWithDNSProviderIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{23}
}

func (x *CountAllEnabledNodeClustersWithDNSProviderIdRequest) GetDnsProviderId() int64 {
	if x != nil {
		return x.DnsProviderId
	}
	return 0
}

// 计算使用某个DNS域名的集群数量
type CountAllEnabledNodeClustersWithDNSDomainIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	DnsDomainId int64 `protobuf:"varint,1,opt,name=dnsDomainId,proto3" json:"dnsDomainId,omitempty"`
}

func (x *CountAllEnabledNodeClustersWithDNSDomainIdRequest) Reset() {
	*x = CountAllEnabledNodeClustersWithDNSDomainIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CountAllEnabledNodeClustersWithDNSDomainIdRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CountAllEnabledNodeClustersWithDNSDomainIdRequest) ProtoMessage() {}

func (x *CountAllEnabledNodeClustersWithDNSDomainIdRequest) 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 CountAllEnabledNodeClustersWithDNSDomainIdRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledNodeClustersWithDNSDomainIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{24}
}

func (x *CountAllEnabledNodeClustersWithDNSDomainIdRequest) GetDnsDomainId() int64 {
	if x != nil {
		return x.DnsDomainId
	}
	return 0
}

// 查找使用某个域名的所有集群
type FindAllEnabledNodeClustersWithDNSDomainIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	DnsDomainId int64 `protobuf:"varint,1,opt,name=dnsDomainId,proto3" json:"dnsDomainId,omitempty"`
}

func (x *FindAllEnabledNodeClustersWithDNSDomainIdRequest) Reset() {
	*x = FindAllEnabledNodeClustersWithDNSDomainIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindAllEnabledNodeClustersWithDNSDomainIdRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindAllEnabledNodeClustersWithDNSDomainIdRequest) ProtoMessage() {}

func (x *FindAllEnabledNodeClustersWithDNSDomainIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[25]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindAllEnabledNodeClustersWithDNSDomainIdRequest.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodeClustersWithDNSDomainIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{25}
}

func (x *FindAllEnabledNodeClustersWithDNSDomainIdRequest) GetDnsDomainId() int64 {
	if x != nil {
		return x.DnsDomainId
	}
	return 0
}

type FindAllEnabledNodeClustersWithDNSDomainIdResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusters []*NodeCluster `protobuf:"bytes,1,rep,name=nodeClusters,proto3" json:"nodeClusters,omitempty"`
}

func (x *FindAllEnabledNodeClustersWithDNSDomainIdResponse) Reset() {
	*x = FindAllEnabledNodeClustersWithDNSDomainIdResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindAllEnabledNodeClustersWithDNSDomainIdResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindAllEnabledNodeClustersWithDNSDomainIdResponse) ProtoMessage() {}

func (x *FindAllEnabledNodeClustersWithDNSDomainIdResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[26]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindAllEnabledNodeClustersWithDNSDomainIdResponse.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodeClustersWithDNSDomainIdResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{26}
}

func (x *FindAllEnabledNodeClustersWithDNSDomainIdResponse) GetNodeClusters() []*NodeCluster {
	if x != nil {
		return x.NodeClusters
	}
	return nil
}

// 检查集群域名是否已经被使用
type CheckNodeClusterDNSNameRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	DnsName       string `protobuf:"bytes,2,opt,name=dnsName,proto3" json:"dnsName,omitempty"`
}

func (x *CheckNodeClusterDNSNameRequest) Reset() {
	*x = CheckNodeClusterDNSNameRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CheckNodeClusterDNSNameRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckNodeClusterDNSNameRequest) ProtoMessage() {}

func (x *CheckNodeClusterDNSNameRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[27]
	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 CheckNodeClusterDNSNameRequest.ProtoReflect.Descriptor instead.
func (*CheckNodeClusterDNSNameRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{27}
}

func (x *CheckNodeClusterDNSNameRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *CheckNodeClusterDNSNameRequest) GetDnsName() string {
	if x != nil {
		return x.DnsName
	}
	return ""
}

type CheckNodeClusterDNSNameResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	IsUsed bool `protobuf:"varint,1,opt,name=isUsed,proto3" json:"isUsed,omitempty"`
}

func (x *CheckNodeClusterDNSNameResponse) Reset() {
	*x = CheckNodeClusterDNSNameResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CheckNodeClusterDNSNameResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckNodeClusterDNSNameResponse) ProtoMessage() {}

func (x *CheckNodeClusterDNSNameResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[28]
	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 CheckNodeClusterDNSNameResponse.ProtoReflect.Descriptor instead.
func (*CheckNodeClusterDNSNameResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{28}
}

func (x *CheckNodeClusterDNSNameResponse) GetIsUsed() bool {
	if x != nil {
		return x.IsUsed
	}
	return false
}

// 修改集群的域名设置
type UpdateNodeClusterDNSRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId    int64    `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	DnsName          string   `protobuf:"bytes,2,opt,name=dnsName,proto3" json:"dnsName,omitempty"`
	DnsDomainId      int64    `protobuf:"varint,3,opt,name=dnsDomainId,proto3" json:"dnsDomainId,omitempty"`
	NodesAutoSync    bool     `protobuf:"varint,4,opt,name=nodesAutoSync,proto3" json:"nodesAutoSync,omitempty"`
	ServersAutoSync  bool     `protobuf:"varint,5,opt,name=serversAutoSync,proto3" json:"serversAutoSync,omitempty"`
	CnameRecords     []string `protobuf:"bytes,6,rep,name=cnameRecords,proto3" json:"cnameRecords,omitempty"`
	Ttl              int32    `protobuf:"varint,7,opt,name=ttl,proto3" json:"ttl,omitempty"`
	CnameAsDomain    bool     `protobuf:"varint,8,opt,name=cnameAsDomain,proto3" json:"cnameAsDomain,omitempty"`
	IncludingLnNodes bool     `protobuf:"varint,9,opt,name=includingLnNodes,proto3" json:"includingLnNodes,omitempty"`
}

func (x *UpdateNodeClusterDNSRequest) Reset() {
	*x = UpdateNodeClusterDNSRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNodeClusterDNSRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNodeClusterDNSRequest) ProtoMessage() {}

func (x *UpdateNodeClusterDNSRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[29]
	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 UpdateNodeClusterDNSRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeClusterDNSRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{29}
}

func (x *UpdateNodeClusterDNSRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *UpdateNodeClusterDNSRequest) GetDnsName() string {
	if x != nil {
		return x.DnsName
	}
	return ""
}

func (x *UpdateNodeClusterDNSRequest) GetDnsDomainId() int64 {
	if x != nil {
		return x.DnsDomainId
	}
	return 0
}

func (x *UpdateNodeClusterDNSRequest) GetNodesAutoSync() bool {
	if x != nil {
		return x.NodesAutoSync
	}
	return false
}

func (x *UpdateNodeClusterDNSRequest) GetServersAutoSync() bool {
	if x != nil {
		return x.ServersAutoSync
	}
	return false
}

func (x *UpdateNodeClusterDNSRequest) GetCnameRecords() []string {
	if x != nil {
		return x.CnameRecords
	}
	return nil
}

func (x *UpdateNodeClusterDNSRequest) GetTtl() int32 {
	if x != nil {
		return x.Ttl
	}
	return 0
}

func (x *UpdateNodeClusterDNSRequest) GetCnameAsDomain() bool {
	if x != nil {
		return x.CnameAsDomain
	}
	return false
}

func (x *UpdateNodeClusterDNSRequest) GetIncludingLnNodes() bool {
	if x != nil {
		return x.IncludingLnNodes
	}
	return false
}

// 检查集群的DNS是否有变化
type CheckNodeClusterDNSChangesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *CheckNodeClusterDNSChangesRequest) Reset() {
	*x = CheckNodeClusterDNSChangesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CheckNodeClusterDNSChangesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckNodeClusterDNSChangesRequest) ProtoMessage() {}

func (x *CheckNodeClusterDNSChangesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[30]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CheckNodeClusterDNSChangesRequest.ProtoReflect.Descriptor instead.
func (*CheckNodeClusterDNSChangesRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{30}
}

func (x *CheckNodeClusterDNSChangesRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

type CheckNodeClusterDNSChangesResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	IsChanged bool `protobuf:"varint,1,opt,name=isChanged,proto3" json:"isChanged,omitempty"`
}

func (x *CheckNodeClusterDNSChangesResponse) Reset() {
	*x = CheckNodeClusterDNSChangesResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CheckNodeClusterDNSChangesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckNodeClusterDNSChangesResponse) ProtoMessage() {}

func (x *CheckNodeClusterDNSChangesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[31]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CheckNodeClusterDNSChangesResponse.ProtoReflect.Descriptor instead.
func (*CheckNodeClusterDNSChangesResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{31}
}

func (x *CheckNodeClusterDNSChangesResponse) GetIsChanged() bool {
	if x != nil {
		return x.IsChanged
	}
	return false
}

// 查找集群的TOA配置
type FindEnabledNodeClusterTOARequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *FindEnabledNodeClusterTOARequest) Reset() {
	*x = FindEnabledNodeClusterTOARequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindEnabledNodeClusterTOARequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindEnabledNodeClusterTOARequest) ProtoMessage() {}

func (x *FindEnabledNodeClusterTOARequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[32]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindEnabledNodeClusterTOARequest.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeClusterTOARequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{32}
}

func (x *FindEnabledNodeClusterTOARequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

type FindEnabledNodeClusterTOAResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ToaJSON []byte `protobuf:"bytes,1,opt,name=toaJSON,proto3" json:"toaJSON,omitempty"`
}

func (x *FindEnabledNodeClusterTOAResponse) Reset() {
	*x = FindEnabledNodeClusterTOAResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindEnabledNodeClusterTOAResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindEnabledNodeClusterTOAResponse) ProtoMessage() {}

func (x *FindEnabledNodeClusterTOAResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[33]
	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 FindEnabledNodeClusterTOAResponse.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeClusterTOAResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{33}
}

func (x *FindEnabledNodeClusterTOAResponse) GetToaJSON() []byte {
	if x != nil {
		return x.ToaJSON
	}
	return nil
}

// 修改集群的TOA设置
type UpdateNodeClusterTOARequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	ToaJSON       []byte `protobuf:"bytes,2,opt,name=toaJSON,proto3" json:"toaJSON,omitempty"`
}

func (x *UpdateNodeClusterTOARequest) Reset() {
	*x = UpdateNodeClusterTOARequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNodeClusterTOARequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNodeClusterTOARequest) ProtoMessage() {}

func (x *UpdateNodeClusterTOARequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[34]
	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 UpdateNodeClusterTOARequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeClusterTOARequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{34}
}

func (x *UpdateNodeClusterTOARequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *UpdateNodeClusterTOARequest) GetToaJSON() []byte {
	if x != nil {
		return x.ToaJSON
	}
	return nil
}

// 计算使用某个缓存策略的集群数量
type CountAllEnabledNodeClustersWithHTTPCachePolicyIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	HttpCachePolicyId int64 `protobuf:"varint,1,opt,name=httpCachePolicyId,proto3" json:"httpCachePolicyId,omitempty"`
}

func (x *CountAllEnabledNodeClustersWithHTTPCachePolicyIdRequest) Reset() {
	*x = CountAllEnabledNodeClustersWithHTTPCachePolicyIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CountAllEnabledNodeClustersWithHTTPCachePolicyIdRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CountAllEnabledNodeClustersWithHTTPCachePolicyIdRequest) ProtoMessage() {}

func (x *CountAllEnabledNodeClustersWithHTTPCachePolicyIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[35]
	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 CountAllEnabledNodeClustersWithHTTPCachePolicyIdRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledNodeClustersWithHTTPCachePolicyIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{35}
}

func (x *CountAllEnabledNodeClustersWithHTTPCachePolicyIdRequest) GetHttpCachePolicyId() int64 {
	if x != nil {
		return x.HttpCachePolicyId
	}
	return 0
}

// 查找使用缓存策略的所有集群
type FindAllEnabledNodeClustersWithHTTPCachePolicyIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	HttpCachePolicyId int64 `protobuf:"varint,1,opt,name=httpCachePolicyId,proto3" json:"httpCachePolicyId,omitempty"`
}

func (x *FindAllEnabledNodeClustersWithHTTPCachePolicyIdRequest) Reset() {
	*x = FindAllEnabledNodeClustersWithHTTPCachePolicyIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindAllEnabledNodeClustersWithHTTPCachePolicyIdRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindAllEnabledNodeClustersWithHTTPCachePolicyIdRequest) ProtoMessage() {}

func (x *FindAllEnabledNodeClustersWithHTTPCachePolicyIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[36]
	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 FindAllEnabledNodeClustersWithHTTPCachePolicyIdRequest.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodeClustersWithHTTPCachePolicyIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{36}
}

func (x *FindAllEnabledNodeClustersWithHTTPCachePolicyIdRequest) GetHttpCachePolicyId() int64 {
	if x != nil {
		return x.HttpCachePolicyId
	}
	return 0
}

type FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusters []*NodeCluster `protobuf:"bytes,1,rep,name=nodeClusters,proto3" json:"nodeClusters,omitempty"`
}

func (x *FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse) Reset() {
	*x = FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse) ProtoMessage() {}

func (x *FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[37]
	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 FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{37}
}

func (x *FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse) GetNodeClusters() []*NodeCluster {
	if x != nil {
		return x.NodeClusters
	}
	return nil
}

// 计算使用某个WAF策略的集群数量
type CountAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	HttpFirewallPolicyId int64 `protobuf:"varint,1,opt,name=httpFirewallPolicyId,proto3" json:"httpFirewallPolicyId,omitempty"`
}

func (x *CountAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest) Reset() {
	*x = CountAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[38]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CountAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CountAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest) ProtoMessage() {}

func (x *CountAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[38]
	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 CountAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{38}
}

func (x *CountAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest) GetHttpFirewallPolicyId() int64 {
	if x != nil {
		return x.HttpFirewallPolicyId
	}
	return 0
}

// 查找使用某个WAF策略的所有集群
type FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	HttpFirewallPolicyId int64 `protobuf:"varint,1,opt,name=httpFirewallPolicyId,proto3" json:"httpFirewallPolicyId,omitempty"`
}

func (x *FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest) Reset() {
	*x = FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest) ProtoMessage() {}

func (x *FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[39]
	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 FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{39}
}

func (x *FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest) GetHttpFirewallPolicyId() int64 {
	if x != nil {
		return x.HttpFirewallPolicyId
	}
	return 0
}

type FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusters []*NodeCluster `protobuf:"bytes,1,rep,name=nodeClusters,proto3" json:"nodeClusters,omitempty"`
}

func (x *FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse) Reset() {
	*x = FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse) ProtoMessage() {}

func (x *FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[40]
	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 FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse.ProtoReflect.Descriptor instead.
func (*FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{40}
}

func (x *FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse) GetNodeClusters() []*NodeCluster {
	if x != nil {
		return x.NodeClusters
	}
	return nil
}

// 修改集群的缓存策略
type UpdateNodeClusterHTTPCachePolicyIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId     int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	HttpCachePolicyId int64 `protobuf:"varint,2,opt,name=httpCachePolicyId,proto3" json:"httpCachePolicyId,omitempty"`
}

func (x *UpdateNodeClusterHTTPCachePolicyIdRequest) Reset() {
	*x = UpdateNodeClusterHTTPCachePolicyIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[41]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNodeClusterHTTPCachePolicyIdRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNodeClusterHTTPCachePolicyIdRequest) ProtoMessage() {}

func (x *UpdateNodeClusterHTTPCachePolicyIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[41]
	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 UpdateNodeClusterHTTPCachePolicyIdRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeClusterHTTPCachePolicyIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{41}
}

func (x *UpdateNodeClusterHTTPCachePolicyIdRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *UpdateNodeClusterHTTPCachePolicyIdRequest) GetHttpCachePolicyId() int64 {
	if x != nil {
		return x.HttpCachePolicyId
	}
	return 0
}

// 修改集群的WAF策略
type UpdateNodeClusterHTTPFirewallPolicyIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId        int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	HttpFirewallPolicyId int64 `protobuf:"varint,2,opt,name=httpFirewallPolicyId,proto3" json:"httpFirewallPolicyId,omitempty"`
}

func (x *UpdateNodeClusterHTTPFirewallPolicyIdRequest) Reset() {
	*x = UpdateNodeClusterHTTPFirewallPolicyIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[42]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNodeClusterHTTPFirewallPolicyIdRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNodeClusterHTTPFirewallPolicyIdRequest) ProtoMessage() {}

func (x *UpdateNodeClusterHTTPFirewallPolicyIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[42]
	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 UpdateNodeClusterHTTPFirewallPolicyIdRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeClusterHTTPFirewallPolicyIdRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{42}
}

func (x *UpdateNodeClusterHTTPFirewallPolicyIdRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *UpdateNodeClusterHTTPFirewallPolicyIdRequest) GetHttpFirewallPolicyId() int64 {
	if x != nil {
		return x.HttpFirewallPolicyId
	}
	return 0
}

// 修改集群的系统服务设置
type UpdateNodeClusterSystemServiceRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	Type          string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
	ParamsJSON    []byte `protobuf:"bytes,3,opt,name=paramsJSON,proto3" json:"paramsJSON,omitempty"`
}

func (x *UpdateNodeClusterSystemServiceRequest) Reset() {
	*x = UpdateNodeClusterSystemServiceRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[43]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNodeClusterSystemServiceRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNodeClusterSystemServiceRequest) ProtoMessage() {}

func (x *UpdateNodeClusterSystemServiceRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[43]
	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 UpdateNodeClusterSystemServiceRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeClusterSystemServiceRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{43}
}

func (x *UpdateNodeClusterSystemServiceRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *UpdateNodeClusterSystemServiceRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *UpdateNodeClusterSystemServiceRequest) GetParamsJSON() []byte {
	if x != nil {
		return x.ParamsJSON
	}
	return nil
}

// 查找集群的系统服务设置
type FindNodeClusterSystemServiceRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	Type          string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
}

func (x *FindNodeClusterSystemServiceRequest) Reset() {
	*x = FindNodeClusterSystemServiceRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[44]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindNodeClusterSystemServiceRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindNodeClusterSystemServiceRequest) ProtoMessage() {}

func (x *FindNodeClusterSystemServiceRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[44]
	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 FindNodeClusterSystemServiceRequest.ProtoReflect.Descriptor instead.
func (*FindNodeClusterSystemServiceRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{44}
}

func (x *FindNodeClusterSystemServiceRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *FindNodeClusterSystemServiceRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

type FindNodeClusterSystemServiceResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ParamsJSON []byte `protobuf:"bytes,1,opt,name=paramsJSON,proto3" json:"paramsJSON,omitempty"`
}

func (x *FindNodeClusterSystemServiceResponse) Reset() {
	*x = FindNodeClusterSystemServiceResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[45]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindNodeClusterSystemServiceResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindNodeClusterSystemServiceResponse) ProtoMessage() {}

func (x *FindNodeClusterSystemServiceResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[45]
	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 FindNodeClusterSystemServiceResponse.ProtoReflect.Descriptor instead.
func (*FindNodeClusterSystemServiceResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{45}
}

func (x *FindNodeClusterSystemServiceResponse) GetParamsJSON() []byte {
	if x != nil {
		return x.ParamsJSON
	}
	return nil
}

// 获取集群中可以使用的端口
type FindFreePortInNodeClusterRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId  int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	ProtocolFamily string `protobuf:"bytes,2,opt,name=protocolFamily,proto3" json:"protocolFamily,omitempty"`
}

func (x *FindFreePortInNodeClusterRequest) Reset() {
	*x = FindFreePortInNodeClusterRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[46]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindFreePortInNodeClusterRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindFreePortInNodeClusterRequest) ProtoMessage() {}

func (x *FindFreePortInNodeClusterRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[46]
	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 FindFreePortInNodeClusterRequest.ProtoReflect.Descriptor instead.
func (*FindFreePortInNodeClusterRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{46}
}

func (x *FindFreePortInNodeClusterRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *FindFreePortInNodeClusterRequest) GetProtocolFamily() string {
	if x != nil {
		return x.ProtocolFamily
	}
	return ""
}

type FindFreePortInNodeClusterResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Port int32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
}

func (x *FindFreePortInNodeClusterResponse) Reset() {
	*x = FindFreePortInNodeClusterResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[47]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindFreePortInNodeClusterResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindFreePortInNodeClusterResponse) ProtoMessage() {}

func (x *FindFreePortInNodeClusterResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[47]
	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 FindFreePortInNodeClusterResponse.ProtoReflect.Descriptor instead.
func (*FindFreePortInNodeClusterResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{47}
}

func (x *FindFreePortInNodeClusterResponse) GetPort() int32 {
	if x != nil {
		return x.Port
	}
	return 0
}

// 检查端口是否已经被使用
type CheckPortIsUsingInNodeClusterRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Port            int32  `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
	NodeClusterId   int64  `protobuf:"varint,2,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	ExcludeServerId int64  `protobuf:"varint,3,opt,name=excludeServerId,proto3" json:"excludeServerId,omitempty"`
	ExcludeProtocol string `protobuf:"bytes,4,opt,name=excludeProtocol,proto3" json:"excludeProtocol,omitempty"`
	ProtocolFamily  string `protobuf:"bytes,5,opt,name=protocolFamily,proto3" json:"protocolFamily,omitempty"`
}

func (x *CheckPortIsUsingInNodeClusterRequest) Reset() {
	*x = CheckPortIsUsingInNodeClusterRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[48]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CheckPortIsUsingInNodeClusterRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckPortIsUsingInNodeClusterRequest) ProtoMessage() {}

func (x *CheckPortIsUsingInNodeClusterRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[48]
	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 CheckPortIsUsingInNodeClusterRequest.ProtoReflect.Descriptor instead.
func (*CheckPortIsUsingInNodeClusterRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{48}
}

func (x *CheckPortIsUsingInNodeClusterRequest) GetPort() int32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *CheckPortIsUsingInNodeClusterRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *CheckPortIsUsingInNodeClusterRequest) GetExcludeServerId() int64 {
	if x != nil {
		return x.ExcludeServerId
	}
	return 0
}

func (x *CheckPortIsUsingInNodeClusterRequest) GetExcludeProtocol() string {
	if x != nil {
		return x.ExcludeProtocol
	}
	return ""
}

func (x *CheckPortIsUsingInNodeClusterRequest) GetProtocolFamily() string {
	if x != nil {
		return x.ProtocolFamily
	}
	return ""
}

type CheckPortIsUsingInNodeClusterResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	IsUsing bool `protobuf:"varint,1,opt,name=isUsing,proto3" json:"isUsing,omitempty"`
}

func (x *CheckPortIsUsingInNodeClusterResponse) Reset() {
	*x = CheckPortIsUsingInNodeClusterResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[49]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CheckPortIsUsingInNodeClusterResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckPortIsUsingInNodeClusterResponse) ProtoMessage() {}

func (x *CheckPortIsUsingInNodeClusterResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[49]
	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 CheckPortIsUsingInNodeClusterResponse.ProtoReflect.Descriptor instead.
func (*CheckPortIsUsingInNodeClusterResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{49}
}

func (x *CheckPortIsUsingInNodeClusterResponse) GetIsUsing() bool {
	if x != nil {
		return x.IsUsing
	}
	return false
}

// 查找最近访问的集群
type FindLatestNodeClustersRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Size int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"`
}

func (x *FindLatestNodeClustersRequest) Reset() {
	*x = FindLatestNodeClustersRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[50]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindLatestNodeClustersRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindLatestNodeClustersRequest) ProtoMessage() {}

func (x *FindLatestNodeClustersRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[50]
	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 FindLatestNodeClustersRequest.ProtoReflect.Descriptor instead.
func (*FindLatestNodeClustersRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{50}
}

func (x *FindLatestNodeClustersRequest) GetSize() int64 {
	if x != nil {
		return x.Size
	}
	return 0
}

type FindLatestNodeClustersResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusters []*NodeCluster `protobuf:"bytes,1,rep,name=nodeClusters,proto3" json:"nodeClusters,omitempty"`
}

func (x *FindLatestNodeClustersResponse) Reset() {
	*x = FindLatestNodeClustersResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[51]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindLatestNodeClustersResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindLatestNodeClustersResponse) ProtoMessage() {}

func (x *FindLatestNodeClustersResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[51]
	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 FindLatestNodeClustersResponse.ProtoReflect.Descriptor instead.
func (*FindLatestNodeClustersResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{51}
}

func (x *FindLatestNodeClustersResponse) GetNodeClusters() []*NodeCluster {
	if x != nil {
		return x.NodeClusters
	}
	return nil
}

// 取得集群的配置概要信息
type FindEnabledNodeClusterConfigInfoRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *FindEnabledNodeClusterConfigInfoRequest) Reset() {
	*x = FindEnabledNodeClusterConfigInfoRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[52]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindEnabledNodeClusterConfigInfoRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindEnabledNodeClusterConfigInfoRequest) ProtoMessage() {}

func (x *FindEnabledNodeClusterConfigInfoRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[52]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindEnabledNodeClusterConfigInfoRequest.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeClusterConfigInfoRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{52}
}

func (x *FindEnabledNodeClusterConfigInfoRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

type FindEnabledNodeClusterConfigInfoResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	HealthCheckIsOn          bool `protobuf:"varint,1,opt,name=healthCheckIsOn,proto3" json:"healthCheckIsOn,omitempty"`                    // 启用了健康检查
	HasFirewallActions       bool `protobuf:"varint,2,opt,name=hasFirewallActions,proto3" json:"hasFirewallActions,omitempty"`              // 有防火墙动作设置
	HasThresholds            bool `protobuf:"varint,3,opt,name=hasThresholds,proto3" json:"hasThresholds,omitempty"`                        // 有节点阈值设置
	HasMessageReceivers      bool `protobuf:"varint,4,opt,name=hasMessageReceivers,proto3" json:"hasMessageReceivers,omitempty"`            // 已设置消息通知接收人
	IsTOAEnabled             bool `protobuf:"varint,5,opt,name=isTOAEnabled,proto3" json:"isTOAEnabled,omitempty"`                          // 启用了TOA
	HasMetricItems           bool `protobuf:"varint,6,opt,name=hasMetricItems,proto3" json:"hasMetricItems,omitempty"`                      // 有指标统计设置
	WebPIsOn                 bool `protobuf:"varint,7,opt,name=webPIsOn,proto3" json:"webPIsOn,omitempty"`                                  // 是否定义了WebP策略
	UamIsOn                  bool `protobuf:"varint,10,opt,name=uamIsOn,proto3" json:"uamIsOn,omitempty"`                                   // 是否定义了UAM策略
	HttpCCIsOn               bool `protobuf:"varint,12,opt,name=httpCCIsOn,proto3" json:"httpCCIsOn,omitempty"`                             // 是否定义了CC策略
	HasSystemServices        bool `protobuf:"varint,8,opt,name=hasSystemServices,proto3" json:"hasSystemServices,omitempty"`                // 启用了系统服务
	HasDDoSProtection        bool `protobuf:"varint,9,opt,name=hasDDoSProtection,proto3" json:"hasDDoSProtection,omitempty"`                // 启用了DDoS防护
	HasHTTPPagesPolicy       bool `protobuf:"varint,11,opt,name=hasHTTPPagesPolicy,proto3" json:"hasHTTPPagesPolicy,omitempty"`             // 是否设置了自定义页面策略
	Http3IsOn                bool `protobuf:"varint,13,opt,name=http3IsOn,proto3" json:"http3IsOn,omitempty"`                               // 是否启用HTTP3
	HasNetworkSecurityPolicy bool `protobuf:"varint,14,opt,name=hasNetworkSecurityPolicy,proto3" json:"hasNetworkSecurityPolicy,omitempty"` // 设置了网络安全策略
}

func (x *FindEnabledNodeClusterConfigInfoResponse) Reset() {
	*x = FindEnabledNodeClusterConfigInfoResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[53]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindEnabledNodeClusterConfigInfoResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindEnabledNodeClusterConfigInfoResponse) ProtoMessage() {}

func (x *FindEnabledNodeClusterConfigInfoResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[53]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FindEnabledNodeClusterConfigInfoResponse.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeClusterConfigInfoResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{53}
}

func (x *FindEnabledNodeClusterConfigInfoResponse) GetHealthCheckIsOn() bool {
	if x != nil {
		return x.HealthCheckIsOn
	}
	return false
}

func (x *FindEnabledNodeClusterConfigInfoResponse) GetHasFirewallActions() bool {
	if x != nil {
		return x.HasFirewallActions
	}
	return false
}

func (x *FindEnabledNodeClusterConfigInfoResponse) GetHasThresholds() bool {
	if x != nil {
		return x.HasThresholds
	}
	return false
}

func (x *FindEnabledNodeClusterConfigInfoResponse) GetHasMessageReceivers() bool {
	if x != nil {
		return x.HasMessageReceivers
	}
	return false
}

func (x *FindEnabledNodeClusterConfigInfoResponse) GetIsTOAEnabled() bool {
	if x != nil {
		return x.IsTOAEnabled
	}
	return false
}

func (x *FindEnabledNodeClusterConfigInfoResponse) GetHasMetricItems() bool {
	if x != nil {
		return x.HasMetricItems
	}
	return false
}

func (x *FindEnabledNodeClusterConfigInfoResponse) GetWebPIsOn() bool {
	if x != nil {
		return x.WebPIsOn
	}
	return false
}

func (x *FindEnabledNodeClusterConfigInfoResponse) GetUamIsOn() bool {
	if x != nil {
		return x.UamIsOn
	}
	return false
}

func (x *FindEnabledNodeClusterConfigInfoResponse) GetHttpCCIsOn() bool {
	if x != nil {
		return x.HttpCCIsOn
	}
	return false
}

func (x *FindEnabledNodeClusterConfigInfoResponse) GetHasSystemServices() bool {
	if x != nil {
		return x.HasSystemServices
	}
	return false
}

func (x *FindEnabledNodeClusterConfigInfoResponse) GetHasDDoSProtection() bool {
	if x != nil {
		return x.HasDDoSProtection
	}
	return false
}

func (x *FindEnabledNodeClusterConfigInfoResponse) GetHasHTTPPagesPolicy() bool {
	if x != nil {
		return x.HasHTTPPagesPolicy
	}
	return false
}

func (x *FindEnabledNodeClusterConfigInfoResponse) GetHttp3IsOn() bool {
	if x != nil {
		return x.Http3IsOn
	}
	return false
}

func (x *FindEnabledNodeClusterConfigInfoResponse) GetHasNetworkSecurityPolicy() bool {
	if x != nil {
		return x.HasNetworkSecurityPolicy
	}
	return false
}

// 设置集群是否置顶
type UpdateNodeClusterPinnedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	IsPinned      bool  `protobuf:"varint,2,opt,name=isPinned,proto3" json:"isPinned,omitempty"`
}

func (x *UpdateNodeClusterPinnedRequest) Reset() {
	*x = UpdateNodeClusterPinnedRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[54]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNodeClusterPinnedRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNodeClusterPinnedRequest) ProtoMessage() {}

func (x *UpdateNodeClusterPinnedRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[54]
	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 UpdateNodeClusterPinnedRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeClusterPinnedRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{54}
}

func (x *UpdateNodeClusterPinnedRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *UpdateNodeClusterPinnedRequest) GetIsPinned() bool {
	if x != nil {
		return x.IsPinned
	}
	return false
}

// 读取集群WebP策略
type FindEnabledNodeClusterWebPPolicyRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *FindEnabledNodeClusterWebPPolicyRequest) Reset() {
	*x = FindEnabledNodeClusterWebPPolicyRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[55]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindEnabledNodeClusterWebPPolicyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindEnabledNodeClusterWebPPolicyRequest) ProtoMessage() {}

func (x *FindEnabledNodeClusterWebPPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[55]
	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 FindEnabledNodeClusterWebPPolicyRequest.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeClusterWebPPolicyRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{55}
}

func (x *FindEnabledNodeClusterWebPPolicyRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

type FindEnabledNodeClusterWebPPolicyResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WebpPolicyJSON []byte `protobuf:"bytes,1,opt,name=webpPolicyJSON,proto3" json:"webpPolicyJSON,omitempty"`
}

func (x *FindEnabledNodeClusterWebPPolicyResponse) Reset() {
	*x = FindEnabledNodeClusterWebPPolicyResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[56]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindEnabledNodeClusterWebPPolicyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindEnabledNodeClusterWebPPolicyResponse) ProtoMessage() {}

func (x *FindEnabledNodeClusterWebPPolicyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[56]
	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 FindEnabledNodeClusterWebPPolicyResponse.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeClusterWebPPolicyResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{56}
}

func (x *FindEnabledNodeClusterWebPPolicyResponse) GetWebpPolicyJSON() []byte {
	if x != nil {
		return x.WebpPolicyJSON
	}
	return nil
}

// 设置集群WebP策略
type UpdateNodeClusterWebPPolicyRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId  int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	WebPPolicyJSON []byte `protobuf:"bytes,2,opt,name=webPPolicyJSON,proto3" json:"webPPolicyJSON,omitempty"`
}

func (x *UpdateNodeClusterWebPPolicyRequest) Reset() {
	*x = UpdateNodeClusterWebPPolicyRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[57]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNodeClusterWebPPolicyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNodeClusterWebPPolicyRequest) ProtoMessage() {}

func (x *UpdateNodeClusterWebPPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[57]
	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 UpdateNodeClusterWebPPolicyRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeClusterWebPPolicyRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{57}
}

func (x *UpdateNodeClusterWebPPolicyRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *UpdateNodeClusterWebPPolicyRequest) GetWebPPolicyJSON() []byte {
	if x != nil {
		return x.WebPPolicyJSON
	}
	return nil
}

// 读取集群的UAM策略
type FindEnabledNodeClusterUAMPolicyRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *FindEnabledNodeClusterUAMPolicyRequest) Reset() {
	*x = FindEnabledNodeClusterUAMPolicyRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[58]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindEnabledNodeClusterUAMPolicyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindEnabledNodeClusterUAMPolicyRequest) ProtoMessage() {}

func (x *FindEnabledNodeClusterUAMPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[58]
	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 FindEnabledNodeClusterUAMPolicyRequest.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeClusterUAMPolicyRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{58}
}

func (x *FindEnabledNodeClusterUAMPolicyRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

type FindEnabledNodeClusterUAMPolicyResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	UamPolicyJSON []byte `protobuf:"bytes,1,opt,name=uamPolicyJSON,proto3" json:"uamPolicyJSON,omitempty"`
}

func (x *FindEnabledNodeClusterUAMPolicyResponse) Reset() {
	*x = FindEnabledNodeClusterUAMPolicyResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[59]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindEnabledNodeClusterUAMPolicyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindEnabledNodeClusterUAMPolicyResponse) ProtoMessage() {}

func (x *FindEnabledNodeClusterUAMPolicyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[59]
	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 FindEnabledNodeClusterUAMPolicyResponse.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeClusterUAMPolicyResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{59}
}

func (x *FindEnabledNodeClusterUAMPolicyResponse) GetUamPolicyJSON() []byte {
	if x != nil {
		return x.UamPolicyJSON
	}
	return nil
}

// 设置集群的UAM策略
type UpdateNodeClusterUAMPolicyRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	UamPolicyJSON []byte `protobuf:"bytes,2,opt,name=uamPolicyJSON,proto3" json:"uamPolicyJSON,omitempty"`
}

func (x *UpdateNodeClusterUAMPolicyRequest) Reset() {
	*x = UpdateNodeClusterUAMPolicyRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[60]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNodeClusterUAMPolicyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNodeClusterUAMPolicyRequest) ProtoMessage() {}

func (x *UpdateNodeClusterUAMPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[60]
	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 UpdateNodeClusterUAMPolicyRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeClusterUAMPolicyRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{60}
}

func (x *UpdateNodeClusterUAMPolicyRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *UpdateNodeClusterUAMPolicyRequest) GetUamPolicyJSON() []byte {
	if x != nil {
		return x.UamPolicyJSON
	}
	return nil
}

// 读取集群的HTTP CC策略
type FindEnabledNodeClusterHTTPCCPolicyRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *FindEnabledNodeClusterHTTPCCPolicyRequest) Reset() {
	*x = FindEnabledNodeClusterHTTPCCPolicyRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[61]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindEnabledNodeClusterHTTPCCPolicyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindEnabledNodeClusterHTTPCCPolicyRequest) ProtoMessage() {}

func (x *FindEnabledNodeClusterHTTPCCPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[61]
	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 FindEnabledNodeClusterHTTPCCPolicyRequest.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeClusterHTTPCCPolicyRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{61}
}

func (x *FindEnabledNodeClusterHTTPCCPolicyRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

type FindEnabledNodeClusterHTTPCCPolicyResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	HttpCCPolicyJSON []byte `protobuf:"bytes,1,opt,name=httpCCPolicyJSON,proto3" json:"httpCCPolicyJSON,omitempty"`
}

func (x *FindEnabledNodeClusterHTTPCCPolicyResponse) Reset() {
	*x = FindEnabledNodeClusterHTTPCCPolicyResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[62]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindEnabledNodeClusterHTTPCCPolicyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindEnabledNodeClusterHTTPCCPolicyResponse) ProtoMessage() {}

func (x *FindEnabledNodeClusterHTTPCCPolicyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[62]
	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 FindEnabledNodeClusterHTTPCCPolicyResponse.ProtoReflect.Descriptor instead.
func (*FindEnabledNodeClusterHTTPCCPolicyResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{62}
}

func (x *FindEnabledNodeClusterHTTPCCPolicyResponse) GetHttpCCPolicyJSON() []byte {
	if x != nil {
		return x.HttpCCPolicyJSON
	}
	return nil
}

// 设置集群的HTTP CC策略
type UpdateNodeClusterHTTPCCPolicyRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId    int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	HttpCCPolicyJSON []byte `protobuf:"bytes,2,opt,name=httpCCPolicyJSON,proto3" json:"httpCCPolicyJSON,omitempty"`
}

func (x *UpdateNodeClusterHTTPCCPolicyRequest) Reset() {
	*x = UpdateNodeClusterHTTPCCPolicyRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[63]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNodeClusterHTTPCCPolicyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNodeClusterHTTPCCPolicyRequest) ProtoMessage() {}

func (x *UpdateNodeClusterHTTPCCPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[63]
	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 UpdateNodeClusterHTTPCCPolicyRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeClusterHTTPCCPolicyRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{63}
}

func (x *UpdateNodeClusterHTTPCCPolicyRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *UpdateNodeClusterHTTPCCPolicyRequest) GetHttpCCPolicyJSON() []byte {
	if x != nil {
		return x.HttpCCPolicyJSON
	}
	return nil
}

// 获取集群的DDoS设置
type FindNodeClusterDDoSProtectionRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *FindNodeClusterDDoSProtectionRequest) Reset() {
	*x = FindNodeClusterDDoSProtectionRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[64]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindNodeClusterDDoSProtectionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindNodeClusterDDoSProtectionRequest) ProtoMessage() {}

func (x *FindNodeClusterDDoSProtectionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[64]
	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 FindNodeClusterDDoSProtectionRequest.ProtoReflect.Descriptor instead.
func (*FindNodeClusterDDoSProtectionRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{64}
}

func (x *FindNodeClusterDDoSProtectionRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

type FindNodeClusterDDoSProtectionResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	DdosProtectionJSON []byte `protobuf:"bytes,1,opt,name=ddosProtectionJSON,proto3" json:"ddosProtectionJSON,omitempty"`
}

func (x *FindNodeClusterDDoSProtectionResponse) Reset() {
	*x = FindNodeClusterDDoSProtectionResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[65]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindNodeClusterDDoSProtectionResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindNodeClusterDDoSProtectionResponse) ProtoMessage() {}

func (x *FindNodeClusterDDoSProtectionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[65]
	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 FindNodeClusterDDoSProtectionResponse.ProtoReflect.Descriptor instead.
func (*FindNodeClusterDDoSProtectionResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{65}
}

func (x *FindNodeClusterDDoSProtectionResponse) GetDdosProtectionJSON() []byte {
	if x != nil {
		return x.DdosProtectionJSON
	}
	return nil
}

// 修改集群的DDoS设置
type UpdateNodeClusterDDoSProtectionRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId      int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
	DdosProtectionJSON []byte `protobuf:"bytes,2,opt,name=ddosProtectionJSON,proto3" json:"ddosProtectionJSON,omitempty"`
}

func (x *UpdateNodeClusterDDoSProtectionRequest) Reset() {
	*x = UpdateNodeClusterDDoSProtectionRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[66]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNodeClusterDDoSProtectionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNodeClusterDDoSProtectionRequest) ProtoMessage() {}

func (x *UpdateNodeClusterDDoSProtectionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[66]
	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 UpdateNodeClusterDDoSProtectionRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeClusterDDoSProtectionRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{66}
}

func (x *UpdateNodeClusterDDoSProtectionRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *UpdateNodeClusterDDoSProtectionRequest) GetDdosProtectionJSON() []byte {
	if x != nil {
		return x.DdosProtectionJSON
	}
	return nil
}

// 获取集群的全局服务设置
type FindNodeClusterGlobalServerConfigRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}

func (x *FindNodeClusterGlobalServerConfigRequest) Reset() {
	*x = FindNodeClusterGlobalServerConfigRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[67]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindNodeClusterGlobalServerConfigRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindNodeClusterGlobalServerConfigRequest) ProtoMessage() {}

func (x *FindNodeClusterGlobalServerConfigRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[67]
	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 FindNodeClusterGlobalServerConfigRequest.ProtoReflect.Descriptor instead.
func (*FindNodeClusterGlobalServerConfigRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{67}
}

func (x *FindNodeClusterGlobalServerConfigRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

type FindNodeClusterGlobalServerConfigResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	GlobalServerConfigJSON []byte `protobuf:"bytes,1,opt,name=globalServerConfigJSON,proto3" json:"globalServerConfigJSON,omitempty"`
}

func (x *FindNodeClusterGlobalServerConfigResponse) Reset() {
	*x = FindNodeClusterGlobalServerConfigResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[68]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindNodeClusterGlobalServerConfigResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindNodeClusterGlobalServerConfigResponse) ProtoMessage() {}

func (x *FindNodeClusterGlobalServerConfigResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[68]
	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 FindNodeClusterGlobalServerConfigResponse.ProtoReflect.Descriptor instead.
func (*FindNodeClusterGlobalServerConfigResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{68}
}

func (x *FindNodeClusterGlobalServerConfigResponse) GetGlobalServerConfigJSON() []byte {
	if x != nil {
		return x.GlobalServerConfigJSON
	}
	return nil
}

// 修改集群的全局服务设置
type UpdateNodeClusterGlobalServerConfigRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId          int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`                  // 集群ID
	GlobalServerConfigJSON []byte `protobuf:"bytes,2,opt,name=globalServerConfigJSON,proto3" json:"globalServerConfigJSON,omitempty"` // 网站全局配置
}

func (x *UpdateNodeClusterGlobalServerConfigRequest) Reset() {
	*x = UpdateNodeClusterGlobalServerConfigRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[69]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNodeClusterGlobalServerConfigRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNodeClusterGlobalServerConfigRequest) ProtoMessage() {}

func (x *UpdateNodeClusterGlobalServerConfigRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[69]
	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 UpdateNodeClusterGlobalServerConfigRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeClusterGlobalServerConfigRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{69}
}

func (x *UpdateNodeClusterGlobalServerConfigRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *UpdateNodeClusterGlobalServerConfigRequest) GetGlobalServerConfigJSON() []byte {
	if x != nil {
		return x.GlobalServerConfigJSON
	}
	return nil
}

// 获取集群的自定义页面设置
type FindNodeClusterHTTPPagesPolicyRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` // 集群ID
}

func (x *FindNodeClusterHTTPPagesPolicyRequest) Reset() {
	*x = FindNodeClusterHTTPPagesPolicyRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[70]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindNodeClusterHTTPPagesPolicyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindNodeClusterHTTPPagesPolicyRequest) ProtoMessage() {}

func (x *FindNodeClusterHTTPPagesPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[70]
	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 FindNodeClusterHTTPPagesPolicyRequest.ProtoReflect.Descriptor instead.
func (*FindNodeClusterHTTPPagesPolicyRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{70}
}

func (x *FindNodeClusterHTTPPagesPolicyRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

type FindNodeClusterHTTPPagesPolicyResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	HttpPagesPolicyJSON []byte `protobuf:"bytes,1,opt,name=httpPagesPolicyJSON,proto3" json:"httpPagesPolicyJSON,omitempty"` // HTTP自定义页面策略配置
}

func (x *FindNodeClusterHTTPPagesPolicyResponse) Reset() {
	*x = FindNodeClusterHTTPPagesPolicyResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[71]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindNodeClusterHTTPPagesPolicyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindNodeClusterHTTPPagesPolicyResponse) ProtoMessage() {}

func (x *FindNodeClusterHTTPPagesPolicyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[71]
	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 FindNodeClusterHTTPPagesPolicyResponse.ProtoReflect.Descriptor instead.
func (*FindNodeClusterHTTPPagesPolicyResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{71}
}

func (x *FindNodeClusterHTTPPagesPolicyResponse) GetHttpPagesPolicyJSON() []byte {
	if x != nil {
		return x.HttpPagesPolicyJSON
	}
	return nil
}

// 修改集群的自定义页面设置
type UpdateNodeClusterHTTPPagesPolicyRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId       int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`            // 集群ID
	HttpPagesPolicyJSON []byte `protobuf:"bytes,2,opt,name=httpPagesPolicyJSON,proto3" json:"httpPagesPolicyJSON,omitempty"` // HTTP自定义页面策略配置
}

func (x *UpdateNodeClusterHTTPPagesPolicyRequest) Reset() {
	*x = UpdateNodeClusterHTTPPagesPolicyRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[72]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNodeClusterHTTPPagesPolicyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNodeClusterHTTPPagesPolicyRequest) ProtoMessage() {}

func (x *UpdateNodeClusterHTTPPagesPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[72]
	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 UpdateNodeClusterHTTPPagesPolicyRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeClusterHTTPPagesPolicyRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{72}
}

func (x *UpdateNodeClusterHTTPPagesPolicyRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *UpdateNodeClusterHTTPPagesPolicyRequest) GetHttpPagesPolicyJSON() []byte {
	if x != nil {
		return x.HttpPagesPolicyJSON
	}
	return nil
}

// 获取集群的HTTP3设置
type FindNodeClusterHTTP3PolicyRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` // 集群ID
}

func (x *FindNodeClusterHTTP3PolicyRequest) Reset() {
	*x = FindNodeClusterHTTP3PolicyRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[73]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindNodeClusterHTTP3PolicyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindNodeClusterHTTP3PolicyRequest) ProtoMessage() {}

func (x *FindNodeClusterHTTP3PolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[73]
	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 FindNodeClusterHTTP3PolicyRequest.ProtoReflect.Descriptor instead.
func (*FindNodeClusterHTTP3PolicyRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{73}
}

func (x *FindNodeClusterHTTP3PolicyRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

type FindNodeClusterHTTP3PolicyResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Http3PolicyJSON []byte `protobuf:"bytes,1,opt,name=http3PolicyJSON,proto3" json:"http3PolicyJSON,omitempty"` // HTTP3策略配置
}

func (x *FindNodeClusterHTTP3PolicyResponse) Reset() {
	*x = FindNodeClusterHTTP3PolicyResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[74]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindNodeClusterHTTP3PolicyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindNodeClusterHTTP3PolicyResponse) ProtoMessage() {}

func (x *FindNodeClusterHTTP3PolicyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[74]
	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 FindNodeClusterHTTP3PolicyResponse.ProtoReflect.Descriptor instead.
func (*FindNodeClusterHTTP3PolicyResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{74}
}

func (x *FindNodeClusterHTTP3PolicyResponse) GetHttp3PolicyJSON() []byte {
	if x != nil {
		return x.Http3PolicyJSON
	}
	return nil
}

// 修改集群的HTTP3设置
type UpdateNodeClusterHTTP3PolicyRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId   int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`    // 集群ID
	Http3PolicyJSON []byte `protobuf:"bytes,2,opt,name=http3PolicyJSON,proto3" json:"http3PolicyJSON,omitempty"` // HTTP3策略配置
}

func (x *UpdateNodeClusterHTTP3PolicyRequest) Reset() {
	*x = UpdateNodeClusterHTTP3PolicyRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[75]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNodeClusterHTTP3PolicyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNodeClusterHTTP3PolicyRequest) ProtoMessage() {}

func (x *UpdateNodeClusterHTTP3PolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[75]
	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 UpdateNodeClusterHTTP3PolicyRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeClusterHTTP3PolicyRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{75}
}

func (x *UpdateNodeClusterHTTP3PolicyRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *UpdateNodeClusterHTTP3PolicyRequest) GetHttp3PolicyJSON() []byte {
	if x != nil {
		return x.Http3PolicyJSON
	}
	return nil
}

// 获取集群的网络安全策略
type FindNodeClusterNetworkSecurityPolicyRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` // 集群ID
}

func (x *FindNodeClusterNetworkSecurityPolicyRequest) Reset() {
	*x = FindNodeClusterNetworkSecurityPolicyRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[76]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindNodeClusterNetworkSecurityPolicyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindNodeClusterNetworkSecurityPolicyRequest) ProtoMessage() {}

func (x *FindNodeClusterNetworkSecurityPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[76]
	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 FindNodeClusterNetworkSecurityPolicyRequest.ProtoReflect.Descriptor instead.
func (*FindNodeClusterNetworkSecurityPolicyRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{76}
}

func (x *FindNodeClusterNetworkSecurityPolicyRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

type FindNodeClusterNetworkSecurityPolicyResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NetworkSecurityPolicyJSON []byte `protobuf:"bytes,1,opt,name=networkSecurityPolicyJSON,proto3" json:"networkSecurityPolicyJSON,omitempty"` // 网络安全策略配置
}

func (x *FindNodeClusterNetworkSecurityPolicyResponse) Reset() {
	*x = FindNodeClusterNetworkSecurityPolicyResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[77]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FindNodeClusterNetworkSecurityPolicyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FindNodeClusterNetworkSecurityPolicyResponse) ProtoMessage() {}

func (x *FindNodeClusterNetworkSecurityPolicyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[77]
	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 FindNodeClusterNetworkSecurityPolicyResponse.ProtoReflect.Descriptor instead.
func (*FindNodeClusterNetworkSecurityPolicyResponse) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{77}
}

func (x *FindNodeClusterNetworkSecurityPolicyResponse) GetNetworkSecurityPolicyJSON() []byte {
	if x != nil {
		return x.NetworkSecurityPolicyJSON
	}
	return nil
}

// 修改集群的网络安全策略
type UpdateNodeClusterNetworkSecurityPolicyRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeClusterId             int64  `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`                        // 集群ID
	NetworkSecurityPolicyJSON []byte `protobuf:"bytes,2,opt,name=networkSecurityPolicyJSON,proto3" json:"networkSecurityPolicyJSON,omitempty"` // 网络安全策略配置
}

func (x *UpdateNodeClusterNetworkSecurityPolicyRequest) Reset() {
	*x = UpdateNodeClusterNetworkSecurityPolicyRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[78]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateNodeClusterNetworkSecurityPolicyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateNodeClusterNetworkSecurityPolicyRequest) ProtoMessage() {}

func (x *UpdateNodeClusterNetworkSecurityPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[78]
	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 UpdateNodeClusterNetworkSecurityPolicyRequest.ProtoReflect.Descriptor instead.
func (*UpdateNodeClusterNetworkSecurityPolicyRequest) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{78}
}

func (x *UpdateNodeClusterNetworkSecurityPolicyRequest) GetNodeClusterId() int64 {
	if x != nil {
		return x.NodeClusterId
	}
	return 0
}

func (x *UpdateNodeClusterNetworkSecurityPolicyRequest) GetNetworkSecurityPolicyJSON() []byte {
	if x != nil {
		return x.NetworkSecurityPolicyJSON
	}
	return nil
}

type ExecuteNodeClusterHealthCheckResponse_Result struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Node     *Node   `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
	NodeAddr string  `protobuf:"bytes,2,opt,name=nodeAddr,proto3" json:"nodeAddr,omitempty"`
	IsOk     bool    `protobuf:"varint,3,opt,name=isOk,proto3" json:"isOk,omitempty"`
	Error    string  `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"`
	CostMs   float32 `protobuf:"fixed32,5,opt,name=costMs,proto3" json:"costMs,omitempty"`
}

func (x *ExecuteNodeClusterHealthCheckResponse_Result) Reset() {
	*x = ExecuteNodeClusterHealthCheckResponse_Result{}
	if protoimpl.UnsafeEnabled {
		mi := &file_service_node_cluster_proto_msgTypes[79]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ExecuteNodeClusterHealthCheckResponse_Result) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ExecuteNodeClusterHealthCheckResponse_Result) ProtoMessage() {}

func (x *ExecuteNodeClusterHealthCheckResponse_Result) ProtoReflect() protoreflect.Message {
	mi := &file_service_node_cluster_proto_msgTypes[79]
	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 ExecuteNodeClusterHealthCheckResponse_Result.ProtoReflect.Descriptor instead.
func (*ExecuteNodeClusterHealthCheckResponse_Result) Descriptor() ([]byte, []int) {
	return file_service_node_cluster_proto_rawDescGZIP(), []int{17, 0}
}

func (x *ExecuteNodeClusterHealthCheckResponse_Result) GetNode() *Node {
	if x != nil {
		return x.Node
	}
	return nil
}

func (x *ExecuteNodeClusterHealthCheckResponse_Result) GetNodeAddr() string {
	if x != nil {
		return x.NodeAddr
	}
	return ""
}

func (x *ExecuteNodeClusterHealthCheckResponse_Result) GetIsOk() bool {
	if x != nil {
		return x.IsOk
	}
	return false
}

func (x *ExecuteNodeClusterHealthCheckResponse_Result) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

func (x *ExecuteNodeClusterHealthCheckResponse_Result) GetCostMs() float32 {
	if x != nil {
		return x.CostMs
	}
	return 0
}

var File_service_node_cluster_proto protoreflect.FileDescriptor

var file_service_node_cluster_proto_rawDesc = []byte{
	0x0a, 0x1a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62,
	0x1a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 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, 0x1b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f,
	0x61, 0x70, 0x69, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f,
	0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x1a, 0x1d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
	0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x1a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f,
	0x64, 0x6e, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x22, 0x23, 0x0a, 0x21, 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, 0x22, 0x59, 0x0a, 0x22, 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, 0x33, 0x0a,
	0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x73, 0x22, 0xf4, 0x04, 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, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74,
	0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 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, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61,
	0x69, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x64, 0x6e, 0x73, 0x44,
	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x6e, 0x73, 0x4e, 0x61,
	0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d,
	0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6e, 0x73, 0x54, 0x54, 0x4c, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x06, 0x64, 0x6e, 0x73, 0x54, 0x54, 0x4c, 0x12, 0x2c, 0x0a, 0x11, 0x68, 0x74, 0x74,
	0x70, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x68, 0x74, 0x74, 0x70, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50,
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46,
	0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77,
	0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x73,
	0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x4a, 0x53, 0x4f,
	0x4e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x36, 0x0a, 0x16, 0x67,
	0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x67, 0x6c, 0x6f,
	0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a,
	0x53, 0x4f, 0x4e, 0x12, 0x30, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61,
	0x6c, 0x6c, 0x4e, 0x66, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x66, 0x74,
	0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x79, 0x73,
	0x74, 0x65, 0x6d, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x10, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x75, 0x6e, 0x69, 0x6e,
	0x67, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x54, 0x72, 0x69, 0x6d, 0x44, 0x69, 0x73,
	0x6b, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x54, 0x72,
	0x69, 0x6d, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x43, 0x6f,
	0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x64, 0x73, 0x18, 0x0f, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65,
	0x6e, 0x74, 0x52, 0x65, 0x61, 0x64, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x43, 0x6f,
	0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x10,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72,
	0x65, 0x6e, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x73, 0x22, 0x41, 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, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0xd4, 0x04, 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, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12,
	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74,
	0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 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, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e,
	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e,
	0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x78, 0x54, 0x68, 0x72, 0x65,
	0x61, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x6f, 0x64, 0x65, 0x4d,
	0x61, 0x78, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x75, 0x74,
	0x6f, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12,
	0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x28, 0x0a,
	0x0f, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x6d, 0x6f,
	0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x49,
	0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x66, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x0b,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c,
	0x6c, 0x4e, 0x66, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x73, 0x68,
	0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x0d, 0x73, 0x73, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12,
	0x2a, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x75, 0x6e,
	0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x53,
	0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x61,
	0x75, 0x74, 0x6f, 0x54, 0x72, 0x69, 0x6d, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x18, 0x0e, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x54, 0x72, 0x69, 0x6d, 0x44, 0x69, 0x73, 0x6b,
	0x73, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65,
	0x6e, 0x74, 0x52, 0x65, 0x61, 0x64, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x6d,
	0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x64,
	0x73, 0x12, 0x30, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65,
	0x6e, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13,
	0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x57, 0x72, 0x69,
	0x74, 0x65, 0x73, 0x22, 0x40, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x45, 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, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x53, 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, 0x31,
	0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43, 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, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x22, 0x4a, 0x0a, 0x22, 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, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d,
	0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x76, 0x0a,
	0x23, 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, 0x26, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x41, 0x6c, 0x6c, 0x41, 0x50,
	0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x73,
	0x65, 0x41, 0x6c, 0x6c, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x08,
	0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b,
	0x2e, 0x70, 0x62, 0x2e, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x61, 0x70, 0x69,
	0x4e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x3e, 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, 0x12, 0x18, 0x0a, 0x07, 0x6b,
	0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65,
	0x79, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x94, 0x01, 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, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16,
	0x0a, 0x06, 0x69, 0x64, 0x44, 0x65, 0x73, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
	0x69, 0x64, 0x44, 0x65, 0x73, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x64, 0x41, 0x73, 0x63, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x64, 0x41, 0x73, 0x63, 0x22, 0x56, 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,
	0x33, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18,
	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x73, 0x22, 0x4f, 0x0a, 0x27, 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, 0x12,
	0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x54, 0x0a, 0x28, 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, 0x28, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
	0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x68, 0x65, 0x61, 0x6c,
	0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x75, 0x0a, 0x23, 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, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x6c,
	0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0c, 0x52, 0x0f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x53,
	0x4f, 0x4e, 0x22, 0x4c, 0x0a, 0x24, 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, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
	0x22, 0xfa, 0x01, 0x0a, 0x25, 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, 0x4a, 0x0a, 0x07, 0x72, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 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, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72,
	0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 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, 0x12,
	0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x69,
	0x73, 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, 0x22, 0x55, 0x0a,
	0x31, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68,
	0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61,
	0x6e, 0x74, 0x49, 0x64, 0x22, 0x54, 0x0a, 0x30, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49,
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65,
	0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e,
	0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x68, 0x0a, 0x31, 0x46, 0x69,
	0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65,
	0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x33, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18,
	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x73, 0x22, 0x48, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e,
	0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x87,
	0x03, 0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61,
	0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x4e,
	0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12,
	0x2b, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
	0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c,
	0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65,
	0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x79, 0x6e,
	0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x41, 0x75,
	0x74, 0x6f, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x73, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x79, 0x6e, 0x63,
	0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
	0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x63,
	0x6f, 0x72, 0x64, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x41,
	0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63,
	0x6e, 0x61, 0x6d, 0x65, 0x41, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2a, 0x0a, 0x10,
	0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x73,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e,
	0x67, 0x4c, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x5b, 0x0a, 0x33, 0x43, 0x6f, 0x75, 0x6e,
	0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x24, 0x0a, 0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69,
	0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0x55, 0x0a, 0x31, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69,
	0x6e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x6e,
	0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x0b, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x54, 0x0a, 0x30,
	0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e,
	0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x20, 0x0a, 0x0b, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
	0x49, 0x64, 0x22, 0x68, 0x0a, 0x31, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
	0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0c,
	0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x22, 0x60, 0x0a, 0x1e,
	0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x44, 0x4e, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24,
	0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x39,
	0x0a, 0x1f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x44, 0x4e, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x55, 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x06, 0x69, 0x73, 0x55, 0x73, 0x65, 0x64, 0x22, 0xd7, 0x02, 0x0a, 0x1b, 0x55, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44,
	0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12,
	0x18, 0x0a, 0x07, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x07, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x6e, 0x73,
	0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
	0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6e,
	0x6f, 0x64, 0x65, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x79, 0x6e,
	0x63, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x41, 0x75, 0x74, 0x6f,
	0x53, 0x79, 0x6e, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x22, 0x0a, 0x0c, 0x63,
	0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x0c, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12,
	0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x74,
	0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x41, 0x73, 0x44, 0x6f, 0x6d, 0x61,
	0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x41,
	0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75,
	0x64, 0x69, 0x6e, 0x67, 0x4c, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x6e, 0x4e, 0x6f,
	0x64, 0x65, 0x73, 0x22, 0x49, 0x0a, 0x21, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x42,
	0x0a, 0x22, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x44, 0x4e, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67,
	0x65, 0x64, 0x22, 0x48, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x21,
	0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x6f, 0x61, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x07, 0x74, 0x6f, 0x61, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x5d, 0x0a, 0x1b, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x54, 0x4f, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
	0x12, 0x18, 0x0a, 0x07, 0x74, 0x6f, 0x61, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0c, 0x52, 0x07, 0x74, 0x6f, 0x61, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x67, 0x0a, 0x37, 0x43, 0x6f,
	0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54,
	0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x68, 0x74, 0x74, 0x70, 0x43, 0x61, 0x63,
	0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x11, 0x68, 0x74, 0x74, 0x70, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63,
	0x79, 0x49, 0x64, 0x22, 0x66, 0x0a, 0x36, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f,
	0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a,
	0x11, 0x68, 0x74, 0x74, 0x70, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
	0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x68, 0x74, 0x74, 0x70, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x37, 0x46,
	0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54,
	0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70,
	0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0c, 0x6e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x22, 0x70, 0x0a, 0x3a, 0x43,
	0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54,
	0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
	0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74,
	0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72,
	0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x6f, 0x0a,
	0x39, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48,
	0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
	0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74,
	0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
	0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69,
	0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x71,
	0x0a, 0x3a, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68,
	0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
	0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0c,
	0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x73, 0x22, 0x7f, 0x0a, 0x29, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50,
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24,
	0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x68, 0x74, 0x74, 0x70, 0x43, 0x61, 0x63, 0x68,
	0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x11, 0x68, 0x74, 0x74, 0x70, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
	0x49, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x2c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
	0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74,
	0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72,
	0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x81, 0x01,
	0x0a, 0x25, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d,
	0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a,
	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f,
	0x4e, 0x22, 0x5f, 0x0a, 0x23, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12,
	0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79,
	0x70, 0x65, 0x22, 0x46, 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61,
	0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a,
	0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x70, 0x0a, 0x20, 0x46, 0x69,
	0x6e, 0x64, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24,
	0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x22, 0x37, 0x0a, 0x21,
	0x46, 0x69, 0x6e, 0x64, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x4e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xdc, 0x01, 0x0a, 0x24, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50,
	0x6f, 0x72, 0x74, 0x49, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12,
	0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f,
	0x72, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x65, 0x78, 0x63, 0x6c,
	0x75, 0x64, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x6f,
	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x63,
	0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x26, 0x0a, 0x0e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x46, 0x61,
	0x6d, 0x69, 0x6c, 0x79, 0x22, 0x41, 0x0a, 0x25, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x72,
	0x74, 0x49, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a,
	0x07, 0x69, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
	0x69, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x33, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x4c,
	0x61, 0x74, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x55, 0x0a, 0x1e,
	0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33,
	0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x73, 0x22, 0x4f, 0x0a, 0x27, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24,
	0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x22, 0xe4, 0x04, 0x0a, 0x28, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x28, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
	0x49, 0x73, 0x4f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x68, 0x65, 0x61, 0x6c,
	0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x2e, 0x0a, 0x12, 0x68,
	0x61, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x68, 0x61, 0x73, 0x46, 0x69, 0x72, 0x65,
	0x77, 0x61, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x68,
	0x61, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64,
	0x73, 0x12, 0x30, 0x0a, 0x13, 0x68, 0x61, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52,
	0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13,
	0x68, 0x61, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76,
	0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x54, 0x4f, 0x41, 0x45, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x4f, 0x41,
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x68, 0x61, 0x73, 0x4d, 0x65,
	0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0e, 0x68, 0x61, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12,
	0x1a, 0x0a, 0x08, 0x77, 0x65, 0x62, 0x50, 0x49, 0x73, 0x4f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x08, 0x77, 0x65, 0x62, 0x50, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x75,
	0x61, 0x6d, 0x49, 0x73, 0x4f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x61,
	0x6d, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x43, 0x43, 0x49,
	0x73, 0x4f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x43,
	0x43, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x68, 0x61, 0x73, 0x53, 0x79, 0x73, 0x74,
	0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x11, 0x68, 0x61, 0x73, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x68, 0x61, 0x73, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72,
	0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11,
	0x68, 0x61, 0x73, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x2e, 0x0a, 0x12, 0x68, 0x61, 0x73, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65,
	0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x68,
	0x61, 0x73, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63,
	0x79, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x33, 0x49, 0x73, 0x4f, 0x6e, 0x18, 0x0d,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x33, 0x49, 0x73, 0x4f, 0x6e, 0x12,
	0x3a, 0x0a, 0x18, 0x68, 0x61, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63,
	0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x18, 0x68, 0x61, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63,
	0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x62, 0x0a, 0x1e, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a,
	0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x22,
	0x4f, 0x0a, 0x27, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c,
	0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
	0x22, 0x52, 0x0a, 0x28, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x62, 0x50, 0x50, 0x6f,
	0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e,
	0x77, 0x65, 0x62, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x77, 0x65, 0x62, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
	0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x72, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c,
	0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
	0x12, 0x26, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53,
	0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x77, 0x65, 0x62, 0x50, 0x50, 0x6f,
	0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x4e, 0x0a, 0x26, 0x46, 0x69, 0x6e, 0x64,
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x27, 0x46, 0x69, 0x6e, 0x64,
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
	0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x75, 0x61, 0x6d, 0x50,
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x6f, 0x0a, 0x21, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x41,
	0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24,
	0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63,
	0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x75, 0x61, 0x6d,
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x51, 0x0a, 0x29, 0x46, 0x69,
	0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d,
	0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x58, 0x0a,
	0x2a, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c,
	0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x68,
	0x74, 0x74, 0x70, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x68, 0x74, 0x74, 0x70, 0x43, 0x43, 0x50, 0x6f, 0x6c,
	0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x78, 0x0a, 0x24, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50,
	0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x43, 0x43, 0x50,
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x10, 0x68, 0x74, 0x74, 0x70, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f,
	0x4e, 0x22, 0x4c, 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22,
	0x57, 0x0a, 0x25, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x64, 0x64, 0x6f, 0x73,
	0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x64, 0x64, 0x6f, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x7e, 0x0a, 0x26, 0x55, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x44, 0x6f,
	0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x64, 0x64, 0x6f, 0x73,
	0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x64, 0x64, 0x6f, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x50, 0x0a, 0x28, 0x46, 0x69, 0x6e, 0x64,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61,
	0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x63, 0x0a, 0x29, 0x46, 0x69,
	0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x47, 0x6c, 0x6f,
	0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x67, 0x6c, 0x6f, 0x62, 0x61,
	0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x53, 0x4f,
	0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x53, 0x4f, 0x4e, 0x22,
	0x8a, 0x01, 0x0a, 0x2a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24,
	0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x16, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65,
	0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x4d, 0x0a, 0x25,
	0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48,
	0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x26, 0x46,
	0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54,
	0x54, 0x50, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x68, 0x74, 0x74, 0x70, 0x50, 0x61, 0x67,
	0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x13, 0x68, 0x74, 0x74, 0x70, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c,
	0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x81, 0x01, 0x0a, 0x27, 0x55, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54,
	0x50, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x68, 0x74, 0x74,
	0x70, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x68, 0x74, 0x74, 0x70, 0x50, 0x61, 0x67, 0x65,
	0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x49, 0x0a, 0x21, 0x46,
	0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54,
	0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x22, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f,
	0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0f,
	0x68, 0x74, 0x74, 0x70, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x33, 0x50, 0x6f, 0x6c, 0x69,
	0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x75, 0x0a, 0x23, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x33,
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a,
	0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x33, 0x50, 0x6f, 0x6c, 0x69,
	0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x68, 0x74,
	0x74, 0x70, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x53, 0x0a,
	0x2b, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50,
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d,
	0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x49, 0x64, 0x22, 0x6c, 0x0a, 0x2c, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x75,
	0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x3c, 0x0a, 0x19, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63,
	0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x19, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65,
	0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e,
	0x22, 0x93, 0x01, 0x0a, 0x2d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63,
	0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x19, 0x6e, 0x65, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63,
	0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x19, 0x6e, 0x65, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69,
	0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0xa3, 0x2c, 0x0a, 0x12, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50, 0x0a,
	0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12,
	0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x1b, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x50,
	0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
	0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e,
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57,
	0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c,
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62,
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e,
	0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62,
	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65,
	0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
	0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61,
	0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
	0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x1c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
	0x65, 0x63, 0x6b, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
	0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x74, 0x0a, 0x1d,
	0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x28, 0x2e,
	0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65,
	0x63, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48,
	0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x79, 0x0a, 0x2a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64,
	0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x98, 0x01,
	0x0a, 0x29, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68,
	0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x34, 0x2e, 0x70, 0x62,
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e,
	0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64,
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x44, 0x4e, 0x53, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62,
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x7d, 0x0a, 0x2c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
	0x49, 0x64, 0x12, 0x37, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
	0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62,
	0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x79, 0x0a, 0x2a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
	0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12,
	0x35, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
	0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43,
	0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x98, 0x01, 0x0a,
	0x29, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44,
	0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x34, 0x2e, 0x70, 0x62, 0x2e,
	0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e,
	0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
	0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x63, 0x68, 0x65, 0x63, 0x6b,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x4e, 0x61,
	0x6d, 0x65, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63,
	0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x4e,
	0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x14, 0x75,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x44, 0x4e, 0x53, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x1a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67,
	0x65, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x4e, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67,
	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43,
	0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44,
	0x4e, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x12, 0x24,
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x54, 0x4f, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x14, 0x75,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x54, 0x4f, 0x41, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x4f, 0x41, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x30, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68,
	0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3b, 0x2e, 0x70, 0x62, 0x2e, 0x43,
	0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54,
	0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43,
	0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xaa, 0x01, 0x0a,
	0x2f, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48,
	0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64,
	0x12, 0x3a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
	0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c,
	0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x70,
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68,
	0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
	0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x33, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54,
	0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
	0x64, 0x12, 0x3e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
	0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb3, 0x01, 0x0a, 0x32, 0x66, 0x69, 0x6e, 0x64,
	0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69,
	0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3d,
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69,
	0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
	0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e,
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74,
	0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
	0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a,
	0x22, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63,
	0x79, 0x49, 0x64, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x12, 0x69, 0x0a, 0x25, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
	0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62,
	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
	0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
	0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5b, 0x0a,
	0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
	0x29, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x71, 0x0a, 0x1c, 0x66, 0x69,
	0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73,
	0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e,
	0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53,
	0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a,
	0x19, 0x66, 0x69, 0x6e, 0x64, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e,
	0x46, 0x69, 0x6e, 0x64, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x4e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x46, 0x72, 0x65, 0x65, 0x50, 0x6f,
	0x72, 0x74, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x1d, 0x63, 0x68, 0x65, 0x63, 0x6b,
	0x50, 0x6f, 0x72, 0x74, 0x49, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68,
	0x65, 0x63, 0x6b, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x72,
	0x74, 0x49, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a,
	0x16, 0x66, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
	0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e,
	0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d,
	0x0a, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e,
	0x66, 0x6f, 0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a,
	0x17, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50,
	0x69, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x7d, 0x0a, 0x20,
	0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
	0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x62, 0x50,
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e,
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f,
	0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c,
	0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x1b, 0x75,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x57, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x57, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x12, 0x7a, 0x0a, 0x1f, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x41, 0x4d, 0x50,
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 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, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x41, 0x4d,
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53,
	0x0a, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x2e, 0x70,
	0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x12, 0x83, 0x01, 0x0a, 0x22, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54,
	0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2d, 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, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69,
	0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 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, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63,
	0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x1d, 0x75, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54,
	0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x12, 0x74, 0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72,
	0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x1f, 0x75, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44,
	0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e,
	0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
	0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x21, 0x66, 0x69,
	0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x47, 0x6c, 0x6f,
	0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
	0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e,
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x23,
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x12, 0x77, 0x0a, 0x1e, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50,
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61,
	0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f,
	0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x20,
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
	0x12, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, 0x73,
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
	0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a,
	0x1a, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x2e, 0x70, 0x62,
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69,
	0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x1c, 0x75, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48,
	0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65,
	0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2f, 0x2e, 0x70,
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79,
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e,
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74,
	0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x6b, 0x0a, 0x26, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x75, 0x72,
	0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50,
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04,
	0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_service_node_cluster_proto_rawDescOnce sync.Once
	file_service_node_cluster_proto_rawDescData = file_service_node_cluster_proto_rawDesc
)

func file_service_node_cluster_proto_rawDescGZIP() []byte {
	file_service_node_cluster_proto_rawDescOnce.Do(func() {
		file_service_node_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_node_cluster_proto_rawDescData)
	})
	return file_service_node_cluster_proto_rawDescData
}

var file_service_node_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 80)
var file_service_node_cluster_proto_goTypes = []interface{}{
	(*FindAllEnabledNodeClustersRequest)(nil),                          // 0: pb.FindAllEnabledNodeClustersRequest
	(*FindAllEnabledNodeClustersResponse)(nil),                         // 1: pb.FindAllEnabledNodeClustersResponse
	(*CreateNodeClusterRequest)(nil),                                   // 2: pb.CreateNodeClusterRequest
	(*CreateNodeClusterResponse)(nil),                                  // 3: pb.CreateNodeClusterResponse
	(*UpdateNodeClusterRequest)(nil),                                   // 4: pb.UpdateNodeClusterRequest
	(*DeleteNodeClusterRequest)(nil),                                   // 5: pb.DeleteNodeClusterRequest
	(*FindEnabledNodeClusterRequest)(nil),                              // 6: pb.FindEnabledNodeClusterRequest
	(*FindEnabledNodeClusterResponse)(nil),                             // 7: pb.FindEnabledNodeClusterResponse
	(*FindAPINodesWithNodeClusterRequest)(nil),                         // 8: pb.FindAPINodesWithNodeClusterRequest
	(*FindAPINodesWithNodeClusterResponse)(nil),                        // 9: pb.FindAPINodesWithNodeClusterResponse
	(*CountAllEnabledNodeClustersRequest)(nil),                         // 10: pb.CountAllEnabledNodeClustersRequest
	(*ListEnabledNodeClustersRequest)(nil),                             // 11: pb.ListEnabledNodeClustersRequest
	(*ListEnabledNodeClustersResponse)(nil),                            // 12: pb.ListEnabledNodeClustersResponse
	(*FindNodeClusterHealthCheckConfigRequest)(nil),                    // 13: pb.FindNodeClusterHealthCheckConfigRequest
	(*FindNodeClusterHealthCheckConfigResponse)(nil),                   // 14: pb.FindNodeClusterHealthCheckConfigResponse
	(*UpdateNodeClusterHealthCheckRequest)(nil),                        // 15: pb.UpdateNodeClusterHealthCheckRequest
	(*ExecuteNodeClusterHealthCheckRequest)(nil),                       // 16: pb.ExecuteNodeClusterHealthCheckRequest
	(*ExecuteNodeClusterHealthCheckResponse)(nil),                      // 17: pb.ExecuteNodeClusterHealthCheckResponse
	(*CountAllEnabledNodeClustersWithNodeGrantIdRequest)(nil),          // 18: pb.CountAllEnabledNodeClustersWithNodeGrantIdRequest
	(*FindAllEnabledNodeClustersWithNodeGrantIdRequest)(nil),           // 19: pb.FindAllEnabledNodeClustersWithNodeGrantIdRequest
	(*FindAllEnabledNodeClustersWithNodeGrantIdResponse)(nil),          // 20: pb.FindAllEnabledNodeClustersWithNodeGrantIdResponse
	(*FindEnabledNodeClusterDNSRequest)(nil),                           // 21: pb.FindEnabledNodeClusterDNSRequest
	(*FindEnabledNodeClusterDNSResponse)(nil),                          // 22: pb.FindEnabledNodeClusterDNSResponse
	(*CountAllEnabledNodeClustersWithDNSProviderIdRequest)(nil),        // 23: pb.CountAllEnabledNodeClustersWithDNSProviderIdRequest
	(*CountAllEnabledNodeClustersWithDNSDomainIdRequest)(nil),          // 24: pb.CountAllEnabledNodeClustersWithDNSDomainIdRequest
	(*FindAllEnabledNodeClustersWithDNSDomainIdRequest)(nil),           // 25: pb.FindAllEnabledNodeClustersWithDNSDomainIdRequest
	(*FindAllEnabledNodeClustersWithDNSDomainIdResponse)(nil),          // 26: pb.FindAllEnabledNodeClustersWithDNSDomainIdResponse
	(*CheckNodeClusterDNSNameRequest)(nil),                             // 27: pb.CheckNodeClusterDNSNameRequest
	(*CheckNodeClusterDNSNameResponse)(nil),                            // 28: pb.CheckNodeClusterDNSNameResponse
	(*UpdateNodeClusterDNSRequest)(nil),                                // 29: pb.UpdateNodeClusterDNSRequest
	(*CheckNodeClusterDNSChangesRequest)(nil),                          // 30: pb.CheckNodeClusterDNSChangesRequest
	(*CheckNodeClusterDNSChangesResponse)(nil),                         // 31: pb.CheckNodeClusterDNSChangesResponse
	(*FindEnabledNodeClusterTOARequest)(nil),                           // 32: pb.FindEnabledNodeClusterTOARequest
	(*FindEnabledNodeClusterTOAResponse)(nil),                          // 33: pb.FindEnabledNodeClusterTOAResponse
	(*UpdateNodeClusterTOARequest)(nil),                                // 34: pb.UpdateNodeClusterTOARequest
	(*CountAllEnabledNodeClustersWithHTTPCachePolicyIdRequest)(nil),    // 35: pb.CountAllEnabledNodeClustersWithHTTPCachePolicyIdRequest
	(*FindAllEnabledNodeClustersWithHTTPCachePolicyIdRequest)(nil),     // 36: pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdRequest
	(*FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse)(nil),    // 37: pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse
	(*CountAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest)(nil), // 38: pb.CountAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest
	(*FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest)(nil),  // 39: pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest
	(*FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse)(nil), // 40: pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse
	(*UpdateNodeClusterHTTPCachePolicyIdRequest)(nil),                  // 41: pb.UpdateNodeClusterHTTPCachePolicyIdRequest
	(*UpdateNodeClusterHTTPFirewallPolicyIdRequest)(nil),               // 42: pb.UpdateNodeClusterHTTPFirewallPolicyIdRequest
	(*UpdateNodeClusterSystemServiceRequest)(nil),                      // 43: pb.UpdateNodeClusterSystemServiceRequest
	(*FindNodeClusterSystemServiceRequest)(nil),                        // 44: pb.FindNodeClusterSystemServiceRequest
	(*FindNodeClusterSystemServiceResponse)(nil),                       // 45: pb.FindNodeClusterSystemServiceResponse
	(*FindFreePortInNodeClusterRequest)(nil),                           // 46: pb.FindFreePortInNodeClusterRequest
	(*FindFreePortInNodeClusterResponse)(nil),                          // 47: pb.FindFreePortInNodeClusterResponse
	(*CheckPortIsUsingInNodeClusterRequest)(nil),                       // 48: pb.CheckPortIsUsingInNodeClusterRequest
	(*CheckPortIsUsingInNodeClusterResponse)(nil),                      // 49: pb.CheckPortIsUsingInNodeClusterResponse
	(*FindLatestNodeClustersRequest)(nil),                              // 50: pb.FindLatestNodeClustersRequest
	(*FindLatestNodeClustersResponse)(nil),                             // 51: pb.FindLatestNodeClustersResponse
	(*FindEnabledNodeClusterConfigInfoRequest)(nil),                    // 52: pb.FindEnabledNodeClusterConfigInfoRequest
	(*FindEnabledNodeClusterConfigInfoResponse)(nil),                   // 53: pb.FindEnabledNodeClusterConfigInfoResponse
	(*UpdateNodeClusterPinnedRequest)(nil),                             // 54: pb.UpdateNodeClusterPinnedRequest
	(*FindEnabledNodeClusterWebPPolicyRequest)(nil),                    // 55: pb.FindEnabledNodeClusterWebPPolicyRequest
	(*FindEnabledNodeClusterWebPPolicyResponse)(nil),                   // 56: pb.FindEnabledNodeClusterWebPPolicyResponse
	(*UpdateNodeClusterWebPPolicyRequest)(nil),                         // 57: pb.UpdateNodeClusterWebPPolicyRequest
	(*FindEnabledNodeClusterUAMPolicyRequest)(nil),                     // 58: pb.FindEnabledNodeClusterUAMPolicyRequest
	(*FindEnabledNodeClusterUAMPolicyResponse)(nil),                    // 59: pb.FindEnabledNodeClusterUAMPolicyResponse
	(*UpdateNodeClusterUAMPolicyRequest)(nil),                          // 60: pb.UpdateNodeClusterUAMPolicyRequest
	(*FindEnabledNodeClusterHTTPCCPolicyRequest)(nil),                  // 61: pb.FindEnabledNodeClusterHTTPCCPolicyRequest
	(*FindEnabledNodeClusterHTTPCCPolicyResponse)(nil),                 // 62: pb.FindEnabledNodeClusterHTTPCCPolicyResponse
	(*UpdateNodeClusterHTTPCCPolicyRequest)(nil),                       // 63: pb.UpdateNodeClusterHTTPCCPolicyRequest
	(*FindNodeClusterDDoSProtectionRequest)(nil),                       // 64: pb.FindNodeClusterDDoSProtectionRequest
	(*FindNodeClusterDDoSProtectionResponse)(nil),                      // 65: pb.FindNodeClusterDDoSProtectionResponse
	(*UpdateNodeClusterDDoSProtectionRequest)(nil),                     // 66: pb.UpdateNodeClusterDDoSProtectionRequest
	(*FindNodeClusterGlobalServerConfigRequest)(nil),                   // 67: pb.FindNodeClusterGlobalServerConfigRequest
	(*FindNodeClusterGlobalServerConfigResponse)(nil),                  // 68: pb.FindNodeClusterGlobalServerConfigResponse
	(*UpdateNodeClusterGlobalServerConfigRequest)(nil),                 // 69: pb.UpdateNodeClusterGlobalServerConfigRequest
	(*FindNodeClusterHTTPPagesPolicyRequest)(nil),                      // 70: pb.FindNodeClusterHTTPPagesPolicyRequest
	(*FindNodeClusterHTTPPagesPolicyResponse)(nil),                     // 71: pb.FindNodeClusterHTTPPagesPolicyResponse
	(*UpdateNodeClusterHTTPPagesPolicyRequest)(nil),                    // 72: pb.UpdateNodeClusterHTTPPagesPolicyRequest
	(*FindNodeClusterHTTP3PolicyRequest)(nil),                          // 73: pb.FindNodeClusterHTTP3PolicyRequest
	(*FindNodeClusterHTTP3PolicyResponse)(nil),                         // 74: pb.FindNodeClusterHTTP3PolicyResponse
	(*UpdateNodeClusterHTTP3PolicyRequest)(nil),                        // 75: pb.UpdateNodeClusterHTTP3PolicyRequest
	(*FindNodeClusterNetworkSecurityPolicyRequest)(nil),                // 76: pb.FindNodeClusterNetworkSecurityPolicyRequest
	(*FindNodeClusterNetworkSecurityPolicyResponse)(nil),               // 77: pb.FindNodeClusterNetworkSecurityPolicyResponse
	(*UpdateNodeClusterNetworkSecurityPolicyRequest)(nil),              // 78: pb.UpdateNodeClusterNetworkSecurityPolicyRequest
	(*ExecuteNodeClusterHealthCheckResponse_Result)(nil),               // 79: pb.ExecuteNodeClusterHealthCheckResponse.Result
	(*NodeCluster)(nil),                                                // 80: pb.NodeCluster
	(*APINode)(nil),                                                    // 81: pb.APINode
	(*DNSDomain)(nil),                                                  // 82: pb.DNSDomain
	(*DNSProvider)(nil),                                                // 83: pb.DNSProvider
	(*Node)(nil),                                                       // 84: pb.Node
	(*RPCSuccess)(nil),                                                 // 85: pb.RPCSuccess
	(*RPCCountResponse)(nil),                                           // 86: pb.RPCCountResponse
}
var file_service_node_cluster_proto_depIdxs = []int32{
	80, // 0: pb.FindAllEnabledNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
	80, // 1: pb.FindEnabledNodeClusterResponse.nodeCluster:type_name -> pb.NodeCluster
	81, // 2: pb.FindAPINodesWithNodeClusterResponse.apiNodes:type_name -> pb.APINode
	80, // 3: pb.ListEnabledNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
	79, // 4: pb.ExecuteNodeClusterHealthCheckResponse.results:type_name -> pb.ExecuteNodeClusterHealthCheckResponse.Result
	80, // 5: pb.FindAllEnabledNodeClustersWithNodeGrantIdResponse.nodeClusters:type_name -> pb.NodeCluster
	82, // 6: pb.FindEnabledNodeClusterDNSResponse.domain:type_name -> pb.DNSDomain
	83, // 7: pb.FindEnabledNodeClusterDNSResponse.provider:type_name -> pb.DNSProvider
	80, // 8: pb.FindAllEnabledNodeClustersWithDNSDomainIdResponse.nodeClusters:type_name -> pb.NodeCluster
	80, // 9: pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse.nodeClusters:type_name -> pb.NodeCluster
	80, // 10: pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse.nodeClusters:type_name -> pb.NodeCluster
	80, // 11: pb.FindLatestNodeClustersResponse.nodeClusters:type_name -> pb.NodeCluster
	84, // 12: pb.ExecuteNodeClusterHealthCheckResponse.Result.node:type_name -> pb.Node
	2,  // 13: pb.NodeClusterService.createNodeCluster:input_type -> pb.CreateNodeClusterRequest
	4,  // 14: pb.NodeClusterService.updateNodeCluster:input_type -> pb.UpdateNodeClusterRequest
	5,  // 15: pb.NodeClusterService.deleteNodeCluster:input_type -> pb.DeleteNodeClusterRequest
	6,  // 16: pb.NodeClusterService.findEnabledNodeCluster:input_type -> pb.FindEnabledNodeClusterRequest
	8,  // 17: pb.NodeClusterService.findAPINodesWithNodeCluster:input_type -> pb.FindAPINodesWithNodeClusterRequest
	0,  // 18: pb.NodeClusterService.findAllEnabledNodeClusters:input_type -> pb.FindAllEnabledNodeClustersRequest
	10, // 19: pb.NodeClusterService.countAllEnabledNodeClusters:input_type -> pb.CountAllEnabledNodeClustersRequest
	11, // 20: pb.NodeClusterService.listEnabledNodeClusters:input_type -> pb.ListEnabledNodeClustersRequest
	13, // 21: pb.NodeClusterService.findNodeClusterHealthCheckConfig:input_type -> pb.FindNodeClusterHealthCheckConfigRequest
	15, // 22: pb.NodeClusterService.updateNodeClusterHealthCheck:input_type -> pb.UpdateNodeClusterHealthCheckRequest
	16, // 23: pb.NodeClusterService.executeNodeClusterHealthCheck:input_type -> pb.ExecuteNodeClusterHealthCheckRequest
	18, // 24: pb.NodeClusterService.countAllEnabledNodeClustersWithNodeGrantId:input_type -> pb.CountAllEnabledNodeClustersWithNodeGrantIdRequest
	19, // 25: pb.NodeClusterService.findAllEnabledNodeClustersWithNodeGrantId:input_type -> pb.FindAllEnabledNodeClustersWithNodeGrantIdRequest
	21, // 26: pb.NodeClusterService.findEnabledNodeClusterDNS:input_type -> pb.FindEnabledNodeClusterDNSRequest
	23, // 27: pb.NodeClusterService.countAllEnabledNodeClustersWithDNSProviderId:input_type -> pb.CountAllEnabledNodeClustersWithDNSProviderIdRequest
	24, // 28: pb.NodeClusterService.countAllEnabledNodeClustersWithDNSDomainId:input_type -> pb.CountAllEnabledNodeClustersWithDNSDomainIdRequest
	25, // 29: pb.NodeClusterService.findAllEnabledNodeClustersWithDNSDomainId:input_type -> pb.FindAllEnabledNodeClustersWithDNSDomainIdRequest
	27, // 30: pb.NodeClusterService.checkNodeClusterDNSName:input_type -> pb.CheckNodeClusterDNSNameRequest
	29, // 31: pb.NodeClusterService.updateNodeClusterDNS:input_type -> pb.UpdateNodeClusterDNSRequest
	30, // 32: pb.NodeClusterService.checkNodeClusterDNSChanges:input_type -> pb.CheckNodeClusterDNSChangesRequest
	32, // 33: pb.NodeClusterService.findEnabledNodeClusterTOA:input_type -> pb.FindEnabledNodeClusterTOARequest
	34, // 34: pb.NodeClusterService.updateNodeClusterTOA:input_type -> pb.UpdateNodeClusterTOARequest
	35, // 35: pb.NodeClusterService.countAllEnabledNodeClustersWithHTTPCachePolicyId:input_type -> pb.CountAllEnabledNodeClustersWithHTTPCachePolicyIdRequest
	36, // 36: pb.NodeClusterService.findAllEnabledNodeClustersWithHTTPCachePolicyId:input_type -> pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdRequest
	38, // 37: pb.NodeClusterService.countAllEnabledNodeClustersWithHTTPFirewallPolicyId:input_type -> pb.CountAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest
	39, // 38: pb.NodeClusterService.findAllEnabledNodeClustersWithHTTPFirewallPolicyId:input_type -> pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest
	41, // 39: pb.NodeClusterService.updateNodeClusterHTTPCachePolicyId:input_type -> pb.UpdateNodeClusterHTTPCachePolicyIdRequest
	42, // 40: pb.NodeClusterService.updateNodeClusterHTTPFirewallPolicyId:input_type -> pb.UpdateNodeClusterHTTPFirewallPolicyIdRequest
	43, // 41: pb.NodeClusterService.updateNodeClusterSystemService:input_type -> pb.UpdateNodeClusterSystemServiceRequest
	44, // 42: pb.NodeClusterService.findNodeClusterSystemService:input_type -> pb.FindNodeClusterSystemServiceRequest
	46, // 43: pb.NodeClusterService.findFreePortInNodeCluster:input_type -> pb.FindFreePortInNodeClusterRequest
	48, // 44: pb.NodeClusterService.checkPortIsUsingInNodeCluster:input_type -> pb.CheckPortIsUsingInNodeClusterRequest
	50, // 45: pb.NodeClusterService.findLatestNodeClusters:input_type -> pb.FindLatestNodeClustersRequest
	52, // 46: pb.NodeClusterService.findEnabledNodeClusterConfigInfo:input_type -> pb.FindEnabledNodeClusterConfigInfoRequest
	54, // 47: pb.NodeClusterService.updateNodeClusterPinned:input_type -> pb.UpdateNodeClusterPinnedRequest
	55, // 48: pb.NodeClusterService.findEnabledNodeClusterWebPPolicy:input_type -> pb.FindEnabledNodeClusterWebPPolicyRequest
	57, // 49: pb.NodeClusterService.updateNodeClusterWebPPolicy:input_type -> pb.UpdateNodeClusterWebPPolicyRequest
	58, // 50: pb.NodeClusterService.findEnabledNodeClusterUAMPolicy:input_type -> pb.FindEnabledNodeClusterUAMPolicyRequest
	60, // 51: pb.NodeClusterService.updateNodeClusterUAMPolicy:input_type -> pb.UpdateNodeClusterUAMPolicyRequest
	61, // 52: pb.NodeClusterService.findEnabledNodeClusterHTTPCCPolicy:input_type -> pb.FindEnabledNodeClusterHTTPCCPolicyRequest
	63, // 53: pb.NodeClusterService.updateNodeClusterHTTPCCPolicy:input_type -> pb.UpdateNodeClusterHTTPCCPolicyRequest
	64, // 54: pb.NodeClusterService.findNodeClusterDDoSProtection:input_type -> pb.FindNodeClusterDDoSProtectionRequest
	66, // 55: pb.NodeClusterService.updateNodeClusterDDoSProtection:input_type -> pb.UpdateNodeClusterDDoSProtectionRequest
	67, // 56: pb.NodeClusterService.findNodeClusterGlobalServerConfig:input_type -> pb.FindNodeClusterGlobalServerConfigRequest
	69, // 57: pb.NodeClusterService.updateNodeClusterGlobalServerConfig:input_type -> pb.UpdateNodeClusterGlobalServerConfigRequest
	70, // 58: pb.NodeClusterService.findNodeClusterHTTPPagesPolicy:input_type -> pb.FindNodeClusterHTTPPagesPolicyRequest
	72, // 59: pb.NodeClusterService.updateNodeClusterHTTPPagesPolicy:input_type -> pb.UpdateNodeClusterHTTPPagesPolicyRequest
	73, // 60: pb.NodeClusterService.findNodeClusterHTTP3Policy:input_type -> pb.FindNodeClusterHTTP3PolicyRequest
	75, // 61: pb.NodeClusterService.updateNodeClusterHTTP3Policy:input_type -> pb.UpdateNodeClusterHTTP3PolicyRequest
	76, // 62: pb.NodeClusterService.findNodeClusterNetworkSecurityPolicy:input_type -> pb.FindNodeClusterNetworkSecurityPolicyRequest
	78, // 63: pb.NodeClusterService.updateNodeClusterNetworkSecurityPolicy:input_type -> pb.UpdateNodeClusterNetworkSecurityPolicyRequest
	3,  // 64: pb.NodeClusterService.createNodeCluster:output_type -> pb.CreateNodeClusterResponse
	85, // 65: pb.NodeClusterService.updateNodeCluster:output_type -> pb.RPCSuccess
	85, // 66: pb.NodeClusterService.deleteNodeCluster:output_type -> pb.RPCSuccess
	7,  // 67: pb.NodeClusterService.findEnabledNodeCluster:output_type -> pb.FindEnabledNodeClusterResponse
	9,  // 68: pb.NodeClusterService.findAPINodesWithNodeCluster:output_type -> pb.FindAPINodesWithNodeClusterResponse
	1,  // 69: pb.NodeClusterService.findAllEnabledNodeClusters:output_type -> pb.FindAllEnabledNodeClustersResponse
	86, // 70: pb.NodeClusterService.countAllEnabledNodeClusters:output_type -> pb.RPCCountResponse
	12, // 71: pb.NodeClusterService.listEnabledNodeClusters:output_type -> pb.ListEnabledNodeClustersResponse
	14, // 72: pb.NodeClusterService.findNodeClusterHealthCheckConfig:output_type -> pb.FindNodeClusterHealthCheckConfigResponse
	85, // 73: pb.NodeClusterService.updateNodeClusterHealthCheck:output_type -> pb.RPCSuccess
	17, // 74: pb.NodeClusterService.executeNodeClusterHealthCheck:output_type -> pb.ExecuteNodeClusterHealthCheckResponse
	86, // 75: pb.NodeClusterService.countAllEnabledNodeClustersWithNodeGrantId:output_type -> pb.RPCCountResponse
	20, // 76: pb.NodeClusterService.findAllEnabledNodeClustersWithNodeGrantId:output_type -> pb.FindAllEnabledNodeClustersWithNodeGrantIdResponse
	22, // 77: pb.NodeClusterService.findEnabledNodeClusterDNS:output_type -> pb.FindEnabledNodeClusterDNSResponse
	86, // 78: pb.NodeClusterService.countAllEnabledNodeClustersWithDNSProviderId:output_type -> pb.RPCCountResponse
	86, // 79: pb.NodeClusterService.countAllEnabledNodeClustersWithDNSDomainId:output_type -> pb.RPCCountResponse
	26, // 80: pb.NodeClusterService.findAllEnabledNodeClustersWithDNSDomainId:output_type -> pb.FindAllEnabledNodeClustersWithDNSDomainIdResponse
	28, // 81: pb.NodeClusterService.checkNodeClusterDNSName:output_type -> pb.CheckNodeClusterDNSNameResponse
	85, // 82: pb.NodeClusterService.updateNodeClusterDNS:output_type -> pb.RPCSuccess
	31, // 83: pb.NodeClusterService.checkNodeClusterDNSChanges:output_type -> pb.CheckNodeClusterDNSChangesResponse
	33, // 84: pb.NodeClusterService.findEnabledNodeClusterTOA:output_type -> pb.FindEnabledNodeClusterTOAResponse
	85, // 85: pb.NodeClusterService.updateNodeClusterTOA:output_type -> pb.RPCSuccess
	86, // 86: pb.NodeClusterService.countAllEnabledNodeClustersWithHTTPCachePolicyId:output_type -> pb.RPCCountResponse
	37, // 87: pb.NodeClusterService.findAllEnabledNodeClustersWithHTTPCachePolicyId:output_type -> pb.FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse
	86, // 88: pb.NodeClusterService.countAllEnabledNodeClustersWithHTTPFirewallPolicyId:output_type -> pb.RPCCountResponse
	40, // 89: pb.NodeClusterService.findAllEnabledNodeClustersWithHTTPFirewallPolicyId:output_type -> pb.FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse
	85, // 90: pb.NodeClusterService.updateNodeClusterHTTPCachePolicyId:output_type -> pb.RPCSuccess
	85, // 91: pb.NodeClusterService.updateNodeClusterHTTPFirewallPolicyId:output_type -> pb.RPCSuccess
	85, // 92: pb.NodeClusterService.updateNodeClusterSystemService:output_type -> pb.RPCSuccess
	45, // 93: pb.NodeClusterService.findNodeClusterSystemService:output_type -> pb.FindNodeClusterSystemServiceResponse
	47, // 94: pb.NodeClusterService.findFreePortInNodeCluster:output_type -> pb.FindFreePortInNodeClusterResponse
	49, // 95: pb.NodeClusterService.checkPortIsUsingInNodeCluster:output_type -> pb.CheckPortIsUsingInNodeClusterResponse
	51, // 96: pb.NodeClusterService.findLatestNodeClusters:output_type -> pb.FindLatestNodeClustersResponse
	53, // 97: pb.NodeClusterService.findEnabledNodeClusterConfigInfo:output_type -> pb.FindEnabledNodeClusterConfigInfoResponse
	85, // 98: pb.NodeClusterService.updateNodeClusterPinned:output_type -> pb.RPCSuccess
	56, // 99: pb.NodeClusterService.findEnabledNodeClusterWebPPolicy:output_type -> pb.FindEnabledNodeClusterWebPPolicyResponse
	85, // 100: pb.NodeClusterService.updateNodeClusterWebPPolicy:output_type -> pb.RPCSuccess
	59, // 101: pb.NodeClusterService.findEnabledNodeClusterUAMPolicy:output_type -> pb.FindEnabledNodeClusterUAMPolicyResponse
	85, // 102: pb.NodeClusterService.updateNodeClusterUAMPolicy:output_type -> pb.RPCSuccess
	62, // 103: pb.NodeClusterService.findEnabledNodeClusterHTTPCCPolicy:output_type -> pb.FindEnabledNodeClusterHTTPCCPolicyResponse
	85, // 104: pb.NodeClusterService.updateNodeClusterHTTPCCPolicy:output_type -> pb.RPCSuccess
	65, // 105: pb.NodeClusterService.findNodeClusterDDoSProtection:output_type -> pb.FindNodeClusterDDoSProtectionResponse
	85, // 106: pb.NodeClusterService.updateNodeClusterDDoSProtection:output_type -> pb.RPCSuccess
	68, // 107: pb.NodeClusterService.findNodeClusterGlobalServerConfig:output_type -> pb.FindNodeClusterGlobalServerConfigResponse
	85, // 108: pb.NodeClusterService.updateNodeClusterGlobalServerConfig:output_type -> pb.RPCSuccess
	71, // 109: pb.NodeClusterService.findNodeClusterHTTPPagesPolicy:output_type -> pb.FindNodeClusterHTTPPagesPolicyResponse
	85, // 110: pb.NodeClusterService.updateNodeClusterHTTPPagesPolicy:output_type -> pb.RPCSuccess
	74, // 111: pb.NodeClusterService.findNodeClusterHTTP3Policy:output_type -> pb.FindNodeClusterHTTP3PolicyResponse
	85, // 112: pb.NodeClusterService.updateNodeClusterHTTP3Policy:output_type -> pb.RPCSuccess
	77, // 113: pb.NodeClusterService.findNodeClusterNetworkSecurityPolicy:output_type -> pb.FindNodeClusterNetworkSecurityPolicyResponse
	85, // 114: pb.NodeClusterService.updateNodeClusterNetworkSecurityPolicy:output_type -> pb.RPCSuccess
	64, // [64:115] is the sub-list for method output_type
	13, // [13:64] is the sub-list for method input_type
	13, // [13:13] is the sub-list for extension type_name
	13, // [13:13] is the sub-list for extension extendee
	0,  // [0:13] is the sub-list for field type_name
}

func init() { file_service_node_cluster_proto_init() }
func file_service_node_cluster_proto_init() {
	if File_service_node_cluster_proto != nil {
		return
	}
	file_models_model_node_cluster_proto_init()
	file_models_model_api_node_proto_init()
	file_models_model_node_proto_init()
	file_models_rpc_messages_proto_init()
	file_models_model_dns_domain_proto_init()
	file_models_model_dns_provider_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_service_node_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNodeClustersRequest); 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[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNodeClustersResponse); 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[2].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[3].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[4].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[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteNodeClusterRequest); 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.(*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[7].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[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAPINodesWithNodeClusterRequest); 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.(*FindAPINodesWithNodeClusterResponse); 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.(*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[11].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[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListEnabledNodeClustersResponse); 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.(*FindNodeClusterHealthCheckConfigRequest); 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.(*FindNodeClusterHealthCheckConfigResponse); 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.(*UpdateNodeClusterHealthCheckRequest); 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[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExecuteNodeClusterHealthCheckRequest); 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[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExecuteNodeClusterHealthCheckResponse); 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[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CountAllEnabledNodeClustersWithNodeGrantIdRequest); 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[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNodeClustersWithNodeGrantIdRequest); 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[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNodeClustersWithNodeGrantIdResponse); 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[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeClusterDNSRequest); 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.(*FindEnabledNodeClusterDNSResponse); 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.(*CountAllEnabledNodeClustersWithDNSProviderIdRequest); 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.(*CountAllEnabledNodeClustersWithDNSDomainIdRequest); 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.(*FindAllEnabledNodeClustersWithDNSDomainIdRequest); 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[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNodeClustersWithDNSDomainIdResponse); 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[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CheckNodeClusterDNSNameRequest); 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[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CheckNodeClusterDNSNameResponse); 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[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeClusterDNSRequest); 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[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CheckNodeClusterDNSChangesRequest); 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[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CheckNodeClusterDNSChangesResponse); 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[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeClusterTOARequest); 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[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeClusterTOAResponse); 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[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeClusterTOARequest); 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[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CountAllEnabledNodeClustersWithHTTPCachePolicyIdRequest); 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[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNodeClustersWithHTTPCachePolicyIdRequest); 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[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNodeClustersWithHTTPCachePolicyIdResponse); 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[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CountAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest); 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[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdRequest); 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[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindAllEnabledNodeClustersWithHTTPFirewallPolicyIdResponse); 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[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeClusterHTTPCachePolicyIdRequest); 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[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeClusterHTTPFirewallPolicyIdRequest); 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[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeClusterSystemServiceRequest); 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[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeClusterSystemServiceRequest); 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[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeClusterSystemServiceResponse); 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[46].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindFreePortInNodeClusterRequest); 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[47].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindFreePortInNodeClusterResponse); 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[48].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CheckPortIsUsingInNodeClusterRequest); 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[49].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CheckPortIsUsingInNodeClusterResponse); 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[50].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindLatestNodeClustersRequest); 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[51].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindLatestNodeClustersResponse); 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[52].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeClusterConfigInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_cluster_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeClusterConfigInfoResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_service_node_cluster_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeClusterPinnedRequest); 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[55].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeClusterWebPPolicyRequest); 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[56].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeClusterWebPPolicyResponse); 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[57].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeClusterWebPPolicyRequest); 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[58].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeClusterUAMPolicyRequest); 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[59].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeClusterUAMPolicyResponse); 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[60].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeClusterUAMPolicyRequest); 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[61].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeClusterHTTPCCPolicyRequest); 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[62].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindEnabledNodeClusterHTTPCCPolicyResponse); 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[63].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeClusterHTTPCCPolicyRequest); 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[64].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeClusterDDoSProtectionRequest); 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[65].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeClusterDDoSProtectionResponse); 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[66].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeClusterDDoSProtectionRequest); 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[67].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeClusterGlobalServerConfigRequest); 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[68].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeClusterGlobalServerConfigResponse); 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[69].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeClusterGlobalServerConfigRequest); 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[70].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeClusterHTTPPagesPolicyRequest); 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[71].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeClusterHTTPPagesPolicyResponse); 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[72].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeClusterHTTPPagesPolicyRequest); 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[73].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeClusterHTTP3PolicyRequest); 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[74].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeClusterHTTP3PolicyResponse); 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[75].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeClusterHTTP3PolicyRequest); 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[76].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeClusterNetworkSecurityPolicyRequest); 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[77].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FindNodeClusterNetworkSecurityPolicyResponse); 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[78].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateNodeClusterNetworkSecurityPolicyRequest); 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[79].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExecuteNodeClusterHealthCheckResponse_Result); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_service_node_cluster_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   80,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_service_node_cluster_proto_goTypes,
		DependencyIndexes: file_service_node_cluster_proto_depIdxs,
		MessageInfos:      file_service_node_cluster_proto_msgTypes,
	}.Build()
	File_service_node_cluster_proto = out.File
	file_service_node_cluster_proto_rawDesc = nil
	file_service_node_cluster_proto_goTypes = nil
	file_service_node_cluster_proto_depIdxs = nil
}
