// Code generated by protoc-gen-go. DO NOT EDIT.
// source: yandex/cloud/mdb/mysql/v1/cluster.proto

package mysql

import (
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	config "github.com/yandex-cloud/go-genproto/yandex/cloud/mdb/mysql/v1/config"
	timeofday "google.golang.org/genproto/googleapis/type/timeofday"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

type Cluster_Environment int32

const (
	Cluster_ENVIRONMENT_UNSPECIFIED Cluster_Environment = 0
	// Stable environment with a conservative update policy:
	// only hotfixes are applied during regular maintenance.
	Cluster_PRODUCTION Cluster_Environment = 1
	// Environment with more aggressive update policy: new versions
	// are rolled out irrespective of backward compatibility.
	Cluster_PRESTABLE Cluster_Environment = 2
)

var Cluster_Environment_name = map[int32]string{
	0: "ENVIRONMENT_UNSPECIFIED",
	1: "PRODUCTION",
	2: "PRESTABLE",
}

var Cluster_Environment_value = map[string]int32{
	"ENVIRONMENT_UNSPECIFIED": 0,
	"PRODUCTION":              1,
	"PRESTABLE":               2,
}

func (x Cluster_Environment) String() string {
	return proto.EnumName(Cluster_Environment_name, int32(x))
}

func (Cluster_Environment) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_4544583b17c4e771, []int{0, 0}
}

type Cluster_Health int32

const (
	// State of the cluster is unknown ([Host.health] for every host in the cluster is UNKNOWN).
	Cluster_HEALTH_UNKNOWN Cluster_Health = 0
	// Cluster is alive and well ([Host.health] for every host in the cluster is ALIVE).
	Cluster_ALIVE Cluster_Health = 1
	// Cluster is inoperable ([Host.health] for every host in the cluster is DEAD).
	Cluster_DEAD Cluster_Health = 2
	// Cluster is working below capacity ([Host.health] for at least one host in the cluster is not ALIVE).
	Cluster_DEGRADED Cluster_Health = 3
)

var Cluster_Health_name = map[int32]string{
	0: "HEALTH_UNKNOWN",
	1: "ALIVE",
	2: "DEAD",
	3: "DEGRADED",
}

var Cluster_Health_value = map[string]int32{
	"HEALTH_UNKNOWN": 0,
	"ALIVE":          1,
	"DEAD":           2,
	"DEGRADED":       3,
}

func (x Cluster_Health) String() string {
	return proto.EnumName(Cluster_Health_name, int32(x))
}

func (Cluster_Health) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_4544583b17c4e771, []int{0, 1}
}

type Cluster_Status int32

const (
	// Cluster state is unknown.
	Cluster_STATUS_UNKNOWN Cluster_Status = 0
	// Cluster is being created.
	Cluster_CREATING Cluster_Status = 1
	// Cluster is running normally.
	Cluster_RUNNING Cluster_Status = 2
	// Cluster encountered a problem and cannot operate.
	Cluster_ERROR Cluster_Status = 3
	// Cluster is being updated.
	Cluster_UPDATING Cluster_Status = 4
	// Cluster is stopping.
	Cluster_STOPPING Cluster_Status = 5
	// Cluster stopped.
	Cluster_STOPPED Cluster_Status = 6
	// Cluster is starting.
	Cluster_STARTING Cluster_Status = 7
)

var Cluster_Status_name = map[int32]string{
	0: "STATUS_UNKNOWN",
	1: "CREATING",
	2: "RUNNING",
	3: "ERROR",
	4: "UPDATING",
	5: "STOPPING",
	6: "STOPPED",
	7: "STARTING",
}

var Cluster_Status_value = map[string]int32{
	"STATUS_UNKNOWN": 0,
	"CREATING":       1,
	"RUNNING":        2,
	"ERROR":          3,
	"UPDATING":       4,
	"STOPPING":       5,
	"STOPPED":        6,
	"STARTING":       7,
}

func (x Cluster_Status) String() string {
	return proto.EnumName(Cluster_Status_name, int32(x))
}

func (Cluster_Status) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_4544583b17c4e771, []int{0, 2}
}

type Host_Role int32

const (
	// Role of the host in the cluster is unknown.
	Host_ROLE_UNKNOWN Host_Role = 0
	// Host is the master MySQL server in the cluster.
	Host_MASTER Host_Role = 1
	// Host is a replica MySQL server in the cluster.
	Host_REPLICA Host_Role = 2
)

var Host_Role_name = map[int32]string{
	0: "ROLE_UNKNOWN",
	1: "MASTER",
	2: "REPLICA",
}

var Host_Role_value = map[string]int32{
	"ROLE_UNKNOWN": 0,
	"MASTER":       1,
	"REPLICA":      2,
}

func (x Host_Role) String() string {
	return proto.EnumName(Host_Role_name, int32(x))
}

func (Host_Role) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_4544583b17c4e771, []int{3, 0}
}

type Host_Health int32

const (
	// Health of the host is unknown.
	Host_HEALTH_UNKNOWN Host_Health = 0
	// The host is performing all its functions normally.
	Host_ALIVE Host_Health = 1
	// The host is inoperable, and cannot perform any of its essential functions.
	Host_DEAD Host_Health = 2
	// The host is degraded, and can perform only some of its essential functions.
	Host_DEGRADED Host_Health = 3
)

var Host_Health_name = map[int32]string{
	0: "HEALTH_UNKNOWN",
	1: "ALIVE",
	2: "DEAD",
	3: "DEGRADED",
}

var Host_Health_value = map[string]int32{
	"HEALTH_UNKNOWN": 0,
	"ALIVE":          1,
	"DEAD":           2,
	"DEGRADED":       3,
}

func (x Host_Health) String() string {
	return proto.EnumName(Host_Health_name, int32(x))
}

func (Host_Health) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_4544583b17c4e771, []int{3, 1}
}

type Service_Type int32

const (
	Service_TYPE_UNSPECIFIED Service_Type = 0
	// The host is a MySQL server.
	Service_MYSQL Service_Type = 1
)

var Service_Type_name = map[int32]string{
	0: "TYPE_UNSPECIFIED",
	1: "MYSQL",
}

var Service_Type_value = map[string]int32{
	"TYPE_UNSPECIFIED": 0,
	"MYSQL":            1,
}

func (x Service_Type) String() string {
	return proto.EnumName(Service_Type_name, int32(x))
}

func (Service_Type) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_4544583b17c4e771, []int{4, 0}
}

type Service_Health int32

const (
	// Health of the server is unknown.
	Service_HEALTH_UNKNOWN Service_Health = 0
	// The server is working normally.
	Service_ALIVE Service_Health = 1
	// The server is dead or unresponsive.
	Service_DEAD Service_Health = 2
)

var Service_Health_name = map[int32]string{
	0: "HEALTH_UNKNOWN",
	1: "ALIVE",
	2: "DEAD",
}

var Service_Health_value = map[string]int32{
	"HEALTH_UNKNOWN": 0,
	"ALIVE":          1,
	"DEAD":           2,
}

func (x Service_Health) String() string {
	return proto.EnumName(Service_Health_name, int32(x))
}

func (Service_Health) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_4544583b17c4e771, []int{4, 1}
}

// A MySQL cluster. For more information, see
// the [documentation](/docs/managed-mysql/concepts).
type Cluster struct {
	// ID of the MySQL cluster.
	// This ID is assigned by Managed Service for MySQL at creation time.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// ID of the folder that the MySQL cluster belongs to.
	FolderId  string               `protobuf:"bytes,2,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"`
	CreatedAt *timestamp.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Name of the MySQL cluster.
	// The name must be unique within the folder, comply with RFC 1035
	// and be 1-63 characters long.
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	// Description of the MySQL cluster. 0-256 characters long.
	Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
	// Custom labels for the MySQL cluster as `key:value` pairs.
	// Maximum 64 per resource.
	Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// Deployment environment of the MySQL cluster.
	Environment Cluster_Environment `protobuf:"varint,7,opt,name=environment,proto3,enum=yandex.cloud.mdb.mysql.v1.Cluster_Environment" json:"environment,omitempty"`
	// Description of monitoring systems relevant to the MySQL cluster.
	Monitoring []*Monitoring `protobuf:"bytes,8,rep,name=monitoring,proto3" json:"monitoring,omitempty"`
	// Configuration of the MySQL cluster.
	Config *ClusterConfig `protobuf:"bytes,9,opt,name=config,proto3" json:"config,omitempty"`
	// ID of the network that the cluster belongs to.
	NetworkId string `protobuf:"bytes,10,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"`
	// Aggregated cluster health.
	Health Cluster_Health `protobuf:"varint,11,opt,name=health,proto3,enum=yandex.cloud.mdb.mysql.v1.Cluster_Health" json:"health,omitempty"`
	// Current state of the cluster.
	Status               Cluster_Status `protobuf:"varint,12,opt,name=status,proto3,enum=yandex.cloud.mdb.mysql.v1.Cluster_Status" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *Cluster) Reset()         { *m = Cluster{} }
func (m *Cluster) String() string { return proto.CompactTextString(m) }
func (*Cluster) ProtoMessage()    {}
func (*Cluster) Descriptor() ([]byte, []int) {
	return fileDescriptor_4544583b17c4e771, []int{0}
}

func (m *Cluster) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Cluster.Unmarshal(m, b)
}
func (m *Cluster) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Cluster.Marshal(b, m, deterministic)
}
func (m *Cluster) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Cluster.Merge(m, src)
}
func (m *Cluster) XXX_Size() int {
	return xxx_messageInfo_Cluster.Size(m)
}
func (m *Cluster) XXX_DiscardUnknown() {
	xxx_messageInfo_Cluster.DiscardUnknown(m)
}

var xxx_messageInfo_Cluster proto.InternalMessageInfo

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

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

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

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

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

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

func (m *Cluster) GetEnvironment() Cluster_Environment {
	if m != nil {
		return m.Environment
	}
	return Cluster_ENVIRONMENT_UNSPECIFIED
}

func (m *Cluster) GetMonitoring() []*Monitoring {
	if m != nil {
		return m.Monitoring
	}
	return nil
}

func (m *Cluster) GetConfig() *ClusterConfig {
	if m != nil {
		return m.Config
	}
	return nil
}

func (m *Cluster) GetNetworkId() string {
	if m != nil {
		return m.NetworkId
	}
	return ""
}

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

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

type Monitoring struct {
	// Name of the monitoring system.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Description of the monitoring system.
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	// Link to the monitoring system charts for the MySQL cluster.
	Link                 string   `protobuf:"bytes,3,opt,name=link,proto3" json:"link,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Monitoring) Reset()         { *m = Monitoring{} }
func (m *Monitoring) String() string { return proto.CompactTextString(m) }
func (*Monitoring) ProtoMessage()    {}
func (*Monitoring) Descriptor() ([]byte, []int) {
	return fileDescriptor_4544583b17c4e771, []int{1}
}

func (m *Monitoring) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Monitoring.Unmarshal(m, b)
}
func (m *Monitoring) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Monitoring.Marshal(b, m, deterministic)
}
func (m *Monitoring) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Monitoring.Merge(m, src)
}
func (m *Monitoring) XXX_Size() int {
	return xxx_messageInfo_Monitoring.Size(m)
}
func (m *Monitoring) XXX_DiscardUnknown() {
	xxx_messageInfo_Monitoring.DiscardUnknown(m)
}

var xxx_messageInfo_Monitoring proto.InternalMessageInfo

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

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

func (m *Monitoring) GetLink() string {
	if m != nil {
		return m.Link
	}
	return ""
}

type ClusterConfig struct {
	// Version of MySQL server software.
	Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
	// Configuration for MySQL servers in the cluster.
	//
	// Types that are valid to be assigned to MysqlConfig:
	//	*ClusterConfig_MysqlConfig_5_7
	MysqlConfig isClusterConfig_MysqlConfig `protobuf_oneof:"mysql_config"`
	// Resources allocated to MySQL hosts.
	Resources *Resources `protobuf:"bytes,3,opt,name=resources,proto3" json:"resources,omitempty"`
	// Time to start the daily backup, in the UTC timezone.
	BackupWindowStart *timeofday.TimeOfDay `protobuf:"bytes,4,opt,name=backup_window_start,json=backupWindowStart,proto3" json:"backup_window_start,omitempty"`
	// Access policy to DB
	Access               *Access  `protobuf:"bytes,5,opt,name=access,proto3" json:"access,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ClusterConfig) Reset()         { *m = ClusterConfig{} }
func (m *ClusterConfig) String() string { return proto.CompactTextString(m) }
func (*ClusterConfig) ProtoMessage()    {}
func (*ClusterConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_4544583b17c4e771, []int{2}
}

func (m *ClusterConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ClusterConfig.Unmarshal(m, b)
}
func (m *ClusterConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ClusterConfig.Marshal(b, m, deterministic)
}
func (m *ClusterConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ClusterConfig.Merge(m, src)
}
func (m *ClusterConfig) XXX_Size() int {
	return xxx_messageInfo_ClusterConfig.Size(m)
}
func (m *ClusterConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_ClusterConfig.DiscardUnknown(m)
}

var xxx_messageInfo_ClusterConfig proto.InternalMessageInfo

func (m *ClusterConfig) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

type isClusterConfig_MysqlConfig interface {
	isClusterConfig_MysqlConfig()
}

type ClusterConfig_MysqlConfig_5_7 struct {
	MysqlConfig_5_7 *config.MysqlConfigSet5_7 `protobuf:"bytes,2,opt,name=mysql_config_5_7,json=mysqlConfig57,proto3,oneof"`
}

func (*ClusterConfig_MysqlConfig_5_7) isClusterConfig_MysqlConfig() {}

func (m *ClusterConfig) GetMysqlConfig() isClusterConfig_MysqlConfig {
	if m != nil {
		return m.MysqlConfig
	}
	return nil
}

func (m *ClusterConfig) GetMysqlConfig_5_7() *config.MysqlConfigSet5_7 {
	if x, ok := m.GetMysqlConfig().(*ClusterConfig_MysqlConfig_5_7); ok {
		return x.MysqlConfig_5_7
	}
	return nil
}

func (m *ClusterConfig) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

func (m *ClusterConfig) GetBackupWindowStart() *timeofday.TimeOfDay {
	if m != nil {
		return m.BackupWindowStart
	}
	return nil
}

func (m *ClusterConfig) GetAccess() *Access {
	if m != nil {
		return m.Access
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*ClusterConfig) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*ClusterConfig_MysqlConfig_5_7)(nil),
	}
}

type Host struct {
	// Name of the MySQL host. The host name is assigned by Managed Service for MySQL
	// at creation time, and cannot be changed. 1-63 characters long.
	//
	// The name is unique across all existing database hosts in Yandex.Cloud,
	// as it defines the FQDN of the host.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// ID of the MySQL host. The ID is assigned by Managed Service for MySQL
	// at creation time.
	ClusterId string `protobuf:"bytes,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	// ID of the availability zone where the MySQL host resides.
	ZoneId string `protobuf:"bytes,3,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"`
	// Resources allocated to the host.
	Resources *Resources `protobuf:"bytes,4,opt,name=resources,proto3" json:"resources,omitempty"`
	// Role of the host in the cluster.
	Role Host_Role `protobuf:"varint,5,opt,name=role,proto3,enum=yandex.cloud.mdb.mysql.v1.Host_Role" json:"role,omitempty"`
	// Status code of the aggregated health of the host.
	Health Host_Health `protobuf:"varint,6,opt,name=health,proto3,enum=yandex.cloud.mdb.mysql.v1.Host_Health" json:"health,omitempty"`
	// Services provided by the host.
	Services []*Service `protobuf:"bytes,7,rep,name=services,proto3" json:"services,omitempty"`
	// ID of the subnet that the host belongs to.
	SubnetId string `protobuf:"bytes,8,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"`
	// Flag showing public IP assignment status to this host.
	AssignPublicIp       bool     `protobuf:"varint,9,opt,name=assign_public_ip,json=assignPublicIp,proto3" json:"assign_public_ip,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Host) Reset()         { *m = Host{} }
func (m *Host) String() string { return proto.CompactTextString(m) }
func (*Host) ProtoMessage()    {}
func (*Host) Descriptor() ([]byte, []int) {
	return fileDescriptor_4544583b17c4e771, []int{3}
}

func (m *Host) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Host.Unmarshal(m, b)
}
func (m *Host) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Host.Marshal(b, m, deterministic)
}
func (m *Host) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Host.Merge(m, src)
}
func (m *Host) XXX_Size() int {
	return xxx_messageInfo_Host.Size(m)
}
func (m *Host) XXX_DiscardUnknown() {
	xxx_messageInfo_Host.DiscardUnknown(m)
}

var xxx_messageInfo_Host proto.InternalMessageInfo

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

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

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

func (m *Host) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

func (m *Host) GetRole() Host_Role {
	if m != nil {
		return m.Role
	}
	return Host_ROLE_UNKNOWN
}

func (m *Host) GetHealth() Host_Health {
	if m != nil {
		return m.Health
	}
	return Host_HEALTH_UNKNOWN
}

func (m *Host) GetServices() []*Service {
	if m != nil {
		return m.Services
	}
	return nil
}

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

func (m *Host) GetAssignPublicIp() bool {
	if m != nil {
		return m.AssignPublicIp
	}
	return false
}

type Service struct {
	// Type of the service provided by the host.
	Type Service_Type `protobuf:"varint,1,opt,name=type,proto3,enum=yandex.cloud.mdb.mysql.v1.Service_Type" json:"type,omitempty"`
	// Status code of server availability.
	Health               Service_Health `protobuf:"varint,2,opt,name=health,proto3,enum=yandex.cloud.mdb.mysql.v1.Service_Health" json:"health,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *Service) Reset()         { *m = Service{} }
func (m *Service) String() string { return proto.CompactTextString(m) }
func (*Service) ProtoMessage()    {}
func (*Service) Descriptor() ([]byte, []int) {
	return fileDescriptor_4544583b17c4e771, []int{4}
}

func (m *Service) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Service.Unmarshal(m, b)
}
func (m *Service) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Service.Marshal(b, m, deterministic)
}
func (m *Service) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Service.Merge(m, src)
}
func (m *Service) XXX_Size() int {
	return xxx_messageInfo_Service.Size(m)
}
func (m *Service) XXX_DiscardUnknown() {
	xxx_messageInfo_Service.DiscardUnknown(m)
}

var xxx_messageInfo_Service proto.InternalMessageInfo

func (m *Service) GetType() Service_Type {
	if m != nil {
		return m.Type
	}
	return Service_TYPE_UNSPECIFIED
}

func (m *Service) GetHealth() Service_Health {
	if m != nil {
		return m.Health
	}
	return Service_HEALTH_UNKNOWN
}

type Resources struct {
	// ID of the preset for computational resources available to a host (CPU, memory etc.).
	// All available presets are listed in the [documentation](/docs/managed-mysql/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.
	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-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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Resources) Reset()         { *m = Resources{} }
func (m *Resources) String() string { return proto.CompactTextString(m) }
func (*Resources) ProtoMessage()    {}
func (*Resources) Descriptor() ([]byte, []int) {
	return fileDescriptor_4544583b17c4e771, []int{5}
}

func (m *Resources) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Resources.Unmarshal(m, b)
}
func (m *Resources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Resources.Marshal(b, m, deterministic)
}
func (m *Resources) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Resources.Merge(m, src)
}
func (m *Resources) XXX_Size() int {
	return xxx_messageInfo_Resources.Size(m)
}
func (m *Resources) XXX_DiscardUnknown() {
	xxx_messageInfo_Resources.DiscardUnknown(m)
}

var xxx_messageInfo_Resources proto.InternalMessageInfo

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

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

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

type Access struct {
	// Allow access for DataLens
	DataLens             bool     `protobuf:"varint,1,opt,name=data_lens,json=dataLens,proto3" json:"data_lens,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Access) Reset()         { *m = Access{} }
func (m *Access) String() string { return proto.CompactTextString(m) }
func (*Access) ProtoMessage()    {}
func (*Access) Descriptor() ([]byte, []int) {
	return fileDescriptor_4544583b17c4e771, []int{6}
}

func (m *Access) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Access.Unmarshal(m, b)
}
func (m *Access) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Access.Marshal(b, m, deterministic)
}
func (m *Access) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Access.Merge(m, src)
}
func (m *Access) XXX_Size() int {
	return xxx_messageInfo_Access.Size(m)
}
func (m *Access) XXX_DiscardUnknown() {
	xxx_messageInfo_Access.DiscardUnknown(m)
}

var xxx_messageInfo_Access proto.InternalMessageInfo

func (m *Access) GetDataLens() bool {
	if m != nil {
		return m.DataLens
	}
	return false
}

func init() {
	proto.RegisterEnum("yandex.cloud.mdb.mysql.v1.Cluster_Environment", Cluster_Environment_name, Cluster_Environment_value)
	proto.RegisterEnum("yandex.cloud.mdb.mysql.v1.Cluster_Health", Cluster_Health_name, Cluster_Health_value)
	proto.RegisterEnum("yandex.cloud.mdb.mysql.v1.Cluster_Status", Cluster_Status_name, Cluster_Status_value)
	proto.RegisterEnum("yandex.cloud.mdb.mysql.v1.Host_Role", Host_Role_name, Host_Role_value)
	proto.RegisterEnum("yandex.cloud.mdb.mysql.v1.Host_Health", Host_Health_name, Host_Health_value)
	proto.RegisterEnum("yandex.cloud.mdb.mysql.v1.Service_Type", Service_Type_name, Service_Type_value)
	proto.RegisterEnum("yandex.cloud.mdb.mysql.v1.Service_Health", Service_Health_name, Service_Health_value)
	proto.RegisterType((*Cluster)(nil), "yandex.cloud.mdb.mysql.v1.Cluster")
	proto.RegisterMapType((map[string]string)(nil), "yandex.cloud.mdb.mysql.v1.Cluster.LabelsEntry")
	proto.RegisterType((*Monitoring)(nil), "yandex.cloud.mdb.mysql.v1.Monitoring")
	proto.RegisterType((*ClusterConfig)(nil), "yandex.cloud.mdb.mysql.v1.ClusterConfig")
	proto.RegisterType((*Host)(nil), "yandex.cloud.mdb.mysql.v1.Host")
	proto.RegisterType((*Service)(nil), "yandex.cloud.mdb.mysql.v1.Service")
	proto.RegisterType((*Resources)(nil), "yandex.cloud.mdb.mysql.v1.Resources")
	proto.RegisterType((*Access)(nil), "yandex.cloud.mdb.mysql.v1.Access")
}

func init() {
	proto.RegisterFile("yandex/cloud/mdb/mysql/v1/cluster.proto", fileDescriptor_4544583b17c4e771)
}

var fileDescriptor_4544583b17c4e771 = []byte{
	// 1143 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xef, 0x6e, 0xe2, 0x46,
	0x10, 0x0f, 0xe0, 0x18, 0x3c, 0x10, 0xe4, 0x6e, 0x4f, 0x3d, 0x37, 0xd1, 0xa9, 0xa9, 0xd5, 0x6b,
	0xa8, 0xd4, 0x33, 0x0a, 0xa7, 0x28, 0x97, 0x9e, 0x74, 0xad, 0x03, 0xce, 0xc5, 0x2a, 0x01, 0xba,
	0x36, 0x39, 0x5d, 0x3f, 0xd4, 0x32, 0x78, 0x43, 0xac, 0x18, 0x9b, 0xda, 0x86, 0x1c, 0x79, 0x85,
	0x3e, 0x4d, 0xdf, 0xa8, 0x5f, 0xfa, 0x1e, 0xd5, 0xee, 0x9a, 0x40, 0xae, 0x0d, 0x49, 0xab, 0x7e,
	0xf3, 0xcc, 0xce, 0x6f, 0x3c, 0x7f, 0x7f, 0xbb, 0xb0, 0x37, 0x77, 0x43, 0x8f, 0x7c, 0xa8, 0x0f,
	0x83, 0x68, 0xea, 0xd5, 0xc7, 0xde, 0xa0, 0x3e, 0x9e, 0x27, 0xbf, 0x06, 0xf5, 0xd9, 0x7e, 0x7d,
	0x18, 0x4c, 0x93, 0x94, 0xc4, 0xda, 0x24, 0x8e, 0xd2, 0x08, 0x7d, 0xce, 0x0d, 0x35, 0x66, 0xa8,
	0x8d, 0xbd, 0x81, 0xc6, 0x0c, 0xb5, 0xd9, 0xfe, 0xf6, 0x17, 0xa3, 0x28, 0x1a, 0x05, 0xa4, 0xce,
	0x0c, 0x07, 0xd3, 0x8b, 0x7a, 0xea, 0x8f, 0x49, 0x92, 0xba, 0xe3, 0x09, 0xc7, 0x6e, 0xef, 0x64,
	0x06, 0xe9, 0x7c, 0x42, 0xd8, 0x61, 0x74, 0xe1, 0xb9, 0xf3, 0xec, 0xb0, 0xbe, 0x26, 0x82, 0x28,
	0xbc, 0xf0, 0x47, 0x5c, 0x3e, 0x70, 0x0e, 0x39, 0x40, 0xfd, 0xbd, 0x08, 0xc5, 0x26, 0x8f, 0x0d,
	0x55, 0x21, 0xef, 0x7b, 0x4a, 0x6e, 0x37, 0x57, 0x93, 0x70, 0xde, 0xf7, 0xd0, 0x0e, 0x48, 0x17,
	0x51, 0xe0, 0x91, 0xd8, 0xf1, 0x3d, 0x25, 0xcf, 0xd4, 0x25, 0xae, 0x30, 0x3d, 0x74, 0x04, 0x30,
	0x8c, 0x89, 0x9b, 0x12, 0xcf, 0x71, 0x53, 0xa5, 0xb0, 0x9b, 0xab, 0x95, 0x1b, 0xdb, 0x1a, 0x8f,
	0x4d, 0x5b, 0x04, 0xaf, 0xd9, 0x8b, 0xe0, 0xb1, 0x94, 0x59, 0xeb, 0x29, 0x42, 0x20, 0x84, 0xee,
	0x98, 0x28, 0x02, 0x73, 0xc9, 0xbe, 0xd1, 0x2e, 0x94, 0x3d, 0x92, 0x0c, 0x63, 0x7f, 0x92, 0xfa,
	0x51, 0xa8, 0x6c, 0xb2, 0xa3, 0x55, 0x15, 0x3a, 0x01, 0x31, 0x70, 0x07, 0x24, 0x48, 0x14, 0x71,
	0xb7, 0x50, 0x2b, 0x37, 0x34, 0xed, 0xde, 0x22, 0x6a, 0x59, 0x46, 0x5a, 0x9b, 0x01, 0x8c, 0x30,
	0x8d, 0xe7, 0x38, 0x43, 0xa3, 0x1e, 0x94, 0x49, 0x38, 0xf3, 0xe3, 0x28, 0x1c, 0x93, 0x30, 0x55,
	0x8a, 0xbb, 0xb9, 0x5a, 0xf5, 0x51, 0xce, 0x8c, 0x25, 0x0a, 0xaf, 0xba, 0x40, 0x06, 0xc0, 0x38,
	0x0a, 0xfd, 0x34, 0x8a, 0xfd, 0x70, 0xa4, 0x94, 0x58, 0x74, 0xcf, 0xd7, 0x38, 0x3c, 0xbb, 0x35,
	0xc6, 0x2b, 0x40, 0xf4, 0x03, 0x88, 0xbc, 0x47, 0x8a, 0xc4, 0xaa, 0x59, 0x7b, 0x38, 0xa6, 0x26,
	0xb3, 0xc7, 0x19, 0x0e, 0x3d, 0x03, 0x08, 0x49, 0x7a, 0x1d, 0xc5, 0x57, 0xb4, 0x63, 0xc0, 0x6a,
	0x28, 0x65, 0x1a, 0xd3, 0x43, 0x3a, 0x88, 0x97, 0xc4, 0x0d, 0xd2, 0x4b, 0xa5, 0xcc, 0x92, 0xfe,
	0xe6, 0x11, 0x49, 0x9f, 0x32, 0x00, 0xce, 0x80, 0xd4, 0x45, 0x92, 0xba, 0xe9, 0x34, 0x51, 0x2a,
	0x8f, 0x76, 0x61, 0x31, 0x00, 0xce, 0x80, 0xdb, 0x47, 0x50, 0x5e, 0x69, 0x0b, 0x92, 0xa1, 0x70,
	0x45, 0xe6, 0xd9, 0xd4, 0xd1, 0x4f, 0xf4, 0x04, 0x36, 0x67, 0x6e, 0x30, 0x25, 0xd9, 0xc8, 0x71,
	0xe1, 0xbb, 0xfc, 0xab, 0x9c, 0x6a, 0x42, 0x79, 0xa5, 0x09, 0x68, 0x07, 0x9e, 0x1a, 0x9d, 0x73,
	0x13, 0x77, 0x3b, 0x67, 0x46, 0xc7, 0x76, 0xfa, 0x1d, 0xab, 0x67, 0x34, 0xcd, 0x13, 0xd3, 0x68,
	0xc9, 0x1b, 0xa8, 0x0a, 0xd0, 0xc3, 0xdd, 0x56, 0xbf, 0x69, 0x9b, 0xdd, 0x8e, 0x9c, 0x43, 0x5b,
	0x20, 0xf5, 0xb0, 0x61, 0xd9, 0xfa, 0x71, 0xdb, 0x90, 0xf3, 0xea, 0xf7, 0x20, 0xf2, 0xd4, 0x10,
	0x82, 0xea, 0xa9, 0xa1, 0xb7, 0xed, 0x53, 0xa7, 0xdf, 0xf9, 0xb1, 0xd3, 0x7d, 0xd7, 0x91, 0x37,
	0x90, 0x04, 0x9b, 0x7a, 0xdb, 0x3c, 0x37, 0xe4, 0x1c, 0x2a, 0x81, 0xd0, 0x32, 0xf4, 0x96, 0x9c,
	0x47, 0x15, 0x28, 0xb5, 0x8c, 0xb7, 0x58, 0x6f, 0x19, 0x2d, 0xb9, 0xa0, 0xce, 0x41, 0xe4, 0x89,
	0x51, 0x07, 0x96, 0xad, 0xdb, 0x7d, 0x6b, 0xc5, 0x41, 0x05, 0x4a, 0x4d, 0x6c, 0xe8, 0xb6, 0xd9,
	0x79, 0x2b, 0xe7, 0x50, 0x19, 0x8a, 0xb8, 0xdf, 0xe9, 0x50, 0x21, 0x4f, 0x7d, 0x1b, 0x18, 0x77,
	0xb1, 0x5c, 0xa0, 0x56, 0xfd, 0x5e, 0x8b, 0x5b, 0x09, 0x54, 0xb2, 0xec, 0x6e, 0xaf, 0x47, 0xa5,
	0x4d, 0x8a, 0x61, 0x92, 0xd1, 0x92, 0x45, 0x7e, 0xa4, 0x63, 0x66, 0x58, 0x54, 0xcf, 0x01, 0x96,
	0x23, 0x74, 0xbb, 0x4d, 0xb9, 0xfb, 0xb7, 0x29, 0xff, 0xf7, 0x6d, 0x42, 0x20, 0x04, 0x7e, 0x78,
	0xc5, 0x16, 0x57, 0xc2, 0xec, 0x5b, 0xfd, 0x23, 0x0f, 0x5b, 0x77, 0x06, 0x0b, 0x29, 0x50, 0x9c,
	0x91, 0x38, 0xa1, 0x3e, 0xb8, 0xfb, 0x85, 0x88, 0x7e, 0x01, 0x99, 0x35, 0xda, 0xe1, 0xa3, 0xe7,
	0x1c, 0x38, 0x87, 0xec, 0x37, 0xe5, 0xc6, 0xcb, 0x35, 0x23, 0xc1, 0x8d, 0xb5, 0x33, 0x2a, 0xf3,
	0x5f, 0x58, 0x24, 0x3d, 0x70, 0x0e, 0x4f, 0x37, 0xf0, 0xd6, 0x78, 0xa9, 0x3c, 0x38, 0x44, 0xc7,
	0x20, 0xc5, 0x24, 0x89, 0xa6, 0xf1, 0x90, 0x24, 0x19, 0xbb, 0x7c, 0xb5, 0xc6, 0x31, 0x5e, 0xd8,
	0xe2, 0x25, 0x0c, 0x9d, 0xc0, 0xa7, 0x03, 0x77, 0x78, 0x35, 0x9d, 0x38, 0xd7, 0x7e, 0xe8, 0x45,
	0xd7, 0x4e, 0x92, 0xba, 0x71, 0xca, 0x68, 0xa7, 0xdc, 0xf8, 0x6c, 0xc1, 0x55, 0x94, 0x47, 0x19,
	0x4f, 0x75, 0x2f, 0x5a, 0xee, 0x1c, 0x7f, 0xc2, 0x21, 0xef, 0x18, 0xc2, 0xa2, 0x00, 0x74, 0x04,
	0xa2, 0x3b, 0x1c, 0x92, 0x24, 0x61, 0xb4, 0x54, 0x6e, 0x7c, 0xb9, 0x26, 0x10, 0x9d, 0x19, 0xe2,
	0x0c, 0x70, 0x5c, 0x85, 0xca, 0x6a, 0x99, 0xd4, 0xdf, 0x04, 0x10, 0x4e, 0xa3, 0x24, 0xfd, 0xc7,
	0xae, 0x3d, 0x03, 0xc8, 0xae, 0x89, 0x25, 0xe1, 0x4a, 0x99, 0xc6, 0xf4, 0xd0, 0x53, 0x28, 0xde,
	0x44, 0x21, 0xa1, 0x67, 0xbc, 0x6b, 0x22, 0x15, 0x4d, 0xef, 0x6e, 0xad, 0x84, 0xff, 0x56, 0xab,
	0x57, 0x20, 0xc4, 0x51, 0x40, 0x58, 0x86, 0xd5, 0xb5, 0x70, 0x1a, 0xbe, 0x86, 0xa3, 0x80, 0x60,
	0x86, 0x40, 0x6f, 0x6e, 0x59, 0x45, 0x64, 0xd8, 0xaf, 0x1f, 0xc2, 0x7e, 0x44, 0x29, 0x6f, 0xa0,
	0x94, 0x90, 0x78, 0xe6, 0xd3, 0xe0, 0x8b, 0x8c, 0x3b, 0xd5, 0x35, 0x1e, 0x2c, 0x6e, 0x8a, 0x6f,
	0x31, 0xf4, 0x96, 0x4a, 0xa6, 0x83, 0x90, 0xa4, 0xb4, 0x30, 0x25, 0x7e, 0x4b, 0x71, 0x85, 0xe9,
	0xa1, 0x1a, 0xc8, 0x6e, 0x92, 0xf8, 0xa3, 0xd0, 0x99, 0x4c, 0x07, 0x81, 0x3f, 0x74, 0xfc, 0x09,
	0x63, 0xd7, 0x12, 0xae, 0x72, 0x7d, 0x8f, 0xa9, 0xcd, 0x89, 0xba, 0x0f, 0x02, 0x4d, 0x0a, 0xc9,
	0x50, 0xc1, 0xdd, 0xb6, 0xb1, 0xb2, 0xcb, 0x00, 0xe2, 0x99, 0x6e, 0xd9, 0x06, 0xce, 0x36, 0xd9,
	0xe8, 0xb5, 0xcd, 0xa6, 0xfe, 0x7f, 0x70, 0xc8, 0x9f, 0x39, 0x28, 0x66, 0x09, 0xa1, 0xd7, 0x20,
	0xd0, 0x49, 0x64, 0x03, 0x51, 0x6d, 0xec, 0x3d, 0x5c, 0x02, 0xcd, 0x9e, 0x4f, 0x08, 0x66, 0xa0,
	0x15, 0x66, 0xcf, 0x3f, 0x48, 0xcb, 0x0b, 0xf8, 0xdd, 0x36, 0xa8, 0x7b, 0x20, 0x50, 0x87, 0xe8,
	0x09, 0xc8, 0xf6, 0xfb, 0x9e, 0xf1, 0x11, 0x9b, 0x4a, 0xb0, 0x79, 0xf6, 0xde, 0xfa, 0xa9, 0x2d,
	0xe7, 0xd4, 0xfd, 0x7f, 0x9d, 0xb5, 0xfa, 0x01, 0xa4, 0xdb, 0xa1, 0x43, 0xdf, 0x02, 0x5a, 0x8c,
	0x9d, 0x33, 0x89, 0x49, 0xc2, 0x1b, 0xc7, 0xf7, 0x40, 0x5e, 0x9c, 0xf4, 0xd8, 0x81, 0xc9, 0xde,
	0x20, 0x9e, 0x9f, 0x5c, 0x39, 0x89, 0x7f, 0xc3, 0x2f, 0x84, 0x02, 0x2e, 0x51, 0x85, 0xe5, 0xdf,
	0x50, 0x9a, 0xab, 0xb0, 0x43, 0x5a, 0x83, 0xe5, 0x5a, 0x00, 0xd5, 0xd1, 0x5c, 0x4c, 0x4f, 0x7d,
	0x0e, 0x22, 0xdf, 0x48, 0xe6, 0xc8, 0x4d, 0x5d, 0x27, 0x20, 0x61, 0xc2, 0xfe, 0x56, 0xc2, 0x25,
	0xaa, 0x68, 0x93, 0x30, 0x39, 0x36, 0x7e, 0x6e, 0x8e, 0xfc, 0xf4, 0x72, 0x3a, 0xd0, 0x86, 0xd1,
	0x38, 0x7b, 0x43, 0xbd, 0xe0, 0x6f, 0xa8, 0x51, 0xf4, 0x62, 0x44, 0x42, 0xf6, 0xa0, 0xb9, 0xff,
	0x71, 0xf5, 0x9a, 0x7d, 0x0c, 0x44, 0x66, 0xf6, 0xf2, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x74,
	0x71, 0xe5, 0xd8, 0x08, 0x0a, 0x00, 0x00,
}
