Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
    • Yandex Cloud Partner program
  • Blog
  • Pricing
  • Documentation
© 2025 Direct Cursus Technology L.L.C.
Yandex Compute Cloud
  • Yandex Container Solution
  • Access management
  • Terraform reference
    • Authentication with the API
      • Overview
        • Overview
          • Overview
          • Get
          • List
          • Create
          • CreateFromYaml
          • Update
          • UpdateFromYaml
          • Stop
          • RollingRestart
          • RollingRecreate
          • Start
          • Delete
          • ListInstances
          • ListOperations
          • ListLogRecords
          • ListAccessBindings
          • SetAccessBindings
          • UpdateAccessBindings
          • ResumeProcesses
          • PauseProcesses
  • Monitoring metrics
  • Audit Trails events
  • Release notes

In this article:

  • HTTP request
  • Query parameters
  • Response
  • InstanceGroup
  • InstanceTemplate
  • ResourcesSpec
  • AttachedDiskSpec
  • DiskSpec
  • NetworkInterfaceSpec
  • PrimaryAddressSpec
  • OneToOneNatSpec
  • DnsRecordSpec
  • SchedulingPolicy
  • NetworkSettings
  • PlacementPolicy
  • HostAffinityRule
  • AttachedFilesystemSpec
  • MetadataOptions
  • ScalePolicy
  • FixedScale
  • AutoScale
  • CpuUtilizationRule
  • CustomRule
  • DeployPolicy
  • AllocationPolicy
  • Zone
  • LoadBalancerState
  • ManagedInstancesState
  • LoadBalancerSpec
  • TargetGroupSpec
  • HealthChecksSpec
  • HealthCheckSpec
  • TcpOptions
  • HttpOptions
  • Variable
  • ApplicationLoadBalancerSpec
  • ApplicationTargetGroupSpec
  • ApplicationLoadBalancerState
  • AutoHealingPolicy
  1. API reference
  2. REST
  3. Compute Cloud Instance Groups API
  4. InstanceGroup
  5. List

Compute Cloud Instance Groups API, REST: InstanceGroup.List

Written by
Yandex Cloud
Updated at April 24, 2025
  • HTTP request
  • Query parameters
  • Response
  • InstanceGroup
  • InstanceTemplate
  • ResourcesSpec
  • AttachedDiskSpec
  • DiskSpec
  • NetworkInterfaceSpec
  • PrimaryAddressSpec
  • OneToOneNatSpec
  • DnsRecordSpec
  • SchedulingPolicy
  • NetworkSettings
  • PlacementPolicy
  • HostAffinityRule
  • AttachedFilesystemSpec
  • MetadataOptions
  • ScalePolicy
  • FixedScale
  • AutoScale
  • CpuUtilizationRule
  • CustomRule
  • DeployPolicy
  • AllocationPolicy
  • Zone
  • LoadBalancerState
  • ManagedInstancesState
  • LoadBalancerSpec
  • TargetGroupSpec
  • HealthChecksSpec
  • HealthCheckSpec
  • TcpOptions
  • HttpOptions
  • Variable
  • ApplicationLoadBalancerSpec
  • ApplicationTargetGroupSpec
  • ApplicationLoadBalancerState
  • AutoHealingPolicy

Retrieves the list of InstanceGroup resources in the specified folder.

HTTP requestHTTP request

GET https://compute.api.cloud.yandex.net/compute/v1/instanceGroups

Query parametersQuery parameters

Field

Description

folderId

string

Required field. ID of the folder to list instance groups in.
To get the folder ID, use a yandex.cloud.resourcemanager.v1.FolderService.List request.

pageSize

string (int64)

The maximum number of results per page to return. If the number of available
results is larger than pageSize,
the service returns a ListInstanceGroupsResponse.nextPageToken
that can be used to get the next page of results in subsequent list requests.

pageToken

string

Page token. To get the next page of results,
set pageToken to the ListInstanceGroupsResponse.nextPageToken
returned by a previous list request.

filter

string

A filter expression that filters resources listed in the response.
Currently you can use filtering only on the InstanceGroup.name field.

view

enum (InstanceGroupView)

Defines which information about the Instance template should be returned in the server response.

  • BASIC: Doesn't include the metadata of the instance template in the server response.
  • FULL: Returns the metadata of the instance template in the server response.

ResponseResponse

HTTP Code: 200 - OK

{
  "instanceGroups": [
    {
      "id": "string",
      "folderId": "string",
      "createdAt": "string",
      "name": "string",
      "description": "string",
      "labels": "object",
      "instanceTemplate": {
        "description": "string",
        "labels": "object",
        "platformId": "string",
        "resourcesSpec": {
          "memory": "string",
          "cores": "string",
          "coreFraction": "string",
          "gpus": "string"
        },
        "metadata": "object",
        "bootDiskSpec": {
          "mode": "string",
          "deviceName": "string",
          "diskSpec": {
            "description": "string",
            "typeId": "string",
            "size": "string",
            // Includes only one of the fields `imageId`, `snapshotId`
            "imageId": "string",
            "snapshotId": "string",
            // end of the list of possible fields
            "preserveAfterInstanceDelete": "boolean"
          },
          "diskId": "string",
          "name": "string"
        },
        "secondaryDiskSpecs": [
          {
            "mode": "string",
            "deviceName": "string",
            "diskSpec": {
              "description": "string",
              "typeId": "string",
              "size": "string",
              // Includes only one of the fields `imageId`, `snapshotId`
              "imageId": "string",
              "snapshotId": "string",
              // end of the list of possible fields
              "preserveAfterInstanceDelete": "boolean"
            },
            "diskId": "string",
            "name": "string"
          }
        ],
        "networkInterfaceSpecs": [
          {
            "networkId": "string",
            "subnetIds": [
              "string"
            ],
            "primaryV4AddressSpec": {
              "oneToOneNatSpec": {
                "ipVersion": "string",
                "address": "string",
                "dnsRecordSpecs": [
                  {
                    "fqdn": "string",
                    "dnsZoneId": "string",
                    "ttl": "string",
                    "ptr": "boolean"
                  }
                ]
              },
              "dnsRecordSpecs": [
                {
                  "fqdn": "string",
                  "dnsZoneId": "string",
                  "ttl": "string",
                  "ptr": "boolean"
                }
              ],
              "address": "string"
            },
            "primaryV6AddressSpec": {
              "oneToOneNatSpec": {
                "ipVersion": "string",
                "address": "string",
                "dnsRecordSpecs": [
                  {
                    "fqdn": "string",
                    "dnsZoneId": "string",
                    "ttl": "string",
                    "ptr": "boolean"
                  }
                ]
              },
              "dnsRecordSpecs": [
                {
                  "fqdn": "string",
                  "dnsZoneId": "string",
                  "ttl": "string",
                  "ptr": "boolean"
                }
              ],
              "address": "string"
            },
            "securityGroupIds": [
              "string"
            ]
          }
        ],
        "schedulingPolicy": {
          "preemptible": "boolean"
        },
        "serviceAccountId": "string",
        "networkSettings": {
          "type": "string"
        },
        "name": "string",
        "hostname": "string",
        "placementPolicy": {
          "placementGroupId": "string",
          "hostAffinityRules": [
            {
              "key": "string",
              "op": "string",
              "values": [
                "string"
              ]
            }
          ]
        },
        "filesystemSpecs": [
          {
            "mode": "string",
            "deviceName": "string",
            "filesystemId": "string"
          }
        ],
        "metadataOptions": {
          "gceHttpEndpoint": "string",
          "awsV1HttpEndpoint": "string",
          "gceHttpToken": "string",
          "awsV1HttpToken": "string"
        }
      },
      "scalePolicy": {
        // Includes only one of the fields `fixedScale`, `autoScale`
        "fixedScale": {
          "size": "string"
        },
        "autoScale": {
          "minZoneSize": "string",
          "maxSize": "string",
          "measurementDuration": "string",
          "warmupDuration": "string",
          "stabilizationDuration": "string",
          "initialSize": "string",
          "cpuUtilizationRule": {
            "utilizationTarget": "string"
          },
          "customRules": [
            {
              "ruleType": "string",
              "metricType": "string",
              "metricName": "string",
              "labels": "object",
              "target": "string",
              "folderId": "string",
              "service": "string"
            }
          ],
          "autoScaleType": "string"
        },
        // end of the list of possible fields
        "testAutoScale": {
          "minZoneSize": "string",
          "maxSize": "string",
          "measurementDuration": "string",
          "warmupDuration": "string",
          "stabilizationDuration": "string",
          "initialSize": "string",
          "cpuUtilizationRule": {
            "utilizationTarget": "string"
          },
          "customRules": [
            {
              "ruleType": "string",
              "metricType": "string",
              "metricName": "string",
              "labels": "object",
              "target": "string",
              "folderId": "string",
              "service": "string"
            }
          ],
          "autoScaleType": "string"
        }
      },
      "deployPolicy": {
        "maxUnavailable": "string",
        "maxDeleting": "string",
        "maxCreating": "string",
        "maxExpansion": "string",
        "startupDuration": "string",
        "strategy": "string",
        "minimalAction": "string"
      },
      "allocationPolicy": {
        "zones": [
          {
            "zoneId": "string",
            "instanceTagsPool": [
              "string"
            ]
          }
        ]
      },
      "loadBalancerState": {
        "targetGroupId": "string",
        "statusMessage": "string"
      },
      "managedInstancesState": {
        "targetSize": "string",
        "runningActualCount": "string",
        "runningOutdatedCount": "string",
        "processingCount": "string"
      },
      "loadBalancerSpec": {
        "targetGroupSpec": {
          "name": "string",
          "description": "string",
          "labels": "object"
        },
        "maxOpeningTrafficDuration": "string",
        "ignoreHealthChecks": "boolean"
      },
      "healthChecksSpec": {
        "healthCheckSpecs": [
          {
            "interval": "string",
            "timeout": "string",
            "unhealthyThreshold": "string",
            "healthyThreshold": "string",
            // Includes only one of the fields `tcpOptions`, `httpOptions`
            "tcpOptions": {
              "port": "string"
            },
            "httpOptions": {
              "port": "string",
              "path": "string"
            }
            // end of the list of possible fields
          }
        ],
        "maxCheckingHealthDuration": "string"
      },
      "serviceAccountId": "string",
      "status": "string",
      "variables": [
        {
          "key": "string",
          "value": "string"
        }
      ],
      "deletionProtection": "boolean",
      "applicationLoadBalancerSpec": {
        "targetGroupSpec": {
          "name": "string",
          "description": "string",
          "labels": "object"
        },
        "maxOpeningTrafficDuration": "string",
        "ignoreHealthChecks": "boolean"
      },
      "applicationLoadBalancerState": {
        "targetGroupId": "string",
        "statusMessage": "string"
      },
      "autoHealingPolicy": {
        "autoHealingAction": "string"
      }
    }
  ],
  "nextPageToken": "string"
}

Field

Description

instanceGroups[]

InstanceGroup

Lists instance groups for the specified folder.

nextPageToken

string

This token allows you to get the next page of results for list requests. If the number of results
is larger than ListInstanceGroupsRequest.pageSize, use
nextPageToken as the value
for the ListInstanceGroupsRequest.pageToken query parameter
in the next list request. Each subsequent list request will have its own
nextPageToken to continue paging through the results.

InstanceGroupInstanceGroup

Field

Description

id

string

ID of the instance group.

folderId

string

ID of the folder that the instance group belongs to.

createdAt

string (date-time)

Creation timestamp in RFC3339 text format.

String in RFC3339 text format. The range of possible values is from
0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z, i.e. from 0 to 9 digits for fractions of a second.

To work with values in this field, use the APIs described in the
Protocol Buffers reference.
In some languages, built-in datetime utilities do not support nanosecond precision (9 digits).

name

string

Name of the instance group.
The name is unique within the folder.

description

string

Description of the instance group.

labels

object (map<string, string>)

Resource labels as key:value pairs.

instanceTemplate

InstanceTemplate

Instance template for creating the instance group.
For more information, see Instance Templates.

scalePolicy

ScalePolicy

Scaling policy of the instance group.

deployPolicy

DeployPolicy

Deployment policy of the instance group.

allocationPolicy

AllocationPolicy

Allocation policy of the instance group by zones and regions.

loadBalancerState

LoadBalancerState

Status of the Network Load Balancer target group attributed to the instance group.

managedInstancesState

ManagedInstancesState

States of instances for this instance group.

loadBalancerSpec

LoadBalancerSpec

Settings for balancing load between instances via Network Load Balancer
(OSI model layer 3).

healthChecksSpec

HealthChecksSpec

Health checking specification. For more information, see Health check.

serviceAccountId

string

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.
To get the service account ID, use a yandex.cloud.iam.v1.ServiceAccountService.List request.

status

enum (Status)

Status of the instance group.

  • STATUS_UNSPECIFIED

  • STARTING: Instance group is being started and will become active soon.

  • ACTIVE: 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.

  • STOPPING: Instance group is being stopped.
    Group's instances stop receiving traffic from the load balancer (if any) and are then stopped.

  • STOPPED: 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.

  • DELETING: Instance group is being deleted.

  • PAUSED: 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.

variables[]

Variable

deletionProtection

boolean

Flag prohibiting deletion of the instance group.

Allowed values:
- false: The instance group can be deleted.
- true: The instance group cannot be deleted.

The default is false.

applicationLoadBalancerSpec

ApplicationLoadBalancerSpec

Settings for balancing load between instances via Application Load Balancer
(OSI model layer 7).

applicationLoadBalancerState

ApplicationLoadBalancerState

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.

autoHealingPolicy

AutoHealingPolicy

AutoHealingPolicy policy of the instance group.

InstanceTemplateInstanceTemplate

Field

Description

description

string

Description of the instance template.

labels

object (map<string, string>)

Resource labels as key:value pairs.

platformId

string

Required field. 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.

resourcesSpec

ResourcesSpec

Required field. Computing resources of the instance such as the amount of memory and number of cores.

metadata

object (map<string, string>)

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.

bootDiskSpec

AttachedDiskSpec

Required field. Boot disk specification that will be attached to the instance.

secondaryDiskSpecs[]

AttachedDiskSpec

Array of secondary disks that will be attached to the instance.

networkInterfaceSpecs[]

NetworkInterfaceSpec

Required field. Array of network interfaces that will be attached to the instance.

schedulingPolicy

SchedulingPolicy

Scheduling policy for the instance.

serviceAccountId

string

Service account ID for the instance.

networkSettings

NetworkSettings

Network settings for the instance.

name

string

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.

hostname

string

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.

placementPolicy

PlacementPolicy

Placement Group

filesystemSpecs[]

AttachedFilesystemSpec

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.

metadataOptions

MetadataOptions

Metadata options for the instance

ResourcesSpecResourcesSpec

Field

Description

memory

string (int64)

The amount of memory available to the instance, specified in bytes.

cores

string (int64)

The number of cores available to the instance.

coreFraction

string (int64)

Baseline level of CPU performance with the ability to burst performance above that baseline level.
This field sets baseline performance for each core.

gpus

string (int64)

The number of GPUs available to the instance.

AttachedDiskSpecAttachedDiskSpec

Field

Description

mode

enum (Mode)

Required field. Access mode to the Disk resource.

  • MODE_UNSPECIFIED
  • READ_ONLY: Read-only access.
  • READ_WRITE: Read/Write access.

deviceName

string

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.

diskSpec

DiskSpec

Required field. oneof disk_spec or disk_id
Disk specification that is attached to the instance. For more information, see Disks.

diskId

string

Set to use an existing disk. To set use variables.

name

string

When set can be later used to change DiskSpec of actual disk.

DiskSpecDiskSpec

Field

Description

description

string

Description of the disk.

typeId

string

Required field. ID of the disk type.

size

string (int64)

Size of the disk, specified in bytes.

imageId

string

ID of the image that will be used for disk creation.

Includes only one of the fields imageId, snapshotId.

snapshotId

string

ID of the snapshot that will be used for disk creation.

Includes only one of the fields imageId, snapshotId.

preserveAfterInstanceDelete

boolean

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.

NetworkInterfaceSpecNetworkInterfaceSpec

Field

Description

networkId

string

ID of the network.

subnetIds[]

string

IDs of the subnets.

primaryV4AddressSpec

PrimaryAddressSpec

Primary IPv4 address that is assigned to the instance for this network interface.

primaryV6AddressSpec

PrimaryAddressSpec

Primary IPv6 address that is assigned to the instance for this network interface. IPv6 not available yet.

securityGroupIds[]

string

IDs of security groups.

PrimaryAddressSpecPrimaryAddressSpec

Field

Description

oneToOneNatSpec

OneToOneNatSpec

An external IP address configuration.
If not specified, then this managed instance will have no external internet access.

dnsRecordSpecs[]

DnsRecordSpec

Internal DNS configuration

address

string

Optional. Manual set static internal IP. To set use variables.

OneToOneNatSpecOneToOneNatSpec

Field

Description

ipVersion

enum (IpVersion)

IP version for the public IP address.

  • IP_VERSION_UNSPECIFIED
  • IPV4: IPv4 address, for example 192.168.0.0.
  • IPV6: IPv6 address, not available yet.

address

string

Manual set static public IP. To set use variables. (optional)

dnsRecordSpecs[]

DnsRecordSpec

External DNS configuration

DnsRecordSpecDnsRecordSpec

Field

Description

fqdn

string

Required field. FQDN (required)

dnsZoneId

string

DNS zone id (optional, if not set, private zone used)

ttl

string (int64)

DNS record ttl, values in 0-86400 (optional)

ptr

boolean

When set to true, also create PTR DNS record (optional)

SchedulingPolicySchedulingPolicy

Field

Description

preemptible

boolean

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.

NetworkSettingsNetworkSettings

Field

Description

type

enum (Type)

Type of instance network.

  • TYPE_UNSPECIFIED
  • STANDARD
  • SOFTWARE_ACCELERATED
  • HARDWARE_ACCELERATED

PlacementPolicyPlacementPolicy

Field

Description

placementGroupId

string

Identifier of placement group

hostAffinityRules[]

HostAffinityRule

List of affinity rules. Scheduler will attempt to allocate instances according to order of rules.

HostAffinityRuleHostAffinityRule

Affinity definition

Field

Description

key

string

Affinity label or one of reserved values - 'yc.hostId', 'yc.hostGroupId'

op

enum (Operator)

Include or exclude action

  • OPERATOR_UNSPECIFIED
  • IN
  • NOT_IN

values[]

string

Affinity value or host ID or host group ID

AttachedFilesystemSpecAttachedFilesystemSpec

Field

Description

mode

enum (Mode)

Mode of access to the filesystem that should be attached.

  • MODE_UNSPECIFIED
  • READ_ONLY: Read-only access.
  • READ_WRITE: Read/Write access. Default value.

deviceName

string

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.

filesystemId

string

ID of the filesystem that should be attached.

MetadataOptionsMetadataOptions

Field

Description

gceHttpEndpoint

enum (MetadataOption)

Enabled access to GCE flavored metadata

  • METADATA_OPTION_UNSPECIFIED
  • ENABLED: Option is enabled
  • DISABLED: Option is disabled

awsV1HttpEndpoint

enum (MetadataOption)

Enabled access to AWS flavored metadata (IMDSv1)

  • METADATA_OPTION_UNSPECIFIED
  • ENABLED: Option is enabled
  • DISABLED: Option is disabled

gceHttpToken

enum (MetadataOption)

Enabled access to IAM credentials with GCE flavored metadata

  • METADATA_OPTION_UNSPECIFIED
  • ENABLED: Option is enabled
  • DISABLED: Option is disabled

awsV1HttpToken

enum (MetadataOption)

Enabled access to IAM credentials with AWS flavored metadata (IMDSv1)

  • METADATA_OPTION_UNSPECIFIED
  • ENABLED: Option is enabled
  • DISABLED: Option is disabled

ScalePolicyScalePolicy

Field

Description

fixedScale

FixedScale

Manual scaling policy of the instance group.

Includes only one of the fields fixedScale, autoScale.

autoScale

AutoScale

Automatic scaling policy of the instance group.

Includes only one of the fields fixedScale, autoScale.

testAutoScale

AutoScale

Test spec for automatic scaling policy of the instance group.

FixedScaleFixedScale

Field

Description

size

string (int64)

Number of instances in the instance group.

AutoScaleAutoScale

Field

Description

minZoneSize

string (int64)

Lower limit for instance count in each zone.

maxSize

string (int64)

Upper limit for total instance count (across all zones).
0 means maximum limit = 100.

measurementDuration

string (duration)

Time in seconds allotted for averaging metrics.
1 minute by default.

warmupDuration

string (duration)

The warmup time of the instance in seconds. During this time,
traffic is sent to the instance, but instance metrics are not collected.

stabilizationDuration

string (duration)

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.

initialSize

string (int64)

Target group size.

cpuUtilizationRule

CpuUtilizationRule

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 (customRules),
the size of the instance group will be equal to the maximum of sizes calculated according to each metric.

customRules[]

CustomRule

Defines an autoscaling rule based on a custom metric from Monitoring.

If more than one rule is specified, e.g. CPU utilization (cpuUtilizationRule) 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.

autoScaleType

enum (AutoScaleType)

Autoscaling type.

  • AUTO_SCALE_TYPE_UNSPECIFIED
  • ZONAL: Scale each zone independently. This is the default.
  • REGIONAL: Scale group as a whole.

CpuUtilizationRuleCpuUtilizationRule

Field

Description

utilizationTarget

string

Target CPU utilization level. Instance Groups maintains this level for each availability zone.

CustomRuleCustomRule

Field

Description

ruleType

enum (RuleType)

Required field. Custom metric rule type. This field affects which label from
the custom metric should be used: zone_id or instance_id.

  • RULE_TYPE_UNSPECIFIED
  • UTILIZATION: 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.
  • WORKLOAD: 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.

metricType

enum (MetricType)

Required field. Type of custom metric. This field affects how Instance Groups calculates the average metric value.

  • METRIC_TYPE_UNSPECIFIED

  • GAUGE: 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.measurementDuration field.

  • COUNTER: 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.measurementDuration field.

metricName

string

Required field. Name of custom metric in Monitoring that should be used for scaling.

labels

object (map<string, string>)

Labels of custom metric in Monitoring that should be used for scaling.

target

string

Target value for the custom metric. Instance Groups maintains this level for each availability zone.

folderId

string

Folder id of custom metric in Monitoring that should be used for scaling.

service

string

Service of custom metric in Monitoring that should be used for scaling.

DeployPolicyDeployPolicy

Field

Description

maxUnavailable

string (int64)

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 maxExpansion is not specified or set to zero, maxUnavailable must be set to a non-zero value.

maxDeleting

string (int64)

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.

maxCreating

string (int64)

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.

maxExpansion

string (int64)

The maximum number of instances that can be temporarily allocated above the group's target size
during the update process.
If maxUnavailable is not specified or set to zero, maxExpansion must be set to a non-zero value.

startupDuration

string (duration)

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.

strategy

enum (Strategy)

Affects the lifecycle of the instance during deployment.

  • STRATEGY_UNSPECIFIED
  • PROACTIVE: Instance Groups can forcefully stop a running instance. This is the default.
  • OPPORTUNISTIC: Instance Groups does not stop a running instance.
    Instead, it will wait until the instance stops itself or becomes unhealthy.

minimalAction

enum (MinimalAction)

If instance update requires a less disruptive action than minimalAction,
Instance Groups performs minimalAction to execute the update

  • MINIMAL_ACTION_UNSPECIFIED
  • LIVE_UPDATE: Updating an instance without stopping. This is the default.
  • RESTART: Updating an instance with restart: stopping and then starting the instance.
  • RECREATE: Re-creating an instance: deleting an instance and creating a new one.

AllocationPolicyAllocationPolicy

Field

Description

zones[]

Zone

List of availability zones.

ZoneZone

Field

Description

zoneId

string

Required field. ID of the availability zone where the instance resides.

instanceTagsPool[]

string

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}.

LoadBalancerStateLoadBalancerState

Field

Description

targetGroupId

string

ID of the Network Load Balancer target group attributed to the instance group.

statusMessage

string

Status message of the target group.

ManagedInstancesStateManagedInstancesState

Field

Description

targetSize

string (int64)

Target number of instances for this instance group.

runningActualCount

string (int64)

The number of running instances that match the current instance template. For more information, see ManagedInstance.Status.RUNNING_ACTUAL.

runningOutdatedCount

string (int64)

The number of running instances that does not match the current instance template. For more information, see ManagedInstance.Status.RUNNING_OUTDATED.

processingCount

string (int64)

The number of instances in flight (for example, updating, starting, deleting). For more information, see ManagedInstance.Status.

LoadBalancerSpecLoadBalancerSpec

Field

Description

targetGroupSpec

TargetGroupSpec

Specification of the target group that the instance group will be added to. For more information, see Target groups and resources.

maxOpeningTrafficDuration

string (duration)

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.

ignoreHealthChecks

boolean

Do not wait load balancer health checks.

TargetGroupSpecTargetGroupSpec

Field

Description

name

string

Name of the target group.

description

string

Description of the target group.

labels

object (map<string, string>)

Resource labels as key:value pairs.

HealthChecksSpecHealthChecksSpec

Field

Description

healthCheckSpecs[]

HealthCheckSpec

Health checking specification. For more information, see Health check.

maxCheckingHealthDuration

string (duration)

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.

HealthCheckSpecHealthCheckSpec

Field

Description

interval

string (duration)

The interval between health checks. The default is 2 seconds.

timeout

string (duration)

Timeout for the managed instance to return a response for the health check. The default is 1 second.

unhealthyThreshold

string (int64)

The number of failed health checks for the managed instance to be considered unhealthy. The default (0) is 2.

healthyThreshold

string (int64)

The number of successful health checks required in order for the managed instance to be considered healthy. The default (0) is 2.

tcpOptions

TcpOptions

Configuration options for a TCP health check.

Includes only one of the fields tcpOptions, httpOptions.

httpOptions

HttpOptions

Configuration options for an HTTP health check.

Includes only one of the fields tcpOptions, httpOptions.

TcpOptionsTcpOptions

Field

Description

port

string (int64)

Port to use for TCP health checks.

HttpOptionsHttpOptions

Field

Description

port

string (int64)

Port to use for HTTP health checks.

path

string

URL path to set for health checking requests.

VariableVariable

Field

Description

key

string

value

string

ApplicationLoadBalancerSpecApplicationLoadBalancerSpec

Field

Description

targetGroupSpec

ApplicationTargetGroupSpec

Required field. Basic properties of the Application Load Balancer target group attributed to the instance group.

maxOpeningTrafficDuration

string (duration)

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.

ignoreHealthChecks

boolean

Do not wait load balancer health checks.

ApplicationTargetGroupSpecApplicationTargetGroupSpec

Field

Description

name

string

Name of the target group.

description

string

Description of the target group.

labels

object (map<string, string>)

Resource labels as key:value pairs.

ApplicationLoadBalancerStateApplicationLoadBalancerState

Field

Description

targetGroupId

string

ID of the Application Load Balancer target group attributed to the instance group.

statusMessage

string

Status message of the target group.

AutoHealingPolicyAutoHealingPolicy

Field

Description

autoHealingAction

enum (AutoHealingAction)

Instance Groups performs autoHealingAction when instance becomes unhealthy.

  • AUTO_HEALING_ACTION_UNSPECIFIED
  • RESTART: Re-starting an instance with restart: stopping and then starting the instance.
  • RECREATE: Re-creating an instance: deleting an instance and creating a new one.
  • NONE: No action

Was the article helpful?

Previous
Get
Next
Create
© 2025 Direct Cursus Technology L.L.C.