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

package compute

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type IpVersion int32

const (
	IpVersion_IP_VERSION_UNSPECIFIED IpVersion = 0
	// IPv4 address, for example 192.0.2.235.
	IpVersion_IPV4 IpVersion = 1
	// IPv6 address. Not available yet.
	IpVersion_IPV6 IpVersion = 2
)

// Enum value maps for IpVersion.
var (
	IpVersion_name = map[int32]string{
		0: "IP_VERSION_UNSPECIFIED",
		1: "IPV4",
		2: "IPV6",
	}
	IpVersion_value = map[string]int32{
		"IP_VERSION_UNSPECIFIED": 0,
		"IPV4":                   1,
		"IPV6":                   2,
	}
)

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

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

func (IpVersion) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instance_proto_enumTypes[0].Descriptor()
}

func (IpVersion) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instance_proto_enumTypes[0]
}

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

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

type MetadataOption int32

const (
	MetadataOption_METADATA_OPTION_UNSPECIFIED MetadataOption = 0
	// Option is enabled
	MetadataOption_ENABLED MetadataOption = 1
	// Option is disabled
	MetadataOption_DISABLED MetadataOption = 2
)

// Enum value maps for MetadataOption.
var (
	MetadataOption_name = map[int32]string{
		0: "METADATA_OPTION_UNSPECIFIED",
		1: "ENABLED",
		2: "DISABLED",
	}
	MetadataOption_value = map[string]int32{
		"METADATA_OPTION_UNSPECIFIED": 0,
		"ENABLED":                     1,
		"DISABLED":                    2,
	}
)

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

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

func (MetadataOption) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instance_proto_enumTypes[1].Descriptor()
}

func (MetadataOption) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instance_proto_enumTypes[1]
}

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

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

type Instance_Status int32

const (
	Instance_STATUS_UNSPECIFIED Instance_Status = 0
	// Instance is waiting for resources to be allocated.
	Instance_PROVISIONING Instance_Status = 1
	// Instance is running normally.
	Instance_RUNNING Instance_Status = 2
	// Instance is being stopped.
	Instance_STOPPING Instance_Status = 3
	// Instance stopped.
	Instance_STOPPED Instance_Status = 4
	// Instance is being started.
	Instance_STARTING Instance_Status = 5
	// Instance is being restarted.
	Instance_RESTARTING Instance_Status = 6
	// Instance is being updated.
	Instance_UPDATING Instance_Status = 7
	// Instance encountered a problem and cannot operate.
	Instance_ERROR Instance_Status = 8
	// Instance crashed and will be restarted automatically.
	Instance_CRASHED Instance_Status = 9
	// Instance is being deleted.
	Instance_DELETING Instance_Status = 10
)

// Enum value maps for Instance_Status.
var (
	Instance_Status_name = map[int32]string{
		0:  "STATUS_UNSPECIFIED",
		1:  "PROVISIONING",
		2:  "RUNNING",
		3:  "STOPPING",
		4:  "STOPPED",
		5:  "STARTING",
		6:  "RESTARTING",
		7:  "UPDATING",
		8:  "ERROR",
		9:  "CRASHED",
		10: "DELETING",
	}
	Instance_Status_value = map[string]int32{
		"STATUS_UNSPECIFIED": 0,
		"PROVISIONING":       1,
		"RUNNING":            2,
		"STOPPING":           3,
		"STOPPED":            4,
		"STARTING":           5,
		"RESTARTING":         6,
		"UPDATING":           7,
		"ERROR":              8,
		"CRASHED":            9,
		"DELETING":           10,
	}
)

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

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

func (Instance_Status) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instance_proto_enumTypes[2].Descriptor()
}

func (Instance_Status) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instance_proto_enumTypes[2]
}

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

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

type AttachedDisk_Mode int32

const (
	AttachedDisk_MODE_UNSPECIFIED AttachedDisk_Mode = 0
	// Read-only access.
	AttachedDisk_READ_ONLY AttachedDisk_Mode = 1
	// Read/Write access.
	AttachedDisk_READ_WRITE AttachedDisk_Mode = 2
)

// Enum value maps for AttachedDisk_Mode.
var (
	AttachedDisk_Mode_name = map[int32]string{
		0: "MODE_UNSPECIFIED",
		1: "READ_ONLY",
		2: "READ_WRITE",
	}
	AttachedDisk_Mode_value = map[string]int32{
		"MODE_UNSPECIFIED": 0,
		"READ_ONLY":        1,
		"READ_WRITE":       2,
	}
)

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

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

func (AttachedDisk_Mode) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instance_proto_enumTypes[3].Descriptor()
}

func (AttachedDisk_Mode) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instance_proto_enumTypes[3]
}

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

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

type AttachedFilesystem_Mode int32

const (
	AttachedFilesystem_MODE_UNSPECIFIED AttachedFilesystem_Mode = 0
	// Read-only access.
	AttachedFilesystem_READ_ONLY AttachedFilesystem_Mode = 1
	// Read/Write access.
	AttachedFilesystem_READ_WRITE AttachedFilesystem_Mode = 2
)

// Enum value maps for AttachedFilesystem_Mode.
var (
	AttachedFilesystem_Mode_name = map[int32]string{
		0: "MODE_UNSPECIFIED",
		1: "READ_ONLY",
		2: "READ_WRITE",
	}
	AttachedFilesystem_Mode_value = map[string]int32{
		"MODE_UNSPECIFIED": 0,
		"READ_ONLY":        1,
		"READ_WRITE":       2,
	}
)

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

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

func (AttachedFilesystem_Mode) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instance_proto_enumTypes[4].Descriptor()
}

func (AttachedFilesystem_Mode) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instance_proto_enumTypes[4]
}

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

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

type NetworkSettings_Type int32

const (
	NetworkSettings_TYPE_UNSPECIFIED NetworkSettings_Type = 0
	// Standard network.
	NetworkSettings_STANDARD NetworkSettings_Type = 1
	// Software accelerated network.
	NetworkSettings_SOFTWARE_ACCELERATED NetworkSettings_Type = 2
	// Hardware accelerated network (not available yet, reserved for future use).
	NetworkSettings_HARDWARE_ACCELERATED NetworkSettings_Type = 3
)

// Enum value maps for NetworkSettings_Type.
var (
	NetworkSettings_Type_name = map[int32]string{
		0: "TYPE_UNSPECIFIED",
		1: "STANDARD",
		2: "SOFTWARE_ACCELERATED",
		3: "HARDWARE_ACCELERATED",
	}
	NetworkSettings_Type_value = map[string]int32{
		"TYPE_UNSPECIFIED":     0,
		"STANDARD":             1,
		"SOFTWARE_ACCELERATED": 2,
		"HARDWARE_ACCELERATED": 3,
	}
)

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

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

func (NetworkSettings_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instance_proto_enumTypes[5].Descriptor()
}

func (NetworkSettings_Type) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instance_proto_enumTypes[5]
}

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

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

type PlacementPolicy_HostAffinityRule_Operator int32

const (
	PlacementPolicy_HostAffinityRule_OPERATOR_UNSPECIFIED PlacementPolicy_HostAffinityRule_Operator = 0
	PlacementPolicy_HostAffinityRule_IN                   PlacementPolicy_HostAffinityRule_Operator = 1
	PlacementPolicy_HostAffinityRule_NOT_IN               PlacementPolicy_HostAffinityRule_Operator = 2
)

// Enum value maps for PlacementPolicy_HostAffinityRule_Operator.
var (
	PlacementPolicy_HostAffinityRule_Operator_name = map[int32]string{
		0: "OPERATOR_UNSPECIFIED",
		1: "IN",
		2: "NOT_IN",
	}
	PlacementPolicy_HostAffinityRule_Operator_value = map[string]int32{
		"OPERATOR_UNSPECIFIED": 0,
		"IN":                   1,
		"NOT_IN":               2,
	}
)

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

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

func (PlacementPolicy_HostAffinityRule_Operator) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instance_proto_enumTypes[6].Descriptor()
}

func (PlacementPolicy_HostAffinityRule_Operator) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instance_proto_enumTypes[6]
}

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

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

type SerialPortSettings_SSHAuthorization int32

const (
	SerialPortSettings_SSH_AUTHORIZATION_UNSPECIFIED SerialPortSettings_SSHAuthorization = 0
	// Authentication and authorization using SSH keys in instance metadata
	SerialPortSettings_INSTANCE_METADATA SerialPortSettings_SSHAuthorization = 1
	// Authentication and authorization using Oslogin service
	SerialPortSettings_OS_LOGIN SerialPortSettings_SSHAuthorization = 2
)

// Enum value maps for SerialPortSettings_SSHAuthorization.
var (
	SerialPortSettings_SSHAuthorization_name = map[int32]string{
		0: "SSH_AUTHORIZATION_UNSPECIFIED",
		1: "INSTANCE_METADATA",
		2: "OS_LOGIN",
	}
	SerialPortSettings_SSHAuthorization_value = map[string]int32{
		"SSH_AUTHORIZATION_UNSPECIFIED": 0,
		"INSTANCE_METADATA":             1,
		"OS_LOGIN":                      2,
	}
)

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

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

func (SerialPortSettings_SSHAuthorization) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instance_proto_enumTypes[7].Descriptor()
}

func (SerialPortSettings_SSHAuthorization) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instance_proto_enumTypes[7]
}

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

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

// An Instance resource. For more information, see [Instances](/docs/compute/concepts/vm).
type Instance struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the instance.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// ID of the folder that the instance belongs to.
	FolderId  string                 `protobuf:"bytes,2,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"`
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Name of the instance. 1-63 characters long.
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	// Description of the instance. 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"`
	// ID of the availability zone where the instance resides.
	ZoneId string `protobuf:"bytes,7,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"`
	// ID of the hardware platform configuration for the instance.
	PlatformId string `protobuf:"bytes,8,opt,name=platform_id,json=platformId,proto3" json:"platform_id,omitempty"`
	// Computing resources of the instance such as the amount of memory and number of cores.
	Resources *Resources `protobuf:"bytes,9,opt,name=resources,proto3" json:"resources,omitempty"`
	// Status of the instance.
	Status Instance_Status `protobuf:"varint,10,opt,name=status,proto3,enum=yandex.cloud.compute.v1.Instance_Status" json:"status,omitempty"`
	// The metadata `key:value` pairs assigned to this instance. This includes custom metadata and predefined keys.
	//
	// For example, you may use the metadata in order to provide your public SSH key to the instance.
	// For more information, see [Metadata](/docs/compute/concepts/vm-metadata).
	Metadata map[string]string `protobuf:"bytes,11,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Options allow user to configure access to instance's metadata
	MetadataOptions *MetadataOptions `protobuf:"bytes,23,opt,name=metadata_options,json=metadataOptions,proto3" json:"metadata_options,omitempty"`
	// Boot disk that is attached to the instance.
	BootDisk *AttachedDisk `protobuf:"bytes,12,opt,name=boot_disk,json=bootDisk,proto3" json:"boot_disk,omitempty"`
	// Array of secondary disks that are attached to the instance.
	SecondaryDisks []*AttachedDisk `protobuf:"bytes,13,rep,name=secondary_disks,json=secondaryDisks,proto3" json:"secondary_disks,omitempty"`
	// Array of local disks that are attached to the instance.
	LocalDisks []*AttachedLocalDisk `protobuf:"bytes,22,rep,name=local_disks,json=localDisks,proto3" json:"local_disks,omitempty"`
	// Array of filesystems that are attached to the instance.
	Filesystems []*AttachedFilesystem `protobuf:"bytes,21,rep,name=filesystems,proto3" json:"filesystems,omitempty"`
	// Array of network interfaces that are attached to the instance.
	NetworkInterfaces []*NetworkInterface `protobuf:"bytes,14,rep,name=network_interfaces,json=networkInterfaces,proto3" json:"network_interfaces,omitempty"`
	// Serial port settings
	SerialPortSettings *SerialPortSettings `protobuf:"bytes,24,opt,name=serial_port_settings,json=serialPortSettings,proto3" json:"serial_port_settings,omitempty"`
	// GPU settings
	GpuSettings *GpuSettings `protobuf:"bytes,26,opt,name=gpu_settings,json=gpuSettings,proto3" json:"gpu_settings,omitempty"`
	// A domain name of the instance. FQDN is defined by the server
	// in the format `<hostname>.<region_id>.internal` when the instance is created.
	// If the hostname were not specified when the instance was created, FQDN would be `<id>.auto.internal`.
	Fqdn string `protobuf:"bytes,16,opt,name=fqdn,proto3" json:"fqdn,omitempty"` // output only
	// Scheduling policy configuration.
	SchedulingPolicy *SchedulingPolicy `protobuf:"bytes,17,opt,name=scheduling_policy,json=schedulingPolicy,proto3" json:"scheduling_policy,omitempty"`
	// ID of the service account to use for [authentication inside the instance](/docs/compute/operations/vm-connect/auth-inside-vm).
	// To get the service account ID, use a [yandex.cloud.iam.v1.ServiceAccountService.List] request.
	ServiceAccountId string `protobuf:"bytes,18,opt,name=service_account_id,json=serviceAccountId,proto3" json:"service_account_id,omitempty"`
	// Network Settings
	NetworkSettings *NetworkSettings `protobuf:"bytes,19,opt,name=network_settings,json=networkSettings,proto3" json:"network_settings,omitempty"`
	// Placement policy configuration.
	PlacementPolicy *PlacementPolicy `protobuf:"bytes,20,opt,name=placement_policy,json=placementPolicy,proto3" json:"placement_policy,omitempty"`
	// ID of the dedicated host group that the instance belongs to.
	HostGroupId string `protobuf:"bytes,27,opt,name=host_group_id,json=hostGroupId,proto3" json:"host_group_id,omitempty"`
	// ID of the dedicated host that the instance belongs to.
	HostId string `protobuf:"bytes,28,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Behaviour on maintenance events
	MaintenancePolicy MaintenancePolicy `protobuf:"varint,29,opt,name=maintenance_policy,json=maintenancePolicy,proto3,enum=yandex.cloud.compute.v1.MaintenancePolicy" json:"maintenance_policy,omitempty"`
	// Time between notification via metadata service and maintenance
	MaintenanceGracePeriod *durationpb.Duration `protobuf:"bytes,30,opt,name=maintenance_grace_period,json=maintenanceGracePeriod,proto3" json:"maintenance_grace_period,omitempty"`
	// This feature set is inherited from the image/disk used as a boot one at the creation of the instance.
	HardwareGeneration *HardwareGeneration `protobuf:"bytes,31,opt,name=hardware_generation,json=hardwareGeneration,proto3" json:"hardware_generation,omitempty"`
	// ID of the reserved instance pool that the instance belongs to.
	ReservedInstancePoolId string `protobuf:"bytes,32,opt,name=reserved_instance_pool_id,json=reservedInstancePoolId,proto3" json:"reserved_instance_pool_id,omitempty"`
	// Instance application settings.
	Application   *Application `protobuf:"bytes,33,opt,name=application,proto3" json:"application,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Instance) ProtoMessage() {}

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

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

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

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

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

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

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

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

func (x *Instance) GetPlatformId() string {
	if x != nil {
		return x.PlatformId
	}
	return ""
}

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

func (x *Instance) GetStatus() Instance_Status {
	if x != nil {
		return x.Status
	}
	return Instance_STATUS_UNSPECIFIED
}

func (x *Instance) GetMetadata() map[string]string {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *Instance) GetMetadataOptions() *MetadataOptions {
	if x != nil {
		return x.MetadataOptions
	}
	return nil
}

func (x *Instance) GetBootDisk() *AttachedDisk {
	if x != nil {
		return x.BootDisk
	}
	return nil
}

func (x *Instance) GetSecondaryDisks() []*AttachedDisk {
	if x != nil {
		return x.SecondaryDisks
	}
	return nil
}

func (x *Instance) GetLocalDisks() []*AttachedLocalDisk {
	if x != nil {
		return x.LocalDisks
	}
	return nil
}

func (x *Instance) GetFilesystems() []*AttachedFilesystem {
	if x != nil {
		return x.Filesystems
	}
	return nil
}

func (x *Instance) GetNetworkInterfaces() []*NetworkInterface {
	if x != nil {
		return x.NetworkInterfaces
	}
	return nil
}

func (x *Instance) GetSerialPortSettings() *SerialPortSettings {
	if x != nil {
		return x.SerialPortSettings
	}
	return nil
}

func (x *Instance) GetGpuSettings() *GpuSettings {
	if x != nil {
		return x.GpuSettings
	}
	return nil
}

func (x *Instance) GetFqdn() string {
	if x != nil {
		return x.Fqdn
	}
	return ""
}

func (x *Instance) GetSchedulingPolicy() *SchedulingPolicy {
	if x != nil {
		return x.SchedulingPolicy
	}
	return nil
}

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

func (x *Instance) GetNetworkSettings() *NetworkSettings {
	if x != nil {
		return x.NetworkSettings
	}
	return nil
}

func (x *Instance) GetPlacementPolicy() *PlacementPolicy {
	if x != nil {
		return x.PlacementPolicy
	}
	return nil
}

func (x *Instance) GetHostGroupId() string {
	if x != nil {
		return x.HostGroupId
	}
	return ""
}

func (x *Instance) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *Instance) GetMaintenancePolicy() MaintenancePolicy {
	if x != nil {
		return x.MaintenancePolicy
	}
	return MaintenancePolicy_MAINTENANCE_POLICY_UNSPECIFIED
}

func (x *Instance) GetMaintenanceGracePeriod() *durationpb.Duration {
	if x != nil {
		return x.MaintenanceGracePeriod
	}
	return nil
}

func (x *Instance) GetHardwareGeneration() *HardwareGeneration {
	if x != nil {
		return x.HardwareGeneration
	}
	return nil
}

func (x *Instance) GetReservedInstancePoolId() string {
	if x != nil {
		return x.ReservedInstancePoolId
	}
	return ""
}

func (x *Instance) GetApplication() *Application {
	if x != nil {
		return x.Application
	}
	return nil
}

type Resources struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The amount of memory available to the instance, specified in bytes.
	Memory int64 `protobuf:"varint,1,opt,name=memory,proto3" json:"memory,omitempty"`
	// The number of cores available to the instance.
	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"`
	// The number of GPUs available to the instance.
	Gpus          int64 `protobuf:"varint,4,opt,name=gpus,proto3" json:"gpus,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Resources) ProtoMessage() {}

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

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

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

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

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

type AttachedDisk struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Access mode to the Disk resource.
	Mode AttachedDisk_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=yandex.cloud.compute.v1.AttachedDisk_Mode" json:"mode,omitempty"`
	// Serial number that is reflected into the /dev/disk/by-id/ tree
	// of a Linux operating system running within the instance.
	//
	// This value can be used to reference the device for mounting, resizing, and so on, from within the instance.
	DeviceName string `protobuf:"bytes,2,opt,name=device_name,json=deviceName,proto3" json:"device_name,omitempty"`
	// Specifies whether the disk will be auto-deleted when the instance is deleted.
	AutoDelete bool `protobuf:"varint,3,opt,name=auto_delete,json=autoDelete,proto3" json:"auto_delete,omitempty"`
	// ID of the disk that is attached to the instance.
	DiskId        string `protobuf:"bytes,4,opt,name=disk_id,json=diskId,proto3" json:"disk_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AttachedDisk) ProtoMessage() {}

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

func (x *AttachedDisk) GetMode() AttachedDisk_Mode {
	if x != nil {
		return x.Mode
	}
	return AttachedDisk_MODE_UNSPECIFIED
}

func (x *AttachedDisk) GetDeviceName() string {
	if x != nil {
		return x.DeviceName
	}
	return ""
}

func (x *AttachedDisk) GetAutoDelete() bool {
	if x != nil {
		return x.AutoDelete
	}
	return false
}

func (x *AttachedDisk) GetDiskId() string {
	if x != nil {
		return x.DiskId
	}
	return ""
}

type AttachedLocalDisk struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Size of the disk, specified in bytes.
	Size int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"`
	// Serial number that is reflected into the /dev/disk/by-id/ tree
	// of a Linux operating system running within the instance.
	//
	// This value can be used to reference the device for mounting, resizing, and so on, from within the instance.
	DeviceName    string `protobuf:"bytes,2,opt,name=device_name,json=deviceName,proto3" json:"device_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AttachedLocalDisk) ProtoMessage() {}

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

func (x *AttachedLocalDisk) GetSize() int64 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *AttachedLocalDisk) GetDeviceName() string {
	if x != nil {
		return x.DeviceName
	}
	return ""
}

type AttachedFilesystem struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Access mode to the filesystem.
	Mode AttachedFilesystem_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=yandex.cloud.compute.v1.AttachedFilesystem_Mode" json:"mode,omitempty"`
	// Name of the device representing the filesystem on the instance.
	//
	// The name should be used for referencing the filesystem from within the instance
	// when it's being mounted, resized etc.
	DeviceName string `protobuf:"bytes,2,opt,name=device_name,json=deviceName,proto3" json:"device_name,omitempty"`
	// ID of the filesystem that is attached to the instance.
	FilesystemId  string `protobuf:"bytes,3,opt,name=filesystem_id,json=filesystemId,proto3" json:"filesystem_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AttachedFilesystem) ProtoMessage() {}

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

func (x *AttachedFilesystem) GetMode() AttachedFilesystem_Mode {
	if x != nil {
		return x.Mode
	}
	return AttachedFilesystem_MODE_UNSPECIFIED
}

func (x *AttachedFilesystem) GetDeviceName() string {
	if x != nil {
		return x.DeviceName
	}
	return ""
}

func (x *AttachedFilesystem) GetFilesystemId() string {
	if x != nil {
		return x.FilesystemId
	}
	return ""
}

type NetworkInterface struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The index of the network interface, will be generated by the server, 0,1,2... etc if not specified.
	Index string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"`
	// MAC address that is assigned to the network interface.
	MacAddress string `protobuf:"bytes,2,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"`
	// ID of the subnet.
	SubnetId string `protobuf:"bytes,3,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"`
	// Primary IPv4 address that is assigned to the instance for this network interface.
	PrimaryV4Address *PrimaryAddress `protobuf:"bytes,4,opt,name=primary_v4_address,json=primaryV4Address,proto3" json:"primary_v4_address,omitempty"`
	// Primary IPv6 address that is assigned to the instance for this network interface. IPv6 not available yet.
	PrimaryV6Address *PrimaryAddress `protobuf:"bytes,5,opt,name=primary_v6_address,json=primaryV6Address,proto3" json:"primary_v6_address,omitempty"`
	// ID's of security groups attached to the interface
	SecurityGroupIds []string `protobuf:"bytes,6,rep,name=security_group_ids,json=securityGroupIds,proto3" json:"security_group_ids,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*NetworkInterface) ProtoMessage() {}

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

func (x *NetworkInterface) GetIndex() string {
	if x != nil {
		return x.Index
	}
	return ""
}

func (x *NetworkInterface) GetMacAddress() string {
	if x != nil {
		return x.MacAddress
	}
	return ""
}

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

func (x *NetworkInterface) GetPrimaryV4Address() *PrimaryAddress {
	if x != nil {
		return x.PrimaryV4Address
	}
	return nil
}

func (x *NetworkInterface) GetPrimaryV6Address() *PrimaryAddress {
	if x != nil {
		return x.PrimaryV6Address
	}
	return nil
}

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

type PrimaryAddress struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// An IPv4 internal network address that is assigned to the instance for this network interface.
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// One-to-one NAT configuration. If missing, NAT has not been set up.
	OneToOneNat *OneToOneNat `protobuf:"bytes,2,opt,name=one_to_one_nat,json=oneToOneNat,proto3" json:"one_to_one_nat,omitempty"`
	// Internal DNS configuration
	DnsRecords    []*DnsRecord `protobuf:"bytes,3,rep,name=dns_records,json=dnsRecords,proto3" json:"dns_records,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PrimaryAddress) ProtoMessage() {}

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

func (x *PrimaryAddress) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *PrimaryAddress) GetOneToOneNat() *OneToOneNat {
	if x != nil {
		return x.OneToOneNat
	}
	return nil
}

func (x *PrimaryAddress) GetDnsRecords() []*DnsRecord {
	if x != nil {
		return x.DnsRecords
	}
	return nil
}

type OneToOneNat struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// An external IP address associated with this instance.
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// IP version for the external IP address.
	IpVersion IpVersion `protobuf:"varint,2,opt,name=ip_version,json=ipVersion,proto3,enum=yandex.cloud.compute.v1.IpVersion" json:"ip_version,omitempty"`
	// External DNS configuration
	DnsRecords    []*DnsRecord `protobuf:"bytes,3,rep,name=dns_records,json=dnsRecords,proto3" json:"dns_records,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*OneToOneNat) ProtoMessage() {}

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

func (x *OneToOneNat) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *OneToOneNat) GetIpVersion() IpVersion {
	if x != nil {
		return x.IpVersion
	}
	return IpVersion_IP_VERSION_UNSPECIFIED
}

func (x *OneToOneNat) GetDnsRecords() []*DnsRecord {
	if x != nil {
		return x.DnsRecords
	}
	return nil
}

type DnsRecord struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name of the A/AAAA record as specified when creating the instance.
	// Note that if `fqdn' has no trailing '.', it is specified relative to the zone (@see dns_zone_id).
	Fqdn string `protobuf:"bytes,1,opt,name=fqdn,proto3" json:"fqdn,omitempty"`
	// DNS zone id for the record (optional, if not set, some private zone is used).
	DnsZoneId string `protobuf:"bytes,2,opt,name=dns_zone_id,json=dnsZoneId,proto3" json:"dns_zone_id,omitempty"`
	// DNS record ttl (optional, if not set, a reasonable default is used.)
	Ttl int64 `protobuf:"varint,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
	// When true, indicates there is a corresponding auto-created PTR DNS record.
	Ptr           bool `protobuf:"varint,4,opt,name=ptr,proto3" json:"ptr,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DnsRecord) ProtoMessage() {}

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

func (x *DnsRecord) GetFqdn() string {
	if x != nil {
		return x.Fqdn
	}
	return ""
}

func (x *DnsRecord) GetDnsZoneId() string {
	if x != nil {
		return x.DnsZoneId
	}
	return ""
}

func (x *DnsRecord) GetTtl() int64 {
	if x != nil {
		return x.Ttl
	}
	return 0
}

func (x *DnsRecord) GetPtr() bool {
	if x != nil {
		return x.Ptr
	}
	return false
}

type SchedulingPolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// True for short-lived compute instances. For more information, see [Preemptible VMs](/docs/compute/concepts/preemptible-vm).
	Preemptible   bool `protobuf:"varint,1,opt,name=preemptible,proto3" json:"preemptible,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SchedulingPolicy) ProtoMessage() {}

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

func (x *SchedulingPolicy) GetPreemptible() bool {
	if x != nil {
		return x.Preemptible
	}
	return false
}

type NetworkSettings struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Network Type
	Type          NetworkSettings_Type `protobuf:"varint,1,opt,name=type,proto3,enum=yandex.cloud.compute.v1.NetworkSettings_Type" json:"type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*NetworkSettings) ProtoMessage() {}

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

func (x *NetworkSettings) GetType() NetworkSettings_Type {
	if x != nil {
		return x.Type
	}
	return NetworkSettings_TYPE_UNSPECIFIED
}

type GpuSettings struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Attach instance to specified GPU cluster.
	GpuClusterId  string `protobuf:"bytes,1,opt,name=gpu_cluster_id,json=gpuClusterId,proto3" json:"gpu_cluster_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GpuSettings) ProtoMessage() {}

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

func (x *GpuSettings) GetGpuClusterId() string {
	if x != nil {
		return x.GpuClusterId
	}
	return ""
}

type PlacementPolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Placement group ID.
	PlacementGroupId string `protobuf:"bytes,1,opt,name=placement_group_id,json=placementGroupId,proto3" json:"placement_group_id,omitempty"`
	// List of affinity rules. Scheduler will attempt to allocate instances according to order of rules.
	HostAffinityRules []*PlacementPolicy_HostAffinityRule `protobuf:"bytes,2,rep,name=host_affinity_rules,json=hostAffinityRules,proto3" json:"host_affinity_rules,omitempty"`
	// Placement group partition
	PlacementGroupPartition int64 `protobuf:"varint,3,opt,name=placement_group_partition,json=placementGroupPartition,proto3" json:"placement_group_partition,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

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

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

func (*PlacementPolicy) ProtoMessage() {}

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

func (x *PlacementPolicy) GetPlacementGroupId() string {
	if x != nil {
		return x.PlacementGroupId
	}
	return ""
}

func (x *PlacementPolicy) GetHostAffinityRules() []*PlacementPolicy_HostAffinityRule {
	if x != nil {
		return x.HostAffinityRules
	}
	return nil
}

func (x *PlacementPolicy) GetPlacementGroupPartition() int64 {
	if x != nil {
		return x.PlacementGroupPartition
	}
	return 0
}

type MetadataOptions struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Enabled access to GCE flavored metadata
	GceHttpEndpoint MetadataOption `protobuf:"varint,1,opt,name=gce_http_endpoint,json=gceHttpEndpoint,proto3,enum=yandex.cloud.compute.v1.MetadataOption" json:"gce_http_endpoint,omitempty"`
	// Enabled access to AWS flavored metadata (IMDSv1)
	AwsV1HttpEndpoint MetadataOption `protobuf:"varint,2,opt,name=aws_v1_http_endpoint,json=awsV1HttpEndpoint,proto3,enum=yandex.cloud.compute.v1.MetadataOption" json:"aws_v1_http_endpoint,omitempty"`
	// Enabled access to IAM credentials with GCE flavored metadata
	GceHttpToken MetadataOption `protobuf:"varint,3,opt,name=gce_http_token,json=gceHttpToken,proto3,enum=yandex.cloud.compute.v1.MetadataOption" json:"gce_http_token,omitempty"`
	// Enabled access to IAM credentials with AWS flavored metadata (IMDSv1)
	AwsV1HttpToken MetadataOption `protobuf:"varint,4,opt,name=aws_v1_http_token,json=awsV1HttpToken,proto3,enum=yandex.cloud.compute.v1.MetadataOption" json:"aws_v1_http_token,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*MetadataOptions) ProtoMessage() {}

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

func (x *MetadataOptions) GetGceHttpEndpoint() MetadataOption {
	if x != nil {
		return x.GceHttpEndpoint
	}
	return MetadataOption_METADATA_OPTION_UNSPECIFIED
}

func (x *MetadataOptions) GetAwsV1HttpEndpoint() MetadataOption {
	if x != nil {
		return x.AwsV1HttpEndpoint
	}
	return MetadataOption_METADATA_OPTION_UNSPECIFIED
}

func (x *MetadataOptions) GetGceHttpToken() MetadataOption {
	if x != nil {
		return x.GceHttpToken
	}
	return MetadataOption_METADATA_OPTION_UNSPECIFIED
}

func (x *MetadataOptions) GetAwsV1HttpToken() MetadataOption {
	if x != nil {
		return x.AwsV1HttpToken
	}
	return MetadataOption_METADATA_OPTION_UNSPECIFIED
}

type SerialPortSettings struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Authentication and authorization in serial console when using SSH protocol
	SshAuthorization SerialPortSettings_SSHAuthorization `protobuf:"varint,1,opt,name=ssh_authorization,json=sshAuthorization,proto3,enum=yandex.cloud.compute.v1.SerialPortSettings_SSHAuthorization" json:"ssh_authorization,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*SerialPortSettings) ProtoMessage() {}

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

func (x *SerialPortSettings) GetSshAuthorization() SerialPortSettings_SSHAuthorization {
	if x != nil {
		return x.SshAuthorization
	}
	return SerialPortSettings_SSH_AUTHORIZATION_UNSPECIFIED
}

// Affinity definition
type PlacementPolicy_HostAffinityRule struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Affinity label or one of reserved values - 'yc.hostId', 'yc.hostGroupId'
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// Include or exclude action
	Op PlacementPolicy_HostAffinityRule_Operator `protobuf:"varint,2,opt,name=op,proto3,enum=yandex.cloud.compute.v1.PlacementPolicy_HostAffinityRule_Operator" json:"op,omitempty"`
	// Affinity value or host ID or host group ID
	Values        []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PlacementPolicy_HostAffinityRule) ProtoMessage() {}

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

func (x *PlacementPolicy_HostAffinityRule) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *PlacementPolicy_HostAffinityRule) GetOp() PlacementPolicy_HostAffinityRule_Operator {
	if x != nil {
		return x.Op
	}
	return PlacementPolicy_HostAffinityRule_OPERATOR_UNSPECIFIED
}

func (x *PlacementPolicy_HostAffinityRule) GetValues() []string {
	if x != nil {
		return x.Values
	}
	return nil
}

var File_yandex_cloud_compute_v1_instance_proto protoreflect.FileDescriptor

const file_yandex_cloud_compute_v1_instance_proto_rawDesc = "" +
	"\n" +
	"&yandex/cloud/compute/v1/instance.proto\x12\x17yandex.cloud.compute.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a)yandex/cloud/compute/v1/application.proto\x1a1yandex/cloud/compute/v1/hardware_generation.proto\x1a)yandex/cloud/compute/v1/maintenance.proto\"\xc6\x11\n" +
	"\bInstance\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\x12E\n" +
	"\x06labels\x18\x06 \x03(\v2-.yandex.cloud.compute.v1.Instance.LabelsEntryR\x06labels\x12\x17\n" +
	"\azone_id\x18\a \x01(\tR\x06zoneId\x12\x1f\n" +
	"\vplatform_id\x18\b \x01(\tR\n" +
	"platformId\x12@\n" +
	"\tresources\x18\t \x01(\v2\".yandex.cloud.compute.v1.ResourcesR\tresources\x12@\n" +
	"\x06status\x18\n" +
	" \x01(\x0e2(.yandex.cloud.compute.v1.Instance.StatusR\x06status\x12K\n" +
	"\bmetadata\x18\v \x03(\v2/.yandex.cloud.compute.v1.Instance.MetadataEntryR\bmetadata\x12S\n" +
	"\x10metadata_options\x18\x17 \x01(\v2(.yandex.cloud.compute.v1.MetadataOptionsR\x0fmetadataOptions\x12B\n" +
	"\tboot_disk\x18\f \x01(\v2%.yandex.cloud.compute.v1.AttachedDiskR\bbootDisk\x12N\n" +
	"\x0fsecondary_disks\x18\r \x03(\v2%.yandex.cloud.compute.v1.AttachedDiskR\x0esecondaryDisks\x12K\n" +
	"\vlocal_disks\x18\x16 \x03(\v2*.yandex.cloud.compute.v1.AttachedLocalDiskR\n" +
	"localDisks\x12M\n" +
	"\vfilesystems\x18\x15 \x03(\v2+.yandex.cloud.compute.v1.AttachedFilesystemR\vfilesystems\x12X\n" +
	"\x12network_interfaces\x18\x0e \x03(\v2).yandex.cloud.compute.v1.NetworkInterfaceR\x11networkInterfaces\x12]\n" +
	"\x14serial_port_settings\x18\x18 \x01(\v2+.yandex.cloud.compute.v1.SerialPortSettingsR\x12serialPortSettings\x12G\n" +
	"\fgpu_settings\x18\x1a \x01(\v2$.yandex.cloud.compute.v1.GpuSettingsR\vgpuSettings\x12\x12\n" +
	"\x04fqdn\x18\x10 \x01(\tR\x04fqdn\x12V\n" +
	"\x11scheduling_policy\x18\x11 \x01(\v2).yandex.cloud.compute.v1.SchedulingPolicyR\x10schedulingPolicy\x12,\n" +
	"\x12service_account_id\x18\x12 \x01(\tR\x10serviceAccountId\x12S\n" +
	"\x10network_settings\x18\x13 \x01(\v2(.yandex.cloud.compute.v1.NetworkSettingsR\x0fnetworkSettings\x12S\n" +
	"\x10placement_policy\x18\x14 \x01(\v2(.yandex.cloud.compute.v1.PlacementPolicyR\x0fplacementPolicy\x12\"\n" +
	"\rhost_group_id\x18\x1b \x01(\tR\vhostGroupId\x12\x17\n" +
	"\ahost_id\x18\x1c \x01(\tR\x06hostId\x12Y\n" +
	"\x12maintenance_policy\x18\x1d \x01(\x0e2*.yandex.cloud.compute.v1.MaintenancePolicyR\x11maintenancePolicy\x12S\n" +
	"\x18maintenance_grace_period\x18\x1e \x01(\v2\x19.google.protobuf.DurationR\x16maintenanceGracePeriod\x12\\\n" +
	"\x13hardware_generation\x18\x1f \x01(\v2+.yandex.cloud.compute.v1.HardwareGenerationR\x12hardwareGeneration\x129\n" +
	"\x19reserved_instance_pool_id\x18  \x01(\tR\x16reservedInstancePoolId\x12F\n" +
	"\vapplication\x18! \x01(\v2$.yandex.cloud.compute.v1.ApplicationR\vapplication\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a;\n" +
	"\rMetadataEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xac\x01\n" +
	"\x06Status\x12\x16\n" +
	"\x12STATUS_UNSPECIFIED\x10\x00\x12\x10\n" +
	"\fPROVISIONING\x10\x01\x12\v\n" +
	"\aRUNNING\x10\x02\x12\f\n" +
	"\bSTOPPING\x10\x03\x12\v\n" +
	"\aSTOPPED\x10\x04\x12\f\n" +
	"\bSTARTING\x10\x05\x12\x0e\n" +
	"\n" +
	"RESTARTING\x10\x06\x12\f\n" +
	"\bUPDATING\x10\a\x12\t\n" +
	"\x05ERROR\x10\b\x12\v\n" +
	"\aCRASHED\x10\t\x12\f\n" +
	"\bDELETING\x10\n" +
	"J\x04\b\x0f\x10\x10J\x04\b\x19\x10\x1a\"r\n" +
	"\tResources\x12\x16\n" +
	"\x06memory\x18\x01 \x01(\x03R\x06memory\x12\x14\n" +
	"\x05cores\x18\x02 \x01(\x03R\x05cores\x12#\n" +
	"\rcore_fraction\x18\x03 \x01(\x03R\fcoreFraction\x12\x12\n" +
	"\x04gpus\x18\x04 \x01(\x03R\x04gpus\"\xe6\x01\n" +
	"\fAttachedDisk\x12>\n" +
	"\x04mode\x18\x01 \x01(\x0e2*.yandex.cloud.compute.v1.AttachedDisk.ModeR\x04mode\x12\x1f\n" +
	"\vdevice_name\x18\x02 \x01(\tR\n" +
	"deviceName\x12\x1f\n" +
	"\vauto_delete\x18\x03 \x01(\bR\n" +
	"autoDelete\x12\x17\n" +
	"\adisk_id\x18\x04 \x01(\tR\x06diskId\";\n" +
	"\x04Mode\x12\x14\n" +
	"\x10MODE_UNSPECIFIED\x10\x00\x12\r\n" +
	"\tREAD_ONLY\x10\x01\x12\x0e\n" +
	"\n" +
	"READ_WRITE\x10\x02\"H\n" +
	"\x11AttachedLocalDisk\x12\x12\n" +
	"\x04size\x18\x01 \x01(\x03R\x04size\x12\x1f\n" +
	"\vdevice_name\x18\x02 \x01(\tR\n" +
	"deviceName\"\xdd\x01\n" +
	"\x12AttachedFilesystem\x12D\n" +
	"\x04mode\x18\x01 \x01(\x0e20.yandex.cloud.compute.v1.AttachedFilesystem.ModeR\x04mode\x12\x1f\n" +
	"\vdevice_name\x18\x02 \x01(\tR\n" +
	"deviceName\x12#\n" +
	"\rfilesystem_id\x18\x03 \x01(\tR\ffilesystemId\";\n" +
	"\x04Mode\x12\x14\n" +
	"\x10MODE_UNSPECIFIED\x10\x00\x12\r\n" +
	"\tREAD_ONLY\x10\x01\x12\x0e\n" +
	"\n" +
	"READ_WRITE\x10\x02\"\xc2\x02\n" +
	"\x10NetworkInterface\x12\x14\n" +
	"\x05index\x18\x01 \x01(\tR\x05index\x12\x1f\n" +
	"\vmac_address\x18\x02 \x01(\tR\n" +
	"macAddress\x12\x1b\n" +
	"\tsubnet_id\x18\x03 \x01(\tR\bsubnetId\x12U\n" +
	"\x12primary_v4_address\x18\x04 \x01(\v2'.yandex.cloud.compute.v1.PrimaryAddressR\x10primaryV4Address\x12U\n" +
	"\x12primary_v6_address\x18\x05 \x01(\v2'.yandex.cloud.compute.v1.PrimaryAddressR\x10primaryV6Address\x12,\n" +
	"\x12security_group_ids\x18\x06 \x03(\tR\x10securityGroupIds\"\xba\x01\n" +
	"\x0ePrimaryAddress\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12I\n" +
	"\x0eone_to_one_nat\x18\x02 \x01(\v2$.yandex.cloud.compute.v1.OneToOneNatR\voneToOneNat\x12C\n" +
	"\vdns_records\x18\x03 \x03(\v2\".yandex.cloud.compute.v1.DnsRecordR\n" +
	"dnsRecords\"\xaf\x01\n" +
	"\vOneToOneNat\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12A\n" +
	"\n" +
	"ip_version\x18\x02 \x01(\x0e2\".yandex.cloud.compute.v1.IpVersionR\tipVersion\x12C\n" +
	"\vdns_records\x18\x03 \x03(\v2\".yandex.cloud.compute.v1.DnsRecordR\n" +
	"dnsRecords\"c\n" +
	"\tDnsRecord\x12\x12\n" +
	"\x04fqdn\x18\x01 \x01(\tR\x04fqdn\x12\x1e\n" +
	"\vdns_zone_id\x18\x02 \x01(\tR\tdnsZoneId\x12\x10\n" +
	"\x03ttl\x18\x03 \x01(\x03R\x03ttl\x12\x10\n" +
	"\x03ptr\x18\x04 \x01(\bR\x03ptr\"4\n" +
	"\x10SchedulingPolicy\x12 \n" +
	"\vpreemptible\x18\x01 \x01(\bR\vpreemptible\"\xb4\x01\n" +
	"\x0fNetworkSettings\x12A\n" +
	"\x04type\x18\x01 \x01(\x0e2-.yandex.cloud.compute.v1.NetworkSettings.TypeR\x04type\"^\n" +
	"\x04Type\x12\x14\n" +
	"\x10TYPE_UNSPECIFIED\x10\x00\x12\f\n" +
	"\bSTANDARD\x10\x01\x12\x18\n" +
	"\x14SOFTWARE_ACCELERATED\x10\x02\x12\x18\n" +
	"\x14HARDWARE_ACCELERATED\x10\x03\"3\n" +
	"\vGpuSettings\x12$\n" +
	"\x0egpu_cluster_id\x18\x01 \x01(\tR\fgpuClusterId\"\xb3\x03\n" +
	"\x0fPlacementPolicy\x12,\n" +
	"\x12placement_group_id\x18\x01 \x01(\tR\x10placementGroupId\x12i\n" +
	"\x13host_affinity_rules\x18\x02 \x03(\v29.yandex.cloud.compute.v1.PlacementPolicy.HostAffinityRuleR\x11hostAffinityRules\x12:\n" +
	"\x19placement_group_partition\x18\x03 \x01(\x03R\x17placementGroupPartition\x1a\xca\x01\n" +
	"\x10HostAffinityRule\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12R\n" +
	"\x02op\x18\x02 \x01(\x0e2B.yandex.cloud.compute.v1.PlacementPolicy.HostAffinityRule.OperatorR\x02op\x12\x16\n" +
	"\x06values\x18\x03 \x03(\tR\x06values\"8\n" +
	"\bOperator\x12\x18\n" +
	"\x14OPERATOR_UNSPECIFIED\x10\x00\x12\x06\n" +
	"\x02IN\x10\x01\x12\n" +
	"\n" +
	"\x06NOT_IN\x10\x02\"\xe3\x02\n" +
	"\x0fMetadataOptions\x12S\n" +
	"\x11gce_http_endpoint\x18\x01 \x01(\x0e2'.yandex.cloud.compute.v1.MetadataOptionR\x0fgceHttpEndpoint\x12X\n" +
	"\x14aws_v1_http_endpoint\x18\x02 \x01(\x0e2'.yandex.cloud.compute.v1.MetadataOptionR\x11awsV1HttpEndpoint\x12M\n" +
	"\x0egce_http_token\x18\x03 \x01(\x0e2'.yandex.cloud.compute.v1.MetadataOptionR\fgceHttpToken\x12R\n" +
	"\x11aws_v1_http_token\x18\x04 \x01(\x0e2'.yandex.cloud.compute.v1.MetadataOptionR\x0eawsV1HttpToken\"\xdb\x01\n" +
	"\x12SerialPortSettings\x12i\n" +
	"\x11ssh_authorization\x18\x01 \x01(\x0e2<.yandex.cloud.compute.v1.SerialPortSettings.SSHAuthorizationR\x10sshAuthorization\"Z\n" +
	"\x10SSHAuthorization\x12!\n" +
	"\x1dSSH_AUTHORIZATION_UNSPECIFIED\x10\x00\x12\x15\n" +
	"\x11INSTANCE_METADATA\x10\x01\x12\f\n" +
	"\bOS_LOGIN\x10\x02*;\n" +
	"\tIpVersion\x12\x1a\n" +
	"\x16IP_VERSION_UNSPECIFIED\x10\x00\x12\b\n" +
	"\x04IPV4\x10\x01\x12\b\n" +
	"\x04IPV6\x10\x02*L\n" +
	"\x0eMetadataOption\x12\x1f\n" +
	"\x1bMETADATA_OPTION_UNSPECIFIED\x10\x00\x12\v\n" +
	"\aENABLED\x10\x01\x12\f\n" +
	"\bDISABLED\x10\x02Bb\n" +
	"\x1byandex.cloud.api.compute.v1ZCgithub.com/yandex-cloud/go-genproto/yandex/cloud/compute/v1;computeb\x06proto3"

var (
	file_yandex_cloud_compute_v1_instance_proto_rawDescOnce sync.Once
	file_yandex_cloud_compute_v1_instance_proto_rawDescData []byte
)

func file_yandex_cloud_compute_v1_instance_proto_rawDescGZIP() []byte {
	file_yandex_cloud_compute_v1_instance_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_compute_v1_instance_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_compute_v1_instance_proto_rawDesc), len(file_yandex_cloud_compute_v1_instance_proto_rawDesc)))
	})
	return file_yandex_cloud_compute_v1_instance_proto_rawDescData
}

var file_yandex_cloud_compute_v1_instance_proto_enumTypes = make([]protoimpl.EnumInfo, 8)
var file_yandex_cloud_compute_v1_instance_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
var file_yandex_cloud_compute_v1_instance_proto_goTypes = []any{
	(IpVersion)(0),                                 // 0: yandex.cloud.compute.v1.IpVersion
	(MetadataOption)(0),                            // 1: yandex.cloud.compute.v1.MetadataOption
	(Instance_Status)(0),                           // 2: yandex.cloud.compute.v1.Instance.Status
	(AttachedDisk_Mode)(0),                         // 3: yandex.cloud.compute.v1.AttachedDisk.Mode
	(AttachedFilesystem_Mode)(0),                   // 4: yandex.cloud.compute.v1.AttachedFilesystem.Mode
	(NetworkSettings_Type)(0),                      // 5: yandex.cloud.compute.v1.NetworkSettings.Type
	(PlacementPolicy_HostAffinityRule_Operator)(0), // 6: yandex.cloud.compute.v1.PlacementPolicy.HostAffinityRule.Operator
	(SerialPortSettings_SSHAuthorization)(0),       // 7: yandex.cloud.compute.v1.SerialPortSettings.SSHAuthorization
	(*Instance)(nil),                               // 8: yandex.cloud.compute.v1.Instance
	(*Resources)(nil),                              // 9: yandex.cloud.compute.v1.Resources
	(*AttachedDisk)(nil),                           // 10: yandex.cloud.compute.v1.AttachedDisk
	(*AttachedLocalDisk)(nil),                      // 11: yandex.cloud.compute.v1.AttachedLocalDisk
	(*AttachedFilesystem)(nil),                     // 12: yandex.cloud.compute.v1.AttachedFilesystem
	(*NetworkInterface)(nil),                       // 13: yandex.cloud.compute.v1.NetworkInterface
	(*PrimaryAddress)(nil),                         // 14: yandex.cloud.compute.v1.PrimaryAddress
	(*OneToOneNat)(nil),                            // 15: yandex.cloud.compute.v1.OneToOneNat
	(*DnsRecord)(nil),                              // 16: yandex.cloud.compute.v1.DnsRecord
	(*SchedulingPolicy)(nil),                       // 17: yandex.cloud.compute.v1.SchedulingPolicy
	(*NetworkSettings)(nil),                        // 18: yandex.cloud.compute.v1.NetworkSettings
	(*GpuSettings)(nil),                            // 19: yandex.cloud.compute.v1.GpuSettings
	(*PlacementPolicy)(nil),                        // 20: yandex.cloud.compute.v1.PlacementPolicy
	(*MetadataOptions)(nil),                        // 21: yandex.cloud.compute.v1.MetadataOptions
	(*SerialPortSettings)(nil),                     // 22: yandex.cloud.compute.v1.SerialPortSettings
	nil,                                            // 23: yandex.cloud.compute.v1.Instance.LabelsEntry
	nil,                                            // 24: yandex.cloud.compute.v1.Instance.MetadataEntry
	(*PlacementPolicy_HostAffinityRule)(nil),       // 25: yandex.cloud.compute.v1.PlacementPolicy.HostAffinityRule
	(*timestamppb.Timestamp)(nil),                  // 26: google.protobuf.Timestamp
	(MaintenancePolicy)(0),                         // 27: yandex.cloud.compute.v1.MaintenancePolicy
	(*durationpb.Duration)(nil),                    // 28: google.protobuf.Duration
	(*HardwareGeneration)(nil),                     // 29: yandex.cloud.compute.v1.HardwareGeneration
	(*Application)(nil),                            // 30: yandex.cloud.compute.v1.Application
}
var file_yandex_cloud_compute_v1_instance_proto_depIdxs = []int32{
	26, // 0: yandex.cloud.compute.v1.Instance.created_at:type_name -> google.protobuf.Timestamp
	23, // 1: yandex.cloud.compute.v1.Instance.labels:type_name -> yandex.cloud.compute.v1.Instance.LabelsEntry
	9,  // 2: yandex.cloud.compute.v1.Instance.resources:type_name -> yandex.cloud.compute.v1.Resources
	2,  // 3: yandex.cloud.compute.v1.Instance.status:type_name -> yandex.cloud.compute.v1.Instance.Status
	24, // 4: yandex.cloud.compute.v1.Instance.metadata:type_name -> yandex.cloud.compute.v1.Instance.MetadataEntry
	21, // 5: yandex.cloud.compute.v1.Instance.metadata_options:type_name -> yandex.cloud.compute.v1.MetadataOptions
	10, // 6: yandex.cloud.compute.v1.Instance.boot_disk:type_name -> yandex.cloud.compute.v1.AttachedDisk
	10, // 7: yandex.cloud.compute.v1.Instance.secondary_disks:type_name -> yandex.cloud.compute.v1.AttachedDisk
	11, // 8: yandex.cloud.compute.v1.Instance.local_disks:type_name -> yandex.cloud.compute.v1.AttachedLocalDisk
	12, // 9: yandex.cloud.compute.v1.Instance.filesystems:type_name -> yandex.cloud.compute.v1.AttachedFilesystem
	13, // 10: yandex.cloud.compute.v1.Instance.network_interfaces:type_name -> yandex.cloud.compute.v1.NetworkInterface
	22, // 11: yandex.cloud.compute.v1.Instance.serial_port_settings:type_name -> yandex.cloud.compute.v1.SerialPortSettings
	19, // 12: yandex.cloud.compute.v1.Instance.gpu_settings:type_name -> yandex.cloud.compute.v1.GpuSettings
	17, // 13: yandex.cloud.compute.v1.Instance.scheduling_policy:type_name -> yandex.cloud.compute.v1.SchedulingPolicy
	18, // 14: yandex.cloud.compute.v1.Instance.network_settings:type_name -> yandex.cloud.compute.v1.NetworkSettings
	20, // 15: yandex.cloud.compute.v1.Instance.placement_policy:type_name -> yandex.cloud.compute.v1.PlacementPolicy
	27, // 16: yandex.cloud.compute.v1.Instance.maintenance_policy:type_name -> yandex.cloud.compute.v1.MaintenancePolicy
	28, // 17: yandex.cloud.compute.v1.Instance.maintenance_grace_period:type_name -> google.protobuf.Duration
	29, // 18: yandex.cloud.compute.v1.Instance.hardware_generation:type_name -> yandex.cloud.compute.v1.HardwareGeneration
	30, // 19: yandex.cloud.compute.v1.Instance.application:type_name -> yandex.cloud.compute.v1.Application
	3,  // 20: yandex.cloud.compute.v1.AttachedDisk.mode:type_name -> yandex.cloud.compute.v1.AttachedDisk.Mode
	4,  // 21: yandex.cloud.compute.v1.AttachedFilesystem.mode:type_name -> yandex.cloud.compute.v1.AttachedFilesystem.Mode
	14, // 22: yandex.cloud.compute.v1.NetworkInterface.primary_v4_address:type_name -> yandex.cloud.compute.v1.PrimaryAddress
	14, // 23: yandex.cloud.compute.v1.NetworkInterface.primary_v6_address:type_name -> yandex.cloud.compute.v1.PrimaryAddress
	15, // 24: yandex.cloud.compute.v1.PrimaryAddress.one_to_one_nat:type_name -> yandex.cloud.compute.v1.OneToOneNat
	16, // 25: yandex.cloud.compute.v1.PrimaryAddress.dns_records:type_name -> yandex.cloud.compute.v1.DnsRecord
	0,  // 26: yandex.cloud.compute.v1.OneToOneNat.ip_version:type_name -> yandex.cloud.compute.v1.IpVersion
	16, // 27: yandex.cloud.compute.v1.OneToOneNat.dns_records:type_name -> yandex.cloud.compute.v1.DnsRecord
	5,  // 28: yandex.cloud.compute.v1.NetworkSettings.type:type_name -> yandex.cloud.compute.v1.NetworkSettings.Type
	25, // 29: yandex.cloud.compute.v1.PlacementPolicy.host_affinity_rules:type_name -> yandex.cloud.compute.v1.PlacementPolicy.HostAffinityRule
	1,  // 30: yandex.cloud.compute.v1.MetadataOptions.gce_http_endpoint:type_name -> yandex.cloud.compute.v1.MetadataOption
	1,  // 31: yandex.cloud.compute.v1.MetadataOptions.aws_v1_http_endpoint:type_name -> yandex.cloud.compute.v1.MetadataOption
	1,  // 32: yandex.cloud.compute.v1.MetadataOptions.gce_http_token:type_name -> yandex.cloud.compute.v1.MetadataOption
	1,  // 33: yandex.cloud.compute.v1.MetadataOptions.aws_v1_http_token:type_name -> yandex.cloud.compute.v1.MetadataOption
	7,  // 34: yandex.cloud.compute.v1.SerialPortSettings.ssh_authorization:type_name -> yandex.cloud.compute.v1.SerialPortSettings.SSHAuthorization
	6,  // 35: yandex.cloud.compute.v1.PlacementPolicy.HostAffinityRule.op:type_name -> yandex.cloud.compute.v1.PlacementPolicy.HostAffinityRule.Operator
	36, // [36:36] is the sub-list for method output_type
	36, // [36:36] is the sub-list for method input_type
	36, // [36:36] is the sub-list for extension type_name
	36, // [36:36] is the sub-list for extension extendee
	0,  // [0:36] is the sub-list for field type_name
}

func init() { file_yandex_cloud_compute_v1_instance_proto_init() }
func file_yandex_cloud_compute_v1_instance_proto_init() {
	if File_yandex_cloud_compute_v1_instance_proto != nil {
		return
	}
	file_yandex_cloud_compute_v1_application_proto_init()
	file_yandex_cloud_compute_v1_hardware_generation_proto_init()
	file_yandex_cloud_compute_v1_maintenance_proto_init()
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_yandex_cloud_compute_v1_instance_proto_rawDesc), len(file_yandex_cloud_compute_v1_instance_proto_rawDesc)),
			NumEnums:      8,
			NumMessages:   18,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_compute_v1_instance_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_compute_v1_instance_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_compute_v1_instance_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_compute_v1_instance_proto_msgTypes,
	}.Build()
	File_yandex_cloud_compute_v1_instance_proto = out.File
	file_yandex_cloud_compute_v1_instance_proto_goTypes = nil
	file_yandex_cloud_compute_v1_instance_proto_depIdxs = nil
}
