// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v3.21.12
// source: yandex/cloud/ytsaurus/v1/cluster.proto

package ytsaurus

import (
	_ "github.com/yandex-cloud/go-genproto/yandex/cloud"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

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 Cluster_Status int32

const (
	// Unknown status.
	Cluster_STATUS_UNKNOWN Cluster_Status = 0
	// Cluster is being created.
	Cluster_CREATING Cluster_Status = 1
	// Cluster is running.
	Cluster_RUNNING Cluster_Status = 2
	// Cluster encountered a problem and cannot operate.
	Cluster_ERROR Cluster_Status = 3
	// Cluster is being stopped.
	Cluster_STOPPING Cluster_Status = 4
	// Cluster stopped.
	Cluster_STOPPED Cluster_Status = 5
	// Cluster is being started.
	Cluster_STARTING Cluster_Status = 6
	// Cluster is being updated.
	Cluster_UPDATING Cluster_Status = 7
	// Cluster is being deleted.
	Cluster_DELETING Cluster_Status = 8
)

// Enum value maps for Cluster_Status.
var (
	Cluster_Status_name = map[int32]string{
		0: "STATUS_UNKNOWN",
		1: "CREATING",
		2: "RUNNING",
		3: "ERROR",
		4: "STOPPING",
		5: "STOPPED",
		6: "STARTING",
		7: "UPDATING",
		8: "DELETING",
	}
	Cluster_Status_value = map[string]int32{
		"STATUS_UNKNOWN": 0,
		"CREATING":       1,
		"RUNNING":        2,
		"ERROR":          3,
		"STOPPING":       4,
		"STOPPED":        5,
		"STARTING":       6,
		"UPDATING":       7,
		"DELETING":       8,
	}
)

func (x Cluster_Status) Enum() *Cluster_Status {
	p := new(Cluster_Status)
	*p = x
	return p
}

func (x Cluster_Status) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Cluster_Status) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_enumTypes[0].Descriptor()
}

func (Cluster_Status) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ytsaurus_v1_cluster_proto_enumTypes[0]
}

func (x Cluster_Status) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Cluster_Status.Descriptor instead.
func (Cluster_Status) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{0, 0}
}

type Cluster_Health int32

const (
	// Unknown health.
	Cluster_HEALTH_UNKNOWN Cluster_Health = 0
	// Cluster is alive.
	Cluster_ALIVE Cluster_Health = 1
	// Cluster is dead.
	Cluster_DEAD Cluster_Health = 2
	// Cluster is degraded.
	Cluster_DEGRADED Cluster_Health = 3
)

// Enum value maps for Cluster_Health.
var (
	Cluster_Health_name = map[int32]string{
		0: "HEALTH_UNKNOWN",
		1: "ALIVE",
		2: "DEAD",
		3: "DEGRADED",
	}
	Cluster_Health_value = map[string]int32{
		"HEALTH_UNKNOWN": 0,
		"ALIVE":          1,
		"DEAD":           2,
		"DEGRADED":       3,
	}
)

func (x Cluster_Health) Enum() *Cluster_Health {
	p := new(Cluster_Health)
	*p = x
	return p
}

func (x Cluster_Health) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Cluster_Health) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_enumTypes[1].Descriptor()
}

func (Cluster_Health) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ytsaurus_v1_cluster_proto_enumTypes[1]
}

func (x Cluster_Health) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Cluster_Health.Descriptor instead.
func (Cluster_Health) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{0, 1}
}

type ClusterSpec_Flavor int32

const (
	// Unspecified flavor.
	ClusterSpec_FLAVOR_UNSPECIFIED ClusterSpec_Flavor = 0
	// Demo cluster configuration with minimal system resources. Not fault-tolerant, not for production use.
	ClusterSpec_DEMO ClusterSpec_Flavor = 1
)

// Enum value maps for ClusterSpec_Flavor.
var (
	ClusterSpec_Flavor_name = map[int32]string{
		0: "FLAVOR_UNSPECIFIED",
		1: "DEMO",
	}
	ClusterSpec_Flavor_value = map[string]int32{
		"FLAVOR_UNSPECIFIED": 0,
		"DEMO":               1,
	}
)

func (x ClusterSpec_Flavor) Enum() *ClusterSpec_Flavor {
	p := new(ClusterSpec_Flavor)
	*p = x
	return p
}

func (x ClusterSpec_Flavor) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ClusterSpec_Flavor) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_enumTypes[2].Descriptor()
}

func (ClusterSpec_Flavor) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ytsaurus_v1_cluster_proto_enumTypes[2]
}

func (x ClusterSpec_Flavor) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ClusterSpec_Flavor.Descriptor instead.
func (ClusterSpec_Flavor) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{14, 0}
}

type Cluster struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the cluster. Generated at creation time.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// ID of the folder that the cluster belongs to.
	FolderId string `protobuf:"bytes,2,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"`
	// ID of the availability zone where the cluster resides.
	ZoneId string `protobuf:"bytes,3,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"`
	// Name of the cluster.
	// The name is unique within the folder.
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	// Description of the cluster.
	Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
	// Cluster labels as `key:value` pairs.
	Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// ID of the subnet where the cluster resides.
	SubnetId string `protobuf:"bytes,7,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"`
	// Network interfaces security groups.
	SecurityGroupIds []string `protobuf:"bytes,8,rep,name=security_group_ids,json=securityGroupIds,proto3" json:"security_group_ids,omitempty"`
	// Cluster specification.
	Spec *ClusterSpec `protobuf:"bytes,9,opt,name=spec,proto3" json:"spec,omitempty"`
	// Time when the cluster was created.
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// User who created the cluster.
	CreatedBy string `protobuf:"bytes,11,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
	// Time when the cluster was last updated.
	UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// User who last updated the cluster.
	UpdatedBy string `protobuf:"bytes,13,opt,name=updated_by,json=updatedBy,proto3" json:"updated_by,omitempty"`
	// Status of the cluster.
	Status Cluster_Status `protobuf:"varint,14,opt,name=status,proto3,enum=yandex.cloud.ytsaurus.v1.Cluster_Status" json:"status,omitempty"`
	// Health of the cluster.
	Health Cluster_Health `protobuf:"varint,15,opt,name=health,proto3,enum=yandex.cloud.ytsaurus.v1.Cluster_Health" json:"health,omitempty"`
	// Endpoints of the cluster.
	Endpoints *Cluster_Endpoints `protobuf:"bytes,16,opt,name=endpoints,proto3" json:"endpoints,omitempty"`
	// CIDRs whitelist.
	CidrBlocksWhitelist *CidrBlocks `protobuf:"bytes,17,opt,name=cidr_blocks_whitelist,json=cidrBlocksWhitelist,proto3" json:"cidr_blocks_whitelist,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *Cluster) Reset() {
	*x = Cluster{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Cluster) ProtoMessage() {}

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

// Deprecated: Use Cluster.ProtoReflect.Descriptor instead.
func (*Cluster) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{0}
}

func (x *Cluster) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Cluster) GetFolderId() string {
	if x != nil {
		return x.FolderId
	}
	return ""
}

func (x *Cluster) GetZoneId() string {
	if x != nil {
		return x.ZoneId
	}
	return ""
}

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

func (x *Cluster) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *Cluster) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *Cluster) GetSubnetId() string {
	if x != nil {
		return x.SubnetId
	}
	return ""
}

func (x *Cluster) GetSecurityGroupIds() []string {
	if x != nil {
		return x.SecurityGroupIds
	}
	return nil
}

func (x *Cluster) GetSpec() *ClusterSpec {
	if x != nil {
		return x.Spec
	}
	return nil
}

func (x *Cluster) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *Cluster) GetCreatedBy() string {
	if x != nil {
		return x.CreatedBy
	}
	return ""
}

func (x *Cluster) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

func (x *Cluster) GetUpdatedBy() string {
	if x != nil {
		return x.UpdatedBy
	}
	return ""
}

func (x *Cluster) GetStatus() Cluster_Status {
	if x != nil {
		return x.Status
	}
	return Cluster_STATUS_UNKNOWN
}

func (x *Cluster) GetHealth() Cluster_Health {
	if x != nil {
		return x.Health
	}
	return Cluster_HEALTH_UNKNOWN
}

func (x *Cluster) GetEndpoints() *Cluster_Endpoints {
	if x != nil {
		return x.Endpoints
	}
	return nil
}

func (x *Cluster) GetCidrBlocksWhitelist() *CidrBlocks {
	if x != nil {
		return x.CidrBlocksWhitelist
	}
	return nil
}

type CidrBlocks struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// IPv4 CIDR blocks.
	V4CidrBlocks  []string `protobuf:"bytes,1,rep,name=v4_cidr_blocks,json=v4CidrBlocks,proto3" json:"v4_cidr_blocks,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CidrBlocks) Reset() {
	*x = CidrBlocks{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CidrBlocks) ProtoMessage() {}

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

// Deprecated: Use CidrBlocks.ProtoReflect.Descriptor instead.
func (*CidrBlocks) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{1}
}

func (x *CidrBlocks) GetV4CidrBlocks() []string {
	if x != nil {
		return x.V4CidrBlocks
	}
	return nil
}

type StorageSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Configuration of cluster HDD strorage.
	Hdd *StorageSpec_HddSpec `protobuf:"bytes,1,opt,name=hdd,proto3" json:"hdd,omitempty"`
	// Configuration of cluster SSD strorage
	Ssd           *StorageSpec_SsdSpec `protobuf:"bytes,2,opt,name=ssd,proto3" json:"ssd,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StorageSpec) Reset() {
	*x = StorageSpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*StorageSpec) ProtoMessage() {}

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

// Deprecated: Use StorageSpec.ProtoReflect.Descriptor instead.
func (*StorageSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{2}
}

func (x *StorageSpec) GetHdd() *StorageSpec_HddSpec {
	if x != nil {
		return x.Hdd
	}
	return nil
}

func (x *StorageSpec) GetSsd() *StorageSpec_SsdSpec {
	if x != nil {
		return x.Ssd
	}
	return nil
}

type ComputeSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// VM configuration preset name.
	Preset string `protobuf:"bytes,1,opt,name=preset,proto3" json:"preset,omitempty"`
	// Configuration of exec node strorage.
	Disks []*ComputeSpec_DiskSpec `protobuf:"bytes,2,rep,name=disks,proto3" json:"disks,omitempty"`
	// Exec nodes scaling policy.
	ScalePolicy *ComputeSpec_ScalePolicy `protobuf:"bytes,3,opt,name=scale_policy,json=scalePolicy,proto3" json:"scale_policy,omitempty"`
	// Name for exec pool.
	Name          string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ComputeSpec) Reset() {
	*x = ComputeSpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ComputeSpec) ProtoMessage() {}

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

// Deprecated: Use ComputeSpec.ProtoReflect.Descriptor instead.
func (*ComputeSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{3}
}

func (x *ComputeSpec) GetPreset() string {
	if x != nil {
		return x.Preset
	}
	return ""
}

func (x *ComputeSpec) GetDisks() []*ComputeSpec_DiskSpec {
	if x != nil {
		return x.Disks
	}
	return nil
}

func (x *ComputeSpec) GetScalePolicy() *ComputeSpec_ScalePolicy {
	if x != nil {
		return x.ScalePolicy
	}
	return nil
}

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

type HttpProxySpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total amount of HTTP proxies.
	Count         int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *HttpProxySpec) Reset() {
	*x = HttpProxySpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*HttpProxySpec) ProtoMessage() {}

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

// Deprecated: Use HttpProxySpec.ProtoReflect.Descriptor instead.
func (*HttpProxySpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{4}
}

func (x *HttpProxySpec) GetCount() int64 {
	if x != nil {
		return x.Count
	}
	return 0
}

type RpcProxySpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total amount of RPC proxies.
	Count         int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RpcProxySpec) Reset() {
	*x = RpcProxySpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RpcProxySpec) ProtoMessage() {}

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

// Deprecated: Use RpcProxySpec.ProtoReflect.Descriptor instead.
func (*RpcProxySpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{5}
}

func (x *RpcProxySpec) GetCount() int64 {
	if x != nil {
		return x.Count
	}
	return 0
}

type TabletSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// VM configuration preset name.
	Preset string `protobuf:"bytes,1,opt,name=preset,proto3" json:"preset,omitempty"`
	// Total amount of tablet nodes.
	Count         int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TabletSpec) Reset() {
	*x = TabletSpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TabletSpec) ProtoMessage() {}

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

// Deprecated: Use TabletSpec.ProtoReflect.Descriptor instead.
func (*TabletSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{6}
}

func (x *TabletSpec) GetPreset() string {
	if x != nil {
		return x.Preset
	}
	return ""
}

func (x *TabletSpec) GetCount() int64 {
	if x != nil {
		return x.Count
	}
	return 0
}

type TaskProxySpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total amount of task proxies.
	Count         int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TaskProxySpec) Reset() {
	*x = TaskProxySpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TaskProxySpec) ProtoMessage() {}

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

// Deprecated: Use TaskProxySpec.ProtoReflect.Descriptor instead.
func (*TaskProxySpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{7}
}

func (x *TaskProxySpec) GetCount() int64 {
	if x != nil {
		return x.Count
	}
	return 0
}

type ProxySpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Configuration of HTTP proxies.
	Http *HttpProxySpec `protobuf:"bytes,1,opt,name=http,proto3" json:"http,omitempty"`
	// Configuration of rpc proxies.
	Rpc *RpcProxySpec `protobuf:"bytes,2,opt,name=rpc,proto3" json:"rpc,omitempty"`
	// Configuration of task proxies.
	Task          *TaskProxySpec `protobuf:"bytes,3,opt,name=task,proto3" json:"task,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ProxySpec) Reset() {
	*x = ProxySpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ProxySpec) ProtoMessage() {}

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

// Deprecated: Use ProxySpec.ProtoReflect.Descriptor instead.
func (*ProxySpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{8}
}

func (x *ProxySpec) GetHttp() *HttpProxySpec {
	if x != nil {
		return x.Http
	}
	return nil
}

func (x *ProxySpec) GetRpc() *RpcProxySpec {
	if x != nil {
		return x.Rpc
	}
	return nil
}

func (x *ProxySpec) GetTask() *TaskProxySpec {
	if x != nil {
		return x.Task
	}
	return nil
}

type OdinSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// TTL of Odin check samples.
	ChecksTtl     *durationpb.Duration `protobuf:"bytes,1,opt,name=checks_ttl,json=checksTtl,proto3" json:"checks_ttl,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *OdinSpec) Reset() {
	*x = OdinSpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*OdinSpec) ProtoMessage() {}

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

// Deprecated: Use OdinSpec.ProtoReflect.Descriptor instead.
func (*OdinSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{9}
}

func (x *OdinSpec) GetChecksTtl() *durationpb.Duration {
	if x != nil {
		return x.ChecksTtl
	}
	return nil
}

type ClearTmpCronSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Script starting interval.
	Interval *durationpb.Duration `protobuf:"bytes,1,opt,name=interval,proto3" json:"interval,omitempty"`
	// Total max space usage ratio.
	AccountUsageRatioSaveTotal float64 `protobuf:"fixed64,2,opt,name=account_usage_ratio_save_total,json=accountUsageRatioSaveTotal,proto3" json:"account_usage_ratio_save_total,omitempty"`
	// Per account max space usage ratio.
	AccountUsageRatioSavePerOwner float64 `protobuf:"fixed64,3,opt,name=account_usage_ratio_save_per_owner,json=accountUsageRatioSavePerOwner,proto3" json:"account_usage_ratio_save_per_owner,omitempty"`
	// Max nodes in every directory.
	MaxDirNodeCount int64 `protobuf:"varint,4,opt,name=max_dir_node_count,json=maxDirNodeCount,proto3" json:"max_dir_node_count,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ClearTmpCronSpec) Reset() {
	*x = ClearTmpCronSpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ClearTmpCronSpec) ProtoMessage() {}

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

// Deprecated: Use ClearTmpCronSpec.ProtoReflect.Descriptor instead.
func (*ClearTmpCronSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{10}
}

func (x *ClearTmpCronSpec) GetInterval() *durationpb.Duration {
	if x != nil {
		return x.Interval
	}
	return nil
}

func (x *ClearTmpCronSpec) GetAccountUsageRatioSaveTotal() float64 {
	if x != nil {
		return x.AccountUsageRatioSaveTotal
	}
	return 0
}

func (x *ClearTmpCronSpec) GetAccountUsageRatioSavePerOwner() float64 {
	if x != nil {
		return x.AccountUsageRatioSavePerOwner
	}
	return 0
}

func (x *ClearTmpCronSpec) GetMaxDirNodeCount() int64 {
	if x != nil {
		return x.MaxDirNodeCount
	}
	return 0
}

type CronSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Cluster regular tmp-account cleaning settings.
	ClearTmp      *ClearTmpCronSpec `protobuf:"bytes,1,opt,name=clear_tmp,json=clearTmp,proto3" json:"clear_tmp,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CronSpec) Reset() {
	*x = CronSpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CronSpec) ProtoMessage() {}

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

// Deprecated: Use CronSpec.ProtoReflect.Descriptor instead.
func (*CronSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{11}
}

func (x *CronSpec) GetClearTmp() *ClearTmpCronSpec {
	if x != nil {
		return x.ClearTmp
	}
	return nil
}

type ClientLogging struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of Service account used for write logs.
	ServiceAccountId string `protobuf:"bytes,1,opt,name=service_account_id,json=serviceAccountId,proto3" json:"service_account_id,omitempty"`
	// Destination of cloud logging group.
	//
	// Types that are valid to be assigned to Destination:
	//
	//	*ClientLogging_LogGroupId
	//	*ClientLogging_FolderId
	Destination isClientLogging_Destination `protobuf_oneof:"destination"`
	// Enable audit logs.
	AuditLogsEnabled bool `protobuf:"varint,4,opt,name=audit_logs_enabled,json=auditLogsEnabled,proto3" json:"audit_logs_enabled,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ClientLogging) Reset() {
	*x = ClientLogging{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ClientLogging) ProtoMessage() {}

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

// Deprecated: Use ClientLogging.ProtoReflect.Descriptor instead.
func (*ClientLogging) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{12}
}

func (x *ClientLogging) GetServiceAccountId() string {
	if x != nil {
		return x.ServiceAccountId
	}
	return ""
}

func (x *ClientLogging) GetDestination() isClientLogging_Destination {
	if x != nil {
		return x.Destination
	}
	return nil
}

func (x *ClientLogging) GetLogGroupId() string {
	if x != nil {
		if x, ok := x.Destination.(*ClientLogging_LogGroupId); ok {
			return x.LogGroupId
		}
	}
	return ""
}

func (x *ClientLogging) GetFolderId() string {
	if x != nil {
		if x, ok := x.Destination.(*ClientLogging_FolderId); ok {
			return x.FolderId
		}
	}
	return ""
}

func (x *ClientLogging) GetAuditLogsEnabled() bool {
	if x != nil {
		return x.AuditLogsEnabled
	}
	return false
}

type isClientLogging_Destination interface {
	isClientLogging_Destination()
}

type ClientLogging_LogGroupId struct {
	// ID of cloud logging group.
	LogGroupId string `protobuf:"bytes,2,opt,name=log_group_id,json=logGroupId,proto3,oneof"`
}

type ClientLogging_FolderId struct {
	// ID of cloud logging folder. Used default loging group.
	FolderId string `protobuf:"bytes,3,opt,name=folder_id,json=folderId,proto3,oneof"`
}

func (*ClientLogging_LogGroupId) isClientLogging_Destination() {}

func (*ClientLogging_FolderId) isClientLogging_Destination() {}

type ExcelSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Enable Excel.
	Enabled       bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ExcelSpec) Reset() {
	*x = ExcelSpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ExcelSpec) ProtoMessage() {}

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

// Deprecated: Use ExcelSpec.ProtoReflect.Descriptor instead.
func (*ExcelSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{13}
}

func (x *ExcelSpec) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

type ClusterSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Cluster storage configuration.
	Storage *StorageSpec `protobuf:"bytes,1,opt,name=storage,proto3" json:"storage,omitempty"`
	// Cluster exec nodes configuration.
	Compute []*ComputeSpec `protobuf:"bytes,2,rep,name=compute,proto3" json:"compute,omitempty"`
	// Cluster tablet nodes configuration.
	Tablet *TabletSpec `protobuf:"bytes,3,opt,name=tablet,proto3" json:"tablet,omitempty"`
	// Cluster proxies configuration.
	Proxy *ProxySpec `protobuf:"bytes,4,opt,name=proxy,proto3" json:"proxy,omitempty"`
	// Odin configuration.
	Odin *OdinSpec `protobuf:"bytes,5,opt,name=odin,proto3" json:"odin,omitempty"`
	// Cluster flavor (type).
	Flavor ClusterSpec_Flavor `protobuf:"varint,6,opt,name=flavor,proto3,enum=yandex.cloud.ytsaurus.v1.ClusterSpec_Flavor" json:"flavor,omitempty"`
	// Cluster regular processing settings.
	Cron *CronSpec `protobuf:"bytes,7,opt,name=cron,proto3" json:"cron,omitempty"`
	// Client Cloud logging configuration.
	ClientLogging *ClientLogging `protobuf:"bytes,8,opt,name=client_logging,json=clientLogging,proto3" json:"client_logging,omitempty"`
	// Cluster Excel configuration.
	Excel         *ExcelSpec `protobuf:"bytes,9,opt,name=excel,proto3" json:"excel,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ClusterSpec) Reset() {
	*x = ClusterSpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ClusterSpec) ProtoMessage() {}

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

// Deprecated: Use ClusterSpec.ProtoReflect.Descriptor instead.
func (*ClusterSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{14}
}

func (x *ClusterSpec) GetStorage() *StorageSpec {
	if x != nil {
		return x.Storage
	}
	return nil
}

func (x *ClusterSpec) GetCompute() []*ComputeSpec {
	if x != nil {
		return x.Compute
	}
	return nil
}

func (x *ClusterSpec) GetTablet() *TabletSpec {
	if x != nil {
		return x.Tablet
	}
	return nil
}

func (x *ClusterSpec) GetProxy() *ProxySpec {
	if x != nil {
		return x.Proxy
	}
	return nil
}

func (x *ClusterSpec) GetOdin() *OdinSpec {
	if x != nil {
		return x.Odin
	}
	return nil
}

func (x *ClusterSpec) GetFlavor() ClusterSpec_Flavor {
	if x != nil {
		return x.Flavor
	}
	return ClusterSpec_FLAVOR_UNSPECIFIED
}

func (x *ClusterSpec) GetCron() *CronSpec {
	if x != nil {
		return x.Cron
	}
	return nil
}

func (x *ClusterSpec) GetClientLogging() *ClientLogging {
	if x != nil {
		return x.ClientLogging
	}
	return nil
}

func (x *ClusterSpec) GetExcel() *ExcelSpec {
	if x != nil {
		return x.Excel
	}
	return nil
}

type Cluster_Endpoints struct {
	state                     protoimpl.MessageState `protogen:"open.v1"`
	Ui                        string                 `protobuf:"bytes,1,opt,name=ui,proto3" json:"ui,omitempty"`                                                                                    // https://CID.ytsaurus.yandexcloud.net
	ExternalHttpProxyBalancer string                 `protobuf:"bytes,2,opt,name=external_http_proxy_balancer,json=externalHttpProxyBalancer,proto3" json:"external_http_proxy_balancer,omitempty"` // https://proxy.CID.ytsaurus.yandexcloud.net
	InternalHttpProxyAlias    string                 `protobuf:"bytes,3,opt,name=internal_http_proxy_alias,json=internalHttpProxyAlias,proto3" json:"internal_http_proxy_alias,omitempty"`          // https://hp.CID.ytsaurus.mdb.yandexcloud.net:PORT
	InternalRpcProxyAlias     string                 `protobuf:"bytes,4,opt,name=internal_rpc_proxy_alias,json=internalRpcProxyAlias,proto3" json:"internal_rpc_proxy_alias,omitempty"`             // rp.CID.ytsaurus.mdb.yandexcloud.net:PORT
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

func (x *Cluster_Endpoints) Reset() {
	*x = Cluster_Endpoints{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Cluster_Endpoints) ProtoMessage() {}

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

// Deprecated: Use Cluster_Endpoints.ProtoReflect.Descriptor instead.
func (*Cluster_Endpoints) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{0, 1}
}

func (x *Cluster_Endpoints) GetUi() string {
	if x != nil {
		return x.Ui
	}
	return ""
}

func (x *Cluster_Endpoints) GetExternalHttpProxyBalancer() string {
	if x != nil {
		return x.ExternalHttpProxyBalancer
	}
	return ""
}

func (x *Cluster_Endpoints) GetInternalHttpProxyAlias() string {
	if x != nil {
		return x.InternalHttpProxyAlias
	}
	return ""
}

func (x *Cluster_Endpoints) GetInternalRpcProxyAlias() string {
	if x != nil {
		return x.InternalRpcProxyAlias
	}
	return ""
}

type StorageSpec_HddSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Size of a single HDD disk in GB.
	SizeGb int64 `protobuf:"varint,2,opt,name=size_gb,json=sizeGb,proto3" json:"size_gb,omitempty"`
	// Total amount of HDD disks.
	Count         int64 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StorageSpec_HddSpec) Reset() {
	*x = StorageSpec_HddSpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*StorageSpec_HddSpec) ProtoMessage() {}

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

// Deprecated: Use StorageSpec_HddSpec.ProtoReflect.Descriptor instead.
func (*StorageSpec_HddSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{2, 0}
}

func (x *StorageSpec_HddSpec) GetSizeGb() int64 {
	if x != nil {
		return x.SizeGb
	}
	return 0
}

func (x *StorageSpec_HddSpec) GetCount() int64 {
	if x != nil {
		return x.Count
	}
	return 0
}

type StorageSpec_SsdSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Size of a single SSD disk in GB.
	SizeGb int64 `protobuf:"varint,2,opt,name=size_gb,json=sizeGb,proto3" json:"size_gb,omitempty"`
	// Type of a SSD disk.
	Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
	// Total amount of SSD disks.
	Count int64 `protobuf:"varint,4,opt,name=count,proto3" json:"count,omitempty"`
	// Configuration of dynamic table changelogs.
	Changelogs    *StorageSpec_SsdSpec_Changelogs `protobuf:"bytes,5,opt,name=changelogs,proto3" json:"changelogs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StorageSpec_SsdSpec) Reset() {
	*x = StorageSpec_SsdSpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*StorageSpec_SsdSpec) ProtoMessage() {}

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

// Deprecated: Use StorageSpec_SsdSpec.ProtoReflect.Descriptor instead.
func (*StorageSpec_SsdSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{2, 1}
}

func (x *StorageSpec_SsdSpec) GetSizeGb() int64 {
	if x != nil {
		return x.SizeGb
	}
	return 0
}

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

func (x *StorageSpec_SsdSpec) GetCount() int64 {
	if x != nil {
		return x.Count
	}
	return 0
}

func (x *StorageSpec_SsdSpec) GetChangelogs() *StorageSpec_SsdSpec_Changelogs {
	if x != nil {
		return x.Changelogs
	}
	return nil
}

type StorageSpec_SsdSpec_Changelogs struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Size of changelogs disk in GB.
	SizeGb        int64 `protobuf:"varint,1,opt,name=size_gb,json=sizeGb,proto3" json:"size_gb,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StorageSpec_SsdSpec_Changelogs) Reset() {
	*x = StorageSpec_SsdSpec_Changelogs{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*StorageSpec_SsdSpec_Changelogs) ProtoMessage() {}

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

// Deprecated: Use StorageSpec_SsdSpec_Changelogs.ProtoReflect.Descriptor instead.
func (*StorageSpec_SsdSpec_Changelogs) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{2, 1, 0}
}

func (x *StorageSpec_SsdSpec_Changelogs) GetSizeGb() int64 {
	if x != nil {
		return x.SizeGb
	}
	return 0
}

type ComputeSpec_DiskSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Type of a disk.
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	// Size of a single disk in GB.
	SizeGb int64 `protobuf:"varint,2,opt,name=size_gb,json=sizeGb,proto3" json:"size_gb,omitempty"`
	// Locations on a disk.
	Locations     []string `protobuf:"bytes,3,rep,name=locations,proto3" json:"locations,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ComputeSpec_DiskSpec) Reset() {
	*x = ComputeSpec_DiskSpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ComputeSpec_DiskSpec) ProtoMessage() {}

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

// Deprecated: Use ComputeSpec_DiskSpec.ProtoReflect.Descriptor instead.
func (*ComputeSpec_DiskSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{3, 0}
}

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

func (x *ComputeSpec_DiskSpec) GetSizeGb() int64 {
	if x != nil {
		return x.SizeGb
	}
	return 0
}

func (x *ComputeSpec_DiskSpec) GetLocations() []string {
	if x != nil {
		return x.Locations
	}
	return nil
}

type ComputeSpec_ScalePolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Policy:
	//
	//	*ComputeSpec_ScalePolicy_Fixed
	//	*ComputeSpec_ScalePolicy_Auto
	Policy        isComputeSpec_ScalePolicy_Policy `protobuf_oneof:"policy"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ComputeSpec_ScalePolicy) Reset() {
	*x = ComputeSpec_ScalePolicy{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ComputeSpec_ScalePolicy) ProtoMessage() {}

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

// Deprecated: Use ComputeSpec_ScalePolicy.ProtoReflect.Descriptor instead.
func (*ComputeSpec_ScalePolicy) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{3, 1}
}

func (x *ComputeSpec_ScalePolicy) GetPolicy() isComputeSpec_ScalePolicy_Policy {
	if x != nil {
		return x.Policy
	}
	return nil
}

func (x *ComputeSpec_ScalePolicy) GetFixed() *ComputeSpec_ScalePolicy_FixedScale {
	if x != nil {
		if x, ok := x.Policy.(*ComputeSpec_ScalePolicy_Fixed); ok {
			return x.Fixed
		}
	}
	return nil
}

func (x *ComputeSpec_ScalePolicy) GetAuto() *ComputeSpec_ScalePolicy_AutoScale {
	if x != nil {
		if x, ok := x.Policy.(*ComputeSpec_ScalePolicy_Auto); ok {
			return x.Auto
		}
	}
	return nil
}

type isComputeSpec_ScalePolicy_Policy interface {
	isComputeSpec_ScalePolicy_Policy()
}

type ComputeSpec_ScalePolicy_Fixed struct {
	// Scale policy that doesn't change number of running exec nodes over time.
	Fixed *ComputeSpec_ScalePolicy_FixedScale `protobuf:"bytes,1,opt,name=fixed,proto3,oneof"`
}

type ComputeSpec_ScalePolicy_Auto struct {
	// Scale policy that can adjust number of running exec nodes within specified range based on some criteria.
	Auto *ComputeSpec_ScalePolicy_AutoScale `protobuf:"bytes,2,opt,name=auto,proto3,oneof"`
}

func (*ComputeSpec_ScalePolicy_Fixed) isComputeSpec_ScalePolicy_Policy() {}

func (*ComputeSpec_ScalePolicy_Auto) isComputeSpec_ScalePolicy_Policy() {}

type ComputeSpec_ScalePolicy_FixedScale struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Amount of exec nodes.
	Size          int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ComputeSpec_ScalePolicy_FixedScale) Reset() {
	*x = ComputeSpec_ScalePolicy_FixedScale{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ComputeSpec_ScalePolicy_FixedScale) ProtoMessage() {}

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

// Deprecated: Use ComputeSpec_ScalePolicy_FixedScale.ProtoReflect.Descriptor instead.
func (*ComputeSpec_ScalePolicy_FixedScale) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{3, 1, 0}
}

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

type ComputeSpec_ScalePolicy_AutoScale struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Minimal amount of exec nodes.
	MinSize int64 `protobuf:"varint,1,opt,name=min_size,json=minSize,proto3" json:"min_size,omitempty"`
	// Maximum amount of exec nodes.
	MaxSize       int64 `protobuf:"varint,2,opt,name=max_size,json=maxSize,proto3" json:"max_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ComputeSpec_ScalePolicy_AutoScale) Reset() {
	*x = ComputeSpec_ScalePolicy_AutoScale{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ComputeSpec_ScalePolicy_AutoScale) ProtoMessage() {}

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

// Deprecated: Use ComputeSpec_ScalePolicy_AutoScale.ProtoReflect.Descriptor instead.
func (*ComputeSpec_ScalePolicy_AutoScale) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{3, 1, 1}
}

func (x *ComputeSpec_ScalePolicy_AutoScale) GetMinSize() int64 {
	if x != nil {
		return x.MinSize
	}
	return 0
}

func (x *ComputeSpec_ScalePolicy_AutoScale) GetMaxSize() int64 {
	if x != nil {
		return x.MaxSize
	}
	return 0
}

var File_yandex_cloud_ytsaurus_v1_cluster_proto protoreflect.FileDescriptor

const file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDesc = "" +
	"\n" +
	"&yandex/cloud/ytsaurus/v1/cluster.proto\x12\x18yandex.cloud.ytsaurus.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1dyandex/cloud/validation.proto\"\x94\n" +
	"\n" +
	"\aCluster\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" +
	"\tfolder_id\x18\x02 \x01(\tR\bfolderId\x12\x17\n" +
	"\azone_id\x18\x03 \x01(\tR\x06zoneId\x12\x12\n" +
	"\x04name\x18\x04 \x01(\tR\x04name\x12 \n" +
	"\vdescription\x18\x05 \x01(\tR\vdescription\x12E\n" +
	"\x06labels\x18\x06 \x03(\v2-.yandex.cloud.ytsaurus.v1.Cluster.LabelsEntryR\x06labels\x12\x1b\n" +
	"\tsubnet_id\x18\a \x01(\tR\bsubnetId\x12,\n" +
	"\x12security_group_ids\x18\b \x03(\tR\x10securityGroupIds\x129\n" +
	"\x04spec\x18\t \x01(\v2%.yandex.cloud.ytsaurus.v1.ClusterSpecR\x04spec\x129\n" +
	"\n" +
	"created_at\x18\n" +
	" \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"created_by\x18\v \x01(\tR\tcreatedBy\x129\n" +
	"\n" +
	"updated_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x1d\n" +
	"\n" +
	"updated_by\x18\r \x01(\tR\tupdatedBy\x12@\n" +
	"\x06status\x18\x0e \x01(\x0e2(.yandex.cloud.ytsaurus.v1.Cluster.StatusR\x06status\x12@\n" +
	"\x06health\x18\x0f \x01(\x0e2(.yandex.cloud.ytsaurus.v1.Cluster.HealthR\x06health\x12I\n" +
	"\tendpoints\x18\x10 \x01(\v2+.yandex.cloud.ytsaurus.v1.Cluster.EndpointsR\tendpoints\x12X\n" +
	"\x15cidr_blocks_whitelist\x18\x11 \x01(\v2$.yandex.cloud.ytsaurus.v1.CidrBlocksR\x13cidrBlocksWhitelist\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a\xdc\x01\n" +
	"\tEndpoints\x12\x0e\n" +
	"\x02ui\x18\x01 \x01(\tR\x02ui\x12?\n" +
	"\x1cexternal_http_proxy_balancer\x18\x02 \x01(\tR\x19externalHttpProxyBalancer\x129\n" +
	"\x19internal_http_proxy_alias\x18\x03 \x01(\tR\x16internalHttpProxyAlias\x127\n" +
	"\x18internal_rpc_proxy_alias\x18\x04 \x01(\tR\x15internalRpcProxyAliasJ\x04\b\x05\x10\x06J\x04\b\x06\x10\a\"\x87\x01\n" +
	"\x06Status\x12\x12\n" +
	"\x0eSTATUS_UNKNOWN\x10\x00\x12\f\n" +
	"\bCREATING\x10\x01\x12\v\n" +
	"\aRUNNING\x10\x02\x12\t\n" +
	"\x05ERROR\x10\x03\x12\f\n" +
	"\bSTOPPING\x10\x04\x12\v\n" +
	"\aSTOPPED\x10\x05\x12\f\n" +
	"\bSTARTING\x10\x06\x12\f\n" +
	"\bUPDATING\x10\a\x12\f\n" +
	"\bDELETING\x10\b\"?\n" +
	"\x06Health\x12\x12\n" +
	"\x0eHEALTH_UNKNOWN\x10\x00\x12\t\n" +
	"\x05ALIVE\x10\x01\x12\b\n" +
	"\x04DEAD\x10\x02\x12\f\n" +
	"\bDEGRADED\x10\x03\"2\n" +
	"\n" +
	"CidrBlocks\x12$\n" +
	"\x0ev4_cidr_blocks\x18\x01 \x03(\tR\fv4CidrBlocks\"\xa5\x03\n" +
	"\vStorageSpec\x12?\n" +
	"\x03hdd\x18\x01 \x01(\v2-.yandex.cloud.ytsaurus.v1.StorageSpec.HddSpecR\x03hdd\x12?\n" +
	"\x03ssd\x18\x02 \x01(\v2-.yandex.cloud.ytsaurus.v1.StorageSpec.SsdSpecR\x03ssd\x1a>\n" +
	"\aHddSpec\x12\x17\n" +
	"\asize_gb\x18\x02 \x01(\x03R\x06sizeGb\x12\x14\n" +
	"\x05count\x18\x03 \x01(\x03R\x05countJ\x04\b\x01\x10\x02\x1a\xd3\x01\n" +
	"\aSsdSpec\x12\x17\n" +
	"\asize_gb\x18\x02 \x01(\x03R\x06sizeGb\x12\x12\n" +
	"\x04type\x18\x03 \x01(\tR\x04type\x12\x14\n" +
	"\x05count\x18\x04 \x01(\x03R\x05count\x12X\n" +
	"\n" +
	"changelogs\x18\x05 \x01(\v28.yandex.cloud.ytsaurus.v1.StorageSpec.SsdSpec.ChangelogsR\n" +
	"changelogs\x1a%\n" +
	"\n" +
	"Changelogs\x12\x17\n" +
	"\asize_gb\x18\x01 \x01(\x03R\x06sizeGbJ\x04\b\x01\x10\x02\"\xda\x04\n" +
	"\vComputeSpec\x12\x16\n" +
	"\x06preset\x18\x01 \x01(\tR\x06preset\x12D\n" +
	"\x05disks\x18\x02 \x03(\v2..yandex.cloud.ytsaurus.v1.ComputeSpec.DiskSpecR\x05disks\x12T\n" +
	"\fscale_policy\x18\x03 \x01(\v21.yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicyR\vscalePolicy\x12\x12\n" +
	"\x04name\x18\x04 \x01(\tR\x04name\x1aU\n" +
	"\bDiskSpec\x12\x12\n" +
	"\x04type\x18\x01 \x01(\tR\x04type\x12\x17\n" +
	"\asize_gb\x18\x02 \x01(\x03R\x06sizeGb\x12\x1c\n" +
	"\tlocations\x18\x03 \x03(\tR\tlocations\x1a\xab\x02\n" +
	"\vScalePolicy\x12T\n" +
	"\x05fixed\x18\x01 \x01(\v2<.yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy.FixedScaleH\x00R\x05fixed\x12Q\n" +
	"\x04auto\x18\x02 \x01(\v2;.yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy.AutoScaleH\x00R\x04auto\x1a \n" +
	"\n" +
	"FixedScale\x12\x12\n" +
	"\x04size\x18\x01 \x01(\x03R\x04size\x1aA\n" +
	"\tAutoScale\x12\x19\n" +
	"\bmin_size\x18\x01 \x01(\x03R\aminSize\x12\x19\n" +
	"\bmax_size\x18\x02 \x01(\x03R\amaxSizeB\x0e\n" +
	"\x06policy\x12\x04\xc0\xc11\x01\"+\n" +
	"\rHttpProxySpec\x12\x14\n" +
	"\x05count\x18\x02 \x01(\x03R\x05countJ\x04\b\x01\x10\x02\"*\n" +
	"\fRpcProxySpec\x12\x14\n" +
	"\x05count\x18\x02 \x01(\x03R\x05countJ\x04\b\x01\x10\x02\":\n" +
	"\n" +
	"TabletSpec\x12\x16\n" +
	"\x06preset\x18\x01 \x01(\tR\x06preset\x12\x14\n" +
	"\x05count\x18\x02 \x01(\x03R\x05count\"%\n" +
	"\rTaskProxySpec\x12\x14\n" +
	"\x05count\x18\x01 \x01(\x03R\x05count\"\xbf\x01\n" +
	"\tProxySpec\x12;\n" +
	"\x04http\x18\x01 \x01(\v2'.yandex.cloud.ytsaurus.v1.HttpProxySpecR\x04http\x128\n" +
	"\x03rpc\x18\x02 \x01(\v2&.yandex.cloud.ytsaurus.v1.RpcProxySpecR\x03rpc\x12;\n" +
	"\x04task\x18\x03 \x01(\v2'.yandex.cloud.ytsaurus.v1.TaskProxySpecR\x04task\"D\n" +
	"\bOdinSpec\x128\n" +
	"\n" +
	"checks_ttl\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\tchecksTtl\"\x85\x02\n" +
	"\x10ClearTmpCronSpec\x125\n" +
	"\binterval\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\binterval\x12B\n" +
	"\x1eaccount_usage_ratio_save_total\x18\x02 \x01(\x01R\x1aaccountUsageRatioSaveTotal\x12I\n" +
	"\"account_usage_ratio_save_per_owner\x18\x03 \x01(\x01R\x1daccountUsageRatioSavePerOwner\x12+\n" +
	"\x12max_dir_node_count\x18\x04 \x01(\x03R\x0fmaxDirNodeCount\"S\n" +
	"\bCronSpec\x12G\n" +
	"\tclear_tmp\x18\x01 \x01(\v2*.yandex.cloud.ytsaurus.v1.ClearTmpCronSpecR\bclearTmp\"\xbd\x01\n" +
	"\rClientLogging\x12,\n" +
	"\x12service_account_id\x18\x01 \x01(\tR\x10serviceAccountId\x12\"\n" +
	"\flog_group_id\x18\x02 \x01(\tH\x00R\n" +
	"logGroupId\x12\x1d\n" +
	"\tfolder_id\x18\x03 \x01(\tH\x00R\bfolderId\x12,\n" +
	"\x12audit_logs_enabled\x18\x04 \x01(\bR\x10auditLogsEnabledB\r\n" +
	"\vdestination\"%\n" +
	"\tExcelSpec\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\"\xf5\x04\n" +
	"\vClusterSpec\x12?\n" +
	"\astorage\x18\x01 \x01(\v2%.yandex.cloud.ytsaurus.v1.StorageSpecR\astorage\x12?\n" +
	"\acompute\x18\x02 \x03(\v2%.yandex.cloud.ytsaurus.v1.ComputeSpecR\acompute\x12<\n" +
	"\x06tablet\x18\x03 \x01(\v2$.yandex.cloud.ytsaurus.v1.TabletSpecR\x06tablet\x129\n" +
	"\x05proxy\x18\x04 \x01(\v2#.yandex.cloud.ytsaurus.v1.ProxySpecR\x05proxy\x126\n" +
	"\x04odin\x18\x05 \x01(\v2\".yandex.cloud.ytsaurus.v1.OdinSpecR\x04odin\x12D\n" +
	"\x06flavor\x18\x06 \x01(\x0e2,.yandex.cloud.ytsaurus.v1.ClusterSpec.FlavorR\x06flavor\x126\n" +
	"\x04cron\x18\a \x01(\v2\".yandex.cloud.ytsaurus.v1.CronSpecR\x04cron\x12N\n" +
	"\x0eclient_logging\x18\b \x01(\v2'.yandex.cloud.ytsaurus.v1.ClientLoggingR\rclientLogging\x129\n" +
	"\x05excel\x18\t \x01(\v2#.yandex.cloud.ytsaurus.v1.ExcelSpecR\x05excel\"*\n" +
	"\x06Flavor\x12\x16\n" +
	"\x12FLAVOR_UNSPECIFIED\x10\x00\x12\b\n" +
	"\x04DEMO\x10\x01Be\n" +
	"\x1cyandex.cloud.api.ytsaurus.v1ZEgithub.com/yandex-cloud/go-genproto/yandex/cloud/ytsaurus/v1;ytsaurusb\x06proto3"

var (
	file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescOnce sync.Once
	file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescData []byte
)

func file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP() []byte {
	file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDesc), len(file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDesc)))
	})
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescData
}

var file_yandex_cloud_ytsaurus_v1_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
var file_yandex_cloud_ytsaurus_v1_cluster_proto_goTypes = []any{
	(Cluster_Status)(0),                        // 0: yandex.cloud.ytsaurus.v1.Cluster.Status
	(Cluster_Health)(0),                        // 1: yandex.cloud.ytsaurus.v1.Cluster.Health
	(ClusterSpec_Flavor)(0),                    // 2: yandex.cloud.ytsaurus.v1.ClusterSpec.Flavor
	(*Cluster)(nil),                            // 3: yandex.cloud.ytsaurus.v1.Cluster
	(*CidrBlocks)(nil),                         // 4: yandex.cloud.ytsaurus.v1.CidrBlocks
	(*StorageSpec)(nil),                        // 5: yandex.cloud.ytsaurus.v1.StorageSpec
	(*ComputeSpec)(nil),                        // 6: yandex.cloud.ytsaurus.v1.ComputeSpec
	(*HttpProxySpec)(nil),                      // 7: yandex.cloud.ytsaurus.v1.HttpProxySpec
	(*RpcProxySpec)(nil),                       // 8: yandex.cloud.ytsaurus.v1.RpcProxySpec
	(*TabletSpec)(nil),                         // 9: yandex.cloud.ytsaurus.v1.TabletSpec
	(*TaskProxySpec)(nil),                      // 10: yandex.cloud.ytsaurus.v1.TaskProxySpec
	(*ProxySpec)(nil),                          // 11: yandex.cloud.ytsaurus.v1.ProxySpec
	(*OdinSpec)(nil),                           // 12: yandex.cloud.ytsaurus.v1.OdinSpec
	(*ClearTmpCronSpec)(nil),                   // 13: yandex.cloud.ytsaurus.v1.ClearTmpCronSpec
	(*CronSpec)(nil),                           // 14: yandex.cloud.ytsaurus.v1.CronSpec
	(*ClientLogging)(nil),                      // 15: yandex.cloud.ytsaurus.v1.ClientLogging
	(*ExcelSpec)(nil),                          // 16: yandex.cloud.ytsaurus.v1.ExcelSpec
	(*ClusterSpec)(nil),                        // 17: yandex.cloud.ytsaurus.v1.ClusterSpec
	nil,                                        // 18: yandex.cloud.ytsaurus.v1.Cluster.LabelsEntry
	(*Cluster_Endpoints)(nil),                  // 19: yandex.cloud.ytsaurus.v1.Cluster.Endpoints
	(*StorageSpec_HddSpec)(nil),                // 20: yandex.cloud.ytsaurus.v1.StorageSpec.HddSpec
	(*StorageSpec_SsdSpec)(nil),                // 21: yandex.cloud.ytsaurus.v1.StorageSpec.SsdSpec
	(*StorageSpec_SsdSpec_Changelogs)(nil),     // 22: yandex.cloud.ytsaurus.v1.StorageSpec.SsdSpec.Changelogs
	(*ComputeSpec_DiskSpec)(nil),               // 23: yandex.cloud.ytsaurus.v1.ComputeSpec.DiskSpec
	(*ComputeSpec_ScalePolicy)(nil),            // 24: yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy
	(*ComputeSpec_ScalePolicy_FixedScale)(nil), // 25: yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy.FixedScale
	(*ComputeSpec_ScalePolicy_AutoScale)(nil),  // 26: yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy.AutoScale
	(*timestamppb.Timestamp)(nil),              // 27: google.protobuf.Timestamp
	(*durationpb.Duration)(nil),                // 28: google.protobuf.Duration
}
var file_yandex_cloud_ytsaurus_v1_cluster_proto_depIdxs = []int32{
	18, // 0: yandex.cloud.ytsaurus.v1.Cluster.labels:type_name -> yandex.cloud.ytsaurus.v1.Cluster.LabelsEntry
	17, // 1: yandex.cloud.ytsaurus.v1.Cluster.spec:type_name -> yandex.cloud.ytsaurus.v1.ClusterSpec
	27, // 2: yandex.cloud.ytsaurus.v1.Cluster.created_at:type_name -> google.protobuf.Timestamp
	27, // 3: yandex.cloud.ytsaurus.v1.Cluster.updated_at:type_name -> google.protobuf.Timestamp
	0,  // 4: yandex.cloud.ytsaurus.v1.Cluster.status:type_name -> yandex.cloud.ytsaurus.v1.Cluster.Status
	1,  // 5: yandex.cloud.ytsaurus.v1.Cluster.health:type_name -> yandex.cloud.ytsaurus.v1.Cluster.Health
	19, // 6: yandex.cloud.ytsaurus.v1.Cluster.endpoints:type_name -> yandex.cloud.ytsaurus.v1.Cluster.Endpoints
	4,  // 7: yandex.cloud.ytsaurus.v1.Cluster.cidr_blocks_whitelist:type_name -> yandex.cloud.ytsaurus.v1.CidrBlocks
	20, // 8: yandex.cloud.ytsaurus.v1.StorageSpec.hdd:type_name -> yandex.cloud.ytsaurus.v1.StorageSpec.HddSpec
	21, // 9: yandex.cloud.ytsaurus.v1.StorageSpec.ssd:type_name -> yandex.cloud.ytsaurus.v1.StorageSpec.SsdSpec
	23, // 10: yandex.cloud.ytsaurus.v1.ComputeSpec.disks:type_name -> yandex.cloud.ytsaurus.v1.ComputeSpec.DiskSpec
	24, // 11: yandex.cloud.ytsaurus.v1.ComputeSpec.scale_policy:type_name -> yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy
	7,  // 12: yandex.cloud.ytsaurus.v1.ProxySpec.http:type_name -> yandex.cloud.ytsaurus.v1.HttpProxySpec
	8,  // 13: yandex.cloud.ytsaurus.v1.ProxySpec.rpc:type_name -> yandex.cloud.ytsaurus.v1.RpcProxySpec
	10, // 14: yandex.cloud.ytsaurus.v1.ProxySpec.task:type_name -> yandex.cloud.ytsaurus.v1.TaskProxySpec
	28, // 15: yandex.cloud.ytsaurus.v1.OdinSpec.checks_ttl:type_name -> google.protobuf.Duration
	28, // 16: yandex.cloud.ytsaurus.v1.ClearTmpCronSpec.interval:type_name -> google.protobuf.Duration
	13, // 17: yandex.cloud.ytsaurus.v1.CronSpec.clear_tmp:type_name -> yandex.cloud.ytsaurus.v1.ClearTmpCronSpec
	5,  // 18: yandex.cloud.ytsaurus.v1.ClusterSpec.storage:type_name -> yandex.cloud.ytsaurus.v1.StorageSpec
	6,  // 19: yandex.cloud.ytsaurus.v1.ClusterSpec.compute:type_name -> yandex.cloud.ytsaurus.v1.ComputeSpec
	9,  // 20: yandex.cloud.ytsaurus.v1.ClusterSpec.tablet:type_name -> yandex.cloud.ytsaurus.v1.TabletSpec
	11, // 21: yandex.cloud.ytsaurus.v1.ClusterSpec.proxy:type_name -> yandex.cloud.ytsaurus.v1.ProxySpec
	12, // 22: yandex.cloud.ytsaurus.v1.ClusterSpec.odin:type_name -> yandex.cloud.ytsaurus.v1.OdinSpec
	2,  // 23: yandex.cloud.ytsaurus.v1.ClusterSpec.flavor:type_name -> yandex.cloud.ytsaurus.v1.ClusterSpec.Flavor
	14, // 24: yandex.cloud.ytsaurus.v1.ClusterSpec.cron:type_name -> yandex.cloud.ytsaurus.v1.CronSpec
	15, // 25: yandex.cloud.ytsaurus.v1.ClusterSpec.client_logging:type_name -> yandex.cloud.ytsaurus.v1.ClientLogging
	16, // 26: yandex.cloud.ytsaurus.v1.ClusterSpec.excel:type_name -> yandex.cloud.ytsaurus.v1.ExcelSpec
	22, // 27: yandex.cloud.ytsaurus.v1.StorageSpec.SsdSpec.changelogs:type_name -> yandex.cloud.ytsaurus.v1.StorageSpec.SsdSpec.Changelogs
	25, // 28: yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy.fixed:type_name -> yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy.FixedScale
	26, // 29: yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy.auto:type_name -> yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy.AutoScale
	30, // [30:30] is the sub-list for method output_type
	30, // [30:30] is the sub-list for method input_type
	30, // [30:30] is the sub-list for extension type_name
	30, // [30:30] is the sub-list for extension extendee
	0,  // [0:30] is the sub-list for field type_name
}

func init() { file_yandex_cloud_ytsaurus_v1_cluster_proto_init() }
func file_yandex_cloud_ytsaurus_v1_cluster_proto_init() {
	if File_yandex_cloud_ytsaurus_v1_cluster_proto != nil {
		return
	}
	file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[12].OneofWrappers = []any{
		(*ClientLogging_LogGroupId)(nil),
		(*ClientLogging_FolderId)(nil),
	}
	file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[21].OneofWrappers = []any{
		(*ComputeSpec_ScalePolicy_Fixed)(nil),
		(*ComputeSpec_ScalePolicy_Auto)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDesc), len(file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDesc)),
			NumEnums:      3,
			NumMessages:   24,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_ytsaurus_v1_cluster_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_ytsaurus_v1_cluster_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_ytsaurus_v1_cluster_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes,
	}.Build()
	File_yandex_cloud_ytsaurus_v1_cluster_proto = out.File
	file_yandex_cloud_ytsaurus_v1_cluster_proto_goTypes = nil
	file_yandex_cloud_ytsaurus_v1_cluster_proto_depIdxs = nil
}
