// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	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 (
	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 (
	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 (
	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{8, 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"`
	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
}

type StorageSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Hdd           *StorageSpec_HddSpec   `protobuf:"bytes,1,opt,name=hdd,proto3" json:"hdd,omitempty"`
	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[1]
	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[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 StorageSpec.ProtoReflect.Descriptor instead.
func (*StorageSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{1}
}

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"`
	Preset      string                   `protobuf:"bytes,1,opt,name=preset,proto3" json:"preset,omitempty"`
	Disks       []*ComputeSpec_DiskSpec  `protobuf:"bytes,2,rep,name=disks,proto3" json:"disks,omitempty"`
	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[2]
	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[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 ComputeSpec.ProtoReflect.Descriptor instead.
func (*ComputeSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{2}
}

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"`
	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[3]
	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[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 HttpProxySpec.ProtoReflect.Descriptor instead.
func (*HttpProxySpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{3}
}

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

type RpcProxySpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	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[4]
	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[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 RpcProxySpec.ProtoReflect.Descriptor instead.
func (*RpcProxySpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{4}
}

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

type TabletSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Preset        string                 `protobuf:"bytes,1,opt,name=preset,proto3" json:"preset,omitempty"`
	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[5]
	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[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 TabletSpec.ProtoReflect.Descriptor instead.
func (*TabletSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{5}
}

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 ProxySpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Http          *HttpProxySpec         `protobuf:"bytes,1,opt,name=http,proto3" json:"http,omitempty"`
	Rpc           *RpcProxySpec          `protobuf:"bytes,2,opt,name=rpc,proto3" json:"rpc,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ProxySpec) Reset() {
	*x = ProxySpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[6]
	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[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 ProxySpec.ProtoReflect.Descriptor instead.
func (*ProxySpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{6}
}

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
}

type OdinSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	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[7]
	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[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 OdinSpec.ProtoReflect.Descriptor instead.
func (*OdinSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{7}
}

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

type ClusterSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Storage       *StorageSpec           `protobuf:"bytes,1,opt,name=storage,proto3" json:"storage,omitempty"`
	Compute       []*ComputeSpec         `protobuf:"bytes,2,rep,name=compute,proto3" json:"compute,omitempty"`
	Tablet        *TabletSpec            `protobuf:"bytes,3,opt,name=tablet,proto3" json:"tablet,omitempty"`
	Proxy         *ProxySpec             `protobuf:"bytes,4,opt,name=proxy,proto3" json:"proxy,omitempty"`
	Odin          *OdinSpec              `protobuf:"bytes,5,opt,name=odin,proto3" json:"odin,omitempty"`
	Flavor        ClusterSpec_Flavor     `protobuf:"varint,6,opt,name=flavor,proto3,enum=yandex.cloud.ytsaurus.v1.ClusterSpec_Flavor" json:"flavor,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ClusterSpec) Reset() {
	*x = ClusterSpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[8]
	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[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 ClusterSpec.ProtoReflect.Descriptor instead.
func (*ClusterSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{8}
}

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
}

type Cluster_Endpoints struct {
	state                     protoimpl.MessageState `protogen:"open.v1"`
	Ui                        string                 `protobuf:"bytes,1,opt,name=ui,proto3" json:"ui,omitempty"`                                                                                    // https://CID.ui.ytsaurus.yandexcloud.net
	ExternalHttpProxyBalancer string                 `protobuf:"bytes,2,opt,name=external_http_proxy_balancer,json=externalHttpProxyBalancer,proto3" json:"external_http_proxy_balancer,omitempty"` // https://CID.proxy.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[10]
	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[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 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"`
	SizeGb        int64                  `protobuf:"varint,2,opt,name=size_gb,json=sizeGb,proto3" json:"size_gb,omitempty"`
	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[11]
	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[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 StorageSpec_HddSpec.ProtoReflect.Descriptor instead.
func (*StorageSpec_HddSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{1, 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"`
	SizeGb        int64                  `protobuf:"varint,2,opt,name=size_gb,json=sizeGb,proto3" json:"size_gb,omitempty"`
	Type          string                 `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
	Count         int64                  `protobuf:"varint,4,opt,name=count,proto3" json:"count,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StorageSpec_SsdSpec) Reset() {
	*x = StorageSpec_SsdSpec{}
	mi := &file_yandex_cloud_ytsaurus_v1_cluster_proto_msgTypes[12]
	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[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 StorageSpec_SsdSpec.ProtoReflect.Descriptor instead.
func (*StorageSpec_SsdSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{1, 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
}

type ComputeSpec_DiskSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Type          string                 `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	SizeGb        int64                  `protobuf:"varint,2,opt,name=size_gb,json=sizeGb,proto3" json:"size_gb,omitempty"`
	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[13]
	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[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 ComputeSpec_DiskSpec.ProtoReflect.Descriptor instead.
func (*ComputeSpec_DiskSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{2, 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[14]
	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[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 ComputeSpec_ScalePolicy.ProtoReflect.Descriptor instead.
func (*ComputeSpec_ScalePolicy) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{2, 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 {
	Fixed *ComputeSpec_ScalePolicy_FixedScale `protobuf:"bytes,1,opt,name=fixed,proto3,oneof"`
}

type ComputeSpec_ScalePolicy_Auto struct {
	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"`
	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[15]
	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[15]
	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{2, 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"`
	MinSize       int64                  `protobuf:"varint,1,opt,name=min_size,json=minSize,proto3" json:"min_size,omitempty"`
	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[16]
	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[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 ComputeSpec_ScalePolicy_AutoScale.ProtoReflect.Descriptor instead.
func (*ComputeSpec_ScalePolicy_AutoScale) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ytsaurus_v1_cluster_proto_rawDescGZIP(), []int{2, 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\"\xba\t\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\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\"\xa3\x02\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\x1aR\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\x05countJ\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\"\x82\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\"D\n" +
	"\bOdinSpec\x128\n" +
	"\n" +
	"checks_ttl\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\tchecksTtl\"\xb2\x03\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\"*\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, 17)
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
	(*StorageSpec)(nil),                        // 4: yandex.cloud.ytsaurus.v1.StorageSpec
	(*ComputeSpec)(nil),                        // 5: yandex.cloud.ytsaurus.v1.ComputeSpec
	(*HttpProxySpec)(nil),                      // 6: yandex.cloud.ytsaurus.v1.HttpProxySpec
	(*RpcProxySpec)(nil),                       // 7: yandex.cloud.ytsaurus.v1.RpcProxySpec
	(*TabletSpec)(nil),                         // 8: yandex.cloud.ytsaurus.v1.TabletSpec
	(*ProxySpec)(nil),                          // 9: yandex.cloud.ytsaurus.v1.ProxySpec
	(*OdinSpec)(nil),                           // 10: yandex.cloud.ytsaurus.v1.OdinSpec
	(*ClusterSpec)(nil),                        // 11: yandex.cloud.ytsaurus.v1.ClusterSpec
	nil,                                        // 12: yandex.cloud.ytsaurus.v1.Cluster.LabelsEntry
	(*Cluster_Endpoints)(nil),                  // 13: yandex.cloud.ytsaurus.v1.Cluster.Endpoints
	(*StorageSpec_HddSpec)(nil),                // 14: yandex.cloud.ytsaurus.v1.StorageSpec.HddSpec
	(*StorageSpec_SsdSpec)(nil),                // 15: yandex.cloud.ytsaurus.v1.StorageSpec.SsdSpec
	(*ComputeSpec_DiskSpec)(nil),               // 16: yandex.cloud.ytsaurus.v1.ComputeSpec.DiskSpec
	(*ComputeSpec_ScalePolicy)(nil),            // 17: yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy
	(*ComputeSpec_ScalePolicy_FixedScale)(nil), // 18: yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy.FixedScale
	(*ComputeSpec_ScalePolicy_AutoScale)(nil),  // 19: yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy.AutoScale
	(*timestamppb.Timestamp)(nil),              // 20: google.protobuf.Timestamp
	(*durationpb.Duration)(nil),                // 21: google.protobuf.Duration
}
var file_yandex_cloud_ytsaurus_v1_cluster_proto_depIdxs = []int32{
	12, // 0: yandex.cloud.ytsaurus.v1.Cluster.labels:type_name -> yandex.cloud.ytsaurus.v1.Cluster.LabelsEntry
	11, // 1: yandex.cloud.ytsaurus.v1.Cluster.spec:type_name -> yandex.cloud.ytsaurus.v1.ClusterSpec
	20, // 2: yandex.cloud.ytsaurus.v1.Cluster.created_at:type_name -> google.protobuf.Timestamp
	20, // 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
	13, // 6: yandex.cloud.ytsaurus.v1.Cluster.endpoints:type_name -> yandex.cloud.ytsaurus.v1.Cluster.Endpoints
	14, // 7: yandex.cloud.ytsaurus.v1.StorageSpec.hdd:type_name -> yandex.cloud.ytsaurus.v1.StorageSpec.HddSpec
	15, // 8: yandex.cloud.ytsaurus.v1.StorageSpec.ssd:type_name -> yandex.cloud.ytsaurus.v1.StorageSpec.SsdSpec
	16, // 9: yandex.cloud.ytsaurus.v1.ComputeSpec.disks:type_name -> yandex.cloud.ytsaurus.v1.ComputeSpec.DiskSpec
	17, // 10: yandex.cloud.ytsaurus.v1.ComputeSpec.scale_policy:type_name -> yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy
	6,  // 11: yandex.cloud.ytsaurus.v1.ProxySpec.http:type_name -> yandex.cloud.ytsaurus.v1.HttpProxySpec
	7,  // 12: yandex.cloud.ytsaurus.v1.ProxySpec.rpc:type_name -> yandex.cloud.ytsaurus.v1.RpcProxySpec
	21, // 13: yandex.cloud.ytsaurus.v1.OdinSpec.checks_ttl:type_name -> google.protobuf.Duration
	4,  // 14: yandex.cloud.ytsaurus.v1.ClusterSpec.storage:type_name -> yandex.cloud.ytsaurus.v1.StorageSpec
	5,  // 15: yandex.cloud.ytsaurus.v1.ClusterSpec.compute:type_name -> yandex.cloud.ytsaurus.v1.ComputeSpec
	8,  // 16: yandex.cloud.ytsaurus.v1.ClusterSpec.tablet:type_name -> yandex.cloud.ytsaurus.v1.TabletSpec
	9,  // 17: yandex.cloud.ytsaurus.v1.ClusterSpec.proxy:type_name -> yandex.cloud.ytsaurus.v1.ProxySpec
	10, // 18: yandex.cloud.ytsaurus.v1.ClusterSpec.odin:type_name -> yandex.cloud.ytsaurus.v1.OdinSpec
	2,  // 19: yandex.cloud.ytsaurus.v1.ClusterSpec.flavor:type_name -> yandex.cloud.ytsaurus.v1.ClusterSpec.Flavor
	18, // 20: yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy.fixed:type_name -> yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy.FixedScale
	19, // 21: yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy.auto:type_name -> yandex.cloud.ytsaurus.v1.ComputeSpec.ScalePolicy.AutoScale
	22, // [22:22] is the sub-list for method output_type
	22, // [22:22] is the sub-list for method input_type
	22, // [22:22] is the sub-list for extension type_name
	22, // [22:22] is the sub-list for extension extendee
	0,  // [0:22] 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[14].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:   17,
			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
}
