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

package k8s

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

const (
	ReleaseChannel_RELEASE_CHANNEL_UNSPECIFIED ReleaseChannel = 0
	// Minor updates with new functions and improvements are often added.
	// You can't disable automatic updates in this channel, but you can specify a time period for automatic updates.
	ReleaseChannel_RAPID ReleaseChannel = 1
	// New functions and improvements are added in chunks shortly after they appear on `RAPID`.
	ReleaseChannel_REGULAR ReleaseChannel = 2
	// Only updates related to bug fixes or security improvements are added.
	ReleaseChannel_STABLE ReleaseChannel = 3
)

// Enum value maps for ReleaseChannel.
var (
	ReleaseChannel_name = map[int32]string{
		0: "RELEASE_CHANNEL_UNSPECIFIED",
		1: "RAPID",
		2: "REGULAR",
		3: "STABLE",
	}
	ReleaseChannel_value = map[string]int32{
		"RELEASE_CHANNEL_UNSPECIFIED": 0,
		"RAPID":                       1,
		"REGULAR":                     2,
		"STABLE":                      3,
	}
)

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

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

func (ReleaseChannel) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_k8s_v1_cluster_proto_enumTypes[0].Descriptor()
}

func (ReleaseChannel) Type() protoreflect.EnumType {
	return &file_yandex_cloud_k8s_v1_cluster_proto_enumTypes[0]
}

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

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

type Cluster_Status int32

const (
	Cluster_STATUS_UNSPECIFIED Cluster_Status = 0
	// Kubernetes cluster is waiting for resources to be allocated.
	Cluster_PROVISIONING Cluster_Status = 1
	// Kubernetes cluster is running.
	Cluster_RUNNING Cluster_Status = 2
	// Kubernetes cluster is being reconciled.
	Cluster_RECONCILING Cluster_Status = 3
	// Kubernetes cluster is being stopped.
	Cluster_STOPPING Cluster_Status = 4
	// Kubernetes cluster stopped.
	Cluster_STOPPED Cluster_Status = 5
	// Kubernetes cluster is being deleted.
	Cluster_DELETING Cluster_Status = 6
	// Kubernetes cluster is being started.
	Cluster_STARTING Cluster_Status = 7
)

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

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_k8s_v1_cluster_proto_enumTypes[1].Descriptor()
}

func (Cluster_Status) Type() protoreflect.EnumType {
	return &file_yandex_cloud_k8s_v1_cluster_proto_enumTypes[1]
}

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_k8s_v1_cluster_proto_rawDescGZIP(), []int{0, 0}
}

type Cluster_Health int32

const (
	Cluster_HEALTH_UNSPECIFIED Cluster_Health = 0
	// Kubernetes cluster is alive and well.
	Cluster_HEALTHY Cluster_Health = 1
	// Kubernetes cluster is inoperable.
	Cluster_UNHEALTHY Cluster_Health = 2
)

// Enum value maps for Cluster_Health.
var (
	Cluster_Health_name = map[int32]string{
		0: "HEALTH_UNSPECIFIED",
		1: "HEALTHY",
		2: "UNHEALTHY",
	}
	Cluster_Health_value = map[string]int32{
		"HEALTH_UNSPECIFIED": 0,
		"HEALTHY":            1,
		"UNHEALTHY":          2,
	}
)

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_k8s_v1_cluster_proto_enumTypes[2].Descriptor()
}

func (Cluster_Health) Type() protoreflect.EnumType {
	return &file_yandex_cloud_k8s_v1_cluster_proto_enumTypes[2]
}

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_k8s_v1_cluster_proto_rawDescGZIP(), []int{0, 1}
}

type NetworkPolicy_Provider int32

const (
	NetworkPolicy_PROVIDER_UNSPECIFIED NetworkPolicy_Provider = 0
	NetworkPolicy_CALICO               NetworkPolicy_Provider = 1
)

// Enum value maps for NetworkPolicy_Provider.
var (
	NetworkPolicy_Provider_name = map[int32]string{
		0: "PROVIDER_UNSPECIFIED",
		1: "CALICO",
	}
	NetworkPolicy_Provider_value = map[string]int32{
		"PROVIDER_UNSPECIFIED": 0,
		"CALICO":               1,
	}
)

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

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

func (NetworkPolicy_Provider) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_k8s_v1_cluster_proto_enumTypes[3].Descriptor()
}

func (NetworkPolicy_Provider) Type() protoreflect.EnumType {
	return &file_yandex_cloud_k8s_v1_cluster_proto_enumTypes[3]
}

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

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

type Cilium_RoutingMode int32

const (
	Cilium_ROUTING_MODE_UNSPECIFIED Cilium_RoutingMode = 0
	Cilium_TUNNEL                   Cilium_RoutingMode = 1
)

// Enum value maps for Cilium_RoutingMode.
var (
	Cilium_RoutingMode_name = map[int32]string{
		0: "ROUTING_MODE_UNSPECIFIED",
		1: "TUNNEL",
	}
	Cilium_RoutingMode_value = map[string]int32{
		"ROUTING_MODE_UNSPECIFIED": 0,
		"TUNNEL":                   1,
	}
)

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

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

func (Cilium_RoutingMode) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_k8s_v1_cluster_proto_enumTypes[4].Descriptor()
}

func (Cilium_RoutingMode) Type() protoreflect.EnumType {
	return &file_yandex_cloud_k8s_v1_cluster_proto_enumTypes[4]
}

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

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

// A Kubernetes cluster.
type Cluster struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the Kubernetes cluster.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// ID of the folder that the Kubernetes cluster belongs to.
	FolderId string `protobuf:"bytes,2,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"`
	// Creation timestamp.
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Name of the Kubernetes cluster.
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	// Description of the Kubernetes cluster. 0-256 characters long.
	Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
	// Resource labels as `key:value` pairs. Maximum of 64 per resource.
	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"`
	// Status of the Kubernetes cluster.
	Status Cluster_Status `protobuf:"varint,7,opt,name=status,proto3,enum=yandex.cloud.k8s.v1.Cluster_Status" json:"status,omitempty"`
	// Health of the Kubernetes cluster.
	Health Cluster_Health `protobuf:"varint,8,opt,name=health,proto3,enum=yandex.cloud.k8s.v1.Cluster_Health" json:"health,omitempty"`
	// ID of the network the Kubernetes cluster belongs to.
	NetworkId string `protobuf:"bytes,9,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"`
	// Properties of the master for the Kubernetes cluster.
	Master *Master `protobuf:"bytes,10,opt,name=master,proto3" json:"master,omitempty"`
	// Allocation policy for IP addresses of services and pods inside the Kubernetes cluster in different availability zones.
	IpAllocationPolicy *IPAllocationPolicy `protobuf:"bytes,11,opt,name=ip_allocation_policy,json=ipAllocationPolicy,proto3" json:"ip_allocation_policy,omitempty"`
	// Types that are valid to be assigned to InternetGateway:
	//
	//	*Cluster_GatewayIpv4Address
	InternetGateway isCluster_InternetGateway `protobuf_oneof:"internet_gateway"`
	// Service account to be used for provisioning Compute Cloud and VPC resources for Kubernetes cluster.
	ServiceAccountId string `protobuf:"bytes,13,opt,name=service_account_id,json=serviceAccountId,proto3" json:"service_account_id,omitempty"`
	// Service account to be used by the worker nodes of the Kubernetes cluster to access Container Registry or to push node logs and metrics.
	NodeServiceAccountId string `protobuf:"bytes,14,opt,name=node_service_account_id,json=nodeServiceAccountId,proto3" json:"node_service_account_id,omitempty"`
	// When creating a Kubernetes cluster, you should specify one of three release channels. The release channel contains several Kubernetes versions.
	// Channels differ in the set of available versions, the management of auto-updates, and the updates received.
	// You can't change the channel once the Kubernetes cluster is created, you can only recreate the Kubernetes cluster and specify a new release channel.
	// For more details see [documentation](/docs/managed-kubernetes/concepts/release-channels-and-updates).
	ReleaseChannel ReleaseChannel `protobuf:"varint,15,opt,name=release_channel,json=releaseChannel,proto3,enum=yandex.cloud.k8s.v1.ReleaseChannel" json:"release_channel,omitempty"`
	NetworkPolicy  *NetworkPolicy `protobuf:"bytes,16,opt,name=network_policy,json=networkPolicy,proto3" json:"network_policy,omitempty"`
	// KMS provider configuration.
	KmsProvider *KMSProvider `protobuf:"bytes,17,opt,name=kms_provider,json=kmsProvider,proto3" json:"kms_provider,omitempty"`
	// Log group where cluster stores cluster system logs, like audit, events, or controlplane logs.
	LogGroupId string `protobuf:"bytes,18,opt,name=log_group_id,json=logGroupId,proto3" json:"log_group_id,omitempty"`
	// Types that are valid to be assigned to NetworkImplementation:
	//
	//	*Cluster_Cilium
	NetworkImplementation      isCluster_NetworkImplementation `protobuf_oneof:"network_implementation"`
	ScheduledMaintenance       *ScheduledMaintenance           `protobuf:"bytes,20,opt,name=scheduled_maintenance,json=scheduledMaintenance,proto3" json:"scheduled_maintenance,omitempty"`
	WorkloadIdentityFederation *WorkloadIdentityFederation     `protobuf:"bytes,21,opt,name=workload_identity_federation,json=workloadIdentityFederation,proto3" json:"workload_identity_federation,omitempty"`
	unknownFields              protoimpl.UnknownFields
	sizeCache                  protoimpl.SizeCache
}

func (x *Cluster) Reset() {
	*x = Cluster{}
	mi := &file_yandex_cloud_k8s_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_k8s_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_k8s_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) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

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) GetStatus() Cluster_Status {
	if x != nil {
		return x.Status
	}
	return Cluster_STATUS_UNSPECIFIED
}

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

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

func (x *Cluster) GetMaster() *Master {
	if x != nil {
		return x.Master
	}
	return nil
}

func (x *Cluster) GetIpAllocationPolicy() *IPAllocationPolicy {
	if x != nil {
		return x.IpAllocationPolicy
	}
	return nil
}

func (x *Cluster) GetInternetGateway() isCluster_InternetGateway {
	if x != nil {
		return x.InternetGateway
	}
	return nil
}

func (x *Cluster) GetGatewayIpv4Address() string {
	if x != nil {
		if x, ok := x.InternetGateway.(*Cluster_GatewayIpv4Address); ok {
			return x.GatewayIpv4Address
		}
	}
	return ""
}

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

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

func (x *Cluster) GetReleaseChannel() ReleaseChannel {
	if x != nil {
		return x.ReleaseChannel
	}
	return ReleaseChannel_RELEASE_CHANNEL_UNSPECIFIED
}

func (x *Cluster) GetNetworkPolicy() *NetworkPolicy {
	if x != nil {
		return x.NetworkPolicy
	}
	return nil
}

func (x *Cluster) GetKmsProvider() *KMSProvider {
	if x != nil {
		return x.KmsProvider
	}
	return nil
}

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

func (x *Cluster) GetNetworkImplementation() isCluster_NetworkImplementation {
	if x != nil {
		return x.NetworkImplementation
	}
	return nil
}

func (x *Cluster) GetCilium() *Cilium {
	if x != nil {
		if x, ok := x.NetworkImplementation.(*Cluster_Cilium); ok {
			return x.Cilium
		}
	}
	return nil
}

func (x *Cluster) GetScheduledMaintenance() *ScheduledMaintenance {
	if x != nil {
		return x.ScheduledMaintenance
	}
	return nil
}

func (x *Cluster) GetWorkloadIdentityFederation() *WorkloadIdentityFederation {
	if x != nil {
		return x.WorkloadIdentityFederation
	}
	return nil
}

type isCluster_InternetGateway interface {
	isCluster_InternetGateway()
}

type Cluster_GatewayIpv4Address struct {
	// Gateway IPv4 address.
	GatewayIpv4Address string `protobuf:"bytes,12,opt,name=gateway_ipv4_address,json=gatewayIpv4Address,proto3,oneof"`
}

func (*Cluster_GatewayIpv4Address) isCluster_InternetGateway() {}

type isCluster_NetworkImplementation interface {
	isCluster_NetworkImplementation()
}

type Cluster_Cilium struct {
	Cilium *Cilium `protobuf:"bytes,19,opt,name=cilium,proto3,oneof"`
}

func (*Cluster_Cilium) isCluster_NetworkImplementation() {}

type Master struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to MasterType:
	//
	//	*Master_ZonalMaster
	//	*Master_RegionalMaster
	MasterType isMaster_MasterType `protobuf_oneof:"master_type"`
	// Locations specification for Kubernetes control-plane (master) instances.
	Locations []*Location `protobuf:"bytes,10,rep,name=locations,proto3" json:"locations,omitempty"`
	// Number of etcd nodes in cluster.
	EtcdClusterSize int64 `protobuf:"varint,11,opt,name=etcd_cluster_size,json=etcdClusterSize,proto3" json:"etcd_cluster_size,omitempty"`
	// Version of Kubernetes components that runs on the master.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// Endpoints of the master. Endpoints constitute of scheme and port (i.e. `https://ip-address:port`)
	// and can be used by the clients to communicate with the Kubernetes API of the Kubernetes cluster.
	Endpoints *MasterEndpoints `protobuf:"bytes,3,opt,name=endpoints,proto3" json:"endpoints,omitempty"`
	// Master authentication parameters are used to establish trust between the master and a client.
	MasterAuth *MasterAuth `protobuf:"bytes,4,opt,name=master_auth,json=masterAuth,proto3" json:"master_auth,omitempty"`
	// Detailed information about the Kubernetes version that is running on the master.
	VersionInfo *VersionInfo `protobuf:"bytes,5,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
	// Maintenance policy of the master.
	MaintenancePolicy *MasterMaintenancePolicy `protobuf:"bytes,6,opt,name=maintenance_policy,json=maintenancePolicy,proto3" json:"maintenance_policy,omitempty"`
	// Master security groups.
	SecurityGroupIds []string `protobuf:"bytes,8,rep,name=security_group_ids,json=securityGroupIds,proto3" json:"security_group_ids,omitempty"`
	// Cloud Logging for master components.
	MasterLogging *MasterLogging `protobuf:"bytes,9,opt,name=master_logging,json=masterLogging,proto3" json:"master_logging,omitempty"`
	// Computing resources of each master instance such as the amount of memory and number of cores.
	Resources *MasterResources `protobuf:"bytes,12,opt,name=resources,proto3" json:"resources,omitempty"`
	// Scale policy of the master.
	ScalePolicy   *MasterScalePolicy `protobuf:"bytes,13,opt,name=scale_policy,json=scalePolicy,proto3" json:"scale_policy,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Master) ProtoMessage() {}

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

func (x *Master) GetMasterType() isMaster_MasterType {
	if x != nil {
		return x.MasterType
	}
	return nil
}

func (x *Master) GetZonalMaster() *ZonalMaster {
	if x != nil {
		if x, ok := x.MasterType.(*Master_ZonalMaster); ok {
			return x.ZonalMaster
		}
	}
	return nil
}

func (x *Master) GetRegionalMaster() *RegionalMaster {
	if x != nil {
		if x, ok := x.MasterType.(*Master_RegionalMaster); ok {
			return x.RegionalMaster
		}
	}
	return nil
}

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

func (x *Master) GetEtcdClusterSize() int64 {
	if x != nil {
		return x.EtcdClusterSize
	}
	return 0
}

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

func (x *Master) GetEndpoints() *MasterEndpoints {
	if x != nil {
		return x.Endpoints
	}
	return nil
}

func (x *Master) GetMasterAuth() *MasterAuth {
	if x != nil {
		return x.MasterAuth
	}
	return nil
}

func (x *Master) GetVersionInfo() *VersionInfo {
	if x != nil {
		return x.VersionInfo
	}
	return nil
}

func (x *Master) GetMaintenancePolicy() *MasterMaintenancePolicy {
	if x != nil {
		return x.MaintenancePolicy
	}
	return nil
}

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

func (x *Master) GetMasterLogging() *MasterLogging {
	if x != nil {
		return x.MasterLogging
	}
	return nil
}

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

func (x *Master) GetScalePolicy() *MasterScalePolicy {
	if x != nil {
		return x.ScalePolicy
	}
	return nil
}

type isMaster_MasterType interface {
	isMaster_MasterType()
}

type Master_ZonalMaster struct {
	// Parameters of the availability zone for the master.
	ZonalMaster *ZonalMaster `protobuf:"bytes,1,opt,name=zonal_master,json=zonalMaster,proto3,oneof"`
}

type Master_RegionalMaster struct {
	// Parameters of the region for the master.
	RegionalMaster *RegionalMaster `protobuf:"bytes,7,opt,name=regional_master,json=regionalMaster,proto3,oneof"`
}

func (*Master_ZonalMaster) isMaster_MasterType() {}

func (*Master_RegionalMaster) isMaster_MasterType() {}

type MasterAuth struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// PEM-encoded public certificate that is the root of trust for the Kubernetes cluster.
	ClusterCaCertificate string `protobuf:"bytes,1,opt,name=cluster_ca_certificate,json=clusterCaCertificate,proto3" json:"cluster_ca_certificate,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

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

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

func (*MasterAuth) ProtoMessage() {}

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

func (x *MasterAuth) GetClusterCaCertificate() string {
	if x != nil {
		return x.ClusterCaCertificate
	}
	return ""
}

type ZonalMaster struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the availability zone where the master resides.
	ZoneId string `protobuf:"bytes,1,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"`
	// IPv4 internal network address that is assigned to the master.
	InternalV4Address string `protobuf:"bytes,2,opt,name=internal_v4_address,json=internalV4Address,proto3" json:"internal_v4_address,omitempty"`
	// IPv4 external network address that is assigned to the master.
	ExternalV4Address string `protobuf:"bytes,3,opt,name=external_v4_address,json=externalV4Address,proto3" json:"external_v4_address,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*ZonalMaster) ProtoMessage() {}

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

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

func (x *ZonalMaster) GetInternalV4Address() string {
	if x != nil {
		return x.InternalV4Address
	}
	return ""
}

func (x *ZonalMaster) GetExternalV4Address() string {
	if x != nil {
		return x.ExternalV4Address
	}
	return ""
}

type RegionalMaster struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the region where the master resides.
	RegionId string `protobuf:"bytes,1,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
	// IPv4 internal network address that is assigned to the master.
	InternalV4Address string `protobuf:"bytes,2,opt,name=internal_v4_address,json=internalV4Address,proto3" json:"internal_v4_address,omitempty"`
	// IPv4 external network address that is assigned to the master.
	ExternalV4Address string `protobuf:"bytes,3,opt,name=external_v4_address,json=externalV4Address,proto3" json:"external_v4_address,omitempty"`
	// IPv6 external network address that is assigned to the master.
	ExternalV6Address string `protobuf:"bytes,4,opt,name=external_v6_address,json=externalV6Address,proto3" json:"external_v6_address,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*RegionalMaster) ProtoMessage() {}

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

func (x *RegionalMaster) GetRegionId() string {
	if x != nil {
		return x.RegionId
	}
	return ""
}

func (x *RegionalMaster) GetInternalV4Address() string {
	if x != nil {
		return x.InternalV4Address
	}
	return ""
}

func (x *RegionalMaster) GetExternalV4Address() string {
	if x != nil {
		return x.ExternalV4Address
	}
	return ""
}

func (x *RegionalMaster) GetExternalV6Address() string {
	if x != nil {
		return x.ExternalV6Address
	}
	return ""
}

type Location struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the availability zone where the master resides.
	ZoneId string `protobuf:"bytes,1,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"`
	// ID of the VPC network's subnet where the master resides.
	SubnetId      string `protobuf:"bytes,2,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Location) ProtoMessage() {}

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

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

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

type MasterEndpoints struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Internal endpoint that can be used to connect to the master from cloud networks.
	InternalV4Endpoint string `protobuf:"bytes,1,opt,name=internal_v4_endpoint,json=internalV4Endpoint,proto3" json:"internal_v4_endpoint,omitempty"`
	// External endpoint that can be used to access Kubernetes cluster API from the internet (outside of the cloud).
	ExternalV4Endpoint string `protobuf:"bytes,2,opt,name=external_v4_endpoint,json=externalV4Endpoint,proto3" json:"external_v4_endpoint,omitempty"`
	// External IPv6 endpoint that can be used to access Kubernetes cluster API from the internet (outside of the cloud).
	ExternalV6Endpoint string `protobuf:"bytes,3,opt,name=external_v6_endpoint,json=externalV6Endpoint,proto3" json:"external_v6_endpoint,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*MasterEndpoints) ProtoMessage() {}

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

func (x *MasterEndpoints) GetInternalV4Endpoint() string {
	if x != nil {
		return x.InternalV4Endpoint
	}
	return ""
}

func (x *MasterEndpoints) GetExternalV4Endpoint() string {
	if x != nil {
		return x.ExternalV4Endpoint
	}
	return ""
}

func (x *MasterEndpoints) GetExternalV6Endpoint() string {
	if x != nil {
		return x.ExternalV6Endpoint
	}
	return ""
}

type IPAllocationPolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// CIDR block. IP range for allocating pod addresses.
	//
	// It should not overlap with any subnet in the network the Kubernetes cluster located in. Static routes will be
	// set up for this CIDR blocks in node subnets.
	ClusterIpv4CidrBlock string `protobuf:"bytes,1,opt,name=cluster_ipv4_cidr_block,json=clusterIpv4CidrBlock,proto3" json:"cluster_ipv4_cidr_block,omitempty"`
	// Size of the masks that are assigned for each node in the cluster.
	//
	// If not specified, 24 is used.
	NodeIpv4CidrMaskSize int64 `protobuf:"varint,5,opt,name=node_ipv4_cidr_mask_size,json=nodeIpv4CidrMaskSize,proto3" json:"node_ipv4_cidr_mask_size,omitempty"`
	// CIDR block. IP range Kubernetes service Kubernetes cluster IP addresses will be allocated from.
	//
	// It should not overlap with any subnet in the network the Kubernetes cluster located in.
	ServiceIpv4CidrBlock string `protobuf:"bytes,2,opt,name=service_ipv4_cidr_block,json=serviceIpv4CidrBlock,proto3" json:"service_ipv4_cidr_block,omitempty"`
	// IPv6 range for allocating pod IP addresses.
	ClusterIpv6CidrBlock string `protobuf:"bytes,6,opt,name=cluster_ipv6_cidr_block,json=clusterIpv6CidrBlock,proto3" json:"cluster_ipv6_cidr_block,omitempty"`
	// IPv6 range for allocating Kubernetes service IP addresses
	ServiceIpv6CidrBlock string `protobuf:"bytes,7,opt,name=service_ipv6_cidr_block,json=serviceIpv6CidrBlock,proto3" json:"service_ipv6_cidr_block,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

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

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

func (*IPAllocationPolicy) ProtoMessage() {}

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

func (x *IPAllocationPolicy) GetClusterIpv4CidrBlock() string {
	if x != nil {
		return x.ClusterIpv4CidrBlock
	}
	return ""
}

func (x *IPAllocationPolicy) GetNodeIpv4CidrMaskSize() int64 {
	if x != nil {
		return x.NodeIpv4CidrMaskSize
	}
	return 0
}

func (x *IPAllocationPolicy) GetServiceIpv4CidrBlock() string {
	if x != nil {
		return x.ServiceIpv4CidrBlock
	}
	return ""
}

func (x *IPAllocationPolicy) GetClusterIpv6CidrBlock() string {
	if x != nil {
		return x.ClusterIpv6CidrBlock
	}
	return ""
}

func (x *IPAllocationPolicy) GetServiceIpv6CidrBlock() string {
	if x != nil {
		return x.ServiceIpv6CidrBlock
	}
	return ""
}

type MasterMaintenancePolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// If set to true, automatic updates are installed in the specified period of time with no interaction from the user.
	// If set to false, automatic upgrades are disabled.
	AutoUpgrade bool `protobuf:"varint,1,opt,name=auto_upgrade,json=autoUpgrade,proto3" json:"auto_upgrade,omitempty"`
	// Maintenance window settings. Update will start at the specified time and last no more than the specified duration.
	// The time is set in UTC.
	MaintenanceWindow *MaintenanceWindow `protobuf:"bytes,2,opt,name=maintenance_window,json=maintenanceWindow,proto3" json:"maintenance_window,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*MasterMaintenancePolicy) ProtoMessage() {}

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

func (x *MasterMaintenancePolicy) GetAutoUpgrade() bool {
	if x != nil {
		return x.AutoUpgrade
	}
	return false
}

func (x *MasterMaintenancePolicy) GetMaintenanceWindow() *MaintenanceWindow {
	if x != nil {
		return x.MaintenanceWindow
	}
	return nil
}

type MasterLogging struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Identifies whether Cloud Logging is enabled for master components.
	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// The destination of master components' logs.
	//
	// Types that are valid to be assigned to Destination:
	//
	//	*MasterLogging_LogGroupId
	//	*MasterLogging_FolderId
	Destination isMasterLogging_Destination `protobuf_oneof:"destination"`
	// Identifies whether Cloud Logging is enabled for audit logs.
	AuditEnabled bool `protobuf:"varint,4,opt,name=audit_enabled,json=auditEnabled,proto3" json:"audit_enabled,omitempty"`
	// Identifies whether Cloud Logging is enabled for cluster-autoscaler.
	ClusterAutoscalerEnabled bool `protobuf:"varint,5,opt,name=cluster_autoscaler_enabled,json=clusterAutoscalerEnabled,proto3" json:"cluster_autoscaler_enabled,omitempty"`
	// Identifies whether Cloud Logging is enabled for kube-apiserver.
	KubeApiserverEnabled bool `protobuf:"varint,6,opt,name=kube_apiserver_enabled,json=kubeApiserverEnabled,proto3" json:"kube_apiserver_enabled,omitempty"`
	// Identifies whether Cloud Logging is enabled for events.
	EventsEnabled bool `protobuf:"varint,7,opt,name=events_enabled,json=eventsEnabled,proto3" json:"events_enabled,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MasterLogging) ProtoMessage() {}

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

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

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

func (x *MasterLogging) GetDestination() isMasterLogging_Destination {
	if x != nil {
		return x.Destination
	}
	return nil
}

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

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

func (x *MasterLogging) GetAuditEnabled() bool {
	if x != nil {
		return x.AuditEnabled
	}
	return false
}

func (x *MasterLogging) GetClusterAutoscalerEnabled() bool {
	if x != nil {
		return x.ClusterAutoscalerEnabled
	}
	return false
}

func (x *MasterLogging) GetKubeApiserverEnabled() bool {
	if x != nil {
		return x.KubeApiserverEnabled
	}
	return false
}

func (x *MasterLogging) GetEventsEnabled() bool {
	if x != nil {
		return x.EventsEnabled
	}
	return false
}

type isMasterLogging_Destination interface {
	isMasterLogging_Destination()
}

type MasterLogging_LogGroupId struct {
	// ID of the log group where logs of master components should be stored.
	LogGroupId string `protobuf:"bytes,2,opt,name=log_group_id,json=logGroupId,proto3,oneof"`
}

type MasterLogging_FolderId struct {
	// ID of the folder where logs should be stored (in default group).
	FolderId string `protobuf:"bytes,3,opt,name=folder_id,json=folderId,proto3,oneof"`
}

func (*MasterLogging_LogGroupId) isMasterLogging_Destination() {}

func (*MasterLogging_FolderId) isMasterLogging_Destination() {}

type NetworkPolicy struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Provider      NetworkPolicy_Provider `protobuf:"varint,1,opt,name=provider,proto3,enum=yandex.cloud.k8s.v1.NetworkPolicy_Provider" json:"provider,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*NetworkPolicy) ProtoMessage() {}

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

func (x *NetworkPolicy) GetProvider() NetworkPolicy_Provider {
	if x != nil {
		return x.Provider
	}
	return NetworkPolicy_PROVIDER_UNSPECIFIED
}

type KMSProvider struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// KMS key ID for secrets encryption.
	// To obtain a KMS key ID use a [yandex.cloud.kms.v1.SymmetricKeyService.List] request.
	KeyId         string `protobuf:"bytes,1,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*KMSProvider) ProtoMessage() {}

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

func (x *KMSProvider) GetKeyId() string {
	if x != nil {
		return x.KeyId
	}
	return ""
}

type Cilium struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RoutingMode   Cilium_RoutingMode     `protobuf:"varint,1,opt,name=routing_mode,json=routingMode,proto3,enum=yandex.cloud.k8s.v1.Cilium_RoutingMode" json:"routing_mode,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Cilium) ProtoMessage() {}

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

func (x *Cilium) GetRoutingMode() Cilium_RoutingMode {
	if x != nil {
		return x.RoutingMode
	}
	return Cilium_ROUTING_MODE_UNSPECIFIED
}

type MasterResources struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The number of cores available to each master instance.
	Cores int64 `protobuf:"varint,1,opt,name=cores,proto3" json:"cores,omitempty"`
	// Baseline level of CPU performance with the ability to burst performance above that baseline level.
	// This field sets baseline performance for each core.
	CoreFraction int64 `protobuf:"varint,2,opt,name=core_fraction,json=coreFraction,proto3" json:"core_fraction,omitempty"`
	// The amount of memory available to each master instance, specified in bytes.
	Memory        int64 `protobuf:"varint,3,opt,name=memory,proto3" json:"memory,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MasterResources) ProtoMessage() {}

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

func (x *MasterResources) GetCores() int64 {
	if x != nil {
		return x.Cores
	}
	return 0
}

func (x *MasterResources) GetCoreFraction() int64 {
	if x != nil {
		return x.CoreFraction
	}
	return 0
}

func (x *MasterResources) GetMemory() int64 {
	if x != nil {
		return x.Memory
	}
	return 0
}

type MasterScalePolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to ScaleType:
	//
	//	*MasterScalePolicy_FixedScale_
	//	*MasterScalePolicy_AutoScale_
	ScaleType     isMasterScalePolicy_ScaleType `protobuf_oneof:"scale_type"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MasterScalePolicy) ProtoMessage() {}

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

func (x *MasterScalePolicy) GetScaleType() isMasterScalePolicy_ScaleType {
	if x != nil {
		return x.ScaleType
	}
	return nil
}

func (x *MasterScalePolicy) GetFixedScale() *MasterScalePolicy_FixedScale {
	if x != nil {
		if x, ok := x.ScaleType.(*MasterScalePolicy_FixedScale_); ok {
			return x.FixedScale
		}
	}
	return nil
}

func (x *MasterScalePolicy) GetAutoScale() *MasterScalePolicy_AutoScale {
	if x != nil {
		if x, ok := x.ScaleType.(*MasterScalePolicy_AutoScale_); ok {
			return x.AutoScale
		}
	}
	return nil
}

type isMasterScalePolicy_ScaleType interface {
	isMasterScalePolicy_ScaleType()
}

type MasterScalePolicy_FixedScale_ struct {
	FixedScale *MasterScalePolicy_FixedScale `protobuf:"bytes,1,opt,name=fixed_scale,json=fixedScale,proto3,oneof"`
}

type MasterScalePolicy_AutoScale_ struct {
	AutoScale *MasterScalePolicy_AutoScale `protobuf:"bytes,2,opt,name=auto_scale,json=autoScale,proto3,oneof"`
}

func (*MasterScalePolicy_FixedScale_) isMasterScalePolicy_ScaleType() {}

func (*MasterScalePolicy_AutoScale_) isMasterScalePolicy_ScaleType() {}

// WorkloadIdentityFederation contains configuration for workload identity federation.
type WorkloadIdentityFederation struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Identifies whether Workload Identity Federation is enabled.
	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Issuer URI for Kubernetes service account tokens.
	Issuer string `protobuf:"bytes,2,opt,name=issuer,proto3" json:"issuer,omitempty"`
	// JSON Web Key Set URI used to verify token signatures.
	JwksUri       string `protobuf:"bytes,3,opt,name=jwks_uri,json=jwksUri,proto3" json:"jwks_uri,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WorkloadIdentityFederation) Reset() {
	*x = WorkloadIdentityFederation{}
	mi := &file_yandex_cloud_k8s_v1_cluster_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*WorkloadIdentityFederation) ProtoMessage() {}

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

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

func (x *WorkloadIdentityFederation) GetIssuer() string {
	if x != nil {
		return x.Issuer
	}
	return ""
}

func (x *WorkloadIdentityFederation) GetJwksUri() string {
	if x != nil {
		return x.JwksUri
	}
	return ""
}

// Fixed master instance resources.
type MasterScalePolicy_FixedScale struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of computing resources preset to be used by master.
	ResourcePresetId string `protobuf:"bytes,1,opt,name=resource_preset_id,json=resourcePresetId,proto3" json:"resource_preset_id,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*MasterScalePolicy_FixedScale) ProtoMessage() {}

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

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

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

// Autoscaled master instance resources.
type MasterScalePolicy_AutoScale struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of computing resources preset to be used as lower boundary for scaling.
	MinResourcePresetId string `protobuf:"bytes,1,opt,name=min_resource_preset_id,json=minResourcePresetId,proto3" json:"min_resource_preset_id,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

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

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

func (*MasterScalePolicy_AutoScale) ProtoMessage() {}

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

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

func (x *MasterScalePolicy_AutoScale) GetMinResourcePresetId() string {
	if x != nil {
		return x.MinResourcePresetId
	}
	return ""
}

var File_yandex_cloud_k8s_v1_cluster_proto protoreflect.FileDescriptor

const file_yandex_cloud_k8s_v1_cluster_proto_rawDesc = "" +
	"\n" +
	"!yandex/cloud/k8s/v1/cluster.proto\x12\x13yandex.cloud.k8s.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a%yandex/cloud/k8s/v1/maintenance.proto\x1a!yandex/cloud/k8s/v1/version.proto\x1a\x1dyandex/cloud/validation.proto\"\xf0\v\n" +
	"\aCluster\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" +
	"\tfolder_id\x18\x02 \x01(\tR\bfolderId\x129\n" +
	"\n" +
	"created_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x12\n" +
	"\x04name\x18\x04 \x01(\tR\x04name\x12 \n" +
	"\vdescription\x18\x05 \x01(\tR\vdescription\x12@\n" +
	"\x06labels\x18\x06 \x03(\v2(.yandex.cloud.k8s.v1.Cluster.LabelsEntryR\x06labels\x12;\n" +
	"\x06status\x18\a \x01(\x0e2#.yandex.cloud.k8s.v1.Cluster.StatusR\x06status\x12;\n" +
	"\x06health\x18\b \x01(\x0e2#.yandex.cloud.k8s.v1.Cluster.HealthR\x06health\x12\x1d\n" +
	"\n" +
	"network_id\x18\t \x01(\tR\tnetworkId\x123\n" +
	"\x06master\x18\n" +
	" \x01(\v2\x1b.yandex.cloud.k8s.v1.MasterR\x06master\x12Y\n" +
	"\x14ip_allocation_policy\x18\v \x01(\v2'.yandex.cloud.k8s.v1.IPAllocationPolicyR\x12ipAllocationPolicy\x12<\n" +
	"\x14gateway_ipv4_address\x18\f \x01(\tB\b\x8a\xc81\x04<=15H\x00R\x12gatewayIpv4Address\x12,\n" +
	"\x12service_account_id\x18\r \x01(\tR\x10serviceAccountId\x125\n" +
	"\x17node_service_account_id\x18\x0e \x01(\tR\x14nodeServiceAccountId\x12L\n" +
	"\x0frelease_channel\x18\x0f \x01(\x0e2#.yandex.cloud.k8s.v1.ReleaseChannelR\x0ereleaseChannel\x12I\n" +
	"\x0enetwork_policy\x18\x10 \x01(\v2\".yandex.cloud.k8s.v1.NetworkPolicyR\rnetworkPolicy\x12C\n" +
	"\fkms_provider\x18\x11 \x01(\v2 .yandex.cloud.k8s.v1.KMSProviderR\vkmsProvider\x12 \n" +
	"\flog_group_id\x18\x12 \x01(\tR\n" +
	"logGroupId\x125\n" +
	"\x06cilium\x18\x13 \x01(\v2\x1b.yandex.cloud.k8s.v1.CiliumH\x01R\x06cilium\x12^\n" +
	"\x15scheduled_maintenance\x18\x14 \x01(\v2).yandex.cloud.k8s.v1.ScheduledMaintenanceR\x14scheduledMaintenance\x12q\n" +
	"\x1cworkload_identity_federation\x18\x15 \x01(\v2/.yandex.cloud.k8s.v1.WorkloadIdentityFederationR\x1aworkloadIdentityFederation\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x87\x01\n" +
	"\x06Status\x12\x16\n" +
	"\x12STATUS_UNSPECIFIED\x10\x00\x12\x10\n" +
	"\fPROVISIONING\x10\x01\x12\v\n" +
	"\aRUNNING\x10\x02\x12\x0f\n" +
	"\vRECONCILING\x10\x03\x12\f\n" +
	"\bSTOPPING\x10\x04\x12\v\n" +
	"\aSTOPPED\x10\x05\x12\f\n" +
	"\bDELETING\x10\x06\x12\f\n" +
	"\bSTARTING\x10\a\"<\n" +
	"\x06Health\x12\x16\n" +
	"\x12HEALTH_UNSPECIFIED\x10\x00\x12\v\n" +
	"\aHEALTHY\x10\x01\x12\r\n" +
	"\tUNHEALTHY\x10\x02B\x12\n" +
	"\x10internet_gatewayB\x18\n" +
	"\x16network_implementation\"\xe1\x06\n" +
	"\x06Master\x12E\n" +
	"\fzonal_master\x18\x01 \x01(\v2 .yandex.cloud.k8s.v1.ZonalMasterH\x00R\vzonalMaster\x12N\n" +
	"\x0fregional_master\x18\a \x01(\v2#.yandex.cloud.k8s.v1.RegionalMasterH\x00R\x0eregionalMaster\x12;\n" +
	"\tlocations\x18\n" +
	" \x03(\v2\x1d.yandex.cloud.k8s.v1.LocationR\tlocations\x12*\n" +
	"\x11etcd_cluster_size\x18\v \x01(\x03R\x0fetcdClusterSize\x12\x18\n" +
	"\aversion\x18\x02 \x01(\tR\aversion\x12B\n" +
	"\tendpoints\x18\x03 \x01(\v2$.yandex.cloud.k8s.v1.MasterEndpointsR\tendpoints\x12@\n" +
	"\vmaster_auth\x18\x04 \x01(\v2\x1f.yandex.cloud.k8s.v1.MasterAuthR\n" +
	"masterAuth\x12C\n" +
	"\fversion_info\x18\x05 \x01(\v2 .yandex.cloud.k8s.v1.VersionInfoR\vversionInfo\x12[\n" +
	"\x12maintenance_policy\x18\x06 \x01(\v2,.yandex.cloud.k8s.v1.MasterMaintenancePolicyR\x11maintenancePolicy\x12,\n" +
	"\x12security_group_ids\x18\b \x03(\tR\x10securityGroupIds\x12I\n" +
	"\x0emaster_logging\x18\t \x01(\v2\".yandex.cloud.k8s.v1.MasterLoggingR\rmasterLogging\x12B\n" +
	"\tresources\x18\f \x01(\v2$.yandex.cloud.k8s.v1.MasterResourcesR\tresources\x12I\n" +
	"\fscale_policy\x18\r \x01(\v2&.yandex.cloud.k8s.v1.MasterScalePolicyR\vscalePolicyB\r\n" +
	"\vmaster_type\"B\n" +
	"\n" +
	"MasterAuth\x124\n" +
	"\x16cluster_ca_certificate\x18\x01 \x01(\tR\x14clusterCaCertificate\"\x86\x01\n" +
	"\vZonalMaster\x12\x17\n" +
	"\azone_id\x18\x01 \x01(\tR\x06zoneId\x12.\n" +
	"\x13internal_v4_address\x18\x02 \x01(\tR\x11internalV4Address\x12.\n" +
	"\x13external_v4_address\x18\x03 \x01(\tR\x11externalV4Address\"\xbd\x01\n" +
	"\x0eRegionalMaster\x12\x1b\n" +
	"\tregion_id\x18\x01 \x01(\tR\bregionId\x12.\n" +
	"\x13internal_v4_address\x18\x02 \x01(\tR\x11internalV4Address\x12.\n" +
	"\x13external_v4_address\x18\x03 \x01(\tR\x11externalV4Address\x12.\n" +
	"\x13external_v6_address\x18\x04 \x01(\tR\x11externalV6Address\"@\n" +
	"\bLocation\x12\x17\n" +
	"\azone_id\x18\x01 \x01(\tR\x06zoneId\x12\x1b\n" +
	"\tsubnet_id\x18\x02 \x01(\tR\bsubnetId\"\xa7\x01\n" +
	"\x0fMasterEndpoints\x120\n" +
	"\x14internal_v4_endpoint\x18\x01 \x01(\tR\x12internalV4Endpoint\x120\n" +
	"\x14external_v4_endpoint\x18\x02 \x01(\tR\x12externalV4Endpoint\x120\n" +
	"\x14external_v6_endpoint\x18\x03 \x01(\tR\x12externalV6Endpoint\"\xc4\x02\n" +
	"\x12IPAllocationPolicy\x125\n" +
	"\x17cluster_ipv4_cidr_block\x18\x01 \x01(\tR\x14clusterIpv4CidrBlock\x12L\n" +
	"\x18node_ipv4_cidr_mask_size\x18\x05 \x01(\x03B\x14\xfa\xc71\x100,24,25,26,27,28R\x14nodeIpv4CidrMaskSize\x125\n" +
	"\x17service_ipv4_cidr_block\x18\x02 \x01(\tR\x14serviceIpv4CidrBlock\x125\n" +
	"\x17cluster_ipv6_cidr_block\x18\x06 \x01(\tR\x14clusterIpv6CidrBlock\x125\n" +
	"\x17service_ipv6_cidr_block\x18\a \x01(\tR\x14serviceIpv6CidrBlockJ\x04\b\x03\x10\x05\"\x93\x01\n" +
	"\x17MasterMaintenancePolicy\x12!\n" +
	"\fauto_upgrade\x18\x01 \x01(\bR\vautoUpgrade\x12U\n" +
	"\x12maintenance_window\x18\x02 \x01(\v2&.yandex.cloud.k8s.v1.MaintenanceWindowR\x11maintenanceWindow\"\x85\x03\n" +
	"\rMasterLogging\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\x12G\n" +
	"\flog_group_id\x18\x02 \x01(\tB#\xf2\xc71\x1f([a-zA-Z][-a-zA-Z0-9_.]{0,63})?H\x00R\n" +
	"logGroupId\x12B\n" +
	"\tfolder_id\x18\x03 \x01(\tB#\xf2\xc71\x1f([a-zA-Z][-a-zA-Z0-9_.]{0,63})?H\x00R\bfolderId\x12#\n" +
	"\raudit_enabled\x18\x04 \x01(\bR\fauditEnabled\x12<\n" +
	"\x1acluster_autoscaler_enabled\x18\x05 \x01(\bR\x18clusterAutoscalerEnabled\x124\n" +
	"\x16kube_apiserver_enabled\x18\x06 \x01(\bR\x14kubeApiserverEnabled\x12%\n" +
	"\x0eevents_enabled\x18\a \x01(\bR\reventsEnabledB\r\n" +
	"\vdestination\"\x8a\x01\n" +
	"\rNetworkPolicy\x12G\n" +
	"\bprovider\x18\x01 \x01(\x0e2+.yandex.cloud.k8s.v1.NetworkPolicy.ProviderR\bprovider\"0\n" +
	"\bProvider\x12\x18\n" +
	"\x14PROVIDER_UNSPECIFIED\x10\x00\x12\n" +
	"\n" +
	"\x06CALICO\x10\x01\"$\n" +
	"\vKMSProvider\x12\x15\n" +
	"\x06key_id\x18\x01 \x01(\tR\x05keyId\"\x8d\x01\n" +
	"\x06Cilium\x12J\n" +
	"\frouting_mode\x18\x01 \x01(\x0e2'.yandex.cloud.k8s.v1.Cilium.RoutingModeR\vroutingMode\"7\n" +
	"\vRoutingMode\x12\x1c\n" +
	"\x18ROUTING_MODE_UNSPECIFIED\x10\x00\x12\n" +
	"\n" +
	"\x06TUNNEL\x10\x01\"d\n" +
	"\x0fMasterResources\x12\x14\n" +
	"\x05cores\x18\x01 \x01(\x03R\x05cores\x12#\n" +
	"\rcore_fraction\x18\x02 \x01(\x03R\fcoreFraction\x12\x16\n" +
	"\x06memory\x18\x03 \x01(\x03R\x06memory\"\xce\x02\n" +
	"\x11MasterScalePolicy\x12T\n" +
	"\vfixed_scale\x18\x01 \x01(\v21.yandex.cloud.k8s.v1.MasterScalePolicy.FixedScaleH\x00R\n" +
	"fixedScale\x12Q\n" +
	"\n" +
	"auto_scale\x18\x02 \x01(\v20.yandex.cloud.k8s.v1.MasterScalePolicy.AutoScaleH\x00R\tautoScale\x1a:\n" +
	"\n" +
	"FixedScale\x12,\n" +
	"\x12resource_preset_id\x18\x01 \x01(\tR\x10resourcePresetId\x1a@\n" +
	"\tAutoScale\x123\n" +
	"\x16min_resource_preset_id\x18\x01 \x01(\tR\x13minResourcePresetIdB\x12\n" +
	"\n" +
	"scale_type\x12\x04\xc0\xc11\x01\"i\n" +
	"\x1aWorkloadIdentityFederation\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\x12\x16\n" +
	"\x06issuer\x18\x02 \x01(\tR\x06issuer\x12\x19\n" +
	"\bjwks_uri\x18\x03 \x01(\tR\ajwksUri*U\n" +
	"\x0eReleaseChannel\x12\x1f\n" +
	"\x1bRELEASE_CHANNEL_UNSPECIFIED\x10\x00\x12\t\n" +
	"\x05RAPID\x10\x01\x12\v\n" +
	"\aREGULAR\x10\x02\x12\n" +
	"\n" +
	"\x06STABLE\x10\x03BV\n" +
	"\x17yandex.cloud.api.k8s.v1Z;github.com/yandex-cloud/go-genproto/yandex/cloud/k8s/v1;k8sb\x06proto3"

var (
	file_yandex_cloud_k8s_v1_cluster_proto_rawDescOnce sync.Once
	file_yandex_cloud_k8s_v1_cluster_proto_rawDescData []byte
)

func file_yandex_cloud_k8s_v1_cluster_proto_rawDescGZIP() []byte {
	file_yandex_cloud_k8s_v1_cluster_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_k8s_v1_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_k8s_v1_cluster_proto_rawDesc), len(file_yandex_cloud_k8s_v1_cluster_proto_rawDesc)))
	})
	return file_yandex_cloud_k8s_v1_cluster_proto_rawDescData
}

var file_yandex_cloud_k8s_v1_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
var file_yandex_cloud_k8s_v1_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
var file_yandex_cloud_k8s_v1_cluster_proto_goTypes = []any{
	(ReleaseChannel)(0),                  // 0: yandex.cloud.k8s.v1.ReleaseChannel
	(Cluster_Status)(0),                  // 1: yandex.cloud.k8s.v1.Cluster.Status
	(Cluster_Health)(0),                  // 2: yandex.cloud.k8s.v1.Cluster.Health
	(NetworkPolicy_Provider)(0),          // 3: yandex.cloud.k8s.v1.NetworkPolicy.Provider
	(Cilium_RoutingMode)(0),              // 4: yandex.cloud.k8s.v1.Cilium.RoutingMode
	(*Cluster)(nil),                      // 5: yandex.cloud.k8s.v1.Cluster
	(*Master)(nil),                       // 6: yandex.cloud.k8s.v1.Master
	(*MasterAuth)(nil),                   // 7: yandex.cloud.k8s.v1.MasterAuth
	(*ZonalMaster)(nil),                  // 8: yandex.cloud.k8s.v1.ZonalMaster
	(*RegionalMaster)(nil),               // 9: yandex.cloud.k8s.v1.RegionalMaster
	(*Location)(nil),                     // 10: yandex.cloud.k8s.v1.Location
	(*MasterEndpoints)(nil),              // 11: yandex.cloud.k8s.v1.MasterEndpoints
	(*IPAllocationPolicy)(nil),           // 12: yandex.cloud.k8s.v1.IPAllocationPolicy
	(*MasterMaintenancePolicy)(nil),      // 13: yandex.cloud.k8s.v1.MasterMaintenancePolicy
	(*MasterLogging)(nil),                // 14: yandex.cloud.k8s.v1.MasterLogging
	(*NetworkPolicy)(nil),                // 15: yandex.cloud.k8s.v1.NetworkPolicy
	(*KMSProvider)(nil),                  // 16: yandex.cloud.k8s.v1.KMSProvider
	(*Cilium)(nil),                       // 17: yandex.cloud.k8s.v1.Cilium
	(*MasterResources)(nil),              // 18: yandex.cloud.k8s.v1.MasterResources
	(*MasterScalePolicy)(nil),            // 19: yandex.cloud.k8s.v1.MasterScalePolicy
	(*WorkloadIdentityFederation)(nil),   // 20: yandex.cloud.k8s.v1.WorkloadIdentityFederation
	nil,                                  // 21: yandex.cloud.k8s.v1.Cluster.LabelsEntry
	(*MasterScalePolicy_FixedScale)(nil), // 22: yandex.cloud.k8s.v1.MasterScalePolicy.FixedScale
	(*MasterScalePolicy_AutoScale)(nil),  // 23: yandex.cloud.k8s.v1.MasterScalePolicy.AutoScale
	(*timestamppb.Timestamp)(nil),        // 24: google.protobuf.Timestamp
	(*ScheduledMaintenance)(nil),         // 25: yandex.cloud.k8s.v1.ScheduledMaintenance
	(*VersionInfo)(nil),                  // 26: yandex.cloud.k8s.v1.VersionInfo
	(*MaintenanceWindow)(nil),            // 27: yandex.cloud.k8s.v1.MaintenanceWindow
}
var file_yandex_cloud_k8s_v1_cluster_proto_depIdxs = []int32{
	24, // 0: yandex.cloud.k8s.v1.Cluster.created_at:type_name -> google.protobuf.Timestamp
	21, // 1: yandex.cloud.k8s.v1.Cluster.labels:type_name -> yandex.cloud.k8s.v1.Cluster.LabelsEntry
	1,  // 2: yandex.cloud.k8s.v1.Cluster.status:type_name -> yandex.cloud.k8s.v1.Cluster.Status
	2,  // 3: yandex.cloud.k8s.v1.Cluster.health:type_name -> yandex.cloud.k8s.v1.Cluster.Health
	6,  // 4: yandex.cloud.k8s.v1.Cluster.master:type_name -> yandex.cloud.k8s.v1.Master
	12, // 5: yandex.cloud.k8s.v1.Cluster.ip_allocation_policy:type_name -> yandex.cloud.k8s.v1.IPAllocationPolicy
	0,  // 6: yandex.cloud.k8s.v1.Cluster.release_channel:type_name -> yandex.cloud.k8s.v1.ReleaseChannel
	15, // 7: yandex.cloud.k8s.v1.Cluster.network_policy:type_name -> yandex.cloud.k8s.v1.NetworkPolicy
	16, // 8: yandex.cloud.k8s.v1.Cluster.kms_provider:type_name -> yandex.cloud.k8s.v1.KMSProvider
	17, // 9: yandex.cloud.k8s.v1.Cluster.cilium:type_name -> yandex.cloud.k8s.v1.Cilium
	25, // 10: yandex.cloud.k8s.v1.Cluster.scheduled_maintenance:type_name -> yandex.cloud.k8s.v1.ScheduledMaintenance
	20, // 11: yandex.cloud.k8s.v1.Cluster.workload_identity_federation:type_name -> yandex.cloud.k8s.v1.WorkloadIdentityFederation
	8,  // 12: yandex.cloud.k8s.v1.Master.zonal_master:type_name -> yandex.cloud.k8s.v1.ZonalMaster
	9,  // 13: yandex.cloud.k8s.v1.Master.regional_master:type_name -> yandex.cloud.k8s.v1.RegionalMaster
	10, // 14: yandex.cloud.k8s.v1.Master.locations:type_name -> yandex.cloud.k8s.v1.Location
	11, // 15: yandex.cloud.k8s.v1.Master.endpoints:type_name -> yandex.cloud.k8s.v1.MasterEndpoints
	7,  // 16: yandex.cloud.k8s.v1.Master.master_auth:type_name -> yandex.cloud.k8s.v1.MasterAuth
	26, // 17: yandex.cloud.k8s.v1.Master.version_info:type_name -> yandex.cloud.k8s.v1.VersionInfo
	13, // 18: yandex.cloud.k8s.v1.Master.maintenance_policy:type_name -> yandex.cloud.k8s.v1.MasterMaintenancePolicy
	14, // 19: yandex.cloud.k8s.v1.Master.master_logging:type_name -> yandex.cloud.k8s.v1.MasterLogging
	18, // 20: yandex.cloud.k8s.v1.Master.resources:type_name -> yandex.cloud.k8s.v1.MasterResources
	19, // 21: yandex.cloud.k8s.v1.Master.scale_policy:type_name -> yandex.cloud.k8s.v1.MasterScalePolicy
	27, // 22: yandex.cloud.k8s.v1.MasterMaintenancePolicy.maintenance_window:type_name -> yandex.cloud.k8s.v1.MaintenanceWindow
	3,  // 23: yandex.cloud.k8s.v1.NetworkPolicy.provider:type_name -> yandex.cloud.k8s.v1.NetworkPolicy.Provider
	4,  // 24: yandex.cloud.k8s.v1.Cilium.routing_mode:type_name -> yandex.cloud.k8s.v1.Cilium.RoutingMode
	22, // 25: yandex.cloud.k8s.v1.MasterScalePolicy.fixed_scale:type_name -> yandex.cloud.k8s.v1.MasterScalePolicy.FixedScale
	23, // 26: yandex.cloud.k8s.v1.MasterScalePolicy.auto_scale:type_name -> yandex.cloud.k8s.v1.MasterScalePolicy.AutoScale
	27, // [27:27] is the sub-list for method output_type
	27, // [27:27] is the sub-list for method input_type
	27, // [27:27] is the sub-list for extension type_name
	27, // [27:27] is the sub-list for extension extendee
	0,  // [0:27] is the sub-list for field type_name
}

func init() { file_yandex_cloud_k8s_v1_cluster_proto_init() }
func file_yandex_cloud_k8s_v1_cluster_proto_init() {
	if File_yandex_cloud_k8s_v1_cluster_proto != nil {
		return
	}
	file_yandex_cloud_k8s_v1_maintenance_proto_init()
	file_yandex_cloud_k8s_v1_version_proto_init()
	file_yandex_cloud_k8s_v1_cluster_proto_msgTypes[0].OneofWrappers = []any{
		(*Cluster_GatewayIpv4Address)(nil),
		(*Cluster_Cilium)(nil),
	}
	file_yandex_cloud_k8s_v1_cluster_proto_msgTypes[1].OneofWrappers = []any{
		(*Master_ZonalMaster)(nil),
		(*Master_RegionalMaster)(nil),
	}
	file_yandex_cloud_k8s_v1_cluster_proto_msgTypes[9].OneofWrappers = []any{
		(*MasterLogging_LogGroupId)(nil),
		(*MasterLogging_FolderId)(nil),
	}
	file_yandex_cloud_k8s_v1_cluster_proto_msgTypes[14].OneofWrappers = []any{
		(*MasterScalePolicy_FixedScale_)(nil),
		(*MasterScalePolicy_AutoScale_)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_yandex_cloud_k8s_v1_cluster_proto_rawDesc), len(file_yandex_cloud_k8s_v1_cluster_proto_rawDesc)),
			NumEnums:      5,
			NumMessages:   19,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_k8s_v1_cluster_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_k8s_v1_cluster_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_k8s_v1_cluster_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_k8s_v1_cluster_proto_msgTypes,
	}.Build()
	File_yandex_cloud_k8s_v1_cluster_proto = out.File
	file_yandex_cloud_k8s_v1_cluster_proto_goTypes = nil
	file_yandex_cloud_k8s_v1_cluster_proto_depIdxs = nil
}
