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

package clouddesktop

import (
	_ "github.com/yandex-cloud/go-genproto/yandex/cloud"
	access "github.com/yandex-cloud/go-genproto/yandex/cloud/access"
	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 DesktopGroup_Status int32

const (
	DesktopGroup_STATUS_UNSPECIFIED DesktopGroup_Status = 0
	// Desktop group is being created.
	DesktopGroup_CREATING DesktopGroup_Status = 1
	// Desktop group is ready to use.
	DesktopGroup_ACTIVE DesktopGroup_Status = 2
	// Desktop group is being deleted.
	DesktopGroup_DELETING DesktopGroup_Status = 3
	// Desktop group is updating.
	DesktopGroup_UPDATING DesktopGroup_Status = 4
)

// Enum value maps for DesktopGroup_Status.
var (
	DesktopGroup_Status_name = map[int32]string{
		0: "STATUS_UNSPECIFIED",
		1: "CREATING",
		2: "ACTIVE",
		3: "DELETING",
		4: "UPDATING",
	}
	DesktopGroup_Status_value = map[string]int32{
		"STATUS_UNSPECIFIED": 0,
		"CREATING":           1,
		"ACTIVE":             2,
		"DELETING":           3,
		"UPDATING":           4,
	}
)

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

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

func (DesktopGroup_Status) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_clouddesktop_v1_desktop_group_proto_enumTypes[0].Descriptor()
}

func (DesktopGroup_Status) Type() protoreflect.EnumType {
	return &file_yandex_cloud_clouddesktop_v1_desktop_group_proto_enumTypes[0]
}

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

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

type DesktopGroupConfiguration_DesktopType int32

const (
	DesktopGroupConfiguration_DESKTOP_TYPE_UNSPECIFIED DesktopGroupConfiguration_DesktopType = 0
	DesktopGroupConfiguration_PERSISTENT               DesktopGroupConfiguration_DesktopType = 1
	DesktopGroupConfiguration_NON_PERSISTENT           DesktopGroupConfiguration_DesktopType = 2
)

// Enum value maps for DesktopGroupConfiguration_DesktopType.
var (
	DesktopGroupConfiguration_DesktopType_name = map[int32]string{
		0: "DESKTOP_TYPE_UNSPECIFIED",
		1: "PERSISTENT",
		2: "NON_PERSISTENT",
	}
	DesktopGroupConfiguration_DesktopType_value = map[string]int32{
		"DESKTOP_TYPE_UNSPECIFIED": 0,
		"PERSISTENT":               1,
		"NON_PERSISTENT":           2,
	}
)

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

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

func (DesktopGroupConfiguration_DesktopType) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_clouddesktop_v1_desktop_group_proto_enumTypes[1].Descriptor()
}

func (DesktopGroupConfiguration_DesktopType) Type() protoreflect.EnumType {
	return &file_yandex_cloud_clouddesktop_v1_desktop_group_proto_enumTypes[1]
}

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

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

// A desktop group resource.
type DesktopGroup struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Desktop group ID.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// ID of the folder that the desktop group belongs to.
	FolderId string `protobuf:"bytes,2,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"`
	// Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Status of the desktop group.
	Status DesktopGroup_Status `protobuf:"varint,4,opt,name=status,proto3,enum=yandex.cloud.clouddesktop.v1.api.DesktopGroup_Status" json:"status,omitempty"`
	// Name of the desktop group.
	Name string `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"`
	// Description of the desktop group.
	Description string `protobuf:"bytes,12,opt,name=description,proto3" json:"description,omitempty"`
	// Resource specification of the desktop group.
	ResourcesSpec *ResourcesSpec `protobuf:"bytes,21,opt,name=resources_spec,json=resourcesSpec,proto3" json:"resources_spec,omitempty"`
	// Network interface specification of the desktop group.
	NetworkInterfaceSpec *NetworkInterfaceSpec `protobuf:"bytes,22,opt,name=network_interface_spec,json=networkInterfaceSpec,proto3" json:"network_interface_spec,omitempty"`
	// Labels of the desktop group.
	Labels map[string]string `protobuf:"bytes,23,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Boot disk specification of the desktop group.
	BootDiskSpec *DiskSpec `protobuf:"bytes,24,opt,name=boot_disk_spec,json=bootDiskSpec,proto3" json:"boot_disk_spec,omitempty"`
	// Data disk specification of the desktop group.
	DataDiskSpec *DiskSpec `protobuf:"bytes,25,opt,name=data_disk_spec,json=dataDiskSpec,proto3" json:"data_disk_spec,omitempty"`
	// Desktop group configuration.
	GroupConfig *DesktopGroupConfiguration `protobuf:"bytes,26,opt,name=group_config,json=groupConfig,proto3" json:"group_config,omitempty"`
	// Desktop group update policy.
	//
	// Types that are valid to be assigned to UpdatePolicy:
	//
	//	*DesktopGroup_AutoUpdatePolicy
	//	*DesktopGroup_ManualUpdatePolicy
	UpdatePolicy  isDesktopGroup_UpdatePolicy `protobuf_oneof:"update_policy"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DesktopGroup) ProtoMessage() {}

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

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

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

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

func (x *DesktopGroup) GetStatus() DesktopGroup_Status {
	if x != nil {
		return x.Status
	}
	return DesktopGroup_STATUS_UNSPECIFIED
}

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

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

func (x *DesktopGroup) GetResourcesSpec() *ResourcesSpec {
	if x != nil {
		return x.ResourcesSpec
	}
	return nil
}

func (x *DesktopGroup) GetNetworkInterfaceSpec() *NetworkInterfaceSpec {
	if x != nil {
		return x.NetworkInterfaceSpec
	}
	return nil
}

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

func (x *DesktopGroup) GetBootDiskSpec() *DiskSpec {
	if x != nil {
		return x.BootDiskSpec
	}
	return nil
}

func (x *DesktopGroup) GetDataDiskSpec() *DiskSpec {
	if x != nil {
		return x.DataDiskSpec
	}
	return nil
}

func (x *DesktopGroup) GetGroupConfig() *DesktopGroupConfiguration {
	if x != nil {
		return x.GroupConfig
	}
	return nil
}

func (x *DesktopGroup) GetUpdatePolicy() isDesktopGroup_UpdatePolicy {
	if x != nil {
		return x.UpdatePolicy
	}
	return nil
}

func (x *DesktopGroup) GetAutoUpdatePolicy() *AutoUpdatePolicy {
	if x != nil {
		if x, ok := x.UpdatePolicy.(*DesktopGroup_AutoUpdatePolicy); ok {
			return x.AutoUpdatePolicy
		}
	}
	return nil
}

func (x *DesktopGroup) GetManualUpdatePolicy() *ManualUpdatePolicy {
	if x != nil {
		if x, ok := x.UpdatePolicy.(*DesktopGroup_ManualUpdatePolicy); ok {
			return x.ManualUpdatePolicy
		}
	}
	return nil
}

type isDesktopGroup_UpdatePolicy interface {
	isDesktopGroup_UpdatePolicy()
}

type DesktopGroup_AutoUpdatePolicy struct {
	AutoUpdatePolicy *AutoUpdatePolicy `protobuf:"bytes,27,opt,name=auto_update_policy,json=autoUpdatePolicy,proto3,oneof"`
}

type DesktopGroup_ManualUpdatePolicy struct {
	ManualUpdatePolicy *ManualUpdatePolicy `protobuf:"bytes,28,opt,name=manual_update_policy,json=manualUpdatePolicy,proto3,oneof"`
}

func (*DesktopGroup_AutoUpdatePolicy) isDesktopGroup_UpdatePolicy() {}

func (*DesktopGroup_ManualUpdatePolicy) isDesktopGroup_UpdatePolicy() {}

type DesktopGroupConfiguration struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Minimum number of ready desktops.
	MinReadyDesktops int64 `protobuf:"varint,1,opt,name=min_ready_desktops,json=minReadyDesktops,proto3" json:"min_ready_desktops,omitempty"`
	// Maximum number of desktops.
	MaxDesktopsAmount int64 `protobuf:"varint,2,opt,name=max_desktops_amount,json=maxDesktopsAmount,proto3" json:"max_desktops_amount,omitempty"`
	// Type of the desktop.
	DesktopType DesktopGroupConfiguration_DesktopType `protobuf:"varint,3,opt,name=desktop_type,json=desktopType,proto3,enum=yandex.cloud.clouddesktop.v1.api.DesktopGroupConfiguration_DesktopType" json:"desktop_type,omitempty"`
	// List of members of the desktop group.
	Members       []*access.Subject `protobuf:"bytes,4,rep,name=members,proto3" json:"members,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DesktopGroupConfiguration) ProtoMessage() {}

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

func (x *DesktopGroupConfiguration) GetMinReadyDesktops() int64 {
	if x != nil {
		return x.MinReadyDesktops
	}
	return 0
}

func (x *DesktopGroupConfiguration) GetMaxDesktopsAmount() int64 {
	if x != nil {
		return x.MaxDesktopsAmount
	}
	return 0
}

func (x *DesktopGroupConfiguration) GetDesktopType() DesktopGroupConfiguration_DesktopType {
	if x != nil {
		return x.DesktopType
	}
	return DesktopGroupConfiguration_DESKTOP_TYPE_UNSPECIFIED
}

func (x *DesktopGroupConfiguration) GetMembers() []*access.Subject {
	if x != nil {
		return x.Members
	}
	return nil
}

type ResourcesSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// RAM volume, in bytes.
	Memory int64 `protobuf:"varint,1,opt,name=memory,proto3" json:"memory,omitempty"`
	// Number of CPU cores.
	Cores int64 `protobuf:"varint,2,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,3,opt,name=core_fraction,json=coreFraction,proto3" json:"core_fraction,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ResourcesSpec) ProtoMessage() {}

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

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

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

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

type NetworkInterfaceSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the network interface specification.
	NetworkId string `protobuf:"bytes,1,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"`
	// List of subnet IDs.
	SubnetIds     []string `protobuf:"bytes,2,rep,name=subnet_ids,json=subnetIds,proto3" json:"subnet_ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*NetworkInterfaceSpec) ProtoMessage() {}

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

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

func (x *NetworkInterfaceSpec) GetSubnetIds() []string {
	if x != nil {
		return x.SubnetIds
	}
	return nil
}

type ManualUpdatePolicy struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ManualUpdatePolicy) ProtoMessage() {}

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

type AutoUpdatePolicy struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AutoUpdatePolicy) ProtoMessage() {}

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

var File_yandex_cloud_clouddesktop_v1_desktop_group_proto protoreflect.FileDescriptor

const file_yandex_cloud_clouddesktop_v1_desktop_group_proto_rawDesc = "" +
	"\n" +
	"0yandex/cloud/clouddesktop/v1/desktop_group.proto\x12 yandex.cloud.clouddesktop.v1.api\x1a\x1fgoogle/protobuf/timestamp.proto\x1a yandex/cloud/access/access.proto\x1a\x1dyandex/cloud/validation.proto\x1a'yandex/cloud/clouddesktop/v1/disk.proto\"\x9d\t\n" +
	"\fDesktopGroup\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\x12M\n" +
	"\x06status\x18\x04 \x01(\x0e25.yandex.cloud.clouddesktop.v1.api.DesktopGroup.StatusR\x06status\x12\x12\n" +
	"\x04name\x18\v \x01(\tR\x04name\x12 \n" +
	"\vdescription\x18\f \x01(\tR\vdescription\x12V\n" +
	"\x0eresources_spec\x18\x15 \x01(\v2/.yandex.cloud.clouddesktop.v1.api.ResourcesSpecR\rresourcesSpec\x12l\n" +
	"\x16network_interface_spec\x18\x16 \x01(\v26.yandex.cloud.clouddesktop.v1.api.NetworkInterfaceSpecR\x14networkInterfaceSpec\x12R\n" +
	"\x06labels\x18\x17 \x03(\v2:.yandex.cloud.clouddesktop.v1.api.DesktopGroup.LabelsEntryR\x06labels\x12P\n" +
	"\x0eboot_disk_spec\x18\x18 \x01(\v2*.yandex.cloud.clouddesktop.v1.api.DiskSpecR\fbootDiskSpec\x12P\n" +
	"\x0edata_disk_spec\x18\x19 \x01(\v2*.yandex.cloud.clouddesktop.v1.api.DiskSpecR\fdataDiskSpec\x12^\n" +
	"\fgroup_config\x18\x1a \x01(\v2;.yandex.cloud.clouddesktop.v1.api.DesktopGroupConfigurationR\vgroupConfig\x12b\n" +
	"\x12auto_update_policy\x18\x1b \x01(\v22.yandex.cloud.clouddesktop.v1.api.AutoUpdatePolicyH\x00R\x10autoUpdatePolicy\x12h\n" +
	"\x14manual_update_policy\x18\x1c \x01(\v24.yandex.cloud.clouddesktop.v1.api.ManualUpdatePolicyH\x00R\x12manualUpdatePolicy\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"V\n" +
	"\x06Status\x12\x16\n" +
	"\x12STATUS_UNSPECIFIED\x10\x00\x12\f\n" +
	"\bCREATING\x10\x01\x12\n" +
	"\n" +
	"\x06ACTIVE\x10\x02\x12\f\n" +
	"\bDELETING\x10\x03\x12\f\n" +
	"\bUPDATING\x10\x04B\x15\n" +
	"\rupdate_policy\x12\x04\xc0\xc11\x01J\x04\b\r\x10\x15J\x04\b\x05\x10\v\"\x8e\x03\n" +
	"\x19DesktopGroupConfiguration\x127\n" +
	"\x12min_ready_desktops\x18\x01 \x01(\x03B\t\xfa\xc71\x051-512R\x10minReadyDesktops\x129\n" +
	"\x13max_desktops_amount\x18\x02 \x01(\x03B\t\xfa\xc71\x050-512R\x11maxDesktopsAmount\x12j\n" +
	"\fdesktop_type\x18\x03 \x01(\x0e2G.yandex.cloud.clouddesktop.v1.api.DesktopGroupConfiguration.DesktopTypeR\vdesktopType\x12@\n" +
	"\amembers\x18\x04 \x03(\v2\x1c.yandex.cloud.access.SubjectB\b\x82\xc81\x040-10R\amembers\"O\n" +
	"\vDesktopType\x12\x1c\n" +
	"\x18DESKTOP_TYPE_UNSPECIFIED\x10\x00\x12\x0e\n" +
	"\n" +
	"PERSISTENT\x10\x01\x12\x12\n" +
	"\x0eNON_PERSISTENT\x10\x02\"\x7f\n" +
	"\rResourcesSpec\x12\x1f\n" +
	"\x06memory\x18\x01 \x01(\x03B\a\xfa\xc71\x03>=1R\x06memory\x12\x1d\n" +
	"\x05cores\x18\x02 \x01(\x03B\a\xfa\xc71\x03>=1R\x05cores\x12.\n" +
	"\rcore_fraction\x18\x03 \x01(\x03B\t\xfa\xc71\x050-100R\fcoreFraction\"v\n" +
	"\x14NetworkInterfaceSpec\x12+\n" +
	"\n" +
	"network_id\x18\x01 \x01(\tB\f\xe8\xc71\x01\x8a\xc81\x04<=50R\tnetworkId\x121\n" +
	"\n" +
	"subnet_ids\x18\x02 \x03(\tB\x12\x82\xc81\x02>0\x8a\xc81\x04<=50\x90\xc81\x01R\tsubnetIds\"\x14\n" +
	"\x12ManualUpdatePolicy\"\x12\n" +
	"\x10AutoUpdatePolicyBq\n" +
	" yandex.cloud.api.clouddesktop.v1ZMgithub.com/yandex-cloud/go-genproto/yandex/cloud/clouddesktop/v1;clouddesktopb\x06proto3"

var (
	file_yandex_cloud_clouddesktop_v1_desktop_group_proto_rawDescOnce sync.Once
	file_yandex_cloud_clouddesktop_v1_desktop_group_proto_rawDescData []byte
)

func file_yandex_cloud_clouddesktop_v1_desktop_group_proto_rawDescGZIP() []byte {
	file_yandex_cloud_clouddesktop_v1_desktop_group_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_clouddesktop_v1_desktop_group_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_clouddesktop_v1_desktop_group_proto_rawDesc), len(file_yandex_cloud_clouddesktop_v1_desktop_group_proto_rawDesc)))
	})
	return file_yandex_cloud_clouddesktop_v1_desktop_group_proto_rawDescData
}

var file_yandex_cloud_clouddesktop_v1_desktop_group_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_yandex_cloud_clouddesktop_v1_desktop_group_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_yandex_cloud_clouddesktop_v1_desktop_group_proto_goTypes = []any{
	(DesktopGroup_Status)(0),                   // 0: yandex.cloud.clouddesktop.v1.api.DesktopGroup.Status
	(DesktopGroupConfiguration_DesktopType)(0), // 1: yandex.cloud.clouddesktop.v1.api.DesktopGroupConfiguration.DesktopType
	(*DesktopGroup)(nil),                       // 2: yandex.cloud.clouddesktop.v1.api.DesktopGroup
	(*DesktopGroupConfiguration)(nil),          // 3: yandex.cloud.clouddesktop.v1.api.DesktopGroupConfiguration
	(*ResourcesSpec)(nil),                      // 4: yandex.cloud.clouddesktop.v1.api.ResourcesSpec
	(*NetworkInterfaceSpec)(nil),               // 5: yandex.cloud.clouddesktop.v1.api.NetworkInterfaceSpec
	(*ManualUpdatePolicy)(nil),                 // 6: yandex.cloud.clouddesktop.v1.api.ManualUpdatePolicy
	(*AutoUpdatePolicy)(nil),                   // 7: yandex.cloud.clouddesktop.v1.api.AutoUpdatePolicy
	nil,                                        // 8: yandex.cloud.clouddesktop.v1.api.DesktopGroup.LabelsEntry
	(*timestamppb.Timestamp)(nil),              // 9: google.protobuf.Timestamp
	(*DiskSpec)(nil),                           // 10: yandex.cloud.clouddesktop.v1.api.DiskSpec
	(*access.Subject)(nil),                     // 11: yandex.cloud.access.Subject
}
var file_yandex_cloud_clouddesktop_v1_desktop_group_proto_depIdxs = []int32{
	9,  // 0: yandex.cloud.clouddesktop.v1.api.DesktopGroup.created_at:type_name -> google.protobuf.Timestamp
	0,  // 1: yandex.cloud.clouddesktop.v1.api.DesktopGroup.status:type_name -> yandex.cloud.clouddesktop.v1.api.DesktopGroup.Status
	4,  // 2: yandex.cloud.clouddesktop.v1.api.DesktopGroup.resources_spec:type_name -> yandex.cloud.clouddesktop.v1.api.ResourcesSpec
	5,  // 3: yandex.cloud.clouddesktop.v1.api.DesktopGroup.network_interface_spec:type_name -> yandex.cloud.clouddesktop.v1.api.NetworkInterfaceSpec
	8,  // 4: yandex.cloud.clouddesktop.v1.api.DesktopGroup.labels:type_name -> yandex.cloud.clouddesktop.v1.api.DesktopGroup.LabelsEntry
	10, // 5: yandex.cloud.clouddesktop.v1.api.DesktopGroup.boot_disk_spec:type_name -> yandex.cloud.clouddesktop.v1.api.DiskSpec
	10, // 6: yandex.cloud.clouddesktop.v1.api.DesktopGroup.data_disk_spec:type_name -> yandex.cloud.clouddesktop.v1.api.DiskSpec
	3,  // 7: yandex.cloud.clouddesktop.v1.api.DesktopGroup.group_config:type_name -> yandex.cloud.clouddesktop.v1.api.DesktopGroupConfiguration
	7,  // 8: yandex.cloud.clouddesktop.v1.api.DesktopGroup.auto_update_policy:type_name -> yandex.cloud.clouddesktop.v1.api.AutoUpdatePolicy
	6,  // 9: yandex.cloud.clouddesktop.v1.api.DesktopGroup.manual_update_policy:type_name -> yandex.cloud.clouddesktop.v1.api.ManualUpdatePolicy
	1,  // 10: yandex.cloud.clouddesktop.v1.api.DesktopGroupConfiguration.desktop_type:type_name -> yandex.cloud.clouddesktop.v1.api.DesktopGroupConfiguration.DesktopType
	11, // 11: yandex.cloud.clouddesktop.v1.api.DesktopGroupConfiguration.members:type_name -> yandex.cloud.access.Subject
	12, // [12:12] is the sub-list for method output_type
	12, // [12:12] is the sub-list for method input_type
	12, // [12:12] is the sub-list for extension type_name
	12, // [12:12] is the sub-list for extension extendee
	0,  // [0:12] is the sub-list for field type_name
}

func init() { file_yandex_cloud_clouddesktop_v1_desktop_group_proto_init() }
func file_yandex_cloud_clouddesktop_v1_desktop_group_proto_init() {
	if File_yandex_cloud_clouddesktop_v1_desktop_group_proto != nil {
		return
	}
	file_yandex_cloud_clouddesktop_v1_disk_proto_init()
	file_yandex_cloud_clouddesktop_v1_desktop_group_proto_msgTypes[0].OneofWrappers = []any{
		(*DesktopGroup_AutoUpdatePolicy)(nil),
		(*DesktopGroup_ManualUpdatePolicy)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_yandex_cloud_clouddesktop_v1_desktop_group_proto_rawDesc), len(file_yandex_cloud_clouddesktop_v1_desktop_group_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   7,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_clouddesktop_v1_desktop_group_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_clouddesktop_v1_desktop_group_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_clouddesktop_v1_desktop_group_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_clouddesktop_v1_desktop_group_proto_msgTypes,
	}.Build()
	File_yandex_cloud_clouddesktop_v1_desktop_group_proto = out.File
	file_yandex_cloud_clouddesktop_v1_desktop_group_proto_goTypes = nil
	file_yandex_cloud_clouddesktop_v1_desktop_group_proto_depIdxs = nil
}
