// 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/instancegroup/instance_group.proto

package instancegroup

import (
	_ "github.com/yandex-cloud/go-genproto/yandex/cloud"
	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.168.0.0.
	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_instancegroup_instance_group_proto_enumTypes[0].Descriptor()
}

func (IpVersion) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instancegroup_instance_group_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_instancegroup_instance_group_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_instancegroup_instance_group_proto_enumTypes[1].Descriptor()
}

func (MetadataOption) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instancegroup_instance_group_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_instancegroup_instance_group_proto_rawDescGZIP(), []int{1}
}

type InstanceGroup_Status int32

const (
	InstanceGroup_STATUS_UNSPECIFIED InstanceGroup_Status = 0
	// Instance group is being started and will become active soon.
	InstanceGroup_STARTING InstanceGroup_Status = 1
	// Instance group is active.
	// In this state the group manages its instances and monitors their health,
	// creating, deleting, stopping, updating and starting instances as needed.
	//
	// To stop the instance group, call [yandex.cloud.compute.v1.instancegroup.InstanceGroupService.Stop].
	// To pause the processes in the instance group, i.e. scaling, checking instances' health,
	// auto-healing and updating them, without stopping the instances,
	// call [yandex.cloud.compute.v1.instancegroup.InstanceGroupService.PauseProcesses].
	InstanceGroup_ACTIVE InstanceGroup_Status = 2
	// Instance group is being stopped.
	// Group's instances stop receiving traffic from the load balancer (if any) and are then stopped.
	InstanceGroup_STOPPING InstanceGroup_Status = 3
	// Instance group is stopped.
	// In this state the group cannot be updated and does not react to any changes made to its instances.
	// To start the instance group, call [yandex.cloud.compute.v1.instancegroup.InstanceGroupService.Start].
	InstanceGroup_STOPPED InstanceGroup_Status = 4
	// Instance group is being deleted.
	InstanceGroup_DELETING InstanceGroup_Status = 5
	// Instance group is paused.
	// In this state all the processes regarding the group management, i.e. scaling, checking instances' health,
	// auto-healing and updating them, are paused. The instances that were running prior to pausing the group, however,
	// may still be running.
	//
	// To resume the processes in the instance group,
	// call [yandex.cloud.compute.v1.instancegroup.InstanceGroupService.ResumeProcesses].
	// The group status will change to `ACTIVE`.
	InstanceGroup_PAUSED InstanceGroup_Status = 6
)

// Enum value maps for InstanceGroup_Status.
var (
	InstanceGroup_Status_name = map[int32]string{
		0: "STATUS_UNSPECIFIED",
		1: "STARTING",
		2: "ACTIVE",
		3: "STOPPING",
		4: "STOPPED",
		5: "DELETING",
		6: "PAUSED",
	}
	InstanceGroup_Status_value = map[string]int32{
		"STATUS_UNSPECIFIED": 0,
		"STARTING":           1,
		"ACTIVE":             2,
		"STOPPING":           3,
		"STOPPED":            4,
		"DELETING":           5,
		"PAUSED":             6,
	}
)

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

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

func (InstanceGroup_Status) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[2].Descriptor()
}

func (InstanceGroup_Status) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[2]
}

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

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

type ScalePolicy_AutoScale_AutoScaleType int32

const (
	ScalePolicy_AutoScale_AUTO_SCALE_TYPE_UNSPECIFIED ScalePolicy_AutoScale_AutoScaleType = 0
	// Scale each zone independently. This is the default.
	ScalePolicy_AutoScale_ZONAL ScalePolicy_AutoScale_AutoScaleType = 1
	// Scale group as a whole.
	ScalePolicy_AutoScale_REGIONAL ScalePolicy_AutoScale_AutoScaleType = 2
)

// Enum value maps for ScalePolicy_AutoScale_AutoScaleType.
var (
	ScalePolicy_AutoScale_AutoScaleType_name = map[int32]string{
		0: "AUTO_SCALE_TYPE_UNSPECIFIED",
		1: "ZONAL",
		2: "REGIONAL",
	}
	ScalePolicy_AutoScale_AutoScaleType_value = map[string]int32{
		"AUTO_SCALE_TYPE_UNSPECIFIED": 0,
		"ZONAL":                       1,
		"REGIONAL":                    2,
	}
)

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

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

func (ScalePolicy_AutoScale_AutoScaleType) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[3].Descriptor()
}

func (ScalePolicy_AutoScale_AutoScaleType) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[3]
}

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

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

type ScalePolicy_CustomRule_RuleType int32

const (
	ScalePolicy_CustomRule_RULE_TYPE_UNSPECIFIED ScalePolicy_CustomRule_RuleType = 0
	// This type means that the metric applies to one instance.
	// First, Instance Groups calculates the average metric value for each instance,
	// then averages the values for instances in one availability zone or in whole group depends on autoscaling type.
	// This type of metric must have the `instance_id` label.
	ScalePolicy_CustomRule_UTILIZATION ScalePolicy_CustomRule_RuleType = 1
	// This type means that the metric applies to instances in one availability zone or to whole group depends on autoscaling type.
	// This type of metric must have the `zone_id` label if ZONAL autoscaling type is chosen.
	ScalePolicy_CustomRule_WORKLOAD ScalePolicy_CustomRule_RuleType = 2
)

// Enum value maps for ScalePolicy_CustomRule_RuleType.
var (
	ScalePolicy_CustomRule_RuleType_name = map[int32]string{
		0: "RULE_TYPE_UNSPECIFIED",
		1: "UTILIZATION",
		2: "WORKLOAD",
	}
	ScalePolicy_CustomRule_RuleType_value = map[string]int32{
		"RULE_TYPE_UNSPECIFIED": 0,
		"UTILIZATION":           1,
		"WORKLOAD":              2,
	}
)

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

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

func (ScalePolicy_CustomRule_RuleType) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[4].Descriptor()
}

func (ScalePolicy_CustomRule_RuleType) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[4]
}

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

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

type ScalePolicy_CustomRule_MetricType int32

const (
	ScalePolicy_CustomRule_METRIC_TYPE_UNSPECIFIED ScalePolicy_CustomRule_MetricType = 0
	// This type is used for metrics that show the metric value at a certain point in time,
	// such as requests per second to the server on an instance.
	//
	// Instance Groups calculates the average metric value for the period
	// specified in the [AutoScale.measurement_duration] field.
	ScalePolicy_CustomRule_GAUGE ScalePolicy_CustomRule_MetricType = 1
	// This type is used for metrics that monotonically increase over time,
	// such as the total number of requests to the server on an instance.
	//
	// Instance Groups calculates the average value increase for the period
	// specified in the [AutoScale.measurement_duration] field.
	ScalePolicy_CustomRule_COUNTER ScalePolicy_CustomRule_MetricType = 2
)

// Enum value maps for ScalePolicy_CustomRule_MetricType.
var (
	ScalePolicy_CustomRule_MetricType_name = map[int32]string{
		0: "METRIC_TYPE_UNSPECIFIED",
		1: "GAUGE",
		2: "COUNTER",
	}
	ScalePolicy_CustomRule_MetricType_value = map[string]int32{
		"METRIC_TYPE_UNSPECIFIED": 0,
		"GAUGE":                   1,
		"COUNTER":                 2,
	}
)

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

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

func (ScalePolicy_CustomRule_MetricType) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[5].Descriptor()
}

func (ScalePolicy_CustomRule_MetricType) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[5]
}

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

// Deprecated: Use ScalePolicy_CustomRule_MetricType.Descriptor instead.
func (ScalePolicy_CustomRule_MetricType) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDescGZIP(), []int{5, 2, 1}
}

type DeployPolicy_Strategy int32

const (
	DeployPolicy_STRATEGY_UNSPECIFIED DeployPolicy_Strategy = 0
	// Instance Groups can forcefully stop a running instance. This is the default.
	DeployPolicy_PROACTIVE DeployPolicy_Strategy = 1
	// Instance Groups does not stop a running instance.
	// Instead, it will wait until the instance stops itself or becomes unhealthy.
	DeployPolicy_OPPORTUNISTIC DeployPolicy_Strategy = 2
)

// Enum value maps for DeployPolicy_Strategy.
var (
	DeployPolicy_Strategy_name = map[int32]string{
		0: "STRATEGY_UNSPECIFIED",
		1: "PROACTIVE",
		2: "OPPORTUNISTIC",
	}
	DeployPolicy_Strategy_value = map[string]int32{
		"STRATEGY_UNSPECIFIED": 0,
		"PROACTIVE":            1,
		"OPPORTUNISTIC":        2,
	}
)

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

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

func (DeployPolicy_Strategy) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[6].Descriptor()
}

func (DeployPolicy_Strategy) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[6]
}

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

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

type DeployPolicy_MinimalAction int32

const (
	DeployPolicy_MINIMAL_ACTION_UNSPECIFIED DeployPolicy_MinimalAction = 0
	// Updating an instance without stopping. This is the default.
	DeployPolicy_LIVE_UPDATE DeployPolicy_MinimalAction = 1
	// Updating an instance with restart: stopping and then starting the instance.
	DeployPolicy_RESTART DeployPolicy_MinimalAction = 2
	// Re-creating an instance: deleting an instance and creating a new one.
	DeployPolicy_RECREATE DeployPolicy_MinimalAction = 3
)

// Enum value maps for DeployPolicy_MinimalAction.
var (
	DeployPolicy_MinimalAction_name = map[int32]string{
		0: "MINIMAL_ACTION_UNSPECIFIED",
		1: "LIVE_UPDATE",
		2: "RESTART",
		3: "RECREATE",
	}
	DeployPolicy_MinimalAction_value = map[string]int32{
		"MINIMAL_ACTION_UNSPECIFIED": 0,
		"LIVE_UPDATE":                1,
		"RESTART":                    2,
		"RECREATE":                   3,
	}
)

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

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

func (DeployPolicy_MinimalAction) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[7].Descriptor()
}

func (DeployPolicy_MinimalAction) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[7]
}

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

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

type AttachedFilesystemSpec_Mode int32

const (
	AttachedFilesystemSpec_MODE_UNSPECIFIED AttachedFilesystemSpec_Mode = 0
	// Read-only access.
	AttachedFilesystemSpec_READ_ONLY AttachedFilesystemSpec_Mode = 1
	// Read/Write access. Default value.
	AttachedFilesystemSpec_READ_WRITE AttachedFilesystemSpec_Mode = 2
)

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

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

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

func (AttachedFilesystemSpec_Mode) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[8].Descriptor()
}

func (AttachedFilesystemSpec_Mode) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[8]
}

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

// Deprecated: Use AttachedFilesystemSpec_Mode.Descriptor instead.
func (AttachedFilesystemSpec_Mode) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDescGZIP(), []int{9, 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_instancegroup_instance_group_proto_enumTypes[9].Descriptor()
}

func (PlacementPolicy_HostAffinityRule_Operator) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[9]
}

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

type AttachedDiskSpec_Mode int32

const (
	AttachedDiskSpec_MODE_UNSPECIFIED AttachedDiskSpec_Mode = 0
	// Read-only access.
	AttachedDiskSpec_READ_ONLY AttachedDiskSpec_Mode = 1
	// Read/Write access.
	AttachedDiskSpec_READ_WRITE AttachedDiskSpec_Mode = 2
)

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

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

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

func (AttachedDiskSpec_Mode) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[10].Descriptor()
}

func (AttachedDiskSpec_Mode) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[10]
}

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

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

type NetworkSettings_Type int32

const (
	NetworkSettings_TYPE_UNSPECIFIED     NetworkSettings_Type = 0
	NetworkSettings_STANDARD             NetworkSettings_Type = 1
	NetworkSettings_SOFTWARE_ACCELERATED NetworkSettings_Type = 2
	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_instancegroup_instance_group_proto_enumTypes[11].Descriptor()
}

func (NetworkSettings_Type) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[11]
}

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

type ManagedInstance_Status int32

const (
	ManagedInstance_STATUS_UNSPECIFIED ManagedInstance_Status = 0
	// Instance is being created.
	ManagedInstance_CREATING_INSTANCE ManagedInstance_Status = 11
	// Instance is being updated.
	ManagedInstance_UPDATING_INSTANCE ManagedInstance_Status = 12
	// Instance is being deleted.
	ManagedInstance_DELETING_INSTANCE ManagedInstance_Status = 13
	// Instance is being started.
	ManagedInstance_STARTING_INSTANCE ManagedInstance_Status = 14
	// Instance is being stopped.
	ManagedInstance_STOPPING_INSTANCE ManagedInstance_Status = 15
	// Instance has been created successfully, but startup duration has not elapsed yet.
	ManagedInstance_AWAITING_STARTUP_DURATION ManagedInstance_Status = 16
	// Instance has been created successfully and startup duration has elapsed, but health checks have not passed yet and the managed instance is not ready to receive traffic.
	ManagedInstance_CHECKING_HEALTH ManagedInstance_Status = 17
	// Instance Groups is initiating health checks and routing traffic to the instances.
	ManagedInstance_OPENING_TRAFFIC ManagedInstance_Status = 18
	// Instance is now receiving traffic, but warmup duration has not elapsed yet.
	ManagedInstance_AWAITING_WARMUP_DURATION ManagedInstance_Status = 19
	// Instance Groups has initiated the process of stopping routing traffic to the instances.
	ManagedInstance_CLOSING_TRAFFIC ManagedInstance_Status = 20
	// Instance is running normally and its attributes match the current InstanceTemplate.
	ManagedInstance_RUNNING_ACTUAL ManagedInstance_Status = 21
	// Instance is running normally, but its attributes do not match the current InstanceTemplate.
	// It will be updated, recreated or deleted shortly.
	ManagedInstance_RUNNING_OUTDATED ManagedInstance_Status = 22
	// Instance was stopped.
	ManagedInstance_STOPPED ManagedInstance_Status = 23
	// Instance was deleted.
	ManagedInstance_DELETED ManagedInstance_Status = 24
	// Instance Groups is preparing dependent resources.
	ManagedInstance_PREPARING_RESOURCES ManagedInstance_Status = 25
)

// Enum value maps for ManagedInstance_Status.
var (
	ManagedInstance_Status_name = map[int32]string{
		0:  "STATUS_UNSPECIFIED",
		11: "CREATING_INSTANCE",
		12: "UPDATING_INSTANCE",
		13: "DELETING_INSTANCE",
		14: "STARTING_INSTANCE",
		15: "STOPPING_INSTANCE",
		16: "AWAITING_STARTUP_DURATION",
		17: "CHECKING_HEALTH",
		18: "OPENING_TRAFFIC",
		19: "AWAITING_WARMUP_DURATION",
		20: "CLOSING_TRAFFIC",
		21: "RUNNING_ACTUAL",
		22: "RUNNING_OUTDATED",
		23: "STOPPED",
		24: "DELETED",
		25: "PREPARING_RESOURCES",
	}
	ManagedInstance_Status_value = map[string]int32{
		"STATUS_UNSPECIFIED":        0,
		"CREATING_INSTANCE":         11,
		"UPDATING_INSTANCE":         12,
		"DELETING_INSTANCE":         13,
		"STARTING_INSTANCE":         14,
		"STOPPING_INSTANCE":         15,
		"AWAITING_STARTUP_DURATION": 16,
		"CHECKING_HEALTH":           17,
		"OPENING_TRAFFIC":           18,
		"AWAITING_WARMUP_DURATION":  19,
		"CLOSING_TRAFFIC":           20,
		"RUNNING_ACTUAL":            21,
		"RUNNING_OUTDATED":          22,
		"STOPPED":                   23,
		"DELETED":                   24,
		"PREPARING_RESOURCES":       25,
	}
)

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

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

func (ManagedInstance_Status) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[12].Descriptor()
}

func (ManagedInstance_Status) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[12]
}

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

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

type AutoHealingPolicy_AutoHealingAction int32

const (
	AutoHealingPolicy_AUTO_HEALING_ACTION_UNSPECIFIED AutoHealingPolicy_AutoHealingAction = 0
	// Re-starting an instance with restart: stopping and then starting the instance.
	AutoHealingPolicy_RESTART AutoHealingPolicy_AutoHealingAction = 1
	// Re-creating an instance: deleting an instance and creating a new one.
	AutoHealingPolicy_RECREATE AutoHealingPolicy_AutoHealingAction = 2
	// No action
	AutoHealingPolicy_NONE AutoHealingPolicy_AutoHealingAction = 3
)

// Enum value maps for AutoHealingPolicy_AutoHealingAction.
var (
	AutoHealingPolicy_AutoHealingAction_name = map[int32]string{
		0: "AUTO_HEALING_ACTION_UNSPECIFIED",
		1: "RESTART",
		2: "RECREATE",
		3: "NONE",
	}
	AutoHealingPolicy_AutoHealingAction_value = map[string]int32{
		"AUTO_HEALING_ACTION_UNSPECIFIED": 0,
		"RESTART":                         1,
		"RECREATE":                        2,
		"NONE":                            3,
	}
)

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

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

func (AutoHealingPolicy_AutoHealingAction) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[13].Descriptor()
}

func (AutoHealingPolicy_AutoHealingAction) Type() protoreflect.EnumType {
	return &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes[13]
}

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

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

type InstanceGroup struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the instance group.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// ID of the folder that the instance 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"`
	// Name of the instance group.
	// The name is unique within the folder.
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	// Description of the instance group.
	Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
	// Resource labels as `key:value` pairs.
	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"`
	// Instance template for creating the instance group.
	// For more information, see [Instance Templates](/docs/compute/concepts/instance-groups/instance-template).
	InstanceTemplate *InstanceTemplate `protobuf:"bytes,7,opt,name=instance_template,json=instanceTemplate,proto3" json:"instance_template,omitempty"`
	// [Scaling policy](/docs/compute/concepts/instance-groups/scale) of the instance group.
	ScalePolicy *ScalePolicy `protobuf:"bytes,8,opt,name=scale_policy,json=scalePolicy,proto3" json:"scale_policy,omitempty"`
	// Deployment policy of the instance group.
	DeployPolicy *DeployPolicy `protobuf:"bytes,9,opt,name=deploy_policy,json=deployPolicy,proto3" json:"deploy_policy,omitempty"`
	// Allocation policy of the instance group by zones and regions.
	AllocationPolicy *AllocationPolicy `protobuf:"bytes,10,opt,name=allocation_policy,json=allocationPolicy,proto3" json:"allocation_policy,omitempty"`
	// Status of the Network Load Balancer target group attributed to the instance group.
	LoadBalancerState *LoadBalancerState `protobuf:"bytes,11,opt,name=load_balancer_state,json=loadBalancerState,proto3" json:"load_balancer_state,omitempty"`
	// States of instances for this instance group.
	ManagedInstancesState *ManagedInstancesState `protobuf:"bytes,12,opt,name=managed_instances_state,json=managedInstancesState,proto3" json:"managed_instances_state,omitempty"`
	// Settings for balancing load between instances via [Network Load Balancer](/docs/network-load-balancer/concepts)
	// (OSI model layer 3).
	LoadBalancerSpec *LoadBalancerSpec `protobuf:"bytes,14,opt,name=load_balancer_spec,json=loadBalancerSpec,proto3" json:"load_balancer_spec,omitempty"`
	// Health checking specification. For more information, see [Health check](/docs/network-load-balancer/concepts/health-check).
	HealthChecksSpec *HealthChecksSpec `protobuf:"bytes,15,opt,name=health_checks_spec,json=healthChecksSpec,proto3" json:"health_checks_spec,omitempty"`
	// ID of the service account. The service account will be used for all API calls
	// made by the Instance Groups component on behalf of the user (for example, creating instances, adding them to load balancer target group, etc.). For more information, see [Service accounts](/docs/iam/concepts/users/service-accounts).
	// To get the service account ID, use a [yandex.cloud.iam.v1.ServiceAccountService.List] request.
	ServiceAccountId string `protobuf:"bytes,16,opt,name=service_account_id,json=serviceAccountId,proto3" json:"service_account_id,omitempty"`
	// Status of the instance group.
	Status    InstanceGroup_Status `protobuf:"varint,17,opt,name=status,proto3,enum=yandex.cloud.compute.v1.instancegroup.InstanceGroup_Status" json:"status,omitempty"`
	Variables []*Variable          `protobuf:"bytes,18,rep,name=variables,proto3" json:"variables,omitempty"`
	// Flag prohibiting deletion of the instance group.
	//
	// Allowed values:</br>- `false`: The instance group can be deleted.</br>- `true`: The instance group cannot be deleted.
	//
	// The default is `false`.
	DeletionProtection bool `protobuf:"varint,19,opt,name=deletion_protection,json=deletionProtection,proto3" json:"deletion_protection,omitempty"`
	// Settings for balancing load between instances via [Application Load Balancer](/docs/application-load-balancer/concepts)
	// (OSI model layer 7).
	ApplicationLoadBalancerSpec *ApplicationLoadBalancerSpec `protobuf:"bytes,20,opt,name=application_load_balancer_spec,json=applicationLoadBalancerSpec,proto3" json:"application_load_balancer_spec,omitempty"`
	// Status of the Application Load Balancer target group attributed to the instance group.
	//
	// Returned if there is a working load balancer that the target group is connected to.
	ApplicationLoadBalancerState *ApplicationLoadBalancerState `protobuf:"bytes,21,opt,name=application_load_balancer_state,json=applicationLoadBalancerState,proto3" json:"application_load_balancer_state,omitempty"`
	// AutoHealingPolicy policy of the instance group.
	AutoHealingPolicy *AutoHealingPolicy `protobuf:"bytes,22,opt,name=auto_healing_policy,json=autoHealingPolicy,proto3" json:"auto_healing_policy,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*InstanceGroup) ProtoMessage() {}

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

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

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

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

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

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

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

func (x *InstanceGroup) GetInstanceTemplate() *InstanceTemplate {
	if x != nil {
		return x.InstanceTemplate
	}
	return nil
}

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

func (x *InstanceGroup) GetDeployPolicy() *DeployPolicy {
	if x != nil {
		return x.DeployPolicy
	}
	return nil
}

func (x *InstanceGroup) GetAllocationPolicy() *AllocationPolicy {
	if x != nil {
		return x.AllocationPolicy
	}
	return nil
}

func (x *InstanceGroup) GetLoadBalancerState() *LoadBalancerState {
	if x != nil {
		return x.LoadBalancerState
	}
	return nil
}

func (x *InstanceGroup) GetManagedInstancesState() *ManagedInstancesState {
	if x != nil {
		return x.ManagedInstancesState
	}
	return nil
}

func (x *InstanceGroup) GetLoadBalancerSpec() *LoadBalancerSpec {
	if x != nil {
		return x.LoadBalancerSpec
	}
	return nil
}

func (x *InstanceGroup) GetHealthChecksSpec() *HealthChecksSpec {
	if x != nil {
		return x.HealthChecksSpec
	}
	return nil
}

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

func (x *InstanceGroup) GetStatus() InstanceGroup_Status {
	if x != nil {
		return x.Status
	}
	return InstanceGroup_STATUS_UNSPECIFIED
}

func (x *InstanceGroup) GetVariables() []*Variable {
	if x != nil {
		return x.Variables
	}
	return nil
}

func (x *InstanceGroup) GetDeletionProtection() bool {
	if x != nil {
		return x.DeletionProtection
	}
	return false
}

func (x *InstanceGroup) GetApplicationLoadBalancerSpec() *ApplicationLoadBalancerSpec {
	if x != nil {
		return x.ApplicationLoadBalancerSpec
	}
	return nil
}

func (x *InstanceGroup) GetApplicationLoadBalancerState() *ApplicationLoadBalancerState {
	if x != nil {
		return x.ApplicationLoadBalancerState
	}
	return nil
}

func (x *InstanceGroup) GetAutoHealingPolicy() *AutoHealingPolicy {
	if x != nil {
		return x.AutoHealingPolicy
	}
	return nil
}

type ApplicationLoadBalancerState struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the Application Load Balancer target group attributed to the instance group.
	TargetGroupId string `protobuf:"bytes,1,opt,name=target_group_id,json=targetGroupId,proto3" json:"target_group_id,omitempty"`
	// Status message of the target group.
	StatusMessage string `protobuf:"bytes,2,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ApplicationLoadBalancerState) ProtoMessage() {}

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

func (x *ApplicationLoadBalancerState) GetTargetGroupId() string {
	if x != nil {
		return x.TargetGroupId
	}
	return ""
}

func (x *ApplicationLoadBalancerState) GetStatusMessage() string {
	if x != nil {
		return x.StatusMessage
	}
	return ""
}

type Variable struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Key           string                 `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value         string                 `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Variable) ProtoMessage() {}

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

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

func (x *Variable) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

type LoadBalancerState struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the Network Load Balancer target group attributed to the instance group.
	TargetGroupId string `protobuf:"bytes,1,opt,name=target_group_id,json=targetGroupId,proto3" json:"target_group_id,omitempty"`
	// Status message of the target group.
	StatusMessage string `protobuf:"bytes,2,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*LoadBalancerState) ProtoMessage() {}

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

func (x *LoadBalancerState) GetTargetGroupId() string {
	if x != nil {
		return x.TargetGroupId
	}
	return ""
}

func (x *LoadBalancerState) GetStatusMessage() string {
	if x != nil {
		return x.StatusMessage
	}
	return ""
}

type ManagedInstancesState struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Target number of instances for this instance group.
	TargetSize int64 `protobuf:"varint,1,opt,name=target_size,json=targetSize,proto3" json:"target_size,omitempty"`
	// The number of running instances that match the current instance template. For more information, see [ManagedInstance.Status.RUNNING_ACTUAL].
	RunningActualCount int64 `protobuf:"varint,4,opt,name=running_actual_count,json=runningActualCount,proto3" json:"running_actual_count,omitempty"`
	// The number of running instances that does not match the current instance template. For more information, see [ManagedInstance.Status.RUNNING_OUTDATED].
	RunningOutdatedCount int64 `protobuf:"varint,5,opt,name=running_outdated_count,json=runningOutdatedCount,proto3" json:"running_outdated_count,omitempty"`
	// The number of instances in flight (for example, updating, starting, deleting). For more information, see [ManagedInstance.Status].
	ProcessingCount int64 `protobuf:"varint,6,opt,name=processing_count,json=processingCount,proto3" json:"processing_count,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*ManagedInstancesState) ProtoMessage() {}

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

func (x *ManagedInstancesState) GetTargetSize() int64 {
	if x != nil {
		return x.TargetSize
	}
	return 0
}

func (x *ManagedInstancesState) GetRunningActualCount() int64 {
	if x != nil {
		return x.RunningActualCount
	}
	return 0
}

func (x *ManagedInstancesState) GetRunningOutdatedCount() int64 {
	if x != nil {
		return x.RunningOutdatedCount
	}
	return 0
}

func (x *ManagedInstancesState) GetProcessingCount() int64 {
	if x != nil {
		return x.ProcessingCount
	}
	return 0
}

type ScalePolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to ScaleType:
	//
	//	*ScalePolicy_FixedScale_
	//	*ScalePolicy_AutoScale_
	ScaleType isScalePolicy_ScaleType `protobuf_oneof:"scale_type"`
	// Test spec for [automatic scaling policy](/docs/compute/concepts/instance-groups/scale#auto-scale) of the instance group.
	TestAutoScale *ScalePolicy_AutoScale `protobuf:"bytes,3,opt,name=test_auto_scale,json=testAutoScale,proto3" json:"test_auto_scale,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ScalePolicy) ProtoMessage() {}

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

func (x *ScalePolicy) GetScaleType() isScalePolicy_ScaleType {
	if x != nil {
		return x.ScaleType
	}
	return nil
}

func (x *ScalePolicy) GetFixedScale() *ScalePolicy_FixedScale {
	if x != nil {
		if x, ok := x.ScaleType.(*ScalePolicy_FixedScale_); ok {
			return x.FixedScale
		}
	}
	return nil
}

func (x *ScalePolicy) GetAutoScale() *ScalePolicy_AutoScale {
	if x != nil {
		if x, ok := x.ScaleType.(*ScalePolicy_AutoScale_); ok {
			return x.AutoScale
		}
	}
	return nil
}

func (x *ScalePolicy) GetTestAutoScale() *ScalePolicy_AutoScale {
	if x != nil {
		return x.TestAutoScale
	}
	return nil
}

type isScalePolicy_ScaleType interface {
	isScalePolicy_ScaleType()
}

type ScalePolicy_FixedScale_ struct {
	// [Manual scaling policy](/docs/compute/concepts/instance-groups/scale#fixed-policy) of the instance group.
	FixedScale *ScalePolicy_FixedScale `protobuf:"bytes,1,opt,name=fixed_scale,json=fixedScale,proto3,oneof"`
}

type ScalePolicy_AutoScale_ struct {
	// [Automatic scaling policy](/docs/compute/concepts/instance-groups/scale#auto-scale) of the instance group.
	AutoScale *ScalePolicy_AutoScale `protobuf:"bytes,2,opt,name=auto_scale,json=autoScale,proto3,oneof"`
}

func (*ScalePolicy_FixedScale_) isScalePolicy_ScaleType() {}

func (*ScalePolicy_AutoScale_) isScalePolicy_ScaleType() {}

type DeployPolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The maximum number of running instances that can be taken offline (i.e., stopped or deleted) at the same time
	// during the update process.
	// If [max_expansion] is not specified or set to zero, [max_unavailable] must be set to a non-zero value.
	MaxUnavailable int64 `protobuf:"varint,1,opt,name=max_unavailable,json=maxUnavailable,proto3" json:"max_unavailable,omitempty"`
	// The maximum number of instances that can be deleted at the same time.
	//
	// The value 0 is any number of virtual machines within the allowed values.
	MaxDeleting int64 `protobuf:"varint,2,opt,name=max_deleting,json=maxDeleting,proto3" json:"max_deleting,omitempty"`
	// The maximum number of instances that can be created at the same time.
	//
	// The value 0 is any number of virtual machines within the allowed values.
	MaxCreating int64 `protobuf:"varint,3,opt,name=max_creating,json=maxCreating,proto3" json:"max_creating,omitempty"`
	// The maximum number of instances that can be temporarily allocated above the group's target size
	// during the update process.
	// If [max_unavailable] is not specified or set to zero, [max_expansion] must be set to a non-zero value.
	MaxExpansion int64 `protobuf:"varint,6,opt,name=max_expansion,json=maxExpansion,proto3" json:"max_expansion,omitempty"`
	// Instance startup duration.
	// Instance will be considered up and running (and start receiving traffic) only after startup_duration
	// has elapsed and all health checks are passed.
	// See [ManagedInstance.Status] for more information.
	StartupDuration *durationpb.Duration `protobuf:"bytes,7,opt,name=startup_duration,json=startupDuration,proto3" json:"startup_duration,omitempty"`
	// Affects the lifecycle of the instance during deployment.
	Strategy DeployPolicy_Strategy `protobuf:"varint,8,opt,name=strategy,proto3,enum=yandex.cloud.compute.v1.instancegroup.DeployPolicy_Strategy" json:"strategy,omitempty"`
	// If instance update requires a less disruptive action than [minimal_action],
	// Instance Groups performs [minimal_action] to execute the update
	MinimalAction DeployPolicy_MinimalAction `protobuf:"varint,14,opt,name=minimal_action,json=minimalAction,proto3,enum=yandex.cloud.compute.v1.instancegroup.DeployPolicy_MinimalAction" json:"minimal_action,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeployPolicy) ProtoMessage() {}

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

func (x *DeployPolicy) GetMaxUnavailable() int64 {
	if x != nil {
		return x.MaxUnavailable
	}
	return 0
}

func (x *DeployPolicy) GetMaxDeleting() int64 {
	if x != nil {
		return x.MaxDeleting
	}
	return 0
}

func (x *DeployPolicy) GetMaxCreating() int64 {
	if x != nil {
		return x.MaxCreating
	}
	return 0
}

func (x *DeployPolicy) GetMaxExpansion() int64 {
	if x != nil {
		return x.MaxExpansion
	}
	return 0
}

func (x *DeployPolicy) GetStartupDuration() *durationpb.Duration {
	if x != nil {
		return x.StartupDuration
	}
	return nil
}

func (x *DeployPolicy) GetStrategy() DeployPolicy_Strategy {
	if x != nil {
		return x.Strategy
	}
	return DeployPolicy_STRATEGY_UNSPECIFIED
}

func (x *DeployPolicy) GetMinimalAction() DeployPolicy_MinimalAction {
	if x != nil {
		return x.MinimalAction
	}
	return DeployPolicy_MINIMAL_ACTION_UNSPECIFIED
}

type AllocationPolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of availability zones.
	Zones         []*AllocationPolicy_Zone `protobuf:"bytes,1,rep,name=zones,proto3" json:"zones,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AllocationPolicy) ProtoMessage() {}

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

func (x *AllocationPolicy) GetZones() []*AllocationPolicy_Zone {
	if x != nil {
		return x.Zones
	}
	return nil
}

type InstanceTemplate struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Description of the instance template.
	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
	// Resource labels as `key:value` pairs.
	Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// ID of the hardware platform configuration for the instance.
	// Platforms allows you to create various types of instances: with a large amount of memory,
	// with a large number of cores, with a burstable performance.
	// For more information, see [Platforms](/docs/compute/concepts/vm-platforms).
	PlatformId string `protobuf:"bytes,3,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.
	ResourcesSpec *ResourcesSpec `protobuf:"bytes,4,opt,name=resources_spec,json=resourcesSpec,proto3" json:"resources_spec,omitempty"`
	// The metadata `key:value` pairs assigned to this instance template. This includes custom metadata and predefined keys.
	//
	// Metadata values may contain one of the supported placeholders:
	//
	//	{instance_group.id}
	//	{instance.short_id}
	//	{instance.index}
	//	{instance.index_in_zone}
	//	{instance.zone_id}
	//
	// InstanceGroup and Instance labels may be copied to metadata following way:
	//
	//	{instance_group.labels.some_label_key}
	//	{instance.labels.another_label_key}
	//
	// These placeholders will be substituted for each created instance anywhere in the value text.
	// In the rare case the value requires to contain this placeholder explicitly,
	// it must be escaped with double brackets, in example {instance.index}.
	//
	// 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,5,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Boot disk specification that will be attached to the instance.
	BootDiskSpec *AttachedDiskSpec `protobuf:"bytes,6,opt,name=boot_disk_spec,json=bootDiskSpec,proto3" json:"boot_disk_spec,omitempty"`
	// Array of secondary disks that will be attached to the instance.
	SecondaryDiskSpecs []*AttachedDiskSpec `protobuf:"bytes,7,rep,name=secondary_disk_specs,json=secondaryDiskSpecs,proto3" json:"secondary_disk_specs,omitempty"`
	// Array of network interfaces that will be attached to the instance.
	NetworkInterfaceSpecs []*NetworkInterfaceSpec `protobuf:"bytes,8,rep,name=network_interface_specs,json=networkInterfaceSpecs,proto3" json:"network_interface_specs,omitempty"`
	// Scheduling policy for the instance.
	SchedulingPolicy *SchedulingPolicy `protobuf:"bytes,9,opt,name=scheduling_policy,json=schedulingPolicy,proto3" json:"scheduling_policy,omitempty"`
	// Service account ID for the instance.
	ServiceAccountId string `protobuf:"bytes,10,opt,name=service_account_id,json=serviceAccountId,proto3" json:"service_account_id,omitempty"`
	// Network settings for the instance.
	NetworkSettings *NetworkSettings `protobuf:"bytes,11,opt,name=network_settings,json=networkSettings,proto3" json:"network_settings,omitempty"`
	// Name of the instance.
	// In order to be unique it must contain at least on of instance unique placeholders:
	//
	//	{instance.short_id}
	//	{instance.index}
	//	combination of {instance.zone_id} and {instance.index_in_zone}
	//
	// Example: my-instance-{instance.index}
	// If not set, default is used: {instance_group.id}-{instance.short_id}
	// It may also contain another placeholders, see metadata doc for full list.
	Name string `protobuf:"bytes,12,opt,name=name,proto3" json:"name,omitempty"`
	// Host name for the instance.
	// This field is used to generate the [yandex.cloud.compute.v1.Instance.fqdn] value.
	// The host name must be unique within the network and region.
	// If not specified, the host name will be equal to [yandex.cloud.compute.v1.Instance.id] of the instance
	// and FQDN will be `<id>.auto.internal`. Otherwise FQDN will be `<hostname>.<region_id>.internal`.
	//
	// In order to be unique it must contain at least on of instance unique placeholders:
	//
	//	{instance.short_id}
	//	{instance.index}
	//	combination of {instance.zone_id} and {instance.index_in_zone}
	//
	// Example: my-instance-{instance.index}
	// If not set, `name` value will be used
	// It may also contain another placeholders, see metadata doc for full list.
	Hostname string `protobuf:"bytes,13,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// Placement Group
	PlacementPolicy *PlacementPolicy `protobuf:"bytes,14,opt,name=placement_policy,json=placementPolicy,proto3" json:"placement_policy,omitempty"`
	// Array of filesystems to attach to the instance.
	//
	// The filesystems must reside in the same availability zone as the instance.
	//
	// To use the instance with an attached filesystem, the latter must be mounted.
	// For details, see [documentation](/docs/compute/operations/filesystem/attach-to-vm).
	FilesystemSpecs []*AttachedFilesystemSpec `protobuf:"bytes,15,rep,name=filesystem_specs,json=filesystemSpecs,proto3" json:"filesystem_specs,omitempty"`
	// Metadata options for the instance
	MetadataOptions *MetadataOptions `protobuf:"bytes,16,opt,name=metadata_options,json=metadataOptions,proto3" json:"metadata_options,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*InstanceTemplate) ProtoMessage() {}

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

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

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

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

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

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

func (x *InstanceTemplate) GetBootDiskSpec() *AttachedDiskSpec {
	if x != nil {
		return x.BootDiskSpec
	}
	return nil
}

func (x *InstanceTemplate) GetSecondaryDiskSpecs() []*AttachedDiskSpec {
	if x != nil {
		return x.SecondaryDiskSpecs
	}
	return nil
}

func (x *InstanceTemplate) GetNetworkInterfaceSpecs() []*NetworkInterfaceSpec {
	if x != nil {
		return x.NetworkInterfaceSpecs
	}
	return nil
}

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

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

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

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

func (x *InstanceTemplate) GetHostname() string {
	if x != nil {
		return x.Hostname
	}
	return ""
}

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

func (x *InstanceTemplate) GetFilesystemSpecs() []*AttachedFilesystemSpec {
	if x != nil {
		return x.FilesystemSpecs
	}
	return nil
}

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

type AttachedFilesystemSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Mode of access to the filesystem that should be attached.
	Mode AttachedFilesystemSpec_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=yandex.cloud.compute.v1.instancegroup.AttachedFilesystemSpec_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.
	//
	// If not specified, a random value will be generated.
	DeviceName string `protobuf:"bytes,2,opt,name=device_name,json=deviceName,proto3" json:"device_name,omitempty"`
	// ID of the filesystem that should be attached.
	FilesystemId  string `protobuf:"bytes,3,opt,name=filesystem_id,json=filesystemId,proto3" json:"filesystem_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AttachedFilesystemSpec) ProtoMessage() {}

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

func (x *AttachedFilesystemSpec) GetMode() AttachedFilesystemSpec_Mode {
	if x != nil {
		return x.Mode
	}
	return AttachedFilesystemSpec_MODE_UNSPECIFIED
}

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

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

type PlacementPolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Identifier of placement group
	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"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *PlacementPolicy) Reset() {
	*x = PlacementPolicy{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[10]
	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_instancegroup_instance_group_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 PlacementPolicy.ProtoReflect.Descriptor instead.
func (*PlacementPolicy) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDescGZIP(), []int{10}
}

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
}

type ResourcesSpec 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 *ResourcesSpec) Reset() {
	*x = ResourcesSpec{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[11]
	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_compute_v1_instancegroup_instance_group_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 ResourcesSpec.ProtoReflect.Descriptor instead.
func (*ResourcesSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDescGZIP(), []int{11}
}

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
}

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

type AttachedDiskSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Access mode to the Disk resource.
	Mode AttachedDiskSpec_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=yandex.cloud.compute.v1.instancegroup.AttachedDiskSpec_Mode" json:"mode,omitempty"`
	// Serial number that is reflected in 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"`
	// oneof disk_spec or disk_id
	// Disk specification that is attached to the instance. For more information, see [Disks](/docs/compute/concepts/disk).
	DiskSpec *AttachedDiskSpec_DiskSpec `protobuf:"bytes,3,opt,name=disk_spec,json=diskSpec,proto3" json:"disk_spec,omitempty"`
	// Set to use an existing disk. To set use variables.
	DiskId string `protobuf:"bytes,4,opt,name=disk_id,json=diskId,proto3" json:"disk_id,omitempty"`
	// When set can be later used to change DiskSpec of actual disk.
	Name          string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AttachedDiskSpec) ProtoMessage() {}

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

func (x *AttachedDiskSpec) GetMode() AttachedDiskSpec_Mode {
	if x != nil {
		return x.Mode
	}
	return AttachedDiskSpec_MODE_UNSPECIFIED
}

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

func (x *AttachedDiskSpec) GetDiskSpec() *AttachedDiskSpec_DiskSpec {
	if x != nil {
		return x.DiskSpec
	}
	return nil
}

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

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

type NetworkInterfaceSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the network.
	NetworkId string `protobuf:"bytes,1,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"`
	// IDs of the subnets.
	SubnetIds []string `protobuf:"bytes,2,rep,name=subnet_ids,json=subnetIds,proto3" json:"subnet_ids,omitempty"`
	// Primary IPv4 address that is assigned to the instance for this network interface.
	PrimaryV4AddressSpec *PrimaryAddressSpec `protobuf:"bytes,3,opt,name=primary_v4_address_spec,json=primaryV4AddressSpec,proto3" json:"primary_v4_address_spec,omitempty"`
	// Primary IPv6 address that is assigned to the instance for this network interface. IPv6 not available yet.
	PrimaryV6AddressSpec *PrimaryAddressSpec `protobuf:"bytes,4,opt,name=primary_v6_address_spec,json=primaryV6AddressSpec,proto3" json:"primary_v6_address_spec,omitempty"`
	// IDs of security groups.
	SecurityGroupIds []string `protobuf:"bytes,5,rep,name=security_group_ids,json=securityGroupIds,proto3" json:"security_group_ids,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *NetworkInterfaceSpec) Reset() {
	*x = NetworkInterfaceSpec{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[13]
	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_compute_v1_instancegroup_instance_group_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 NetworkInterfaceSpec.ProtoReflect.Descriptor instead.
func (*NetworkInterfaceSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDescGZIP(), []int{13}
}

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
}

func (x *NetworkInterfaceSpec) GetPrimaryV4AddressSpec() *PrimaryAddressSpec {
	if x != nil {
		return x.PrimaryV4AddressSpec
	}
	return nil
}

func (x *NetworkInterfaceSpec) GetPrimaryV6AddressSpec() *PrimaryAddressSpec {
	if x != nil {
		return x.PrimaryV6AddressSpec
	}
	return nil
}

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

type PrimaryAddressSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// An external IP address configuration.
	// If not specified, then this managed instance will have no external internet access.
	OneToOneNatSpec *OneToOneNatSpec `protobuf:"bytes,1,opt,name=one_to_one_nat_spec,json=oneToOneNatSpec,proto3" json:"one_to_one_nat_spec,omitempty"`
	// Internal DNS configuration
	DnsRecordSpecs []*DnsRecordSpec `protobuf:"bytes,2,rep,name=dns_record_specs,json=dnsRecordSpecs,proto3" json:"dns_record_specs,omitempty"`
	// Optional. Manual set static internal IP. To set use variables.
	Address       string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PrimaryAddressSpec) ProtoMessage() {}

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

func (x *PrimaryAddressSpec) GetOneToOneNatSpec() *OneToOneNatSpec {
	if x != nil {
		return x.OneToOneNatSpec
	}
	return nil
}

func (x *PrimaryAddressSpec) GetDnsRecordSpecs() []*DnsRecordSpec {
	if x != nil {
		return x.DnsRecordSpecs
	}
	return nil
}

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

type OneToOneNatSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// IP version for the public IP address.
	IpVersion IpVersion `protobuf:"varint,1,opt,name=ip_version,json=ipVersion,proto3,enum=yandex.cloud.compute.v1.instancegroup.IpVersion" json:"ip_version,omitempty"`
	// Manual set static public IP. To set use variables. (optional)
	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	// External DNS configuration
	DnsRecordSpecs []*DnsRecordSpec `protobuf:"bytes,3,rep,name=dns_record_specs,json=dnsRecordSpecs,proto3" json:"dns_record_specs,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*OneToOneNatSpec) ProtoMessage() {}

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

// Deprecated: Use OneToOneNatSpec.ProtoReflect.Descriptor instead.
func (*OneToOneNatSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDescGZIP(), []int{15}
}

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

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

func (x *OneToOneNatSpec) GetDnsRecordSpecs() []*DnsRecordSpec {
	if x != nil {
		return x.DnsRecordSpecs
	}
	return nil
}

type DnsRecordSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// FQDN (required)
	Fqdn string `protobuf:"bytes,1,opt,name=fqdn,proto3" json:"fqdn,omitempty"`
	// DNS zone id (optional, if not set, private zone used)
	DnsZoneId string `protobuf:"bytes,2,opt,name=dns_zone_id,json=dnsZoneId,proto3" json:"dns_zone_id,omitempty"`
	// DNS record ttl, values in 0-86400 (optional)
	Ttl int64 `protobuf:"varint,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
	// When set to true, also create PTR DNS record (optional)
	Ptr           bool `protobuf:"varint,4,opt,name=ptr,proto3" json:"ptr,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DnsRecordSpec) Reset() {
	*x = DnsRecordSpec{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DnsRecordSpec) ProtoMessage() {}

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

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

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

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

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

type SchedulingPolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Preemptible instances are stopped at least once every 24 hours, and can be stopped at any time
	// if their resources are needed by Compute.
	// For more information, see [Preemptible Virtual Machines](/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_instancegroup_instance_group_proto_msgTypes[17]
	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_instancegroup_instance_group_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 SchedulingPolicy.ProtoReflect.Descriptor instead.
func (*SchedulingPolicy) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDescGZIP(), []int{17}
}

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

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

func (x *NetworkSettings) Reset() {
	*x = NetworkSettings{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[18]
	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_instancegroup_instance_group_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NetworkSettings.ProtoReflect.Descriptor instead.
func (*NetworkSettings) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDescGZIP(), []int{18}
}

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

type LoadBalancerSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Specification of the target group that the instance group will be added to. For more information, see [Target groups and resources](/docs/network-load-balancer/concepts/target-resources).
	TargetGroupSpec *TargetGroupSpec `protobuf:"bytes,1,opt,name=target_group_spec,json=targetGroupSpec,proto3" json:"target_group_spec,omitempty"`
	// Timeout for waiting for the VM to be checked by the load balancer. If the timeout is exceeded,
	// the VM will be turned off based on the deployment policy. Specified in seconds.
	MaxOpeningTrafficDuration *durationpb.Duration `protobuf:"bytes,2,opt,name=max_opening_traffic_duration,json=maxOpeningTrafficDuration,proto3" json:"max_opening_traffic_duration,omitempty"`
	// Do not wait load balancer health checks.
	IgnoreHealthChecks bool `protobuf:"varint,4,opt,name=ignore_health_checks,json=ignoreHealthChecks,proto3" json:"ignore_health_checks,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *LoadBalancerSpec) Reset() {
	*x = LoadBalancerSpec{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*LoadBalancerSpec) ProtoMessage() {}

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

func (x *LoadBalancerSpec) GetTargetGroupSpec() *TargetGroupSpec {
	if x != nil {
		return x.TargetGroupSpec
	}
	return nil
}

func (x *LoadBalancerSpec) GetMaxOpeningTrafficDuration() *durationpb.Duration {
	if x != nil {
		return x.MaxOpeningTrafficDuration
	}
	return nil
}

func (x *LoadBalancerSpec) GetIgnoreHealthChecks() bool {
	if x != nil {
		return x.IgnoreHealthChecks
	}
	return false
}

type TargetGroupSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name of the target group.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Description of the target group.
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	// Resource labels as `key:value` pairs.
	Labels        map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TargetGroupSpec) Reset() {
	*x = TargetGroupSpec{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TargetGroupSpec) ProtoMessage() {}

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

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

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

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

type ApplicationLoadBalancerSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Basic properties of the Application Load Balancer target group attributed to the instance group.
	TargetGroupSpec *ApplicationTargetGroupSpec `protobuf:"bytes,1,opt,name=target_group_spec,json=targetGroupSpec,proto3" json:"target_group_spec,omitempty"`
	// Timeout for waiting for the VM to be checked by the load balancer. If the timeout is exceeded,
	// the VM will be turned off based on the deployment policy. Specified in seconds.
	MaxOpeningTrafficDuration *durationpb.Duration `protobuf:"bytes,2,opt,name=max_opening_traffic_duration,json=maxOpeningTrafficDuration,proto3" json:"max_opening_traffic_duration,omitempty"`
	// Do not wait load balancer health checks.
	IgnoreHealthChecks bool `protobuf:"varint,3,opt,name=ignore_health_checks,json=ignoreHealthChecks,proto3" json:"ignore_health_checks,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *ApplicationLoadBalancerSpec) Reset() {
	*x = ApplicationLoadBalancerSpec{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ApplicationLoadBalancerSpec) ProtoMessage() {}

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

func (x *ApplicationLoadBalancerSpec) GetTargetGroupSpec() *ApplicationTargetGroupSpec {
	if x != nil {
		return x.TargetGroupSpec
	}
	return nil
}

func (x *ApplicationLoadBalancerSpec) GetMaxOpeningTrafficDuration() *durationpb.Duration {
	if x != nil {
		return x.MaxOpeningTrafficDuration
	}
	return nil
}

func (x *ApplicationLoadBalancerSpec) GetIgnoreHealthChecks() bool {
	if x != nil {
		return x.IgnoreHealthChecks
	}
	return false
}

type ApplicationTargetGroupSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name of the target group.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Description of the target group.
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	// Resource labels as `key:value` pairs.
	Labels        map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ApplicationTargetGroupSpec) Reset() {
	*x = ApplicationTargetGroupSpec{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ApplicationTargetGroupSpec) ProtoMessage() {}

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

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

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

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

type HealthChecksSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Health checking specification. For more information, see [Health check](/docs/network-load-balancer/concepts/health-check).
	HealthCheckSpecs []*HealthCheckSpec `protobuf:"bytes,1,rep,name=health_check_specs,json=healthCheckSpecs,proto3" json:"health_check_specs,omitempty"`
	// Timeout for waiting for the VM to become healthy. If the timeout is exceeded,
	// the VM will be turned off based on the deployment policy. Specified in seconds.
	MaxCheckingHealthDuration *durationpb.Duration `protobuf:"bytes,2,opt,name=max_checking_health_duration,json=maxCheckingHealthDuration,proto3" json:"max_checking_health_duration,omitempty"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

func (x *HealthChecksSpec) Reset() {
	*x = HealthChecksSpec{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*HealthChecksSpec) ProtoMessage() {}

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

func (x *HealthChecksSpec) GetHealthCheckSpecs() []*HealthCheckSpec {
	if x != nil {
		return x.HealthCheckSpecs
	}
	return nil
}

func (x *HealthChecksSpec) GetMaxCheckingHealthDuration() *durationpb.Duration {
	if x != nil {
		return x.MaxCheckingHealthDuration
	}
	return nil
}

type HealthCheckSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The interval between health checks. The default is 2 seconds.
	Interval *durationpb.Duration `protobuf:"bytes,1,opt,name=interval,proto3" json:"interval,omitempty"`
	// Timeout for the managed instance to return a response for the health check. The default is 1 second.
	Timeout *durationpb.Duration `protobuf:"bytes,2,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// The number of failed health checks for the managed instance to be considered unhealthy. The default (0) is 2.
	UnhealthyThreshold int64 `protobuf:"varint,3,opt,name=unhealthy_threshold,json=unhealthyThreshold,proto3" json:"unhealthy_threshold,omitempty"`
	// The number of successful health checks required in order for the managed instance to be considered healthy. The default (0) is 2.
	HealthyThreshold int64 `protobuf:"varint,4,opt,name=healthy_threshold,json=healthyThreshold,proto3" json:"healthy_threshold,omitempty"`
	// Types that are valid to be assigned to HealthCheckOptions:
	//
	//	*HealthCheckSpec_TcpOptions_
	//	*HealthCheckSpec_HttpOptions_
	HealthCheckOptions isHealthCheckSpec_HealthCheckOptions `protobuf_oneof:"health_check_options"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *HealthCheckSpec) Reset() {
	*x = HealthCheckSpec{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*HealthCheckSpec) ProtoMessage() {}

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

func (x *HealthCheckSpec) GetInterval() *durationpb.Duration {
	if x != nil {
		return x.Interval
	}
	return nil
}

func (x *HealthCheckSpec) GetTimeout() *durationpb.Duration {
	if x != nil {
		return x.Timeout
	}
	return nil
}

func (x *HealthCheckSpec) GetUnhealthyThreshold() int64 {
	if x != nil {
		return x.UnhealthyThreshold
	}
	return 0
}

func (x *HealthCheckSpec) GetHealthyThreshold() int64 {
	if x != nil {
		return x.HealthyThreshold
	}
	return 0
}

func (x *HealthCheckSpec) GetHealthCheckOptions() isHealthCheckSpec_HealthCheckOptions {
	if x != nil {
		return x.HealthCheckOptions
	}
	return nil
}

func (x *HealthCheckSpec) GetTcpOptions() *HealthCheckSpec_TcpOptions {
	if x != nil {
		if x, ok := x.HealthCheckOptions.(*HealthCheckSpec_TcpOptions_); ok {
			return x.TcpOptions
		}
	}
	return nil
}

func (x *HealthCheckSpec) GetHttpOptions() *HealthCheckSpec_HttpOptions {
	if x != nil {
		if x, ok := x.HealthCheckOptions.(*HealthCheckSpec_HttpOptions_); ok {
			return x.HttpOptions
		}
	}
	return nil
}

type isHealthCheckSpec_HealthCheckOptions interface {
	isHealthCheckSpec_HealthCheckOptions()
}

type HealthCheckSpec_TcpOptions_ struct {
	// Configuration options for a TCP health check.
	TcpOptions *HealthCheckSpec_TcpOptions `protobuf:"bytes,5,opt,name=tcp_options,json=tcpOptions,proto3,oneof"`
}

type HealthCheckSpec_HttpOptions_ struct {
	// Configuration options for an HTTP health check.
	HttpOptions *HealthCheckSpec_HttpOptions `protobuf:"bytes,6,opt,name=http_options,json=httpOptions,proto3,oneof"`
}

func (*HealthCheckSpec_TcpOptions_) isHealthCheckSpec_HealthCheckOptions() {}

func (*HealthCheckSpec_HttpOptions_) isHealthCheckSpec_HealthCheckOptions() {}

// A ManagedInstance resource. For more information, see [Instance Groups Concepts](/docs/compute/concepts/instance-groups/).
type ManagedInstance struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the managed instance.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Status of the managed instance.
	Status ManagedInstance_Status `protobuf:"varint,2,opt,name=status,proto3,enum=yandex.cloud.compute.v1.instancegroup.ManagedInstance_Status" json:"status,omitempty"`
	// ID of the instance.
	InstanceId string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
	// Fully Qualified Domain Name.
	Fqdn string `protobuf:"bytes,4,opt,name=fqdn,proto3" json:"fqdn,omitempty"`
	// The name of the managed instance.
	Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
	// Status message for the managed instance.
	StatusMessage string `protobuf:"bytes,6,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
	// 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"`
	// Array of network interfaces that are attached to the managed instance.
	NetworkInterfaces []*NetworkInterface `protobuf:"bytes,8,rep,name=network_interfaces,json=networkInterfaces,proto3" json:"network_interfaces,omitempty"`
	// The timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format when the status of the managed instance was last changed.
	StatusChangedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=status_changed_at,json=statusChangedAt,proto3" json:"status_changed_at,omitempty"`
	// Managed instance tag.
	InstanceTag   string `protobuf:"bytes,14,opt,name=instance_tag,json=instanceTag,proto3" json:"instance_tag,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ManagedInstance) Reset() {
	*x = ManagedInstance{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ManagedInstance) ProtoMessage() {}

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

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

func (x *ManagedInstance) GetStatus() ManagedInstance_Status {
	if x != nil {
		return x.Status
	}
	return ManagedInstance_STATUS_UNSPECIFIED
}

func (x *ManagedInstance) GetInstanceId() string {
	if x != nil {
		return x.InstanceId
	}
	return ""
}

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

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

func (x *ManagedInstance) GetStatusMessage() string {
	if x != nil {
		return x.StatusMessage
	}
	return ""
}

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

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

func (x *ManagedInstance) GetStatusChangedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.StatusChangedAt
	}
	return nil
}

func (x *ManagedInstance) GetInstanceTag() string {
	if x != nil {
		return x.InstanceTag
	}
	return ""
}

type NetworkInterface struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The index of the network interface, generated by the server, 0,1,2... etc.
	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 is not available yet.
	PrimaryV6Address *PrimaryAddress `protobuf:"bytes,5,opt,name=primary_v6_address,json=primaryV6Address,proto3" json:"primary_v6_address,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *NetworkInterface) Reset() {
	*x = NetworkInterface{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[26]
	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_instancegroup_instance_group_proto_msgTypes[26]
	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_instancegroup_instance_group_proto_rawDescGZIP(), []int{26}
}

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
}

type PrimaryAddress struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// An IPv4 internal network address that is assigned to the managed instance for this network interface.
	// If not specified by the user, an unused internal IP is assigned by the system.
	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_instancegroup_instance_group_proto_msgTypes[27]
	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_instancegroup_instance_group_proto_msgTypes[27]
	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_instancegroup_instance_group_proto_rawDescGZIP(), []int{27}
}

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 IPv4 external network address that is assigned to the managed instance for this network interface.
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// External IP address version.
	IpVersion IpVersion `protobuf:"varint,2,opt,name=ip_version,json=ipVersion,proto3,enum=yandex.cloud.compute.v1.instancegroup.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_instancegroup_instance_group_proto_msgTypes[28]
	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_instancegroup_instance_group_proto_msgTypes[28]
	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_instancegroup_instance_group_proto_rawDescGZIP(), []int{28}
}

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

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 LogRecord struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Log timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
	Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// The log message.
	Message       string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LogRecord) Reset() {
	*x = LogRecord{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*LogRecord) ProtoMessage() {}

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

func (x *LogRecord) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

func (x *LogRecord) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

type AutoHealingPolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Instance Groups performs [auto_healing_action] when instance becomes unhealthy.
	AutoHealingAction AutoHealingPolicy_AutoHealingAction `protobuf:"varint,1,opt,name=auto_healing_action,json=autoHealingAction,proto3,enum=yandex.cloud.compute.v1.instancegroup.AutoHealingPolicy_AutoHealingAction" json:"auto_healing_action,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *AutoHealingPolicy) Reset() {
	*x = AutoHealingPolicy{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AutoHealingPolicy) ProtoMessage() {}

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

func (x *AutoHealingPolicy) GetAutoHealingAction() AutoHealingPolicy_AutoHealingAction {
	if x != nil {
		return x.AutoHealingAction
	}
	return AutoHealingPolicy_AUTO_HEALING_ACTION_UNSPECIFIED
}

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.instancegroup.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.instancegroup.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.instancegroup.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.instancegroup.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_instancegroup_instance_group_proto_msgTypes[32]
	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_instancegroup_instance_group_proto_msgTypes[32]
	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_instancegroup_instance_group_proto_rawDescGZIP(), []int{32}
}

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 ManagedInstancesState_Statuses struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Instance is being created.
	Creating int64 `protobuf:"varint,1,opt,name=creating,proto3" json:"creating,omitempty"`
	// Instance is being started.
	Starting int64 `protobuf:"varint,2,opt,name=starting,proto3" json:"starting,omitempty"`
	// Instance is being opened to receive traffic.
	Opening int64 `protobuf:"varint,3,opt,name=opening,proto3" json:"opening,omitempty"`
	// Instance is being warmed.
	Warming int64 `protobuf:"varint,4,opt,name=warming,proto3" json:"warming,omitempty"`
	// Instance is running normally.
	Running int64 `protobuf:"varint,5,opt,name=running,proto3" json:"running,omitempty"`
	// Instance is being closed to traffic.
	Closing int64 `protobuf:"varint,6,opt,name=closing,proto3" json:"closing,omitempty"`
	// Instance is being stopped.
	Stopping int64 `protobuf:"varint,7,opt,name=stopping,proto3" json:"stopping,omitempty"`
	// Instance is being updated.
	Updating int64 `protobuf:"varint,8,opt,name=updating,proto3" json:"updating,omitempty"`
	// Instance is being deleted.
	Deleting int64 `protobuf:"varint,9,opt,name=deleting,proto3" json:"deleting,omitempty"`
	// Instance failed and needs to be recreated.
	Failed        int64 `protobuf:"varint,10,opt,name=failed,proto3" json:"failed,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ManagedInstancesState_Statuses) Reset() {
	*x = ManagedInstancesState_Statuses{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ManagedInstancesState_Statuses) ProtoMessage() {}

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

func (x *ManagedInstancesState_Statuses) GetCreating() int64 {
	if x != nil {
		return x.Creating
	}
	return 0
}

func (x *ManagedInstancesState_Statuses) GetStarting() int64 {
	if x != nil {
		return x.Starting
	}
	return 0
}

func (x *ManagedInstancesState_Statuses) GetOpening() int64 {
	if x != nil {
		return x.Opening
	}
	return 0
}

func (x *ManagedInstancesState_Statuses) GetWarming() int64 {
	if x != nil {
		return x.Warming
	}
	return 0
}

func (x *ManagedInstancesState_Statuses) GetRunning() int64 {
	if x != nil {
		return x.Running
	}
	return 0
}

func (x *ManagedInstancesState_Statuses) GetClosing() int64 {
	if x != nil {
		return x.Closing
	}
	return 0
}

func (x *ManagedInstancesState_Statuses) GetStopping() int64 {
	if x != nil {
		return x.Stopping
	}
	return 0
}

func (x *ManagedInstancesState_Statuses) GetUpdating() int64 {
	if x != nil {
		return x.Updating
	}
	return 0
}

func (x *ManagedInstancesState_Statuses) GetDeleting() int64 {
	if x != nil {
		return x.Deleting
	}
	return 0
}

func (x *ManagedInstancesState_Statuses) GetFailed() int64 {
	if x != nil {
		return x.Failed
	}
	return 0
}

type ScalePolicy_AutoScale struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Lower limit for instance count in each zone.
	MinZoneSize int64 `protobuf:"varint,1,opt,name=min_zone_size,json=minZoneSize,proto3" json:"min_zone_size,omitempty"`
	// Upper limit for total instance count (across all zones).
	// 0 means maximum limit = 100.
	MaxSize int64 `protobuf:"varint,2,opt,name=max_size,json=maxSize,proto3" json:"max_size,omitempty"`
	// Time in seconds allotted for averaging metrics.
	// 1 minute by default.
	MeasurementDuration *durationpb.Duration `protobuf:"bytes,3,opt,name=measurement_duration,json=measurementDuration,proto3" json:"measurement_duration,omitempty"`
	// The warmup time of the instance in seconds. During this time,
	// traffic is sent to the instance, but instance metrics are not collected.
	WarmupDuration *durationpb.Duration `protobuf:"bytes,4,opt,name=warmup_duration,json=warmupDuration,proto3" json:"warmup_duration,omitempty"`
	// Minimum amount of time in seconds allotted for monitoring before
	// Instance Groups can reduce the number of instances in the group.
	// During this time, the group size doesn't decrease, even if the new metric values
	// indicate that it should.
	StabilizationDuration *durationpb.Duration `protobuf:"bytes,5,opt,name=stabilization_duration,json=stabilizationDuration,proto3" json:"stabilization_duration,omitempty"`
	// Target group size.
	InitialSize int64 `protobuf:"varint,6,opt,name=initial_size,json=initialSize,proto3" json:"initial_size,omitempty"`
	// Defines an autoscaling rule based on the average CPU utilization of the instance group.
	//
	// If more than one rule is specified, e.g. CPU utilization and one or more Monitoring metrics ([custom_rules]),
	// the size of the instance group will be equal to the maximum of sizes calculated according to each metric.
	CpuUtilizationRule *ScalePolicy_CpuUtilizationRule `protobuf:"bytes,7,opt,name=cpu_utilization_rule,json=cpuUtilizationRule,proto3" json:"cpu_utilization_rule,omitempty"`
	// Defines an autoscaling rule based on a [custom metric](/docs/monitoring/operations/metric/add) from Monitoring.
	//
	// If more than one rule is specified, e.g. CPU utilization ([cpu_utilization_rule]) and one or more Monitoring
	// metrics, the size of the instance group will be equal to the maximum of sizes calculated according to each metric.
	CustomRules []*ScalePolicy_CustomRule `protobuf:"bytes,8,rep,name=custom_rules,json=customRules,proto3" json:"custom_rules,omitempty"`
	// Autoscaling type.
	AutoScaleType ScalePolicy_AutoScale_AutoScaleType `protobuf:"varint,9,opt,name=auto_scale_type,json=autoScaleType,proto3,enum=yandex.cloud.compute.v1.instancegroup.ScalePolicy_AutoScale_AutoScaleType" json:"auto_scale_type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ScalePolicy_AutoScale) Reset() {
	*x = ScalePolicy_AutoScale{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ScalePolicy_AutoScale) ProtoMessage() {}

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

func (x *ScalePolicy_AutoScale) GetMinZoneSize() int64 {
	if x != nil {
		return x.MinZoneSize
	}
	return 0
}

func (x *ScalePolicy_AutoScale) GetMaxSize() int64 {
	if x != nil {
		return x.MaxSize
	}
	return 0
}

func (x *ScalePolicy_AutoScale) GetMeasurementDuration() *durationpb.Duration {
	if x != nil {
		return x.MeasurementDuration
	}
	return nil
}

func (x *ScalePolicy_AutoScale) GetWarmupDuration() *durationpb.Duration {
	if x != nil {
		return x.WarmupDuration
	}
	return nil
}

func (x *ScalePolicy_AutoScale) GetStabilizationDuration() *durationpb.Duration {
	if x != nil {
		return x.StabilizationDuration
	}
	return nil
}

func (x *ScalePolicy_AutoScale) GetInitialSize() int64 {
	if x != nil {
		return x.InitialSize
	}
	return 0
}

func (x *ScalePolicy_AutoScale) GetCpuUtilizationRule() *ScalePolicy_CpuUtilizationRule {
	if x != nil {
		return x.CpuUtilizationRule
	}
	return nil
}

func (x *ScalePolicy_AutoScale) GetCustomRules() []*ScalePolicy_CustomRule {
	if x != nil {
		return x.CustomRules
	}
	return nil
}

func (x *ScalePolicy_AutoScale) GetAutoScaleType() ScalePolicy_AutoScale_AutoScaleType {
	if x != nil {
		return x.AutoScaleType
	}
	return ScalePolicy_AutoScale_AUTO_SCALE_TYPE_UNSPECIFIED
}

type ScalePolicy_CpuUtilizationRule struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Target CPU utilization level. Instance Groups maintains this level for each availability zone.
	UtilizationTarget float64 `protobuf:"fixed64,1,opt,name=utilization_target,json=utilizationTarget,proto3" json:"utilization_target,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *ScalePolicy_CpuUtilizationRule) Reset() {
	*x = ScalePolicy_CpuUtilizationRule{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ScalePolicy_CpuUtilizationRule) ProtoMessage() {}

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

func (x *ScalePolicy_CpuUtilizationRule) GetUtilizationTarget() float64 {
	if x != nil {
		return x.UtilizationTarget
	}
	return 0
}

type ScalePolicy_CustomRule struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Custom metric rule type. This field affects which label from
	// the custom metric should be used: `zone_id` or `instance_id`.
	RuleType ScalePolicy_CustomRule_RuleType `protobuf:"varint,1,opt,name=rule_type,json=ruleType,proto3,enum=yandex.cloud.compute.v1.instancegroup.ScalePolicy_CustomRule_RuleType" json:"rule_type,omitempty"`
	// Type of custom metric. This field affects how Instance Groups calculates the average metric value.
	MetricType ScalePolicy_CustomRule_MetricType `protobuf:"varint,2,opt,name=metric_type,json=metricType,proto3,enum=yandex.cloud.compute.v1.instancegroup.ScalePolicy_CustomRule_MetricType" json:"metric_type,omitempty"`
	// Name of custom metric in Monitoring that should be used for scaling.
	MetricName string `protobuf:"bytes,3,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"`
	// Labels of custom metric in Monitoring that should be used for scaling.
	Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Target value for the custom metric. Instance Groups maintains this level for each availability zone.
	Target float64 `protobuf:"fixed64,4,opt,name=target,proto3" json:"target,omitempty"`
	// Folder id of custom metric in Monitoring that should be used for scaling.
	FolderId string `protobuf:"bytes,6,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"`
	// Service of custom metric in Monitoring that should be used for scaling.
	Service       string `protobuf:"bytes,7,opt,name=service,proto3" json:"service,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ScalePolicy_CustomRule) Reset() {
	*x = ScalePolicy_CustomRule{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[37]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ScalePolicy_CustomRule) ProtoMessage() {}

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

func (x *ScalePolicy_CustomRule) GetRuleType() ScalePolicy_CustomRule_RuleType {
	if x != nil {
		return x.RuleType
	}
	return ScalePolicy_CustomRule_RULE_TYPE_UNSPECIFIED
}

func (x *ScalePolicy_CustomRule) GetMetricType() ScalePolicy_CustomRule_MetricType {
	if x != nil {
		return x.MetricType
	}
	return ScalePolicy_CustomRule_METRIC_TYPE_UNSPECIFIED
}

func (x *ScalePolicy_CustomRule) GetMetricName() string {
	if x != nil {
		return x.MetricName
	}
	return ""
}

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

func (x *ScalePolicy_CustomRule) GetTarget() float64 {
	if x != nil {
		return x.Target
	}
	return 0
}

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

func (x *ScalePolicy_CustomRule) GetService() string {
	if x != nil {
		return x.Service
	}
	return ""
}

type ScalePolicy_FixedScale struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Number of instances in the instance group.
	Size          int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ScalePolicy_FixedScale) Reset() {
	*x = ScalePolicy_FixedScale{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[38]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ScalePolicy_FixedScale) ProtoMessage() {}

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

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

type AllocationPolicy_Zone struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the availability zone where the instance resides.
	ZoneId string `protobuf:"bytes,1,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"`
	// Each instance in a zone will be associated with exactly one of a tag from a pool below.
	// All specified tags must be unique across the whole group not only the zone.
	// It is guaranteed that during whole deploy only tags from prefix of the specified list will be used.
	// It is possible to use tag associated with instance in templating via {instance.tag}.
	InstanceTagsPool []string `protobuf:"bytes,2,rep,name=instance_tags_pool,json=instanceTagsPool,proto3" json:"instance_tags_pool,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *AllocationPolicy_Zone) Reset() {
	*x = AllocationPolicy_Zone{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[40]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AllocationPolicy_Zone) ProtoMessage() {}

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

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

func (x *AllocationPolicy_Zone) GetInstanceTagsPool() []string {
	if x != nil {
		return x.InstanceTagsPool
	}
	return nil
}

// 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.instancegroup.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_instancegroup_instance_group_proto_msgTypes[43]
	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_instancegroup_instance_group_proto_msgTypes[43]
	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_instancegroup_instance_group_proto_rawDescGZIP(), []int{10, 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
}

type AttachedDiskSpec_DiskSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Description of the disk.
	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
	// ID of the disk type.
	TypeId string `protobuf:"bytes,2,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"`
	// Size of the disk, specified in bytes.
	Size int64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
	// Types that are valid to be assigned to SourceOneof:
	//
	//	*AttachedDiskSpec_DiskSpec_ImageId
	//	*AttachedDiskSpec_DiskSpec_SnapshotId
	SourceOneof isAttachedDiskSpec_DiskSpec_SourceOneof `protobuf_oneof:"source_oneof"`
	// When set to true, disk will not be deleted even after managed instance is deleted.
	// It will be a user's responsibility to delete such disks.
	PreserveAfterInstanceDelete bool `protobuf:"varint,6,opt,name=preserve_after_instance_delete,json=preserveAfterInstanceDelete,proto3" json:"preserve_after_instance_delete,omitempty"`
	unknownFields               protoimpl.UnknownFields
	sizeCache                   protoimpl.SizeCache
}

func (x *AttachedDiskSpec_DiskSpec) Reset() {
	*x = AttachedDiskSpec_DiskSpec{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[44]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AttachedDiskSpec_DiskSpec) ProtoMessage() {}

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

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

func (x *AttachedDiskSpec_DiskSpec) GetTypeId() string {
	if x != nil {
		return x.TypeId
	}
	return ""
}

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

func (x *AttachedDiskSpec_DiskSpec) GetSourceOneof() isAttachedDiskSpec_DiskSpec_SourceOneof {
	if x != nil {
		return x.SourceOneof
	}
	return nil
}

func (x *AttachedDiskSpec_DiskSpec) GetImageId() string {
	if x != nil {
		if x, ok := x.SourceOneof.(*AttachedDiskSpec_DiskSpec_ImageId); ok {
			return x.ImageId
		}
	}
	return ""
}

func (x *AttachedDiskSpec_DiskSpec) GetSnapshotId() string {
	if x != nil {
		if x, ok := x.SourceOneof.(*AttachedDiskSpec_DiskSpec_SnapshotId); ok {
			return x.SnapshotId
		}
	}
	return ""
}

func (x *AttachedDiskSpec_DiskSpec) GetPreserveAfterInstanceDelete() bool {
	if x != nil {
		return x.PreserveAfterInstanceDelete
	}
	return false
}

type isAttachedDiskSpec_DiskSpec_SourceOneof interface {
	isAttachedDiskSpec_DiskSpec_SourceOneof()
}

type AttachedDiskSpec_DiskSpec_ImageId struct {
	// ID of the image that will be used for disk creation.
	ImageId string `protobuf:"bytes,4,opt,name=image_id,json=imageId,proto3,oneof"`
}

type AttachedDiskSpec_DiskSpec_SnapshotId struct {
	// ID of the snapshot that will be used for disk creation.
	SnapshotId string `protobuf:"bytes,5,opt,name=snapshot_id,json=snapshotId,proto3,oneof"`
}

func (*AttachedDiskSpec_DiskSpec_ImageId) isAttachedDiskSpec_DiskSpec_SourceOneof() {}

func (*AttachedDiskSpec_DiskSpec_SnapshotId) isAttachedDiskSpec_DiskSpec_SourceOneof() {}

type HealthCheckSpec_TcpOptions struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Port to use for TCP health checks.
	Port          int64 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *HealthCheckSpec_TcpOptions) Reset() {
	*x = HealthCheckSpec_TcpOptions{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[47]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*HealthCheckSpec_TcpOptions) ProtoMessage() {}

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

func (x *HealthCheckSpec_TcpOptions) GetPort() int64 {
	if x != nil {
		return x.Port
	}
	return 0
}

type HealthCheckSpec_HttpOptions struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Port to use for HTTP health checks.
	Port int64 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
	// URL path to set for health checking requests.
	Path          string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *HealthCheckSpec_HttpOptions) Reset() {
	*x = HealthCheckSpec_HttpOptions{}
	mi := &file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[48]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*HealthCheckSpec_HttpOptions) ProtoMessage() {}

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

func (x *HealthCheckSpec_HttpOptions) GetPort() int64 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *HealthCheckSpec_HttpOptions) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

var File_yandex_cloud_compute_v1_instancegroup_instance_group_proto protoreflect.FileDescriptor

const file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDesc = "" +
	"\n" +
	":yandex/cloud/compute/v1/instancegroup/instance_group.proto\x12%yandex.cloud.compute.v1.instancegroup\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1dyandex/cloud/validation.proto\"\xe8\x0e\n" +
	"\rInstanceGroup\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\x12X\n" +
	"\x06labels\x18\x06 \x03(\v2@.yandex.cloud.compute.v1.instancegroup.InstanceGroup.LabelsEntryR\x06labels\x12d\n" +
	"\x11instance_template\x18\a \x01(\v27.yandex.cloud.compute.v1.instancegroup.InstanceTemplateR\x10instanceTemplate\x12U\n" +
	"\fscale_policy\x18\b \x01(\v22.yandex.cloud.compute.v1.instancegroup.ScalePolicyR\vscalePolicy\x12X\n" +
	"\rdeploy_policy\x18\t \x01(\v23.yandex.cloud.compute.v1.instancegroup.DeployPolicyR\fdeployPolicy\x12d\n" +
	"\x11allocation_policy\x18\n" +
	" \x01(\v27.yandex.cloud.compute.v1.instancegroup.AllocationPolicyR\x10allocationPolicy\x12h\n" +
	"\x13load_balancer_state\x18\v \x01(\v28.yandex.cloud.compute.v1.instancegroup.LoadBalancerStateR\x11loadBalancerState\x12t\n" +
	"\x17managed_instances_state\x18\f \x01(\v2<.yandex.cloud.compute.v1.instancegroup.ManagedInstancesStateR\x15managedInstancesState\x12e\n" +
	"\x12load_balancer_spec\x18\x0e \x01(\v27.yandex.cloud.compute.v1.instancegroup.LoadBalancerSpecR\x10loadBalancerSpec\x12e\n" +
	"\x12health_checks_spec\x18\x0f \x01(\v27.yandex.cloud.compute.v1.instancegroup.HealthChecksSpecR\x10healthChecksSpec\x12,\n" +
	"\x12service_account_id\x18\x10 \x01(\tR\x10serviceAccountId\x12S\n" +
	"\x06status\x18\x11 \x01(\x0e2;.yandex.cloud.compute.v1.instancegroup.InstanceGroup.StatusR\x06status\x12M\n" +
	"\tvariables\x18\x12 \x03(\v2/.yandex.cloud.compute.v1.instancegroup.VariableR\tvariables\x12/\n" +
	"\x13deletion_protection\x18\x13 \x01(\bR\x12deletionProtection\x12\x87\x01\n" +
	"\x1eapplication_load_balancer_spec\x18\x14 \x01(\v2B.yandex.cloud.compute.v1.instancegroup.ApplicationLoadBalancerSpecR\x1bapplicationLoadBalancerSpec\x12\x8a\x01\n" +
	"\x1fapplication_load_balancer_state\x18\x15 \x01(\v2C.yandex.cloud.compute.v1.instancegroup.ApplicationLoadBalancerStateR\x1capplicationLoadBalancerState\x12h\n" +
	"\x13auto_healing_policy\x18\x16 \x01(\v28.yandex.cloud.compute.v1.instancegroup.AutoHealingPolicyR\x11autoHealingPolicy\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"o\n" +
	"\x06Status\x12\x16\n" +
	"\x12STATUS_UNSPECIFIED\x10\x00\x12\f\n" +
	"\bSTARTING\x10\x01\x12\n" +
	"\n" +
	"\x06ACTIVE\x10\x02\x12\f\n" +
	"\bSTOPPING\x10\x03\x12\v\n" +
	"\aSTOPPED\x10\x04\x12\f\n" +
	"\bDELETING\x10\x05\x12\n" +
	"\n" +
	"\x06PAUSED\x10\x06J\x04\b\r\x10\x0e\"m\n" +
	"\x1cApplicationLoadBalancerState\x12&\n" +
	"\x0ftarget_group_id\x18\x01 \x01(\tR\rtargetGroupId\x12%\n" +
	"\x0estatus_message\x18\x02 \x01(\tR\rstatusMessage\"[\n" +
	"\bVariable\x12.\n" +
	"\x03key\x18\x01 \x01(\tB\x1c\xf2\xc71\x0f[a-zA-Z0-9._-]*\x8a\xc81\x051-128R\x03key\x12\x1f\n" +
	"\x05value\x18\x02 \x01(\tB\t\x8a\xc81\x05<=128R\x05value\"b\n" +
	"\x11LoadBalancerState\x12&\n" +
	"\x0ftarget_group_id\x18\x01 \x01(\tR\rtargetGroupId\x12%\n" +
	"\x0estatus_message\x18\x02 \x01(\tR\rstatusMessage\"\xea\x03\n" +
	"\x15ManagedInstancesState\x12\x1f\n" +
	"\vtarget_size\x18\x01 \x01(\x03R\n" +
	"targetSize\x120\n" +
	"\x14running_actual_count\x18\x04 \x01(\x03R\x12runningActualCount\x124\n" +
	"\x16running_outdated_count\x18\x05 \x01(\x03R\x14runningOutdatedCount\x12)\n" +
	"\x10processing_count\x18\x06 \x01(\x03R\x0fprocessingCount\x1a\x96\x02\n" +
	"\bStatuses\x12\x1a\n" +
	"\bcreating\x18\x01 \x01(\x03R\bcreating\x12\x1a\n" +
	"\bstarting\x18\x02 \x01(\x03R\bstarting\x12\x18\n" +
	"\aopening\x18\x03 \x01(\x03R\aopening\x12\x18\n" +
	"\awarming\x18\x04 \x01(\x03R\awarming\x12\x18\n" +
	"\arunning\x18\x05 \x01(\x03R\arunning\x12\x18\n" +
	"\aclosing\x18\x06 \x01(\x03R\aclosing\x12\x1a\n" +
	"\bstopping\x18\a \x01(\x03R\bstopping\x12\x1a\n" +
	"\bupdating\x18\b \x01(\x03R\bupdating\x12\x1a\n" +
	"\bdeleting\x18\t \x01(\x03R\bdeleting\x12\x16\n" +
	"\x06failed\x18\n" +
	" \x01(\x03R\x06failedJ\x04\b\x02\x10\x04\"\xb5\x10\n" +
	"\vScalePolicy\x12`\n" +
	"\vfixed_scale\x18\x01 \x01(\v2=.yandex.cloud.compute.v1.instancegroup.ScalePolicy.FixedScaleH\x00R\n" +
	"fixedScale\x12]\n" +
	"\n" +
	"auto_scale\x18\x02 \x01(\v2<.yandex.cloud.compute.v1.instancegroup.ScalePolicy.AutoScaleH\x00R\tautoScale\x12d\n" +
	"\x0ftest_auto_scale\x18\x03 \x01(\v2<.yandex.cloud.compute.v1.instancegroup.ScalePolicy.AutoScaleR\rtestAutoScale\x1a\xb6\x06\n" +
	"\tAutoScale\x12-\n" +
	"\rmin_zone_size\x18\x01 \x01(\x03B\t\xfa\xc71\x050-100R\vminZoneSize\x12$\n" +
	"\bmax_size\x18\x02 \x01(\x03B\t\xfa\xc71\x050-100R\amaxSize\x12X\n" +
	"\x14measurement_duration\x18\x03 \x01(\v2\x19.google.protobuf.DurationB\n" +
	"\xfa\xc71\x061m-10mR\x13measurementDuration\x12M\n" +
	"\x0fwarmup_duration\x18\x04 \x01(\v2\x19.google.protobuf.DurationB\t\xfa\xc71\x05<=10mR\x0ewarmupDuration\x12\\\n" +
	"\x16stabilization_duration\x18\x05 \x01(\v2\x19.google.protobuf.DurationB\n" +
	"\xfa\xc71\x061m-30mR\x15stabilizationDuration\x12*\n" +
	"\finitial_size\x18\x06 \x01(\x03B\a\xfa\xc71\x03>=1R\vinitialSize\x12w\n" +
	"\x14cpu_utilization_rule\x18\a \x01(\v2E.yandex.cloud.compute.v1.instancegroup.ScalePolicy.CpuUtilizationRuleR\x12cpuUtilizationRule\x12i\n" +
	"\fcustom_rules\x18\b \x03(\v2=.yandex.cloud.compute.v1.instancegroup.ScalePolicy.CustomRuleB\a\x82\xc81\x03<=3R\vcustomRules\x12r\n" +
	"\x0fauto_scale_type\x18\t \x01(\x0e2J.yandex.cloud.compute.v1.instancegroup.ScalePolicy.AutoScale.AutoScaleTypeR\rautoScaleType\"I\n" +
	"\rAutoScaleType\x12\x1f\n" +
	"\x1bAUTO_SCALE_TYPE_UNSPECIFIED\x10\x00\x12\t\n" +
	"\x05ZONAL\x10\x01\x12\f\n" +
	"\bREGIONAL\x10\x02\x1aO\n" +
	"\x12CpuUtilizationRule\x129\n" +
	"\x12utilization_target\x18\x01 \x01(\x01B\n" +
	"\xfa\xc71\x0610-100R\x11utilizationTarget\x1a\xb3\x06\n" +
	"\n" +
	"CustomRule\x12i\n" +
	"\trule_type\x18\x01 \x01(\x0e2F.yandex.cloud.compute.v1.instancegroup.ScalePolicy.CustomRule.RuleTypeB\x04\xe8\xc71\x01R\bruleType\x12o\n" +
	"\vmetric_type\x18\x02 \x01(\x0e2H.yandex.cloud.compute.v1.instancegroup.ScalePolicy.CustomRule.MetricTypeB\x04\xe8\xc71\x01R\n" +
	"metricType\x12[\n" +
	"\vmetric_name\x18\x03 \x01(\tB:\xe8\xc71\x01\xf2\xc712[a-zA-Z0-9./@_][ 0-9a-zA-Z./@_,:;()\\[\\]<>-]{0,198}R\n" +
	"metricName\x12\xbb\x01\n" +
	"\x06labels\x18\x05 \x03(\v2I.yandex.cloud.compute.v1.instancegroup.ScalePolicy.CustomRule.LabelsEntryBX\xf2\xc712[a-zA-Z0-9./@_][ 0-9a-zA-Z./@_,:;()\\[\\]<>-]{0,198}\xb2\xc81\x1e\x12\x1c^[a-zA-Z][0-9a-zA-Z_]{0,31}$R\x06labels\x12\x1e\n" +
	"\x06target\x18\x04 \x01(\x01B\x06\xfa\xc71\x02>0R\x06target\x12%\n" +
	"\tfolder_id\x18\x06 \x01(\tB\b\x8a\xc81\x04<=50R\bfolderId\x12#\n" +
	"\aservice\x18\a \x01(\tB\t\x8a\xc81\x05<=200R\aservice\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"D\n" +
	"\bRuleType\x12\x19\n" +
	"\x15RULE_TYPE_UNSPECIFIED\x10\x00\x12\x0f\n" +
	"\vUTILIZATION\x10\x01\x12\f\n" +
	"\bWORKLOAD\x10\x02\"A\n" +
	"\n" +
	"MetricType\x12\x1b\n" +
	"\x17METRIC_TYPE_UNSPECIFIED\x10\x00\x12\t\n" +
	"\x05GAUGE\x10\x01\x12\v\n" +
	"\aCOUNTER\x10\x02\x1a+\n" +
	"\n" +
	"FixedScale\x12\x1d\n" +
	"\x04size\x18\x01 \x01(\x03B\t\xfa\xc71\x051-100R\x04sizeB\x12\n" +
	"\n" +
	"scale_type\x12\x04\xc0\xc11\x01\"\x94\x05\n" +
	"\fDeployPolicy\x122\n" +
	"\x0fmax_unavailable\x18\x01 \x01(\x03B\t\xfa\xc71\x050-100R\x0emaxUnavailable\x12,\n" +
	"\fmax_deleting\x18\x02 \x01(\x03B\t\xfa\xc71\x050-100R\vmaxDeleting\x12,\n" +
	"\fmax_creating\x18\x03 \x01(\x03B\t\xfa\xc71\x050-100R\vmaxCreating\x12.\n" +
	"\rmax_expansion\x18\x06 \x01(\x03B\t\xfa\xc71\x050-100R\fmaxExpansion\x12O\n" +
	"\x10startup_duration\x18\a \x01(\v2\x19.google.protobuf.DurationB\t\xfa\xc71\x050m-1hR\x0fstartupDuration\x12X\n" +
	"\bstrategy\x18\b \x01(\x0e2<.yandex.cloud.compute.v1.instancegroup.DeployPolicy.StrategyR\bstrategy\x12h\n" +
	"\x0eminimal_action\x18\x0e \x01(\x0e2A.yandex.cloud.compute.v1.instancegroup.DeployPolicy.MinimalActionR\rminimalAction\"F\n" +
	"\bStrategy\x12\x18\n" +
	"\x14STRATEGY_UNSPECIFIED\x10\x00\x12\r\n" +
	"\tPROACTIVE\x10\x01\x12\x11\n" +
	"\rOPPORTUNISTIC\x10\x02\"[\n" +
	"\rMinimalAction\x12\x1e\n" +
	"\x1aMINIMAL_ACTION_UNSPECIFIED\x10\x00\x12\x0f\n" +
	"\vLIVE_UPDATE\x10\x01\x12\v\n" +
	"\aRESTART\x10\x02\x12\f\n" +
	"\bRECREATE\x10\x03J\x04\b\t\x10\x0eJ\x04\b\x04\x10\x06\"\xd2\x01\n" +
	"\x10AllocationPolicy\x12[\n" +
	"\x05zones\x18\x01 \x03(\v2<.yandex.cloud.compute.v1.instancegroup.AllocationPolicy.ZoneB\a\x82\xc81\x03>=1R\x05zones\x1aa\n" +
	"\x04Zone\x12\x1d\n" +
	"\azone_id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x06zoneId\x12:\n" +
	"\x12instance_tags_pool\x18\x02 \x03(\tB\f\x8a\xc81\x043-50\x90\xc81\x01R\x10instanceTagsPool\"\xaa\f\n" +
	"\x10InstanceTemplate\x12+\n" +
	"\vdescription\x18\x01 \x01(\tB\t\x8a\xc81\x05<=256R\vdescription\x12\x8e\x01\n" +
	"\x06labels\x18\x02 \x03(\v2C.yandex.cloud.compute.v1.instancegroup.InstanceTemplate.LabelsEntryB1\x82\xc81\x04<=64\x8a\xc81\x05<=128\xb2\xc81\x1c\x12\x14[a-z][-_./\\@0-9a-z]*\x1a\x041-63R\x06labels\x12%\n" +
	"\vplatform_id\x18\x03 \x01(\tB\x04\xe8\xc71\x01R\n" +
	"platformId\x12a\n" +
	"\x0eresources_spec\x18\x04 \x01(\v24.yandex.cloud.compute.v1.instancegroup.ResourcesSpecB\x04\xe8\xc71\x01R\rresourcesSpec\x12\x94\x01\n" +
	"\bmetadata\x18\x05 \x03(\v2E.yandex.cloud.compute.v1.instancegroup.InstanceTemplate.MetadataEntryB1\x82\xc81\x05<=128\x8a\xc81\b<=262144\xb2\xc81\x18\x12\x10[a-z][-_0-9a-z]*\x1a\x041-63R\bmetadata\x12c\n" +
	"\x0eboot_disk_spec\x18\x06 \x01(\v27.yandex.cloud.compute.v1.instancegroup.AttachedDiskSpecB\x04\xe8\xc71\x01R\fbootDiskSpec\x12r\n" +
	"\x14secondary_disk_specs\x18\a \x03(\v27.yandex.cloud.compute.v1.instancegroup.AttachedDiskSpecB\a\x82\xc81\x03<=3R\x12secondaryDiskSpecs\x12y\n" +
	"\x17network_interface_specs\x18\b \x03(\v2;.yandex.cloud.compute.v1.instancegroup.NetworkInterfaceSpecB\x04\xe8\xc71\x01R\x15networkInterfaceSpecs\x12d\n" +
	"\x11scheduling_policy\x18\t \x01(\v27.yandex.cloud.compute.v1.instancegroup.SchedulingPolicyR\x10schedulingPolicy\x12,\n" +
	"\x12service_account_id\x18\n" +
	" \x01(\tR\x10serviceAccountId\x12a\n" +
	"\x10network_settings\x18\v \x01(\v26.yandex.cloud.compute.v1.instancegroup.NetworkSettingsR\x0fnetworkSettings\x12\x1d\n" +
	"\x04name\x18\f \x01(\tB\t\x8a\xc81\x05<=128R\x04name\x12%\n" +
	"\bhostname\x18\r \x01(\tB\t\x8a\xc81\x05<=128R\bhostname\x12a\n" +
	"\x10placement_policy\x18\x0e \x01(\v26.yandex.cloud.compute.v1.instancegroup.PlacementPolicyR\x0fplacementPolicy\x12h\n" +
	"\x10filesystem_specs\x18\x0f \x03(\v2=.yandex.cloud.compute.v1.instancegroup.AttachedFilesystemSpecR\x0ffilesystemSpecs\x12a\n" +
	"\x10metadata_options\x18\x10 \x01(\v26.yandex.cloud.compute.v1.instancegroup.MetadataOptionsR\x0fmetadataOptions\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\"\xaf\x02\n" +
	"\x16AttachedFilesystemSpec\x12V\n" +
	"\x04mode\x18\x01 \x01(\x0e2B.yandex.cloud.compute.v1.instancegroup.AttachedFilesystemSpec.ModeR\x04mode\x12;\n" +
	"\vdevice_name\x18\x02 \x01(\tB\x1a\xf2\xc71\x16|[a-z][-_0-9a-z]{0,19}R\n" +
	"deviceName\x12C\n" +
	"\rfilesystem_id\x18\x03 \x01(\tB\x1e\xf2\xc71\x11[-a-zA-Z0-9._{}]*\x8a\xc81\x05<=128R\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\"\x93\x03\n" +
	"\x0fPlacementPolicy\x12,\n" +
	"\x12placement_group_id\x18\x01 \x01(\tR\x10placementGroupId\x12w\n" +
	"\x13host_affinity_rules\x18\x02 \x03(\v2G.yandex.cloud.compute.v1.instancegroup.PlacementPolicy.HostAffinityRuleR\x11hostAffinityRules\x1a\xd8\x01\n" +
	"\x10HostAffinityRule\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12`\n" +
	"\x02op\x18\x02 \x01(\x0e2P.yandex.cloud.compute.v1.instancegroup.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\"\x82\x02\n" +
	"\rResourcesSpec\x12*\n" +
	"\x06memory\x18\x01 \x01(\x03B\x12\xfa\xc71\x0e<=824633720832R\x06memory\x12l\n" +
	"\x05cores\x18\x02 \x01(\x03BV\xfa\xc71R2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,40,44,48,52,56,60,64,68,72,76,80R\x05cores\x126\n" +
	"\rcore_fraction\x18\x03 \x01(\x03B\x11\xfa\xc71\r0,5,20,50,100R\fcoreFraction\x12\x1f\n" +
	"\x04gpus\x18\x04 \x01(\x03B\v\xfa\xc71\a0,1,2,4R\x04gpus\"\xd9\x05\n" +
	"\x10AttachedDiskSpec\x12V\n" +
	"\x04mode\x18\x01 \x01(\x0e2<.yandex.cloud.compute.v1.instancegroup.AttachedDiskSpec.ModeB\x04\xe8\xc71\x01R\x04mode\x12;\n" +
	"\vdevice_name\x18\x02 \x01(\tB\x1a\xf2\xc71\x16|[a-z][-_0-9a-z]{0,19}R\n" +
	"deviceName\x12c\n" +
	"\tdisk_spec\x18\x03 \x01(\v2@.yandex.cloud.compute.v1.instancegroup.AttachedDiskSpec.DiskSpecB\x04\xe8\xc71\x01R\bdiskSpec\x127\n" +
	"\adisk_id\x18\x04 \x01(\tB\x1e\xf2\xc71\x11[-a-zA-Z0-9._{}]*\x8a\xc81\x05<=128R\x06diskId\x12\x1d\n" +
	"\x04name\x18\a \x01(\tB\t\x8a\xc81\x05<=128R\x04name\x1a\xaf\x02\n" +
	"\bDiskSpec\x12+\n" +
	"\vdescription\x18\x01 \x01(\tB\t\x8a\xc81\x05<=256R\vdescription\x12\x1d\n" +
	"\atype_id\x18\x02 \x01(\tB\x04\xe8\xc71\x01R\x06typeId\x12.\n" +
	"\x04size\x18\x03 \x01(\x03B\x1a\xfa\xc71\x164194304-28587302322176R\x04size\x12%\n" +
	"\bimage_id\x18\x04 \x01(\tB\b\x8a\xc81\x04<=50H\x00R\aimageId\x12+\n" +
	"\vsnapshot_id\x18\x05 \x01(\tB\b\x8a\xc81\x04<=50H\x00R\n" +
	"snapshotId\x12C\n" +
	"\x1epreserve_after_instance_delete\x18\x06 \x01(\bR\x1bpreserveAfterInstanceDeleteB\x0e\n" +
	"\fsource_oneof\";\n" +
	"\x04Mode\x12\x14\n" +
	"\x10MODE_UNSPECIFIED\x10\x00\x12\r\n" +
	"\tREAD_ONLY\x10\x01\x12\x0e\n" +
	"\n" +
	"READ_WRITE\x10\x02J\x04\b\x05\x10\a\"\xe6\x02\n" +
	"\x14NetworkInterfaceSpec\x12\x1d\n" +
	"\n" +
	"network_id\x18\x01 \x01(\tR\tnetworkId\x12\x1d\n" +
	"\n" +
	"subnet_ids\x18\x02 \x03(\tR\tsubnetIds\x12p\n" +
	"\x17primary_v4_address_spec\x18\x03 \x01(\v29.yandex.cloud.compute.v1.instancegroup.PrimaryAddressSpecR\x14primaryV4AddressSpec\x12p\n" +
	"\x17primary_v6_address_spec\x18\x04 \x01(\v29.yandex.cloud.compute.v1.instancegroup.PrimaryAddressSpecR\x14primaryV6AddressSpec\x12,\n" +
	"\x12security_group_ids\x18\x05 \x03(\tR\x10securityGroupIds\"\xf4\x01\n" +
	"\x12PrimaryAddressSpec\x12d\n" +
	"\x13one_to_one_nat_spec\x18\x01 \x01(\v26.yandex.cloud.compute.v1.instancegroup.OneToOneNatSpecR\x0foneToOneNatSpec\x12^\n" +
	"\x10dns_record_specs\x18\x02 \x03(\v24.yandex.cloud.compute.v1.instancegroup.DnsRecordSpecR\x0ednsRecordSpecs\x12\x18\n" +
	"\aaddress\x18\x03 \x01(\tR\aaddress\"\xdc\x01\n" +
	"\x0fOneToOneNatSpec\x12O\n" +
	"\n" +
	"ip_version\x18\x01 \x01(\x0e20.yandex.cloud.compute.v1.instancegroup.IpVersionR\tipVersion\x12\x18\n" +
	"\aaddress\x18\x02 \x01(\tR\aaddress\x12^\n" +
	"\x10dns_record_specs\x18\x03 \x03(\v24.yandex.cloud.compute.v1.instancegroup.DnsRecordSpecR\x0ednsRecordSpecs\"z\n" +
	"\rDnsRecordSpec\x12\x18\n" +
	"\x04fqdn\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x04fqdn\x12\x1e\n" +
	"\vdns_zone_id\x18\x02 \x01(\tR\tdnsZoneId\x12\x1d\n" +
	"\x03ttl\x18\x03 \x01(\x03B\v\xfa\xc71\a0-86400R\x03ttl\x12\x10\n" +
	"\x03ptr\x18\x04 \x01(\bR\x03ptr\"4\n" +
	"\x10SchedulingPolicy\x12 \n" +
	"\vpreemptible\x18\x01 \x01(\bR\vpreemptible\"\xc2\x01\n" +
	"\x0fNetworkSettings\x12O\n" +
	"\x04type\x18\x01 \x01(\x0e2;.yandex.cloud.compute.v1.instancegroup.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\"\x94\x02\n" +
	"\x10LoadBalancerSpec\x12b\n" +
	"\x11target_group_spec\x18\x01 \x01(\v26.yandex.cloud.compute.v1.instancegroup.TargetGroupSpecR\x0ftargetGroupSpec\x12d\n" +
	"\x1cmax_opening_traffic_duration\x18\x02 \x01(\v2\x19.google.protobuf.DurationB\b\xfa\xc71\x04>=1sR\x19maxOpeningTrafficDuration\x120\n" +
	"\x14ignore_health_checks\x18\x04 \x01(\bR\x12ignoreHealthChecksJ\x04\b\x03\x10\x04\"\xd5\x02\n" +
	"\x0fTargetGroupSpec\x128\n" +
	"\x04name\x18\x01 \x01(\tB$\xf2\xc71 |[a-z]([-a-z0-9]{0,61}[a-z0-9])?R\x04name\x12+\n" +
	"\vdescription\x18\x02 \x01(\tB\t\x8a\xc81\x05<=256R\vdescription\x12\x9f\x01\n" +
	"\x06labels\x18\x03 \x03(\v2B.yandex.cloud.compute.v1.instancegroup.TargetGroupSpec.LabelsEntryBC\xf2\xc71\x0f[-_./\\@0-9a-z]*\x82\xc81\x04<=64\x8a\xc81\x04<=63\xb2\xc81\x1c\x12\x14[a-z][-_./\\@0-9a-z]*\x1a\x041-63R\x06labels\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xaa\x02\n" +
	"\x1bApplicationLoadBalancerSpec\x12s\n" +
	"\x11target_group_spec\x18\x01 \x01(\v2A.yandex.cloud.compute.v1.instancegroup.ApplicationTargetGroupSpecB\x04\xe8\xc71\x01R\x0ftargetGroupSpec\x12d\n" +
	"\x1cmax_opening_traffic_duration\x18\x02 \x01(\v2\x19.google.protobuf.DurationB\b\xfa\xc71\x04>=1sR\x19maxOpeningTrafficDuration\x120\n" +
	"\x14ignore_health_checks\x18\x03 \x01(\bR\x12ignoreHealthChecks\"\xf4\x01\n" +
	"\x1aApplicationTargetGroupSpec\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12 \n" +
	"\vdescription\x18\x02 \x01(\tR\vdescription\x12e\n" +
	"\x06labels\x18\x03 \x03(\v2M.yandex.cloud.compute.v1.instancegroup.ApplicationTargetGroupSpec.LabelsEntryR\x06labels\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xe7\x01\n" +
	"\x10HealthChecksSpec\x12m\n" +
	"\x12health_check_specs\x18\x01 \x03(\v26.yandex.cloud.compute.v1.instancegroup.HealthCheckSpecB\a\x82\xc81\x03>=1R\x10healthCheckSpecs\x12d\n" +
	"\x1cmax_checking_health_duration\x18\x02 \x01(\v2\x19.google.protobuf.DurationB\b\xfa\xc71\x04>=1sR\x19maxCheckingHealthDuration\"\x88\x05\n" +
	"\x0fHealthCheckSpec\x12B\n" +
	"\binterval\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\v\xfa\xc71\a1s-300sR\binterval\x12?\n" +
	"\atimeout\x18\x02 \x01(\v2\x19.google.protobuf.DurationB\n" +
	"\xfa\xc71\x061s-60sR\atimeout\x12I\n" +
	"\x13unhealthy_threshold\x18\x03 \x01(\x03B\x18\xfa\xc71\x140,2,3,4,5,6,7,8,9,10R\x12unhealthyThreshold\x12E\n" +
	"\x11healthy_threshold\x18\x04 \x01(\x03B\x18\xfa\xc71\x140,2,3,4,5,6,7,8,9,10R\x10healthyThreshold\x12d\n" +
	"\vtcp_options\x18\x05 \x01(\v2A.yandex.cloud.compute.v1.instancegroup.HealthCheckSpec.TcpOptionsH\x00R\n" +
	"tcpOptions\x12g\n" +
	"\fhttp_options\x18\x06 \x01(\v2B.yandex.cloud.compute.v1.instancegroup.HealthCheckSpec.HttpOptionsH\x00R\vhttpOptions\x1a-\n" +
	"\n" +
	"TcpOptions\x12\x1f\n" +
	"\x04port\x18\x01 \x01(\x03B\v\xfa\xc71\a1-65535R\x04port\x1aB\n" +
	"\vHttpOptions\x12\x1f\n" +
	"\x04port\x18\x01 \x01(\x03B\v\xfa\xc71\a1-65535R\x04port\x12\x12\n" +
	"\x04path\x18\x02 \x01(\tR\x04pathB\x1c\n" +
	"\x14health_check_options\x12\x04\xc0\xc11\x01\"\xc9\x06\n" +
	"\x0fManagedInstance\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12U\n" +
	"\x06status\x18\x02 \x01(\x0e2=.yandex.cloud.compute.v1.instancegroup.ManagedInstance.StatusR\x06status\x12\x1f\n" +
	"\vinstance_id\x18\x03 \x01(\tR\n" +
	"instanceId\x12\x12\n" +
	"\x04fqdn\x18\x04 \x01(\tR\x04fqdn\x12\x12\n" +
	"\x04name\x18\x05 \x01(\tR\x04name\x12%\n" +
	"\x0estatus_message\x18\x06 \x01(\tR\rstatusMessage\x12\x17\n" +
	"\azone_id\x18\a \x01(\tR\x06zoneId\x12f\n" +
	"\x12network_interfaces\x18\b \x03(\v27.yandex.cloud.compute.v1.instancegroup.NetworkInterfaceR\x11networkInterfaces\x12F\n" +
	"\x11status_changed_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\x0fstatusChangedAt\x12!\n" +
	"\finstance_tag\x18\x0e \x01(\tR\vinstanceTag\"\xec\x02\n" +
	"\x06Status\x12\x16\n" +
	"\x12STATUS_UNSPECIFIED\x10\x00\x12\x15\n" +
	"\x11CREATING_INSTANCE\x10\v\x12\x15\n" +
	"\x11UPDATING_INSTANCE\x10\f\x12\x15\n" +
	"\x11DELETING_INSTANCE\x10\r\x12\x15\n" +
	"\x11STARTING_INSTANCE\x10\x0e\x12\x15\n" +
	"\x11STOPPING_INSTANCE\x10\x0f\x12\x1d\n" +
	"\x19AWAITING_STARTUP_DURATION\x10\x10\x12\x13\n" +
	"\x0fCHECKING_HEALTH\x10\x11\x12\x13\n" +
	"\x0fOPENING_TRAFFIC\x10\x12\x12\x1c\n" +
	"\x18AWAITING_WARMUP_DURATION\x10\x13\x12\x13\n" +
	"\x0fCLOSING_TRAFFIC\x10\x14\x12\x12\n" +
	"\x0eRUNNING_ACTUAL\x10\x15\x12\x14\n" +
	"\x10RUNNING_OUTDATED\x10\x16\x12\v\n" +
	"\aSTOPPED\x10\x17\x12\v\n" +
	"\aDELETED\x10\x18\x12\x17\n" +
	"\x13PREPARING_RESOURCES\x10\x19J\x04\b\n" +
	"\x10\x0e\"\xb0\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\x12c\n" +
	"\x12primary_v4_address\x18\x04 \x01(\v25.yandex.cloud.compute.v1.instancegroup.PrimaryAddressR\x10primaryV4Address\x12c\n" +
	"\x12primary_v6_address\x18\x05 \x01(\v25.yandex.cloud.compute.v1.instancegroup.PrimaryAddressR\x10primaryV6Address\"\xd6\x01\n" +
	"\x0ePrimaryAddress\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12W\n" +
	"\x0eone_to_one_nat\x18\x02 \x01(\v22.yandex.cloud.compute.v1.instancegroup.OneToOneNatR\voneToOneNat\x12Q\n" +
	"\vdns_records\x18\x03 \x03(\v20.yandex.cloud.compute.v1.instancegroup.DnsRecordR\n" +
	"dnsRecords\"\xcb\x01\n" +
	"\vOneToOneNat\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12O\n" +
	"\n" +
	"ip_version\x18\x02 \x01(\x0e20.yandex.cloud.compute.v1.instancegroup.IpVersionR\tipVersion\x12Q\n" +
	"\vdns_records\x18\x03 \x03(\v20.yandex.cloud.compute.v1.instancegroup.DnsRecordR\n" +
	"dnsRecords\"v\n" +
	"\tDnsRecord\x12\x18\n" +
	"\x04fqdn\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x04fqdn\x12\x1e\n" +
	"\vdns_zone_id\x18\x02 \x01(\tR\tdnsZoneId\x12\x1d\n" +
	"\x03ttl\x18\x03 \x01(\x03B\v\xfa\xc71\a0-86400R\x03ttl\x12\x10\n" +
	"\x03ptr\x18\x04 \x01(\bR\x03ptr\"_\n" +
	"\tLogRecord\x128\n" +
	"\ttimestamp\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x18\n" +
	"\amessage\x18\x02 \x01(\tR\amessage\"\xee\x01\n" +
	"\x11AutoHealingPolicy\x12z\n" +
	"\x13auto_healing_action\x18\x01 \x01(\x0e2J.yandex.cloud.compute.v1.instancegroup.AutoHealingPolicy.AutoHealingActionR\x11autoHealingAction\"]\n" +
	"\x11AutoHealingAction\x12#\n" +
	"\x1fAUTO_HEALING_ACTION_UNSPECIFIED\x10\x00\x12\v\n" +
	"\aRESTART\x10\x01\x12\f\n" +
	"\bRECREATE\x10\x02\x12\b\n" +
	"\x04NONE\x10\x03\"\x9b\x03\n" +
	"\x0fMetadataOptions\x12a\n" +
	"\x11gce_http_endpoint\x18\x01 \x01(\x0e25.yandex.cloud.compute.v1.instancegroup.MetadataOptionR\x0fgceHttpEndpoint\x12f\n" +
	"\x14aws_v1_http_endpoint\x18\x02 \x01(\x0e25.yandex.cloud.compute.v1.instancegroup.MetadataOptionR\x11awsV1HttpEndpoint\x12[\n" +
	"\x0egce_http_token\x18\x03 \x01(\x0e25.yandex.cloud.compute.v1.instancegroup.MetadataOptionR\fgceHttpToken\x12`\n" +
	"\x11aws_v1_http_token\x18\x04 \x01(\x0e25.yandex.cloud.compute.v1.instancegroup.MetadataOptionR\x0eawsV1HttpToken*;\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\x02B\x84\x01\n" +
	")yandex.cloud.api.compute.v1.instancegroupZWgithub.com/yandex-cloud/go-genproto/yandex/cloud/compute/v1/instancegroup;instancegroupb\x06proto3"

var (
	file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDescOnce sync.Once
	file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDescData []byte
)

func file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDescGZIP() []byte {
	file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDesc), len(file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDesc)))
	})
	return file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDescData
}

var file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes = make([]protoimpl.EnumInfo, 14)
var file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes = make([]protoimpl.MessageInfo, 49)
var file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_goTypes = []any{
	(IpVersion)(0),                                 // 0: yandex.cloud.compute.v1.instancegroup.IpVersion
	(MetadataOption)(0),                            // 1: yandex.cloud.compute.v1.instancegroup.MetadataOption
	(InstanceGroup_Status)(0),                      // 2: yandex.cloud.compute.v1.instancegroup.InstanceGroup.Status
	(ScalePolicy_AutoScale_AutoScaleType)(0),       // 3: yandex.cloud.compute.v1.instancegroup.ScalePolicy.AutoScale.AutoScaleType
	(ScalePolicy_CustomRule_RuleType)(0),           // 4: yandex.cloud.compute.v1.instancegroup.ScalePolicy.CustomRule.RuleType
	(ScalePolicy_CustomRule_MetricType)(0),         // 5: yandex.cloud.compute.v1.instancegroup.ScalePolicy.CustomRule.MetricType
	(DeployPolicy_Strategy)(0),                     // 6: yandex.cloud.compute.v1.instancegroup.DeployPolicy.Strategy
	(DeployPolicy_MinimalAction)(0),                // 7: yandex.cloud.compute.v1.instancegroup.DeployPolicy.MinimalAction
	(AttachedFilesystemSpec_Mode)(0),               // 8: yandex.cloud.compute.v1.instancegroup.AttachedFilesystemSpec.Mode
	(PlacementPolicy_HostAffinityRule_Operator)(0), // 9: yandex.cloud.compute.v1.instancegroup.PlacementPolicy.HostAffinityRule.Operator
	(AttachedDiskSpec_Mode)(0),                     // 10: yandex.cloud.compute.v1.instancegroup.AttachedDiskSpec.Mode
	(NetworkSettings_Type)(0),                      // 11: yandex.cloud.compute.v1.instancegroup.NetworkSettings.Type
	(ManagedInstance_Status)(0),                    // 12: yandex.cloud.compute.v1.instancegroup.ManagedInstance.Status
	(AutoHealingPolicy_AutoHealingAction)(0),       // 13: yandex.cloud.compute.v1.instancegroup.AutoHealingPolicy.AutoHealingAction
	(*InstanceGroup)(nil),                          // 14: yandex.cloud.compute.v1.instancegroup.InstanceGroup
	(*ApplicationLoadBalancerState)(nil),           // 15: yandex.cloud.compute.v1.instancegroup.ApplicationLoadBalancerState
	(*Variable)(nil),                               // 16: yandex.cloud.compute.v1.instancegroup.Variable
	(*LoadBalancerState)(nil),                      // 17: yandex.cloud.compute.v1.instancegroup.LoadBalancerState
	(*ManagedInstancesState)(nil),                  // 18: yandex.cloud.compute.v1.instancegroup.ManagedInstancesState
	(*ScalePolicy)(nil),                            // 19: yandex.cloud.compute.v1.instancegroup.ScalePolicy
	(*DeployPolicy)(nil),                           // 20: yandex.cloud.compute.v1.instancegroup.DeployPolicy
	(*AllocationPolicy)(nil),                       // 21: yandex.cloud.compute.v1.instancegroup.AllocationPolicy
	(*InstanceTemplate)(nil),                       // 22: yandex.cloud.compute.v1.instancegroup.InstanceTemplate
	(*AttachedFilesystemSpec)(nil),                 // 23: yandex.cloud.compute.v1.instancegroup.AttachedFilesystemSpec
	(*PlacementPolicy)(nil),                        // 24: yandex.cloud.compute.v1.instancegroup.PlacementPolicy
	(*ResourcesSpec)(nil),                          // 25: yandex.cloud.compute.v1.instancegroup.ResourcesSpec
	(*AttachedDiskSpec)(nil),                       // 26: yandex.cloud.compute.v1.instancegroup.AttachedDiskSpec
	(*NetworkInterfaceSpec)(nil),                   // 27: yandex.cloud.compute.v1.instancegroup.NetworkInterfaceSpec
	(*PrimaryAddressSpec)(nil),                     // 28: yandex.cloud.compute.v1.instancegroup.PrimaryAddressSpec
	(*OneToOneNatSpec)(nil),                        // 29: yandex.cloud.compute.v1.instancegroup.OneToOneNatSpec
	(*DnsRecordSpec)(nil),                          // 30: yandex.cloud.compute.v1.instancegroup.DnsRecordSpec
	(*SchedulingPolicy)(nil),                       // 31: yandex.cloud.compute.v1.instancegroup.SchedulingPolicy
	(*NetworkSettings)(nil),                        // 32: yandex.cloud.compute.v1.instancegroup.NetworkSettings
	(*LoadBalancerSpec)(nil),                       // 33: yandex.cloud.compute.v1.instancegroup.LoadBalancerSpec
	(*TargetGroupSpec)(nil),                        // 34: yandex.cloud.compute.v1.instancegroup.TargetGroupSpec
	(*ApplicationLoadBalancerSpec)(nil),            // 35: yandex.cloud.compute.v1.instancegroup.ApplicationLoadBalancerSpec
	(*ApplicationTargetGroupSpec)(nil),             // 36: yandex.cloud.compute.v1.instancegroup.ApplicationTargetGroupSpec
	(*HealthChecksSpec)(nil),                       // 37: yandex.cloud.compute.v1.instancegroup.HealthChecksSpec
	(*HealthCheckSpec)(nil),                        // 38: yandex.cloud.compute.v1.instancegroup.HealthCheckSpec
	(*ManagedInstance)(nil),                        // 39: yandex.cloud.compute.v1.instancegroup.ManagedInstance
	(*NetworkInterface)(nil),                       // 40: yandex.cloud.compute.v1.instancegroup.NetworkInterface
	(*PrimaryAddress)(nil),                         // 41: yandex.cloud.compute.v1.instancegroup.PrimaryAddress
	(*OneToOneNat)(nil),                            // 42: yandex.cloud.compute.v1.instancegroup.OneToOneNat
	(*DnsRecord)(nil),                              // 43: yandex.cloud.compute.v1.instancegroup.DnsRecord
	(*LogRecord)(nil),                              // 44: yandex.cloud.compute.v1.instancegroup.LogRecord
	(*AutoHealingPolicy)(nil),                      // 45: yandex.cloud.compute.v1.instancegroup.AutoHealingPolicy
	(*MetadataOptions)(nil),                        // 46: yandex.cloud.compute.v1.instancegroup.MetadataOptions
	nil,                                            // 47: yandex.cloud.compute.v1.instancegroup.InstanceGroup.LabelsEntry
	(*ManagedInstancesState_Statuses)(nil),         // 48: yandex.cloud.compute.v1.instancegroup.ManagedInstancesState.Statuses
	(*ScalePolicy_AutoScale)(nil),                  // 49: yandex.cloud.compute.v1.instancegroup.ScalePolicy.AutoScale
	(*ScalePolicy_CpuUtilizationRule)(nil),         // 50: yandex.cloud.compute.v1.instancegroup.ScalePolicy.CpuUtilizationRule
	(*ScalePolicy_CustomRule)(nil),                 // 51: yandex.cloud.compute.v1.instancegroup.ScalePolicy.CustomRule
	(*ScalePolicy_FixedScale)(nil),                 // 52: yandex.cloud.compute.v1.instancegroup.ScalePolicy.FixedScale
	nil,                                            // 53: yandex.cloud.compute.v1.instancegroup.ScalePolicy.CustomRule.LabelsEntry
	(*AllocationPolicy_Zone)(nil),                  // 54: yandex.cloud.compute.v1.instancegroup.AllocationPolicy.Zone
	nil,                                            // 55: yandex.cloud.compute.v1.instancegroup.InstanceTemplate.LabelsEntry
	nil,                                            // 56: yandex.cloud.compute.v1.instancegroup.InstanceTemplate.MetadataEntry
	(*PlacementPolicy_HostAffinityRule)(nil),       // 57: yandex.cloud.compute.v1.instancegroup.PlacementPolicy.HostAffinityRule
	(*AttachedDiskSpec_DiskSpec)(nil),              // 58: yandex.cloud.compute.v1.instancegroup.AttachedDiskSpec.DiskSpec
	nil,                                            // 59: yandex.cloud.compute.v1.instancegroup.TargetGroupSpec.LabelsEntry
	nil,                                            // 60: yandex.cloud.compute.v1.instancegroup.ApplicationTargetGroupSpec.LabelsEntry
	(*HealthCheckSpec_TcpOptions)(nil),             // 61: yandex.cloud.compute.v1.instancegroup.HealthCheckSpec.TcpOptions
	(*HealthCheckSpec_HttpOptions)(nil),            // 62: yandex.cloud.compute.v1.instancegroup.HealthCheckSpec.HttpOptions
	(*timestamppb.Timestamp)(nil),                  // 63: google.protobuf.Timestamp
	(*durationpb.Duration)(nil),                    // 64: google.protobuf.Duration
}
var file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_depIdxs = []int32{
	63, // 0: yandex.cloud.compute.v1.instancegroup.InstanceGroup.created_at:type_name -> google.protobuf.Timestamp
	47, // 1: yandex.cloud.compute.v1.instancegroup.InstanceGroup.labels:type_name -> yandex.cloud.compute.v1.instancegroup.InstanceGroup.LabelsEntry
	22, // 2: yandex.cloud.compute.v1.instancegroup.InstanceGroup.instance_template:type_name -> yandex.cloud.compute.v1.instancegroup.InstanceTemplate
	19, // 3: yandex.cloud.compute.v1.instancegroup.InstanceGroup.scale_policy:type_name -> yandex.cloud.compute.v1.instancegroup.ScalePolicy
	20, // 4: yandex.cloud.compute.v1.instancegroup.InstanceGroup.deploy_policy:type_name -> yandex.cloud.compute.v1.instancegroup.DeployPolicy
	21, // 5: yandex.cloud.compute.v1.instancegroup.InstanceGroup.allocation_policy:type_name -> yandex.cloud.compute.v1.instancegroup.AllocationPolicy
	17, // 6: yandex.cloud.compute.v1.instancegroup.InstanceGroup.load_balancer_state:type_name -> yandex.cloud.compute.v1.instancegroup.LoadBalancerState
	18, // 7: yandex.cloud.compute.v1.instancegroup.InstanceGroup.managed_instances_state:type_name -> yandex.cloud.compute.v1.instancegroup.ManagedInstancesState
	33, // 8: yandex.cloud.compute.v1.instancegroup.InstanceGroup.load_balancer_spec:type_name -> yandex.cloud.compute.v1.instancegroup.LoadBalancerSpec
	37, // 9: yandex.cloud.compute.v1.instancegroup.InstanceGroup.health_checks_spec:type_name -> yandex.cloud.compute.v1.instancegroup.HealthChecksSpec
	2,  // 10: yandex.cloud.compute.v1.instancegroup.InstanceGroup.status:type_name -> yandex.cloud.compute.v1.instancegroup.InstanceGroup.Status
	16, // 11: yandex.cloud.compute.v1.instancegroup.InstanceGroup.variables:type_name -> yandex.cloud.compute.v1.instancegroup.Variable
	35, // 12: yandex.cloud.compute.v1.instancegroup.InstanceGroup.application_load_balancer_spec:type_name -> yandex.cloud.compute.v1.instancegroup.ApplicationLoadBalancerSpec
	15, // 13: yandex.cloud.compute.v1.instancegroup.InstanceGroup.application_load_balancer_state:type_name -> yandex.cloud.compute.v1.instancegroup.ApplicationLoadBalancerState
	45, // 14: yandex.cloud.compute.v1.instancegroup.InstanceGroup.auto_healing_policy:type_name -> yandex.cloud.compute.v1.instancegroup.AutoHealingPolicy
	52, // 15: yandex.cloud.compute.v1.instancegroup.ScalePolicy.fixed_scale:type_name -> yandex.cloud.compute.v1.instancegroup.ScalePolicy.FixedScale
	49, // 16: yandex.cloud.compute.v1.instancegroup.ScalePolicy.auto_scale:type_name -> yandex.cloud.compute.v1.instancegroup.ScalePolicy.AutoScale
	49, // 17: yandex.cloud.compute.v1.instancegroup.ScalePolicy.test_auto_scale:type_name -> yandex.cloud.compute.v1.instancegroup.ScalePolicy.AutoScale
	64, // 18: yandex.cloud.compute.v1.instancegroup.DeployPolicy.startup_duration:type_name -> google.protobuf.Duration
	6,  // 19: yandex.cloud.compute.v1.instancegroup.DeployPolicy.strategy:type_name -> yandex.cloud.compute.v1.instancegroup.DeployPolicy.Strategy
	7,  // 20: yandex.cloud.compute.v1.instancegroup.DeployPolicy.minimal_action:type_name -> yandex.cloud.compute.v1.instancegroup.DeployPolicy.MinimalAction
	54, // 21: yandex.cloud.compute.v1.instancegroup.AllocationPolicy.zones:type_name -> yandex.cloud.compute.v1.instancegroup.AllocationPolicy.Zone
	55, // 22: yandex.cloud.compute.v1.instancegroup.InstanceTemplate.labels:type_name -> yandex.cloud.compute.v1.instancegroup.InstanceTemplate.LabelsEntry
	25, // 23: yandex.cloud.compute.v1.instancegroup.InstanceTemplate.resources_spec:type_name -> yandex.cloud.compute.v1.instancegroup.ResourcesSpec
	56, // 24: yandex.cloud.compute.v1.instancegroup.InstanceTemplate.metadata:type_name -> yandex.cloud.compute.v1.instancegroup.InstanceTemplate.MetadataEntry
	26, // 25: yandex.cloud.compute.v1.instancegroup.InstanceTemplate.boot_disk_spec:type_name -> yandex.cloud.compute.v1.instancegroup.AttachedDiskSpec
	26, // 26: yandex.cloud.compute.v1.instancegroup.InstanceTemplate.secondary_disk_specs:type_name -> yandex.cloud.compute.v1.instancegroup.AttachedDiskSpec
	27, // 27: yandex.cloud.compute.v1.instancegroup.InstanceTemplate.network_interface_specs:type_name -> yandex.cloud.compute.v1.instancegroup.NetworkInterfaceSpec
	31, // 28: yandex.cloud.compute.v1.instancegroup.InstanceTemplate.scheduling_policy:type_name -> yandex.cloud.compute.v1.instancegroup.SchedulingPolicy
	32, // 29: yandex.cloud.compute.v1.instancegroup.InstanceTemplate.network_settings:type_name -> yandex.cloud.compute.v1.instancegroup.NetworkSettings
	24, // 30: yandex.cloud.compute.v1.instancegroup.InstanceTemplate.placement_policy:type_name -> yandex.cloud.compute.v1.instancegroup.PlacementPolicy
	23, // 31: yandex.cloud.compute.v1.instancegroup.InstanceTemplate.filesystem_specs:type_name -> yandex.cloud.compute.v1.instancegroup.AttachedFilesystemSpec
	46, // 32: yandex.cloud.compute.v1.instancegroup.InstanceTemplate.metadata_options:type_name -> yandex.cloud.compute.v1.instancegroup.MetadataOptions
	8,  // 33: yandex.cloud.compute.v1.instancegroup.AttachedFilesystemSpec.mode:type_name -> yandex.cloud.compute.v1.instancegroup.AttachedFilesystemSpec.Mode
	57, // 34: yandex.cloud.compute.v1.instancegroup.PlacementPolicy.host_affinity_rules:type_name -> yandex.cloud.compute.v1.instancegroup.PlacementPolicy.HostAffinityRule
	10, // 35: yandex.cloud.compute.v1.instancegroup.AttachedDiskSpec.mode:type_name -> yandex.cloud.compute.v1.instancegroup.AttachedDiskSpec.Mode
	58, // 36: yandex.cloud.compute.v1.instancegroup.AttachedDiskSpec.disk_spec:type_name -> yandex.cloud.compute.v1.instancegroup.AttachedDiskSpec.DiskSpec
	28, // 37: yandex.cloud.compute.v1.instancegroup.NetworkInterfaceSpec.primary_v4_address_spec:type_name -> yandex.cloud.compute.v1.instancegroup.PrimaryAddressSpec
	28, // 38: yandex.cloud.compute.v1.instancegroup.NetworkInterfaceSpec.primary_v6_address_spec:type_name -> yandex.cloud.compute.v1.instancegroup.PrimaryAddressSpec
	29, // 39: yandex.cloud.compute.v1.instancegroup.PrimaryAddressSpec.one_to_one_nat_spec:type_name -> yandex.cloud.compute.v1.instancegroup.OneToOneNatSpec
	30, // 40: yandex.cloud.compute.v1.instancegroup.PrimaryAddressSpec.dns_record_specs:type_name -> yandex.cloud.compute.v1.instancegroup.DnsRecordSpec
	0,  // 41: yandex.cloud.compute.v1.instancegroup.OneToOneNatSpec.ip_version:type_name -> yandex.cloud.compute.v1.instancegroup.IpVersion
	30, // 42: yandex.cloud.compute.v1.instancegroup.OneToOneNatSpec.dns_record_specs:type_name -> yandex.cloud.compute.v1.instancegroup.DnsRecordSpec
	11, // 43: yandex.cloud.compute.v1.instancegroup.NetworkSettings.type:type_name -> yandex.cloud.compute.v1.instancegroup.NetworkSettings.Type
	34, // 44: yandex.cloud.compute.v1.instancegroup.LoadBalancerSpec.target_group_spec:type_name -> yandex.cloud.compute.v1.instancegroup.TargetGroupSpec
	64, // 45: yandex.cloud.compute.v1.instancegroup.LoadBalancerSpec.max_opening_traffic_duration:type_name -> google.protobuf.Duration
	59, // 46: yandex.cloud.compute.v1.instancegroup.TargetGroupSpec.labels:type_name -> yandex.cloud.compute.v1.instancegroup.TargetGroupSpec.LabelsEntry
	36, // 47: yandex.cloud.compute.v1.instancegroup.ApplicationLoadBalancerSpec.target_group_spec:type_name -> yandex.cloud.compute.v1.instancegroup.ApplicationTargetGroupSpec
	64, // 48: yandex.cloud.compute.v1.instancegroup.ApplicationLoadBalancerSpec.max_opening_traffic_duration:type_name -> google.protobuf.Duration
	60, // 49: yandex.cloud.compute.v1.instancegroup.ApplicationTargetGroupSpec.labels:type_name -> yandex.cloud.compute.v1.instancegroup.ApplicationTargetGroupSpec.LabelsEntry
	38, // 50: yandex.cloud.compute.v1.instancegroup.HealthChecksSpec.health_check_specs:type_name -> yandex.cloud.compute.v1.instancegroup.HealthCheckSpec
	64, // 51: yandex.cloud.compute.v1.instancegroup.HealthChecksSpec.max_checking_health_duration:type_name -> google.protobuf.Duration
	64, // 52: yandex.cloud.compute.v1.instancegroup.HealthCheckSpec.interval:type_name -> google.protobuf.Duration
	64, // 53: yandex.cloud.compute.v1.instancegroup.HealthCheckSpec.timeout:type_name -> google.protobuf.Duration
	61, // 54: yandex.cloud.compute.v1.instancegroup.HealthCheckSpec.tcp_options:type_name -> yandex.cloud.compute.v1.instancegroup.HealthCheckSpec.TcpOptions
	62, // 55: yandex.cloud.compute.v1.instancegroup.HealthCheckSpec.http_options:type_name -> yandex.cloud.compute.v1.instancegroup.HealthCheckSpec.HttpOptions
	12, // 56: yandex.cloud.compute.v1.instancegroup.ManagedInstance.status:type_name -> yandex.cloud.compute.v1.instancegroup.ManagedInstance.Status
	40, // 57: yandex.cloud.compute.v1.instancegroup.ManagedInstance.network_interfaces:type_name -> yandex.cloud.compute.v1.instancegroup.NetworkInterface
	63, // 58: yandex.cloud.compute.v1.instancegroup.ManagedInstance.status_changed_at:type_name -> google.protobuf.Timestamp
	41, // 59: yandex.cloud.compute.v1.instancegroup.NetworkInterface.primary_v4_address:type_name -> yandex.cloud.compute.v1.instancegroup.PrimaryAddress
	41, // 60: yandex.cloud.compute.v1.instancegroup.NetworkInterface.primary_v6_address:type_name -> yandex.cloud.compute.v1.instancegroup.PrimaryAddress
	42, // 61: yandex.cloud.compute.v1.instancegroup.PrimaryAddress.one_to_one_nat:type_name -> yandex.cloud.compute.v1.instancegroup.OneToOneNat
	43, // 62: yandex.cloud.compute.v1.instancegroup.PrimaryAddress.dns_records:type_name -> yandex.cloud.compute.v1.instancegroup.DnsRecord
	0,  // 63: yandex.cloud.compute.v1.instancegroup.OneToOneNat.ip_version:type_name -> yandex.cloud.compute.v1.instancegroup.IpVersion
	43, // 64: yandex.cloud.compute.v1.instancegroup.OneToOneNat.dns_records:type_name -> yandex.cloud.compute.v1.instancegroup.DnsRecord
	63, // 65: yandex.cloud.compute.v1.instancegroup.LogRecord.timestamp:type_name -> google.protobuf.Timestamp
	13, // 66: yandex.cloud.compute.v1.instancegroup.AutoHealingPolicy.auto_healing_action:type_name -> yandex.cloud.compute.v1.instancegroup.AutoHealingPolicy.AutoHealingAction
	1,  // 67: yandex.cloud.compute.v1.instancegroup.MetadataOptions.gce_http_endpoint:type_name -> yandex.cloud.compute.v1.instancegroup.MetadataOption
	1,  // 68: yandex.cloud.compute.v1.instancegroup.MetadataOptions.aws_v1_http_endpoint:type_name -> yandex.cloud.compute.v1.instancegroup.MetadataOption
	1,  // 69: yandex.cloud.compute.v1.instancegroup.MetadataOptions.gce_http_token:type_name -> yandex.cloud.compute.v1.instancegroup.MetadataOption
	1,  // 70: yandex.cloud.compute.v1.instancegroup.MetadataOptions.aws_v1_http_token:type_name -> yandex.cloud.compute.v1.instancegroup.MetadataOption
	64, // 71: yandex.cloud.compute.v1.instancegroup.ScalePolicy.AutoScale.measurement_duration:type_name -> google.protobuf.Duration
	64, // 72: yandex.cloud.compute.v1.instancegroup.ScalePolicy.AutoScale.warmup_duration:type_name -> google.protobuf.Duration
	64, // 73: yandex.cloud.compute.v1.instancegroup.ScalePolicy.AutoScale.stabilization_duration:type_name -> google.protobuf.Duration
	50, // 74: yandex.cloud.compute.v1.instancegroup.ScalePolicy.AutoScale.cpu_utilization_rule:type_name -> yandex.cloud.compute.v1.instancegroup.ScalePolicy.CpuUtilizationRule
	51, // 75: yandex.cloud.compute.v1.instancegroup.ScalePolicy.AutoScale.custom_rules:type_name -> yandex.cloud.compute.v1.instancegroup.ScalePolicy.CustomRule
	3,  // 76: yandex.cloud.compute.v1.instancegroup.ScalePolicy.AutoScale.auto_scale_type:type_name -> yandex.cloud.compute.v1.instancegroup.ScalePolicy.AutoScale.AutoScaleType
	4,  // 77: yandex.cloud.compute.v1.instancegroup.ScalePolicy.CustomRule.rule_type:type_name -> yandex.cloud.compute.v1.instancegroup.ScalePolicy.CustomRule.RuleType
	5,  // 78: yandex.cloud.compute.v1.instancegroup.ScalePolicy.CustomRule.metric_type:type_name -> yandex.cloud.compute.v1.instancegroup.ScalePolicy.CustomRule.MetricType
	53, // 79: yandex.cloud.compute.v1.instancegroup.ScalePolicy.CustomRule.labels:type_name -> yandex.cloud.compute.v1.instancegroup.ScalePolicy.CustomRule.LabelsEntry
	9,  // 80: yandex.cloud.compute.v1.instancegroup.PlacementPolicy.HostAffinityRule.op:type_name -> yandex.cloud.compute.v1.instancegroup.PlacementPolicy.HostAffinityRule.Operator
	81, // [81:81] is the sub-list for method output_type
	81, // [81:81] is the sub-list for method input_type
	81, // [81:81] is the sub-list for extension type_name
	81, // [81:81] is the sub-list for extension extendee
	0,  // [0:81] is the sub-list for field type_name
}

func init() { file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_init() }
func file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_init() {
	if File_yandex_cloud_compute_v1_instancegroup_instance_group_proto != nil {
		return
	}
	file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[5].OneofWrappers = []any{
		(*ScalePolicy_FixedScale_)(nil),
		(*ScalePolicy_AutoScale_)(nil),
	}
	file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[24].OneofWrappers = []any{
		(*HealthCheckSpec_TcpOptions_)(nil),
		(*HealthCheckSpec_HttpOptions_)(nil),
	}
	file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes[44].OneofWrappers = []any{
		(*AttachedDiskSpec_DiskSpec_ImageId)(nil),
		(*AttachedDiskSpec_DiskSpec_SnapshotId)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDesc), len(file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_rawDesc)),
			NumEnums:      14,
			NumMessages:   49,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_msgTypes,
	}.Build()
	File_yandex_cloud_compute_v1_instancegroup_instance_group_proto = out.File
	file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_goTypes = nil
	file_yandex_cloud_compute_v1_instancegroup_instance_group_proto_depIdxs = nil
}
