// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v3.21.12
// source: yandex/cloud/mdb/spqr/v1/config.proto

package spqr

import (
	_ "github.com/yandex-cloud/go-genproto/yandex/cloud"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	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 LogLevel int32

const (
	LogLevel_LOG_LEVEL_UNSPECIFIED LogLevel = 0
	LogLevel_DEBUG                 LogLevel = 1
	LogLevel_INFO                  LogLevel = 2
	LogLevel_WARNING               LogLevel = 3
	LogLevel_ERROR                 LogLevel = 4
	LogLevel_FATAL                 LogLevel = 5
	LogLevel_PANIC                 LogLevel = 6
)

// Enum value maps for LogLevel.
var (
	LogLevel_name = map[int32]string{
		0: "LOG_LEVEL_UNSPECIFIED",
		1: "DEBUG",
		2: "INFO",
		3: "WARNING",
		4: "ERROR",
		5: "FATAL",
		6: "PANIC",
	}
	LogLevel_value = map[string]int32{
		"LOG_LEVEL_UNSPECIFIED": 0,
		"DEBUG":                 1,
		"INFO":                  2,
		"WARNING":               3,
		"ERROR":                 4,
		"FATAL":                 5,
		"PANIC":                 6,
	}
)

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

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

func (LogLevel) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_mdb_spqr_v1_config_proto_enumTypes[0].Descriptor()
}

func (LogLevel) Type() protoreflect.EnumType {
	return &file_yandex_cloud_mdb_spqr_v1_config_proto_enumTypes[0]
}

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

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

type RouterSettings_DefaultRouteBehavior int32

const (
	RouterSettings_DEFAULT_ROUTE_BEHAVIOR_UNSPECIFIED RouterSettings_DefaultRouteBehavior = 0
	RouterSettings_BLOCK                              RouterSettings_DefaultRouteBehavior = 1
	RouterSettings_ALLOW                              RouterSettings_DefaultRouteBehavior = 2
)

// Enum value maps for RouterSettings_DefaultRouteBehavior.
var (
	RouterSettings_DefaultRouteBehavior_name = map[int32]string{
		0: "DEFAULT_ROUTE_BEHAVIOR_UNSPECIFIED",
		1: "BLOCK",
		2: "ALLOW",
	}
	RouterSettings_DefaultRouteBehavior_value = map[string]int32{
		"DEFAULT_ROUTE_BEHAVIOR_UNSPECIFIED": 0,
		"BLOCK":                              1,
		"ALLOW":                              2,
	}
)

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

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

func (RouterSettings_DefaultRouteBehavior) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_mdb_spqr_v1_config_proto_enumTypes[1].Descriptor()
}

func (RouterSettings_DefaultRouteBehavior) Type() protoreflect.EnumType {
	return &file_yandex_cloud_mdb_spqr_v1_config_proto_enumTypes[1]
}

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

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

// TODO move to hosts.proto when it's created
// Configuration for MDB PostgreSQL host
type MDBPostgreSQL struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ClusterId     string                 `protobuf:"bytes,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MDBPostgreSQL) ProtoMessage() {}

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

func (x *MDBPostgreSQL) GetClusterId() string {
	if x != nil {
		return x.ClusterId
	}
	return ""
}

type SPQRConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// SPQR router settings.
	Router *RouterConfig `protobuf:"bytes,1,opt,name=router,proto3" json:"router,omitempty"`
	// SPQR coordinator settings.
	Coordinator *CoordinatorConfig `protobuf:"bytes,2,opt,name=coordinator,proto3" json:"coordinator,omitempty"`
	// PostgreSQL settings.
	Postgresql *PostgreSQLConfig `protobuf:"bytes,3,opt,name=postgresql,proto3" json:"postgresql,omitempty"`
	// SPQR Infra (router+coordinator) settings.
	Infra *InfraConfig `protobuf:"bytes,5,opt,name=infra,proto3" json:"infra,omitempty"`
	// SPQR default log level
	LogLevel LogLevel `protobuf:"varint,6,opt,name=log_level,json=logLevel,proto3,enum=yandex.cloud.mdb.spqr.v1.LogLevel" json:"log_level,omitempty"`
	// SPQR Balancer settings.
	Balancer      *BalancerSettings `protobuf:"bytes,7,opt,name=balancer,proto3" json:"balancer,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SPQRConfig) ProtoMessage() {}

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

func (x *SPQRConfig) GetRouter() *RouterConfig {
	if x != nil {
		return x.Router
	}
	return nil
}

func (x *SPQRConfig) GetCoordinator() *CoordinatorConfig {
	if x != nil {
		return x.Coordinator
	}
	return nil
}

func (x *SPQRConfig) GetPostgresql() *PostgreSQLConfig {
	if x != nil {
		return x.Postgresql
	}
	return nil
}

func (x *SPQRConfig) GetInfra() *InfraConfig {
	if x != nil {
		return x.Infra
	}
	return nil
}

func (x *SPQRConfig) GetLogLevel() LogLevel {
	if x != nil {
		return x.LogLevel
	}
	return LogLevel_LOG_LEVEL_UNSPECIFIED
}

func (x *SPQRConfig) GetBalancer() *BalancerSettings {
	if x != nil {
		return x.Balancer
	}
	return nil
}

type RouterConfig struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Config        *RouterSettings        `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	Resources     *Resources             `protobuf:"bytes,2,opt,name=resources,proto3" json:"resources,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RouterConfig) ProtoMessage() {}

func (x *RouterConfig) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_mdb_spqr_v1_config_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 RouterConfig.ProtoReflect.Descriptor instead.
func (*RouterConfig) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_mdb_spqr_v1_config_proto_rawDescGZIP(), []int{2}
}

func (x *RouterConfig) GetConfig() *RouterSettings {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *RouterConfig) GetResources() *Resources {
	if x != nil {
		return x.Resources
	}
	return nil
}

type CoordinatorConfig struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Config        *CoordinatorSettings   `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	Resources     *Resources             `protobuf:"bytes,2,opt,name=resources,proto3" json:"resources,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CoordinatorConfig) ProtoMessage() {}

func (x *CoordinatorConfig) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_mdb_spqr_v1_config_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 CoordinatorConfig.ProtoReflect.Descriptor instead.
func (*CoordinatorConfig) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_mdb_spqr_v1_config_proto_rawDescGZIP(), []int{3}
}

func (x *CoordinatorConfig) GetConfig() *CoordinatorSettings {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *CoordinatorConfig) GetResources() *Resources {
	if x != nil {
		return x.Resources
	}
	return nil
}

type PostgreSQLConfig struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Config        *PostgreSQLSettings    `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	Resources     *Resources             `protobuf:"bytes,2,opt,name=resources,proto3" json:"resources,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PostgreSQLConfig) ProtoMessage() {}

func (x *PostgreSQLConfig) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_mdb_spqr_v1_config_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 PostgreSQLConfig.ProtoReflect.Descriptor instead.
func (*PostgreSQLConfig) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_mdb_spqr_v1_config_proto_rawDescGZIP(), []int{4}
}

func (x *PostgreSQLConfig) GetConfig() *PostgreSQLSettings {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *PostgreSQLConfig) GetResources() *Resources {
	if x != nil {
		return x.Resources
	}
	return nil
}

type InfraConfig struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Resources     *Resources             `protobuf:"bytes,2,opt,name=resources,proto3" json:"resources,omitempty"`
	Router        *RouterSettings        `protobuf:"bytes,3,opt,name=router,proto3" json:"router,omitempty"`
	Coordinator   *CoordinatorSettings   `protobuf:"bytes,4,opt,name=coordinator,proto3" json:"coordinator,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*InfraConfig) ProtoMessage() {}

func (x *InfraConfig) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_mdb_spqr_v1_config_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 InfraConfig.ProtoReflect.Descriptor instead.
func (*InfraConfig) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_mdb_spqr_v1_config_proto_rawDescGZIP(), []int{5}
}

func (x *InfraConfig) GetResources() *Resources {
	if x != nil {
		return x.Resources
	}
	return nil
}

func (x *InfraConfig) GetRouter() *RouterSettings {
	if x != nil {
		return x.Router
	}
	return nil
}

func (x *InfraConfig) GetCoordinator() *CoordinatorSettings {
	if x != nil {
		return x.Coordinator
	}
	return nil
}

type BalancerSettings struct {
	state           protoimpl.MessageState  `protogen:"open.v1"`
	CpuThreshold    *wrapperspb.DoubleValue `protobuf:"bytes,1,opt,name=cpu_threshold,json=cpuThreshold,proto3" json:"cpu_threshold,omitempty"`
	SpaceThreshold  *wrapperspb.DoubleValue `protobuf:"bytes,2,opt,name=space_threshold,json=spaceThreshold,proto3" json:"space_threshold,omitempty"`
	StatIntervalSec *wrapperspb.Int64Value  `protobuf:"bytes,3,opt,name=stat_interval_sec,json=statIntervalSec,proto3" json:"stat_interval_sec,omitempty"`
	MaxMoveCount    *wrapperspb.Int64Value  `protobuf:"bytes,4,opt,name=max_move_count,json=maxMoveCount,proto3" json:"max_move_count,omitempty"`
	KeysPerMove     *wrapperspb.Int64Value  `protobuf:"bytes,5,opt,name=keys_per_move,json=keysPerMove,proto3" json:"keys_per_move,omitempty"`
	Timeout         *wrapperspb.Int64Value  `protobuf:"bytes,6,opt,name=timeout,proto3" json:"timeout,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*BalancerSettings) ProtoMessage() {}

func (x *BalancerSettings) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_mdb_spqr_v1_config_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 BalancerSettings.ProtoReflect.Descriptor instead.
func (*BalancerSettings) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_mdb_spqr_v1_config_proto_rawDescGZIP(), []int{6}
}

func (x *BalancerSettings) GetCpuThreshold() *wrapperspb.DoubleValue {
	if x != nil {
		return x.CpuThreshold
	}
	return nil
}

func (x *BalancerSettings) GetSpaceThreshold() *wrapperspb.DoubleValue {
	if x != nil {
		return x.SpaceThreshold
	}
	return nil
}

func (x *BalancerSettings) GetStatIntervalSec() *wrapperspb.Int64Value {
	if x != nil {
		return x.StatIntervalSec
	}
	return nil
}

func (x *BalancerSettings) GetMaxMoveCount() *wrapperspb.Int64Value {
	if x != nil {
		return x.MaxMoveCount
	}
	return nil
}

func (x *BalancerSettings) GetKeysPerMove() *wrapperspb.Int64Value {
	if x != nil {
		return x.KeysPerMove
	}
	return nil
}

func (x *BalancerSettings) GetTimeout() *wrapperspb.Int64Value {
	if x != nil {
		return x.Timeout
	}
	return nil
}

// Configuration of a SPQR router.
type RouterSettings struct {
	state                      protoimpl.MessageState              `protogen:"open.v1"`
	ShowNoticeMessages         *wrapperspb.BoolValue               `protobuf:"bytes,1,opt,name=show_notice_messages,json=showNoticeMessages,proto3" json:"show_notice_messages,omitempty"`
	TimeQuantiles              []float64                           `protobuf:"fixed64,2,rep,packed,name=time_quantiles,json=timeQuantiles,proto3" json:"time_quantiles,omitempty"`
	DefaultRouteBehavior       RouterSettings_DefaultRouteBehavior `protobuf:"varint,4,opt,name=default_route_behavior,json=defaultRouteBehavior,proto3,enum=yandex.cloud.mdb.spqr.v1.RouterSettings_DefaultRouteBehavior" json:"default_route_behavior,omitempty"`
	PreferSameAvailabilityZone *wrapperspb.BoolValue               `protobuf:"bytes,5,opt,name=prefer_same_availability_zone,json=preferSameAvailabilityZone,proto3" json:"prefer_same_availability_zone,omitempty"`
	unknownFields              protoimpl.UnknownFields
	sizeCache                  protoimpl.SizeCache
}

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

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

func (*RouterSettings) ProtoMessage() {}

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

func (x *RouterSettings) GetShowNoticeMessages() *wrapperspb.BoolValue {
	if x != nil {
		return x.ShowNoticeMessages
	}
	return nil
}

func (x *RouterSettings) GetTimeQuantiles() []float64 {
	if x != nil {
		return x.TimeQuantiles
	}
	return nil
}

func (x *RouterSettings) GetDefaultRouteBehavior() RouterSettings_DefaultRouteBehavior {
	if x != nil {
		return x.DefaultRouteBehavior
	}
	return RouterSettings_DEFAULT_ROUTE_BEHAVIOR_UNSPECIFIED
}

func (x *RouterSettings) GetPreferSameAvailabilityZone() *wrapperspb.BoolValue {
	if x != nil {
		return x.PreferSameAvailabilityZone
	}
	return nil
}

// Configuration of a SPQR coordinator.
type CoordinatorSettings struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CoordinatorSettings) ProtoMessage() {}

func (x *CoordinatorSettings) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_mdb_spqr_v1_config_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 CoordinatorSettings.ProtoReflect.Descriptor instead.
func (*CoordinatorSettings) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_mdb_spqr_v1_config_proto_rawDescGZIP(), []int{8}
}

// Configuration of a PostgreSQL.
type PostgreSQLSettings struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PostgreSQLSettings) ProtoMessage() {}

func (x *PostgreSQLSettings) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_mdb_spqr_v1_config_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 PostgreSQLSettings.ProtoReflect.Descriptor instead.
func (*PostgreSQLSettings) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_mdb_spqr_v1_config_proto_rawDescGZIP(), []int{9}
}

type Resources struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the preset for computational resources available to a host (CPU, memory etc.).
	// All available presets are listed in the [documentation](/docs/managed-spqr/concepts/instance-types).
	ResourcePresetId string `protobuf:"bytes,1,opt,name=resource_preset_id,json=resourcePresetId,proto3" json:"resource_preset_id,omitempty"`
	// Volume of the storage available to a host, in bytes.
	DiskSize int64 `protobuf:"varint,2,opt,name=disk_size,json=diskSize,proto3" json:"disk_size,omitempty"`
	// Type of the storage environment for the host.
	// Possible values:
	// * network-hdd - network HDD drive,
	// * network-ssd - network SSD drive,
	// * local-ssd - local SSD storage.
	DiskTypeId    string `protobuf:"bytes,3,opt,name=disk_type_id,json=diskTypeId,proto3" json:"disk_type_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Resources) ProtoMessage() {}

func (x *Resources) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_mdb_spqr_v1_config_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 Resources.ProtoReflect.Descriptor instead.
func (*Resources) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_mdb_spqr_v1_config_proto_rawDescGZIP(), []int{10}
}

func (x *Resources) GetResourcePresetId() string {
	if x != nil {
		return x.ResourcePresetId
	}
	return ""
}

func (x *Resources) GetDiskSize() int64 {
	if x != nil {
		return x.DiskSize
	}
	return 0
}

func (x *Resources) GetDiskTypeId() string {
	if x != nil {
		return x.DiskTypeId
	}
	return ""
}

var File_yandex_cloud_mdb_spqr_v1_config_proto protoreflect.FileDescriptor

const file_yandex_cloud_mdb_spqr_v1_config_proto_rawDesc = "" +
	"\n" +
	"%yandex/cloud/mdb/spqr/v1/config.proto\x12\x18yandex.cloud.mdb.spqr.v1\x1a\x1dyandex/cloud/validation.proto\x1a\x1egoogle/protobuf/wrappers.proto\"4\n" +
	"\rMDBPostgreSQL\x12#\n" +
	"\n" +
	"cluster_id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\tclusterId\"\xb3\x03\n" +
	"\n" +
	"SPQRConfig\x12>\n" +
	"\x06router\x18\x01 \x01(\v2&.yandex.cloud.mdb.spqr.v1.RouterConfigR\x06router\x12M\n" +
	"\vcoordinator\x18\x02 \x01(\v2+.yandex.cloud.mdb.spqr.v1.CoordinatorConfigR\vcoordinator\x12J\n" +
	"\n" +
	"postgresql\x18\x03 \x01(\v2*.yandex.cloud.mdb.spqr.v1.PostgreSQLConfigR\n" +
	"postgresql\x12;\n" +
	"\x05infra\x18\x05 \x01(\v2%.yandex.cloud.mdb.spqr.v1.InfraConfigR\x05infra\x12?\n" +
	"\tlog_level\x18\x06 \x01(\x0e2\".yandex.cloud.mdb.spqr.v1.LogLevelR\blogLevel\x12F\n" +
	"\bbalancer\x18\a \x01(\v2*.yandex.cloud.mdb.spqr.v1.BalancerSettingsR\bbalancerJ\x04\b\x04\x10\x05\"\x93\x01\n" +
	"\fRouterConfig\x12@\n" +
	"\x06config\x18\x01 \x01(\v2(.yandex.cloud.mdb.spqr.v1.RouterSettingsR\x06config\x12A\n" +
	"\tresources\x18\x02 \x01(\v2#.yandex.cloud.mdb.spqr.v1.ResourcesR\tresources\"\x9d\x01\n" +
	"\x11CoordinatorConfig\x12E\n" +
	"\x06config\x18\x01 \x01(\v2-.yandex.cloud.mdb.spqr.v1.CoordinatorSettingsR\x06config\x12A\n" +
	"\tresources\x18\x02 \x01(\v2#.yandex.cloud.mdb.spqr.v1.ResourcesR\tresources\"\x9b\x01\n" +
	"\x10PostgreSQLConfig\x12D\n" +
	"\x06config\x18\x01 \x01(\v2,.yandex.cloud.mdb.spqr.v1.PostgreSQLSettingsR\x06config\x12A\n" +
	"\tresources\x18\x02 \x01(\v2#.yandex.cloud.mdb.spqr.v1.ResourcesR\tresources\"\xe3\x01\n" +
	"\vInfraConfig\x12A\n" +
	"\tresources\x18\x02 \x01(\v2#.yandex.cloud.mdb.spqr.v1.ResourcesR\tresources\x12@\n" +
	"\x06router\x18\x03 \x01(\v2(.yandex.cloud.mdb.spqr.v1.RouterSettingsR\x06router\x12O\n" +
	"\vcoordinator\x18\x04 \x01(\v2-.yandex.cloud.mdb.spqr.v1.CoordinatorSettingsR\vcoordinator\"\xa0\x03\n" +
	"\x10BalancerSettings\x12A\n" +
	"\rcpu_threshold\x18\x01 \x01(\v2\x1c.google.protobuf.DoubleValueR\fcpuThreshold\x12E\n" +
	"\x0fspace_threshold\x18\x02 \x01(\v2\x1c.google.protobuf.DoubleValueR\x0espaceThreshold\x12G\n" +
	"\x11stat_interval_sec\x18\x03 \x01(\v2\x1b.google.protobuf.Int64ValueR\x0fstatIntervalSec\x12A\n" +
	"\x0emax_move_count\x18\x04 \x01(\v2\x1b.google.protobuf.Int64ValueR\fmaxMoveCount\x12?\n" +
	"\rkeys_per_move\x18\x05 \x01(\v2\x1b.google.protobuf.Int64ValueR\vkeysPerMove\x125\n" +
	"\atimeout\x18\x06 \x01(\v2\x1b.google.protobuf.Int64ValueR\atimeout\"\xb5\x03\n" +
	"\x0eRouterSettings\x12L\n" +
	"\x14show_notice_messages\x18\x01 \x01(\v2\x1a.google.protobuf.BoolValueR\x12showNoticeMessages\x12%\n" +
	"\x0etime_quantiles\x18\x02 \x03(\x01R\rtimeQuantiles\x12s\n" +
	"\x16default_route_behavior\x18\x04 \x01(\x0e2=.yandex.cloud.mdb.spqr.v1.RouterSettings.DefaultRouteBehaviorR\x14defaultRouteBehavior\x12]\n" +
	"\x1dprefer_same_availability_zone\x18\x05 \x01(\v2\x1a.google.protobuf.BoolValueR\x1apreferSameAvailabilityZone\"T\n" +
	"\x14DefaultRouteBehavior\x12&\n" +
	"\"DEFAULT_ROUTE_BEHAVIOR_UNSPECIFIED\x10\x00\x12\t\n" +
	"\x05BLOCK\x10\x01\x12\t\n" +
	"\x05ALLOW\x10\x02J\x04\b\x03\x10\x04\"\x15\n" +
	"\x13CoordinatorSettings\"\x14\n" +
	"\x12PostgreSQLSettings\"x\n" +
	"\tResources\x12,\n" +
	"\x12resource_preset_id\x18\x01 \x01(\tR\x10resourcePresetId\x12\x1b\n" +
	"\tdisk_size\x18\x02 \x01(\x03R\bdiskSize\x12 \n" +
	"\fdisk_type_id\x18\x03 \x01(\tR\n" +
	"diskTypeId*h\n" +
	"\bLogLevel\x12\x19\n" +
	"\x15LOG_LEVEL_UNSPECIFIED\x10\x00\x12\t\n" +
	"\x05DEBUG\x10\x01\x12\b\n" +
	"\x04INFO\x10\x02\x12\v\n" +
	"\aWARNING\x10\x03\x12\t\n" +
	"\x05ERROR\x10\x04\x12\t\n" +
	"\x05FATAL\x10\x05\x12\t\n" +
	"\x05PANIC\x10\x06Ba\n" +
	"\x1cyandex.cloud.api.mdb.spqr.v1ZAgithub.com/yandex-cloud/go-genproto/yandex/cloud/mdb/spqr/v1;spqrb\x06proto3"

var (
	file_yandex_cloud_mdb_spqr_v1_config_proto_rawDescOnce sync.Once
	file_yandex_cloud_mdb_spqr_v1_config_proto_rawDescData []byte
)

func file_yandex_cloud_mdb_spqr_v1_config_proto_rawDescGZIP() []byte {
	file_yandex_cloud_mdb_spqr_v1_config_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_mdb_spqr_v1_config_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_mdb_spqr_v1_config_proto_rawDesc), len(file_yandex_cloud_mdb_spqr_v1_config_proto_rawDesc)))
	})
	return file_yandex_cloud_mdb_spqr_v1_config_proto_rawDescData
}

var file_yandex_cloud_mdb_spqr_v1_config_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_yandex_cloud_mdb_spqr_v1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_yandex_cloud_mdb_spqr_v1_config_proto_goTypes = []any{
	(LogLevel)(0),                            // 0: yandex.cloud.mdb.spqr.v1.LogLevel
	(RouterSettings_DefaultRouteBehavior)(0), // 1: yandex.cloud.mdb.spqr.v1.RouterSettings.DefaultRouteBehavior
	(*MDBPostgreSQL)(nil),                    // 2: yandex.cloud.mdb.spqr.v1.MDBPostgreSQL
	(*SPQRConfig)(nil),                       // 3: yandex.cloud.mdb.spqr.v1.SPQRConfig
	(*RouterConfig)(nil),                     // 4: yandex.cloud.mdb.spqr.v1.RouterConfig
	(*CoordinatorConfig)(nil),                // 5: yandex.cloud.mdb.spqr.v1.CoordinatorConfig
	(*PostgreSQLConfig)(nil),                 // 6: yandex.cloud.mdb.spqr.v1.PostgreSQLConfig
	(*InfraConfig)(nil),                      // 7: yandex.cloud.mdb.spqr.v1.InfraConfig
	(*BalancerSettings)(nil),                 // 8: yandex.cloud.mdb.spqr.v1.BalancerSettings
	(*RouterSettings)(nil),                   // 9: yandex.cloud.mdb.spqr.v1.RouterSettings
	(*CoordinatorSettings)(nil),              // 10: yandex.cloud.mdb.spqr.v1.CoordinatorSettings
	(*PostgreSQLSettings)(nil),               // 11: yandex.cloud.mdb.spqr.v1.PostgreSQLSettings
	(*Resources)(nil),                        // 12: yandex.cloud.mdb.spqr.v1.Resources
	(*wrapperspb.DoubleValue)(nil),           // 13: google.protobuf.DoubleValue
	(*wrapperspb.Int64Value)(nil),            // 14: google.protobuf.Int64Value
	(*wrapperspb.BoolValue)(nil),             // 15: google.protobuf.BoolValue
}
var file_yandex_cloud_mdb_spqr_v1_config_proto_depIdxs = []int32{
	4,  // 0: yandex.cloud.mdb.spqr.v1.SPQRConfig.router:type_name -> yandex.cloud.mdb.spqr.v1.RouterConfig
	5,  // 1: yandex.cloud.mdb.spqr.v1.SPQRConfig.coordinator:type_name -> yandex.cloud.mdb.spqr.v1.CoordinatorConfig
	6,  // 2: yandex.cloud.mdb.spqr.v1.SPQRConfig.postgresql:type_name -> yandex.cloud.mdb.spqr.v1.PostgreSQLConfig
	7,  // 3: yandex.cloud.mdb.spqr.v1.SPQRConfig.infra:type_name -> yandex.cloud.mdb.spqr.v1.InfraConfig
	0,  // 4: yandex.cloud.mdb.spqr.v1.SPQRConfig.log_level:type_name -> yandex.cloud.mdb.spqr.v1.LogLevel
	8,  // 5: yandex.cloud.mdb.spqr.v1.SPQRConfig.balancer:type_name -> yandex.cloud.mdb.spqr.v1.BalancerSettings
	9,  // 6: yandex.cloud.mdb.spqr.v1.RouterConfig.config:type_name -> yandex.cloud.mdb.spqr.v1.RouterSettings
	12, // 7: yandex.cloud.mdb.spqr.v1.RouterConfig.resources:type_name -> yandex.cloud.mdb.spqr.v1.Resources
	10, // 8: yandex.cloud.mdb.spqr.v1.CoordinatorConfig.config:type_name -> yandex.cloud.mdb.spqr.v1.CoordinatorSettings
	12, // 9: yandex.cloud.mdb.spqr.v1.CoordinatorConfig.resources:type_name -> yandex.cloud.mdb.spqr.v1.Resources
	11, // 10: yandex.cloud.mdb.spqr.v1.PostgreSQLConfig.config:type_name -> yandex.cloud.mdb.spqr.v1.PostgreSQLSettings
	12, // 11: yandex.cloud.mdb.spqr.v1.PostgreSQLConfig.resources:type_name -> yandex.cloud.mdb.spqr.v1.Resources
	12, // 12: yandex.cloud.mdb.spqr.v1.InfraConfig.resources:type_name -> yandex.cloud.mdb.spqr.v1.Resources
	9,  // 13: yandex.cloud.mdb.spqr.v1.InfraConfig.router:type_name -> yandex.cloud.mdb.spqr.v1.RouterSettings
	10, // 14: yandex.cloud.mdb.spqr.v1.InfraConfig.coordinator:type_name -> yandex.cloud.mdb.spqr.v1.CoordinatorSettings
	13, // 15: yandex.cloud.mdb.spqr.v1.BalancerSettings.cpu_threshold:type_name -> google.protobuf.DoubleValue
	13, // 16: yandex.cloud.mdb.spqr.v1.BalancerSettings.space_threshold:type_name -> google.protobuf.DoubleValue
	14, // 17: yandex.cloud.mdb.spqr.v1.BalancerSettings.stat_interval_sec:type_name -> google.protobuf.Int64Value
	14, // 18: yandex.cloud.mdb.spqr.v1.BalancerSettings.max_move_count:type_name -> google.protobuf.Int64Value
	14, // 19: yandex.cloud.mdb.spqr.v1.BalancerSettings.keys_per_move:type_name -> google.protobuf.Int64Value
	14, // 20: yandex.cloud.mdb.spqr.v1.BalancerSettings.timeout:type_name -> google.protobuf.Int64Value
	15, // 21: yandex.cloud.mdb.spqr.v1.RouterSettings.show_notice_messages:type_name -> google.protobuf.BoolValue
	1,  // 22: yandex.cloud.mdb.spqr.v1.RouterSettings.default_route_behavior:type_name -> yandex.cloud.mdb.spqr.v1.RouterSettings.DefaultRouteBehavior
	15, // 23: yandex.cloud.mdb.spqr.v1.RouterSettings.prefer_same_availability_zone:type_name -> google.protobuf.BoolValue
	24, // [24:24] is the sub-list for method output_type
	24, // [24:24] is the sub-list for method input_type
	24, // [24:24] is the sub-list for extension type_name
	24, // [24:24] is the sub-list for extension extendee
	0,  // [0:24] is the sub-list for field type_name
}

func init() { file_yandex_cloud_mdb_spqr_v1_config_proto_init() }
func file_yandex_cloud_mdb_spqr_v1_config_proto_init() {
	if File_yandex_cloud_mdb_spqr_v1_config_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_yandex_cloud_mdb_spqr_v1_config_proto_rawDesc), len(file_yandex_cloud_mdb_spqr_v1_config_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   11,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_mdb_spqr_v1_config_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_mdb_spqr_v1_config_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_mdb_spqr_v1_config_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_mdb_spqr_v1_config_proto_msgTypes,
	}.Build()
	File_yandex_cloud_mdb_spqr_v1_config_proto = out.File
	file_yandex_cloud_mdb_spqr_v1_config_proto_goTypes = nil
	file_yandex_cloud_mdb_spqr_v1_config_proto_depIdxs = nil
}
