Yandex

v0.10.0 published on Thursday, Nov 18, 2021 by Pulumi

ComputeInstanceGroup

An Instance group resource. For more information, see the official documentation.

Example Usage

using System.IO;
using Pulumi;
using Yandex = Pulumi.Yandex;

class MyStack : Stack
{
    public MyStack()
    {
        var group1 = new Yandex.ComputeInstanceGroup("group1", new Yandex.ComputeInstanceGroupArgs
        {
            AllocationPolicy = new Yandex.Inputs.ComputeInstanceGroupAllocationPolicyArgs
            {
                Zones = 
                {
                    "ru-central1-a",
                },
            },
            DeletionProtection = true,
            DeployPolicy = new Yandex.Inputs.ComputeInstanceGroupDeployPolicyArgs
            {
                MaxCreating = 2,
                MaxDeleting = 2,
                MaxExpansion = 2,
                MaxUnavailable = 2,
            },
            FolderId = data.Yandex_resourcemanager_folder.Test_folder.Id,
            InstanceTemplate = new Yandex.Inputs.ComputeInstanceGroupInstanceTemplateArgs
            {
                BootDisk = new Yandex.Inputs.ComputeInstanceGroupInstanceTemplateBootDiskArgs
                {
                    InitializeParams = new Yandex.Inputs.ComputeInstanceGroupInstanceTemplateBootDiskInitializeParamsArgs
                    {
                        ImageId = data.Yandex_compute_image.Ubuntu.Id,
                        Size = 4,
                    },
                    Mode = "READ_WRITE",
                },
                Labels = 
                {
                    { "label1", "label1-value" },
                    { "label2", "label2-value" },
                },
                Metadata = 
                {
                    { "foo", "bar" },
                    { "ssh-keys", $"ubuntu:{File.ReadAllText("~/.ssh/id_rsa.pub")}" },
                },
                NetworkInterfaces = 
                {
                    new Yandex.Inputs.ComputeInstanceGroupInstanceTemplateNetworkInterfaceArgs
                    {
                        NetworkId = yandex_vpc_network.My_inst_group_network.Id,
                        SubnetIds = 
                        {
                            yandex_vpc_subnet.My_inst_group_subnet.Id,
                        },
                    },
                },
                NetworkSettings = 
                {
                    new Yandex.Inputs.ComputeInstanceGroupInstanceTemplateNetworkSettingArgs
                    {
                        Type = "STANDARD",
                    },
                },
                PlatformId = "standard-v1",
                Resources = new Yandex.Inputs.ComputeInstanceGroupInstanceTemplateResourcesArgs
                {
                    Cores = 2,
                    Memory = 1,
                },
            },
            ScalePolicy = new Yandex.Inputs.ComputeInstanceGroupScalePolicyArgs
            {
                FixedScale = new Yandex.Inputs.ComputeInstanceGroupScalePolicyFixedScaleArgs
                {
                    Size = 3,
                },
            },
            ServiceAccountId = yandex_iam_service_account.Test_account.Id,
            Variables = 
            {
                { "test_key1", "test_value1" },
                { "test_key2", "test_value2" },
            },
        });
    }

}
package main

import (
	"fmt"
	"io/ioutil"

	"github.com/pulumi/pulumi-yandex/sdk/go/yandex"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := ioutil.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := yandex.NewComputeInstanceGroup(ctx, "group1", &yandex.ComputeInstanceGroupArgs{
			AllocationPolicy: &ComputeInstanceGroupAllocationPolicyArgs{
				Zones: pulumi.StringArray{
					pulumi.String("ru-central1-a"),
				},
			},
			DeletionProtection: pulumi.Bool(true),
			DeployPolicy: &ComputeInstanceGroupDeployPolicyArgs{
				MaxCreating:    pulumi.Int(2),
				MaxDeleting:    pulumi.Int(2),
				MaxExpansion:   pulumi.Int(2),
				MaxUnavailable: pulumi.Int(2),
			},
			FolderId: pulumi.Any(data.Yandex_resourcemanager_folder.Test_folder.Id),
			InstanceTemplate: &ComputeInstanceGroupInstanceTemplateArgs{
				BootDisk: &ComputeInstanceGroupInstanceTemplateBootDiskArgs{
					InitializeParams: &ComputeInstanceGroupInstanceTemplateBootDiskInitializeParamsArgs{
						ImageId: pulumi.Any(data.Yandex_compute_image.Ubuntu.Id),
						Size:    pulumi.Int(4),
					},
					Mode: pulumi.String("READ_WRITE"),
				},
				Labels: pulumi.StringMap{
					"label1": pulumi.String("label1-value"),
					"label2": pulumi.String("label2-value"),
				},
				Metadata: pulumi.StringMap{
					"foo":      pulumi.String("bar"),
					"ssh-keys": pulumi.String(fmt.Sprintf("%v%v", "ubuntu:", readFileOrPanic("~/.ssh/id_rsa.pub"))),
				},
				NetworkInterfaces: ComputeInstanceGroupInstanceTemplateNetworkInterfaceArray{
					&ComputeInstanceGroupInstanceTemplateNetworkInterfaceArgs{
						NetworkId: pulumi.Any(yandex_vpc_network.My - inst - group - network.Id),
						SubnetIds: pulumi.StringArray{
							pulumi.Any(yandex_vpc_subnet.My - inst - group - subnet.Id),
						},
					},
				},
				NetworkSettings: ComputeInstanceGroupInstanceTemplateNetworkSettingArray{
					&ComputeInstanceGroupInstanceTemplateNetworkSettingArgs{
						Type: pulumi.String("STANDARD"),
					},
				},
				PlatformId: pulumi.String("standard-v1"),
				Resources: &ComputeInstanceGroupInstanceTemplateResourcesArgs{
					Cores:  pulumi.Int(2),
					Memory: pulumi.Float64(1),
				},
			},
			ScalePolicy: &ComputeInstanceGroupScalePolicyArgs{
				FixedScale: &ComputeInstanceGroupScalePolicyFixedScaleArgs{
					Size: pulumi.Int(3),
				},
			},
			ServiceAccountId: pulumi.Any(yandex_iam_service_account.Test_account.Id),
			Variables: pulumi.StringMap{
				"test_key1": pulumi.String("test_value1"),
				"test_key2": pulumi.String("test_value2"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_yandex as yandex

group1 = yandex.ComputeInstanceGroup("group1",
    allocation_policy=yandex.ComputeInstanceGroupAllocationPolicyArgs(
        zones=["ru-central1-a"],
    ),
    deletion_protection=True,
    deploy_policy=yandex.ComputeInstanceGroupDeployPolicyArgs(
        max_creating=2,
        max_deleting=2,
        max_expansion=2,
        max_unavailable=2,
    ),
    folder_id=data["yandex_resourcemanager_folder"]["test_folder"]["id"],
    instance_template=yandex.ComputeInstanceGroupInstanceTemplateArgs(
        boot_disk=yandex.ComputeInstanceGroupInstanceTemplateBootDiskArgs(
            initialize_params=yandex.ComputeInstanceGroupInstanceTemplateBootDiskInitializeParamsArgs(
                image_id=data["yandex_compute_image"]["ubuntu"]["id"],
                size=4,
            ),
            mode="READ_WRITE",
        ),
        labels={
            "label1": "label1-value",
            "label2": "label2-value",
        },
        metadata={
            "foo": "bar",
            "ssh-keys": f"ubuntu:{(lambda path: open(path).read())('~/.ssh/id_rsa.pub')}",
        },
        network_interfaces=[yandex.ComputeInstanceGroupInstanceTemplateNetworkInterfaceArgs(
            network_id=yandex_vpc_network["my-inst-group-network"]["id"],
            subnet_ids=[yandex_vpc_subnet["my-inst-group-subnet"]["id"]],
        )],
        network_settings=[yandex.ComputeInstanceGroupInstanceTemplateNetworkSettingArgs(
            type="STANDARD",
        )],
        platform_id="standard-v1",
        resources=yandex.ComputeInstanceGroupInstanceTemplateResourcesArgs(
            cores=2,
            memory=1,
        ),
    ),
    scale_policy=yandex.ComputeInstanceGroupScalePolicyArgs(
        fixed_scale=yandex.ComputeInstanceGroupScalePolicyFixedScaleArgs(
            size=3,
        ),
    ),
    service_account_id=yandex_iam_service_account["test_account"]["id"],
    variables={
        "test_key1": "test_value1",
        "test_key2": "test_value2",
    })
import * as pulumi from "@pulumi/pulumi";
import * as fs from "fs";
import * as yandex from "@pulumi/yandex";

const group1 = new yandex.ComputeInstanceGroup("group1", {
    allocationPolicy: {
        zones: ["ru-central1-a"],
    },
    deletionProtection: true,
    deployPolicy: {
        maxCreating: 2,
        maxDeleting: 2,
        maxExpansion: 2,
        maxUnavailable: 2,
    },
    folderId: yandex_resourcemanager_folder_test_folder.id,
    instanceTemplate: {
        bootDisk: {
            initializeParams: {
                imageId: yandex_compute_image_ubuntu.id,
                size: 4,
            },
            mode: "READ_WRITE",
        },
        labels: {
            label1: "label1-value",
            label2: "label2-value",
        },
        metadata: {
            foo: "bar",
            "ssh-keys": `ubuntu:${fs.readFileSync("~/.ssh/id_rsa.pub", "utf-8")}`,
        },
        networkInterfaces: [{
            networkId: yandex_vpc_network_my_inst_group_network.id,
            subnetIds: [yandex_vpc_subnet_my_inst_group_subnet.id],
        }],
        networkSettings: [{
            type: "STANDARD",
        }],
        platformId: "standard-v1",
        resources: {
            cores: 2,
            memory: 1,
        },
    },
    scalePolicy: {
        fixedScale: {
            size: 3,
        },
    },
    serviceAccountId: yandex_iam_service_account_test_account.id,
    variables: {
        test_key1: "test_value1",
        test_key2: "test_value2",
    },
});

Create a ComputeInstanceGroup Resource

new ComputeInstanceGroup(name: string, args: ComputeInstanceGroupArgs, opts?: CustomResourceOptions);
@overload
def ComputeInstanceGroup(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         allocation_policy: Optional[ComputeInstanceGroupAllocationPolicyArgs] = None,
                         application_load_balancer: Optional[ComputeInstanceGroupApplicationLoadBalancerArgs] = None,
                         deletion_protection: Optional[bool] = None,
                         deploy_policy: Optional[ComputeInstanceGroupDeployPolicyArgs] = None,
                         description: Optional[str] = None,
                         folder_id: Optional[str] = None,
                         health_checks: Optional[Sequence[ComputeInstanceGroupHealthCheckArgs]] = None,
                         instance_template: Optional[ComputeInstanceGroupInstanceTemplateArgs] = None,
                         labels: Optional[Mapping[str, str]] = None,
                         load_balancer: Optional[ComputeInstanceGroupLoadBalancerArgs] = None,
                         max_checking_health_duration: Optional[int] = None,
                         name: Optional[str] = None,
                         scale_policy: Optional[ComputeInstanceGroupScalePolicyArgs] = None,
                         service_account_id: Optional[str] = None,
                         variables: Optional[Mapping[str, str]] = None)
@overload
def ComputeInstanceGroup(resource_name: str,
                         args: ComputeInstanceGroupArgs,
                         opts: Optional[ResourceOptions] = None)
func NewComputeInstanceGroup(ctx *Context, name string, args ComputeInstanceGroupArgs, opts ...ResourceOption) (*ComputeInstanceGroup, error)
public ComputeInstanceGroup(string name, ComputeInstanceGroupArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args ComputeInstanceGroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args ComputeInstanceGroupArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args ComputeInstanceGroupArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ComputeInstanceGroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

ComputeInstanceGroup Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The ComputeInstanceGroup resource accepts the following input properties:

AllocationPolicy ComputeInstanceGroupAllocationPolicyArgs
The allocation policy of the instance group by zone and region. The structure is documented below.
DeployPolicy ComputeInstanceGroupDeployPolicyArgs
The deployment policy of the instance group. The structure is documented below.
InstanceTemplate ComputeInstanceGroupInstanceTemplateArgs
The template for creating new instances. The structure is documented below.
ScalePolicy ComputeInstanceGroupScalePolicyArgs
The scaling policy of the instance group. The structure is documented below.
ServiceAccountId string
The ID of the service account authorized for this instance.
ApplicationLoadBalancer ComputeInstanceGroupApplicationLoadBalancerArgs
Application Load balancing (L7) specifications. The structure is documented below.
DeletionProtection bool
Flag that protects the instance group from accidental deletion.
Description string
A description of the boot disk.
FolderId string
Folder ID of custom metric in Yandex Monitoring that should be used for scaling.
HealthChecks List<ComputeInstanceGroupHealthCheckArgs>
Health check specifications. The structure is documented below.
Labels Dictionary<string, string>
A map of labels of metric.
LoadBalancer ComputeInstanceGroupLoadBalancerArgs
Load balancing specifications. The structure is documented below.
MaxCheckingHealthDuration int
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.
Name string
Name template of the instance.
In order to be unique it must contain at least one 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.
Variables Dictionary<string, string>
A set of key/value variables pairs to assign to the instance group.
AllocationPolicy ComputeInstanceGroupAllocationPolicyArgs
The allocation policy of the instance group by zone and region. The structure is documented below.
DeployPolicy ComputeInstanceGroupDeployPolicyArgs
The deployment policy of the instance group. The structure is documented below.
InstanceTemplate ComputeInstanceGroupInstanceTemplateArgs
The template for creating new instances. The structure is documented below.
ScalePolicy ComputeInstanceGroupScalePolicyArgs
The scaling policy of the instance group. The structure is documented below.
ServiceAccountId string
The ID of the service account authorized for this instance.
ApplicationLoadBalancer ComputeInstanceGroupApplicationLoadBalancerArgs
Application Load balancing (L7) specifications. The structure is documented below.
DeletionProtection bool
Flag that protects the instance group from accidental deletion.
Description string
A description of the boot disk.
FolderId string
Folder ID of custom metric in Yandex Monitoring that should be used for scaling.
HealthChecks []ComputeInstanceGroupHealthCheckArgs
Health check specifications. The structure is documented below.
Labels map[string]string
A map of labels of metric.
LoadBalancer ComputeInstanceGroupLoadBalancerArgs
Load balancing specifications. The structure is documented below.
MaxCheckingHealthDuration int
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.
Name string
Name template of the instance.
In order to be unique it must contain at least one 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.
Variables map[string]string
A set of key/value variables pairs to assign to the instance group.
allocationPolicy ComputeInstanceGroupAllocationPolicyArgs
The allocation policy of the instance group by zone and region. The structure is documented below.
deployPolicy ComputeInstanceGroupDeployPolicyArgs
The deployment policy of the instance group. The structure is documented below.
instanceTemplate ComputeInstanceGroupInstanceTemplateArgs
The template for creating new instances. The structure is documented below.
scalePolicy ComputeInstanceGroupScalePolicyArgs
The scaling policy of the instance group. The structure is documented below.
serviceAccountId string
The ID of the service account authorized for this instance.
applicationLoadBalancer ComputeInstanceGroupApplicationLoadBalancerArgs
Application Load balancing (L7) specifications. The structure is documented below.
deletionProtection boolean
Flag that protects the instance group from accidental deletion.
description string
A description of the boot disk.
folderId string
Folder ID of custom metric in Yandex Monitoring that should be used for scaling.
healthChecks ComputeInstanceGroupHealthCheckArgs[]
Health check specifications. The structure is documented below.
labels {[key: string]: string}
A map of labels of metric.
loadBalancer ComputeInstanceGroupLoadBalancerArgs
Load balancing specifications. The structure is documented below.
maxCheckingHealthDuration number
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.
name string
Name template of the instance.
In order to be unique it must contain at least one 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.
variables {[key: string]: string}
A set of key/value variables pairs to assign to the instance group.
allocation_policy ComputeInstanceGroupAllocationPolicyArgs
The allocation policy of the instance group by zone and region. The structure is documented below.
deploy_policy ComputeInstanceGroupDeployPolicyArgs
The deployment policy of the instance group. The structure is documented below.
instance_template ComputeInstanceGroupInstanceTemplateArgs
The template for creating new instances. The structure is documented below.
scale_policy ComputeInstanceGroupScalePolicyArgs
The scaling policy of the instance group. The structure is documented below.
service_account_id str
The ID of the service account authorized for this instance.
application_load_balancer ComputeInstanceGroupApplicationLoadBalancerArgs
Application Load balancing (L7) specifications. The structure is documented below.
deletion_protection bool
Flag that protects the instance group from accidental deletion.
description str
A description of the boot disk.
folder_id str
Folder ID of custom metric in Yandex Monitoring that should be used for scaling.
health_checks Sequence[ComputeInstanceGroupHealthCheckArgs]
Health check specifications. The structure is documented below.
labels Mapping[str, str]
A map of labels of metric.
load_balancer ComputeInstanceGroupLoadBalancerArgs
Load balancing specifications. The structure is documented below.
max_checking_health_duration int
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.
name str
Name template of the instance.
In order to be unique it must contain at least one 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.
variables Mapping[str, str]
A set of key/value variables pairs to assign to the instance group.

Outputs

All input properties are implicitly available as output properties. Additionally, the ComputeInstanceGroup resource produces the following output properties:

CreatedAt string
The instance group creation timestamp.
Id string
The provider-assigned unique ID for this managed resource.
Instances List<ComputeInstanceGroupInstance>
Status string
The status of the instance.
CreatedAt string
The instance group creation timestamp.
Id string
The provider-assigned unique ID for this managed resource.
Instances []ComputeInstanceGroupInstance
Status string
The status of the instance.
createdAt string
The instance group creation timestamp.
id string
The provider-assigned unique ID for this managed resource.
instances ComputeInstanceGroupInstance[]
status string
The status of the instance.
created_at str
The instance group creation timestamp.
id str
The provider-assigned unique ID for this managed resource.
instances Sequence[ComputeInstanceGroupInstance]
status str
The status of the instance.

Look up an Existing ComputeInstanceGroup Resource

Get an existing ComputeInstanceGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: ComputeInstanceGroupState, opts?: CustomResourceOptions): ComputeInstanceGroup
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        allocation_policy: Optional[ComputeInstanceGroupAllocationPolicyArgs] = None,
        application_load_balancer: Optional[ComputeInstanceGroupApplicationLoadBalancerArgs] = None,
        created_at: Optional[str] = None,
        deletion_protection: Optional[bool] = None,
        deploy_policy: Optional[ComputeInstanceGroupDeployPolicyArgs] = None,
        description: Optional[str] = None,
        folder_id: Optional[str] = None,
        health_checks: Optional[Sequence[ComputeInstanceGroupHealthCheckArgs]] = None,
        instance_template: Optional[ComputeInstanceGroupInstanceTemplateArgs] = None,
        instances: Optional[Sequence[ComputeInstanceGroupInstanceArgs]] = None,
        labels: Optional[Mapping[str, str]] = None,
        load_balancer: Optional[ComputeInstanceGroupLoadBalancerArgs] = None,
        max_checking_health_duration: Optional[int] = None,
        name: Optional[str] = None,
        scale_policy: Optional[ComputeInstanceGroupScalePolicyArgs] = None,
        service_account_id: Optional[str] = None,
        status: Optional[str] = None,
        variables: Optional[Mapping[str, str]] = None) -> ComputeInstanceGroup
func GetComputeInstanceGroup(ctx *Context, name string, id IDInput, state *ComputeInstanceGroupState, opts ...ResourceOption) (*ComputeInstanceGroup, error)
public static ComputeInstanceGroup Get(string name, Input<string> id, ComputeInstanceGroupState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

AllocationPolicy ComputeInstanceGroupAllocationPolicyArgs
The allocation policy of the instance group by zone and region. The structure is documented below.
ApplicationLoadBalancer ComputeInstanceGroupApplicationLoadBalancerArgs
Application Load balancing (L7) specifications. The structure is documented below.
CreatedAt string
The instance group creation timestamp.
DeletionProtection bool
Flag that protects the instance group from accidental deletion.
DeployPolicy ComputeInstanceGroupDeployPolicyArgs
The deployment policy of the instance group. The structure is documented below.
Description string
A description of the boot disk.
FolderId string
Folder ID of custom metric in Yandex Monitoring that should be used for scaling.
HealthChecks List<ComputeInstanceGroupHealthCheckArgs>
Health check specifications. The structure is documented below.
InstanceTemplate ComputeInstanceGroupInstanceTemplateArgs
The template for creating new instances. The structure is documented below.
Instances List<ComputeInstanceGroupInstanceArgs>
Labels Dictionary<string, string>
A map of labels of metric.
LoadBalancer ComputeInstanceGroupLoadBalancerArgs
Load balancing specifications. The structure is documented below.
MaxCheckingHealthDuration int
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.
Name string
Name template of the instance.
In order to be unique it must contain at least one 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.
ScalePolicy ComputeInstanceGroupScalePolicyArgs
The scaling policy of the instance group. The structure is documented below.
ServiceAccountId string
The ID of the service account authorized for this instance.
Status string
The status of the instance.
Variables Dictionary<string, string>
A set of key/value variables pairs to assign to the instance group.
AllocationPolicy ComputeInstanceGroupAllocationPolicyArgs
The allocation policy of the instance group by zone and region. The structure is documented below.
ApplicationLoadBalancer ComputeInstanceGroupApplicationLoadBalancerArgs
Application Load balancing (L7) specifications. The structure is documented below.
CreatedAt string
The instance group creation timestamp.
DeletionProtection bool
Flag that protects the instance group from accidental deletion.
DeployPolicy ComputeInstanceGroupDeployPolicyArgs
The deployment policy of the instance group. The structure is documented below.
Description string
A description of the boot disk.
FolderId string
Folder ID of custom metric in Yandex Monitoring that should be used for scaling.
HealthChecks []ComputeInstanceGroupHealthCheckArgs
Health check specifications. The structure is documented below.
InstanceTemplate ComputeInstanceGroupInstanceTemplateArgs
The template for creating new instances. The structure is documented below.
Instances []ComputeInstanceGroupInstanceArgs
Labels map[string]string
A map of labels of metric.
LoadBalancer ComputeInstanceGroupLoadBalancerArgs
Load balancing specifications. The structure is documented below.
MaxCheckingHealthDuration int
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.
Name string
Name template of the instance.
In order to be unique it must contain at least one 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.
ScalePolicy ComputeInstanceGroupScalePolicyArgs
The scaling policy of the instance group. The structure is documented below.
ServiceAccountId string
The ID of the service account authorized for this instance.
Status string
The status of the instance.
Variables map[string]string
A set of key/value variables pairs to assign to the instance group.
allocationPolicy ComputeInstanceGroupAllocationPolicyArgs
The allocation policy of the instance group by zone and region. The structure is documented below.
applicationLoadBalancer ComputeInstanceGroupApplicationLoadBalancerArgs
Application Load balancing (L7) specifications. The structure is documented below.
createdAt string
The instance group creation timestamp.
deletionProtection boolean
Flag that protects the instance group from accidental deletion.
deployPolicy ComputeInstanceGroupDeployPolicyArgs
The deployment policy of the instance group. The structure is documented below.
description string
A description of the boot disk.
folderId string
Folder ID of custom metric in Yandex Monitoring that should be used for scaling.
healthChecks ComputeInstanceGroupHealthCheckArgs[]
Health check specifications. The structure is documented below.
instanceTemplate ComputeInstanceGroupInstanceTemplateArgs
The template for creating new instances. The structure is documented below.
instances ComputeInstanceGroupInstanceArgs[]
labels {[key: string]: string}
A map of labels of metric.
loadBalancer ComputeInstanceGroupLoadBalancerArgs
Load balancing specifications. The structure is documented below.
maxCheckingHealthDuration number
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.
name string
Name template of the instance.
In order to be unique it must contain at least one 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.
scalePolicy ComputeInstanceGroupScalePolicyArgs
The scaling policy of the instance group. The structure is documented below.
serviceAccountId string
The ID of the service account authorized for this instance.
status string
The status of the instance.
variables {[key: string]: string}
A set of key/value variables pairs to assign to the instance group.
allocation_policy ComputeInstanceGroupAllocationPolicyArgs
The allocation policy of the instance group by zone and region. The structure is documented below.
application_load_balancer ComputeInstanceGroupApplicationLoadBalancerArgs
Application Load balancing (L7) specifications. The structure is documented below.
created_at str
The instance group creation timestamp.
deletion_protection bool
Flag that protects the instance group from accidental deletion.
deploy_policy ComputeInstanceGroupDeployPolicyArgs
The deployment policy of the instance group. The structure is documented below.
description str
A description of the boot disk.
folder_id str
Folder ID of custom metric in Yandex Monitoring that should be used for scaling.
health_checks Sequence[ComputeInstanceGroupHealthCheckArgs]
Health check specifications. The structure is documented below.
instance_template ComputeInstanceGroupInstanceTemplateArgs
The template for creating new instances. The structure is documented below.
instances Sequence[ComputeInstanceGroupInstanceArgs]
labels Mapping[str, str]
A map of labels of metric.
load_balancer ComputeInstanceGroupLoadBalancerArgs
Load balancing specifications. The structure is documented below.
max_checking_health_duration int
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.
name str
Name template of the instance.
In order to be unique it must contain at least one 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.
scale_policy ComputeInstanceGroupScalePolicyArgs
The scaling policy of the instance group. The structure is documented below.
service_account_id str
The ID of the service account authorized for this instance.
status str
The status of the instance.
variables Mapping[str, str]
A set of key/value variables pairs to assign to the instance group.

Supporting Types

ComputeInstanceGroupAllocationPolicy

Zones List<string>
A list of availability zones.
Zones []string
A list of availability zones.
zones string[]
A list of availability zones.
zones Sequence[str]
A list of availability zones.

ComputeInstanceGroupApplicationLoadBalancer

MaxOpeningTrafficDuration int
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.
StatusMessage string
The status message of the instance.
TargetGroupDescription string
A description of the target group.
TargetGroupId string
TargetGroupLabels Dictionary<string, string>
A set of key/value label pairs.
TargetGroupName string
The name of the target group.
MaxOpeningTrafficDuration int
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.
StatusMessage string
The status message of the instance.
TargetGroupDescription string
A description of the target group.
TargetGroupId string
TargetGroupLabels map[string]string
A set of key/value label pairs.
TargetGroupName string
The name of the target group.
maxOpeningTrafficDuration number
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.
statusMessage string
The status message of the instance.
targetGroupDescription string
A description of the target group.
targetGroupId string
targetGroupLabels {[key: string]: string}
A set of key/value label pairs.
targetGroupName string
The name of the target group.
max_opening_traffic_duration int
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.
status_message str
The status message of the instance.
target_group_description str
A description of the target group.
target_group_id str
target_group_labels Mapping[str, str]
A set of key/value label pairs.
target_group_name str
The name of the target group.

ComputeInstanceGroupDeployPolicy

MaxExpansion int
The maximum number of instances that can be temporarily allocated above the group’s target size during the update process.
MaxUnavailable int
The maximum number of running instances that can be taken offline (stopped or deleted) at the same time during the update process.
MaxCreating int
The maximum number of instances that can be created at the same time.
MaxDeleting int
The maximum number of instances that can be deleted at the same time.
StartupDuration int
The amount of time in seconds to allow for an instance to start. Instance will be considered up and running (and start receiving traffic) only after the startup_duration has elapsed and all health checks are passed.
Strategy string
Affects the lifecycle of the instance during deployment. If set to proactive (default), Instance Groups can forcefully stop a running instance. If opportunistic, Instance Groups does not stop a running instance. Instead, it will wait until the instance stops itself or becomes unhealthy.
MaxExpansion int
The maximum number of instances that can be temporarily allocated above the group’s target size during the update process.
MaxUnavailable int
The maximum number of running instances that can be taken offline (stopped or deleted) at the same time during the update process.
MaxCreating int
The maximum number of instances that can be created at the same time.
MaxDeleting int
The maximum number of instances that can be deleted at the same time.
StartupDuration int
The amount of time in seconds to allow for an instance to start. Instance will be considered up and running (and start receiving traffic) only after the startup_duration has elapsed and all health checks are passed.
Strategy string
Affects the lifecycle of the instance during deployment. If set to proactive (default), Instance Groups can forcefully stop a running instance. If opportunistic, Instance Groups does not stop a running instance. Instead, it will wait until the instance stops itself or becomes unhealthy.
maxExpansion number
The maximum number of instances that can be temporarily allocated above the group’s target size during the update process.
maxUnavailable number
The maximum number of running instances that can be taken offline (stopped or deleted) at the same time during the update process.
maxCreating number
The maximum number of instances that can be created at the same time.
maxDeleting number
The maximum number of instances that can be deleted at the same time.
startupDuration number
The amount of time in seconds to allow for an instance to start. Instance will be considered up and running (and start receiving traffic) only after the startup_duration has elapsed and all health checks are passed.
strategy string
Affects the lifecycle of the instance during deployment. If set to proactive (default), Instance Groups can forcefully stop a running instance. If opportunistic, Instance Groups does not stop a running instance. Instead, it will wait until the instance stops itself or becomes unhealthy.
max_expansion int
The maximum number of instances that can be temporarily allocated above the group’s target size during the update process.
max_unavailable int
The maximum number of running instances that can be taken offline (stopped or deleted) at the same time during the update process.
max_creating int
The maximum number of instances that can be created at the same time.
max_deleting int
The maximum number of instances that can be deleted at the same time.
startup_duration int
The amount of time in seconds to allow for an instance to start. Instance will be considered up and running (and start receiving traffic) only after the startup_duration has elapsed and all health checks are passed.
strategy str
Affects the lifecycle of the instance during deployment. If set to proactive (default), Instance Groups can forcefully stop a running instance. If opportunistic, Instance Groups does not stop a running instance. Instead, it will wait until the instance stops itself or becomes unhealthy.

ComputeInstanceGroupHealthCheck

HealthyThreshold int
The number of successful health checks before the managed instance is declared healthy.
HttpOptions List<ComputeInstanceGroupHealthCheckHttpOption>
HTTP check options. The structure is documented below.
Interval int
The interval to wait between health checks in seconds.
TcpOptions List<ComputeInstanceGroupHealthCheckTcpOption>
TCP check options. The structure is documented below.
Timeout int
The length of time to wait for a response before the health check times out in seconds.
UnhealthyThreshold int
The number of failed health checks before the managed instance is declared unhealthy.
HealthyThreshold int
The number of successful health checks before the managed instance is declared healthy.
HttpOptions []ComputeInstanceGroupHealthCheckHttpOption
HTTP check options. The structure is documented below.
Interval int
The interval to wait between health checks in seconds.
TcpOptions []ComputeInstanceGroupHealthCheckTcpOption
TCP check options. The structure is documented below.
Timeout int
The length of time to wait for a response before the health check times out in seconds.
UnhealthyThreshold int
The number of failed health checks before the managed instance is declared unhealthy.
healthyThreshold number
The number of successful health checks before the managed instance is declared healthy.
httpOptions ComputeInstanceGroupHealthCheckHttpOption[]
HTTP check options. The structure is documented below.
interval number
The interval to wait between health checks in seconds.
tcpOptions ComputeInstanceGroupHealthCheckTcpOption[]
TCP check options. The structure is documented below.
timeout number
The length of time to wait for a response before the health check times out in seconds.
unhealthyThreshold number
The number of failed health checks before the managed instance is declared unhealthy.
healthy_threshold int
The number of successful health checks before the managed instance is declared healthy.
http_options Sequence[ComputeInstanceGroupHealthCheckHttpOption]
HTTP check options. The structure is documented below.
interval int
The interval to wait between health checks in seconds.
tcp_options Sequence[ComputeInstanceGroupHealthCheckTcpOption]
TCP check options. The structure is documented below.
timeout int
The length of time to wait for a response before the health check times out in seconds.
unhealthy_threshold int
The number of failed health checks before the managed instance is declared unhealthy.

ComputeInstanceGroupHealthCheckHttpOption

Path string
The URL path used for health check requests.
Port int
The port used for TCP health checks.
Path string
The URL path used for health check requests.
Port int
The port used for TCP health checks.
path string
The URL path used for health check requests.
port number
The port used for TCP health checks.
path str
The URL path used for health check requests.
port int
The port used for TCP health checks.

ComputeInstanceGroupHealthCheckTcpOption

Port int
The port used for TCP health checks.
Port int
The port used for TCP health checks.
port number
The port used for TCP health checks.
port int
The port used for TCP health checks.

ComputeInstanceGroupInstance

Fqdn string
DNS record fqdn (must have dot at the end).
InstanceId string
The ID of the instance.
Name string
Name template of the instance.
In order to be unique it must contain at least one 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.
NetworkInterfaces List<ComputeInstanceGroupInstanceNetworkInterface>
Network specifications for the instance. This can be used multiple times for adding multiple interfaces. The structure is documented below.
Status string
The status of the instance.
StatusChangedAt string
StatusMessage string
The status message of the instance.
ZoneId string
The ID of the availability zone where the instance resides.
Fqdn string
DNS record fqdn (must have dot at the end).
InstanceId string
The ID of the instance.
Name string
Name template of the instance.
In order to be unique it must contain at least one 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.
NetworkInterfaces []ComputeInstanceGroupInstanceNetworkInterface
Network specifications for the instance. This can be used multiple times for adding multiple interfaces. The structure is documented below.
Status string
The status of the instance.
StatusChangedAt string
StatusMessage string
The status message of the instance.
ZoneId string
The ID of the availability zone where the instance resides.
fqdn string
DNS record fqdn (must have dot at the end).
instanceId string
The ID of the instance.
name string
Name template of the instance.
In order to be unique it must contain at least one 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.
networkInterfaces ComputeInstanceGroupInstanceNetworkInterface[]
Network specifications for the instance. This can be used multiple times for adding multiple interfaces. The structure is documented below.
status string
The status of the instance.
statusChangedAt string
statusMessage string
The status message of the instance.
zoneId string
The ID of the availability zone where the instance resides.
fqdn str
DNS record fqdn (must have dot at the end).
instance_id str
The ID of the instance.
name str
Name template of the instance.
In order to be unique it must contain at least one 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.
network_interfaces Sequence[ComputeInstanceGroupInstanceNetworkInterface]
Network specifications for the instance. This can be used multiple times for adding multiple interfaces. The structure is documented below.
status str
The status of the instance.
status_changed_at str
status_message str
The status message of the instance.
zone_id str
The ID of the availability zone where the instance resides.

ComputeInstanceGroupInstanceNetworkInterface

Index int
The index of the network interface as generated by the server.
IpAddress string
Manual set static IP address.
Ipv4 bool
True if IPv4 address allocated for the network interface.
Ipv6 bool
Ipv6Address string
Manual set static IPv6 address.
MacAddress string
The MAC address assigned to the network interface.
Nat bool
Flag for using NAT.
NatIpAddress string
A public address that can be used to access the internet over NAT. Use variables to set.
NatIpVersion string
The IP version for the public address.
SubnetId string
The ID of the subnet to attach this interface to. The subnet must reside in the same zone where this instance was created.
Index int
The index of the network interface as generated by the server.
IpAddress string
Manual set static IP address.
Ipv4 bool
True if IPv4 address allocated for the network interface.
Ipv6 bool
Ipv6Address string
Manual set static IPv6 address.
MacAddress string
The MAC address assigned to the network interface.
Nat bool
Flag for using NAT.
NatIpAddress string
A public address that can be used to access the internet over NAT. Use variables to set.
NatIpVersion string
The IP version for the public address.
SubnetId string
The ID of the subnet to attach this interface to. The subnet must reside in the same zone where this instance was created.
index number
The index of the network interface as generated by the server.
ipAddress string
Manual set static IP address.
ipv4 boolean
True if IPv4 address allocated for the network interface.
ipv6 boolean
ipv6Address string
Manual set static IPv6 address.
macAddress string
The MAC address assigned to the network interface.
nat boolean
Flag for using NAT.
natIpAddress string
A public address that can be used to access the internet over NAT. Use variables to set.
natIpVersion string
The IP version for the public address.
subnetId string
The ID of the subnet to attach this interface to. The subnet must reside in the same zone where this instance was created.
index int
The index of the network interface as generated by the server.
ip_address str
Manual set static IP address.
ipv4 bool
True if IPv4 address allocated for the network interface.
ipv6 bool
ipv6_address str
Manual set static IPv6 address.
mac_address str
The MAC address assigned to the network interface.
nat bool
Flag for using NAT.
nat_ip_address str
A public address that can be used to access the internet over NAT. Use variables to set.
nat_ip_version str
The IP version for the public address.
subnet_id str
The ID of the subnet to attach this interface to. The subnet must reside in the same zone where this instance was created.

ComputeInstanceGroupInstanceTemplate

BootDisk ComputeInstanceGroupInstanceTemplateBootDisk
Boot disk specifications for the instance. The structure is documented below.
NetworkInterfaces List<ComputeInstanceGroupInstanceTemplateNetworkInterface>
Network specifications for the instance. This can be used multiple times for adding multiple interfaces. The structure is documented below.
Resources ComputeInstanceGroupInstanceTemplateResources
Compute resource specifications for the instance. The structure is documented below.
Description string
A description of the boot disk.
Hostname string
Hostname template for the instance.
This field is used to generate the FQDN value of instance. The hostname must be unique within the network and region. If not specified, the hostname will be equal to 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.
Labels Dictionary<string, string>
A map of labels of metric.
Metadata Dictionary<string, string>
A set of metadata key/value pairs to make available from within the instance.
Name string
Name template of the instance.
In order to be unique it must contain at least one 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.
NetworkSettings List<ComputeInstanceGroupInstanceTemplateNetworkSetting>
Network acceleration type for instance. The structure is documented below.
PlacementPolicy ComputeInstanceGroupInstanceTemplatePlacementPolicy
The placement policy configuration. The structure is documented below.
PlatformId string
The ID of the hardware platform configuration for the instance. The default is ‘standard-v1’.
SchedulingPolicy ComputeInstanceGroupInstanceTemplateSchedulingPolicy
The scheduling policy configuration. The structure is documented below.
SecondaryDisks List<ComputeInstanceGroupInstanceTemplateSecondaryDisk>
A list of disks to attach to the instance. The structure is documented below.
ServiceAccountId string
The ID of the service account authorized for this instance.
BootDisk ComputeInstanceGroupInstanceTemplateBootDisk
Boot disk specifications for the instance. The structure is documented below.
NetworkInterfaces []ComputeInstanceGroupInstanceTemplateNetworkInterface
Network specifications for the instance. This can be used multiple times for adding multiple interfaces. The structure is documented below.
Resources ComputeInstanceGroupInstanceTemplateResources
Compute resource specifications for the instance. The structure is documented below.
Description string
A description of the boot disk.
Hostname string
Hostname template for the instance.
This field is used to generate the FQDN value of instance. The hostname must be unique within the network and region. If not specified, the hostname will be equal to 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.
Labels map[string]string
A map of labels of metric.
Metadata map[string]string
A set of metadata key/value pairs to make available from within the instance.
Name string
Name template of the instance.
In order to be unique it must contain at least one 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.
NetworkSettings []ComputeInstanceGroupInstanceTemplateNetworkSetting
Network acceleration type for instance. The structure is documented below.
PlacementPolicy ComputeInstanceGroupInstanceTemplatePlacementPolicy
The placement policy configuration. The structure is documented below.
PlatformId string
The ID of the hardware platform configuration for the instance. The default is ‘standard-v1’.
SchedulingPolicy ComputeInstanceGroupInstanceTemplateSchedulingPolicy
The scheduling policy configuration. The structure is documented below.
SecondaryDisks []ComputeInstanceGroupInstanceTemplateSecondaryDisk
A list of disks to attach to the instance. The structure is documented below.
ServiceAccountId string
The ID of the service account authorized for this instance.
bootDisk ComputeInstanceGroupInstanceTemplateBootDisk
Boot disk specifications for the instance. The structure is documented below.
networkInterfaces ComputeInstanceGroupInstanceTemplateNetworkInterface[]
Network specifications for the instance. This can be used multiple times for adding multiple interfaces. The structure is documented below.
resources ComputeInstanceGroupInstanceTemplateResources
Compute resource specifications for the instance. The structure is documented below.
description string
A description of the boot disk.
hostname string
Hostname template for the instance.
This field is used to generate the FQDN value of instance. The hostname must be unique within the network and region. If not specified, the hostname will be equal to 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.
labels {[key: string]: string}
A map of labels of metric.
metadata {[key: string]: string}
A set of metadata key/value pairs to make available from within the instance.
name string
Name template of the instance.
In order to be unique it must contain at least one 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.
networkSettings ComputeInstanceGroupInstanceTemplateNetworkSetting[]
Network acceleration type for instance. The structure is documented below.
placementPolicy ComputeInstanceGroupInstanceTemplatePlacementPolicy
The placement policy configuration. The structure is documented below.
platformId string
The ID of the hardware platform configuration for the instance. The default is ‘standard-v1’.
schedulingPolicy ComputeInstanceGroupInstanceTemplateSchedulingPolicy
The scheduling policy configuration. The structure is documented below.
secondaryDisks ComputeInstanceGroupInstanceTemplateSecondaryDisk[]
A list of disks to attach to the instance. The structure is documented below.
serviceAccountId string
The ID of the service account authorized for this instance.
boot_disk ComputeInstanceGroupInstanceTemplateBootDisk
Boot disk specifications for the instance. The structure is documented below.
network_interfaces Sequence[ComputeInstanceGroupInstanceTemplateNetworkInterface]
Network specifications for the instance. This can be used multiple times for adding multiple interfaces. The structure is documented below.
resources ComputeInstanceGroupInstanceTemplateResources
Compute resource specifications for the instance. The structure is documented below.
description str
A description of the boot disk.
hostname str
Hostname template for the instance.
This field is used to generate the FQDN value of instance. The hostname must be unique within the network and region. If not specified, the hostname will be equal to 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.
labels Mapping[str, str]
A map of labels of metric.
metadata Mapping[str, str]
A set of metadata key/value pairs to make available from within the instance.
name str
Name template of the instance.
In order to be unique it must contain at least one 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.
network_settings Sequence[ComputeInstanceGroupInstanceTemplateNetworkSetting]
Network acceleration type for instance. The structure is documented below.
placement_policy ComputeInstanceGroupInstanceTemplatePlacementPolicy
The placement policy configuration. The structure is documented below.
platform_id str
The ID of the hardware platform configuration for the instance. The default is ‘standard-v1’.
scheduling_policy ComputeInstanceGroupInstanceTemplateSchedulingPolicy
The scheduling policy configuration. The structure is documented below.
secondary_disks Sequence[ComputeInstanceGroupInstanceTemplateSecondaryDisk]
A list of disks to attach to the instance. The structure is documented below.
service_account_id str
The ID of the service account authorized for this instance.

ComputeInstanceGroupInstanceTemplateBootDisk

DeviceName string
This value can be used to reference the device under /dev/disk/by-id/.
DiskId string
ID of the existing disk. To set use variables.
InitializeParams ComputeInstanceGroupInstanceTemplateBootDiskInitializeParams
Parameters for creating a disk alongside the instance. The structure is documented below.
Mode string
The access mode to the disk resource. By default a disk is attached in READ_WRITE mode.
DeviceName string
This value can be used to reference the device under /dev/disk/by-id/.
DiskId string
ID of the existing disk. To set use variables.
InitializeParams ComputeInstanceGroupInstanceTemplateBootDiskInitializeParams
Parameters for creating a disk alongside the instance. The structure is documented below.
Mode string
The access mode to the disk resource. By default a disk is attached in READ_WRITE mode.
deviceName string
This value can be used to reference the device under /dev/disk/by-id/.
diskId string
ID of the existing disk. To set use variables.
initializeParams ComputeInstanceGroupInstanceTemplateBootDiskInitializeParams
Parameters for creating a disk alongside the instance. The structure is documented below.
mode string
The access mode to the disk resource. By default a disk is attached in READ_WRITE mode.
device_name str
This value can be used to reference the device under /dev/disk/by-id/.
disk_id str
ID of the existing disk. To set use variables.
initialize_params ComputeInstanceGroupInstanceTemplateBootDiskInitializeParams
Parameters for creating a disk alongside the instance. The structure is documented below.
mode str
The access mode to the disk resource. By default a disk is attached in READ_WRITE mode.

ComputeInstanceGroupInstanceTemplateBootDiskInitializeParams

Description string
A description of the boot disk.
ImageId string
The disk image to initialize this disk from.
Size int
The number of instances in the instance group.
SnapshotId string
The snapshot to initialize this disk from.
Type string
Network acceleration type. By default a network is in STANDARD mode.
Description string
A description of the boot disk.
ImageId string
The disk image to initialize this disk from.
Size int
The number of instances in the instance group.
SnapshotId string
The snapshot to initialize this disk from.
Type string
Network acceleration type. By default a network is in STANDARD mode.
description string
A description of the boot disk.
imageId string
The disk image to initialize this disk from.
size number
The number of instances in the instance group.
snapshotId string
The snapshot to initialize this disk from.
type string
Network acceleration type. By default a network is in STANDARD mode.
description str
A description of the boot disk.
image_id str
The disk image to initialize this disk from.
size int
The number of instances in the instance group.
snapshot_id str
The snapshot to initialize this disk from.
type str
Network acceleration type. By default a network is in STANDARD mode.

ComputeInstanceGroupInstanceTemplateNetworkInterface

DnsRecords List<ComputeInstanceGroupInstanceTemplateNetworkInterfaceDnsRecord>
List of dns records. The structure is documented below.
IpAddress string
Manual set static IP address.
Ipv4 bool
True if IPv4 address allocated for the network interface.
Ipv6 bool
Ipv6Address string
Manual set static IPv6 address.
Ipv6DnsRecords List<ComputeInstanceGroupInstanceTemplateNetworkInterfaceIpv6DnsRecord>
List of ipv6 dns records. The structure is documented below.
Nat bool
Flag for using NAT.
NatDnsRecords List<ComputeInstanceGroupInstanceTemplateNetworkInterfaceNatDnsRecord>
List of nat dns records. The structure is documented below.
NatIpAddress string
A public address that can be used to access the internet over NAT. Use variables to set.
NetworkId string
The ID of the network.
SecurityGroupIds List<string>
Security group ids for network interface.
SubnetIds List<string>
The ID of the subnets to attach this interface to.
DnsRecords []ComputeInstanceGroupInstanceTemplateNetworkInterfaceDnsRecord
List of dns records. The structure is documented below.
IpAddress string
Manual set static IP address.
Ipv4 bool
True if IPv4 address allocated for the network interface.
Ipv6 bool
Ipv6Address string
Manual set static IPv6 address.
Ipv6DnsRecords []ComputeInstanceGroupInstanceTemplateNetworkInterfaceIpv6DnsRecord
List of ipv6 dns records. The structure is documented below.
Nat bool
Flag for using NAT.
NatDnsRecords []ComputeInstanceGroupInstanceTemplateNetworkInterfaceNatDnsRecord
List of nat dns records. The structure is documented below.
NatIpAddress string
A public address that can be used to access the internet over NAT. Use variables to set.
NetworkId string
The ID of the network.
SecurityGroupIds []string
Security group ids for network interface.
SubnetIds []string
The ID of the subnets to attach this interface to.
dnsRecords ComputeInstanceGroupInstanceTemplateNetworkInterfaceDnsRecord[]
List of dns records. The structure is documented below.
ipAddress string
Manual set static IP address.
ipv4 boolean
True if IPv4 address allocated for the network interface.
ipv6 boolean
ipv6Address string
Manual set static IPv6 address.
ipv6DnsRecords ComputeInstanceGroupInstanceTemplateNetworkInterfaceIpv6DnsRecord[]
List of ipv6 dns records. The structure is documented below.
nat boolean
Flag for using NAT.
natDnsRecords ComputeInstanceGroupInstanceTemplateNetworkInterfaceNatDnsRecord[]
List of nat dns records. The structure is documented below.
natIpAddress string
A public address that can be used to access the internet over NAT. Use variables to set.
networkId string
The ID of the network.
securityGroupIds string[]
Security group ids for network interface.
subnetIds string[]
The ID of the subnets to attach this interface to.
dns_records Sequence[ComputeInstanceGroupInstanceTemplateNetworkInterfaceDnsRecord]
List of dns records. The structure is documented below.
ip_address str
Manual set static IP address.
ipv4 bool
True if IPv4 address allocated for the network interface.
ipv6 bool
ipv6_address str
Manual set static IPv6 address.
ipv6_dns_records Sequence[ComputeInstanceGroupInstanceTemplateNetworkInterfaceIpv6DnsRecord]
List of ipv6 dns records. The structure is documented below.
nat bool
Flag for using NAT.
nat_dns_records Sequence[ComputeInstanceGroupInstanceTemplateNetworkInterfaceNatDnsRecord]
List of nat dns records. The structure is documented below.
nat_ip_address str
A public address that can be used to access the internet over NAT. Use variables to set.
network_id str
The ID of the network.
security_group_ids Sequence[str]
Security group ids for network interface.
subnet_ids Sequence[str]
The ID of the subnets to attach this interface to.

ComputeInstanceGroupInstanceTemplateNetworkInterfaceDnsRecord

Fqdn string
DNS record fqdn (must have dot at the end).
DnsZoneId string
DNS zone id (if not set, private zone used).
Ptr bool
When set to true, also create PTR DNS record.
Ttl int
DNS record TTL.
Fqdn string
DNS record fqdn (must have dot at the end).
DnsZoneId string
DNS zone id (if not set, private zone used).
Ptr bool
When set to true, also create PTR DNS record.
Ttl int
DNS record TTL.
fqdn string
DNS record fqdn (must have dot at the end).
dnsZoneId string
DNS zone id (if not set, private zone used).
ptr boolean
When set to true, also create PTR DNS record.
ttl number
DNS record TTL.
fqdn str
DNS record fqdn (must have dot at the end).
dns_zone_id str
DNS zone id (if not set, private zone used).
ptr bool
When set to true, also create PTR DNS record.
ttl int
DNS record TTL.

ComputeInstanceGroupInstanceTemplateNetworkInterfaceIpv6DnsRecord

Fqdn string
DNS record fqdn (must have dot at the end).
DnsZoneId string
DNS zone id (if not set, private zone used).
Ptr bool
When set to true, also create PTR DNS record.
Ttl int
DNS record TTL.
Fqdn string
DNS record fqdn (must have dot at the end).
DnsZoneId string
DNS zone id (if not set, private zone used).
Ptr bool
When set to true, also create PTR DNS record.
Ttl int
DNS record TTL.
fqdn string
DNS record fqdn (must have dot at the end).
dnsZoneId string
DNS zone id (if not set, private zone used).
ptr boolean
When set to true, also create PTR DNS record.
ttl number
DNS record TTL.
fqdn str
DNS record fqdn (must have dot at the end).
dns_zone_id str
DNS zone id (if not set, private zone used).
ptr bool
When set to true, also create PTR DNS record.
ttl int
DNS record TTL.

ComputeInstanceGroupInstanceTemplateNetworkInterfaceNatDnsRecord

Fqdn string
DNS record fqdn (must have dot at the end).
DnsZoneId string
DNS zone id (if not set, private zone used).
Ptr bool
When set to true, also create PTR DNS record.
Ttl int
DNS record TTL.
Fqdn string
DNS record fqdn (must have dot at the end).
DnsZoneId string
DNS zone id (if not set, private zone used).
Ptr bool
When set to true, also create PTR DNS record.
Ttl int
DNS record TTL.
fqdn string
DNS record fqdn (must have dot at the end).
dnsZoneId string
DNS zone id (if not set, private zone used).
ptr boolean
When set to true, also create PTR DNS record.
ttl number
DNS record TTL.
fqdn str
DNS record fqdn (must have dot at the end).
dns_zone_id str
DNS zone id (if not set, private zone used).
ptr bool
When set to true, also create PTR DNS record.
ttl int
DNS record TTL.

ComputeInstanceGroupInstanceTemplateNetworkSetting

Type string
Network acceleration type. By default a network is in STANDARD mode.
Type string
Network acceleration type. By default a network is in STANDARD mode.
type string
Network acceleration type. By default a network is in STANDARD mode.
type str
Network acceleration type. By default a network is in STANDARD mode.

ComputeInstanceGroupInstanceTemplatePlacementPolicy

PlacementGroupId string
Specifies the id of the Placement Group to assign to the instances.
PlacementGroupId string
Specifies the id of the Placement Group to assign to the instances.
placementGroupId string
Specifies the id of the Placement Group to assign to the instances.
placement_group_id str
Specifies the id of the Placement Group to assign to the instances.

ComputeInstanceGroupInstanceTemplateResources

Cores int
The number of CPU cores for the instance.
Memory double
The memory size in GB.
CoreFraction int
If provided, specifies baseline core performance as a percent.
Gpus int
Cores int
The number of CPU cores for the instance.
Memory float64
The memory size in GB.
CoreFraction int
If provided, specifies baseline core performance as a percent.
Gpus int
cores number
The number of CPU cores for the instance.
memory number
The memory size in GB.
coreFraction number
If provided, specifies baseline core performance as a percent.
gpus number
cores int
The number of CPU cores for the instance.
memory float
The memory size in GB.
core_fraction int
If provided, specifies baseline core performance as a percent.
gpus int

ComputeInstanceGroupInstanceTemplateSchedulingPolicy

Preemptible bool
Specifies if the instance is preemptible. Defaults to false.
Preemptible bool
Specifies if the instance is preemptible. Defaults to false.
preemptible boolean
Specifies if the instance is preemptible. Defaults to false.
preemptible bool
Specifies if the instance is preemptible. Defaults to false.

ComputeInstanceGroupInstanceTemplateSecondaryDisk

DeviceName string
This value can be used to reference the device under /dev/disk/by-id/.
DiskId string
ID of the existing disk. To set use variables.
InitializeParams ComputeInstanceGroupInstanceTemplateSecondaryDiskInitializeParams
Parameters for creating a disk alongside the instance. The structure is documented below.
Mode string
The access mode to the disk resource. By default a disk is attached in READ_WRITE mode.
DeviceName string
This value can be used to reference the device under /dev/disk/by-id/.
DiskId string
ID of the existing disk. To set use variables.
InitializeParams ComputeInstanceGroupInstanceTemplateSecondaryDiskInitializeParams
Parameters for creating a disk alongside the instance. The structure is documented below.
Mode string
The access mode to the disk resource. By default a disk is attached in READ_WRITE mode.
deviceName string
This value can be used to reference the device under /dev/disk/by-id/.
diskId string
ID of the existing disk. To set use variables.
initializeParams ComputeInstanceGroupInstanceTemplateSecondaryDiskInitializeParams
Parameters for creating a disk alongside the instance. The structure is documented below.
mode string
The access mode to the disk resource. By default a disk is attached in READ_WRITE mode.
device_name str
This value can be used to reference the device under /dev/disk/by-id/.
disk_id str
ID of the existing disk. To set use variables.
initialize_params ComputeInstanceGroupInstanceTemplateSecondaryDiskInitializeParams
Parameters for creating a disk alongside the instance. The structure is documented below.
mode str
The access mode to the disk resource. By default a disk is attached in READ_WRITE mode.

ComputeInstanceGroupInstanceTemplateSecondaryDiskInitializeParams

Description string
A description of the boot disk.
ImageId string
The disk image to initialize this disk from.
Size int
The number of instances in the instance group.
SnapshotId string
The snapshot to initialize this disk from.
Type string
Network acceleration type. By default a network is in STANDARD mode.
Description string
A description of the boot disk.
ImageId string
The disk image to initialize this disk from.
Size int
The number of instances in the instance group.
SnapshotId string
The snapshot to initialize this disk from.
Type string
Network acceleration type. By default a network is in STANDARD mode.
description string
A description of the boot disk.
imageId string
The disk image to initialize this disk from.
size number
The number of instances in the instance group.
snapshotId string
The snapshot to initialize this disk from.
type string
Network acceleration type. By default a network is in STANDARD mode.
description str
A description of the boot disk.
image_id str
The disk image to initialize this disk from.
size int
The number of instances in the instance group.
snapshot_id str
The snapshot to initialize this disk from.
type str
Network acceleration type. By default a network is in STANDARD mode.

ComputeInstanceGroupLoadBalancer

MaxOpeningTrafficDuration int
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.
StatusMessage string
The status message of the instance.
TargetGroupDescription string
A description of the target group.
TargetGroupId string
TargetGroupLabels Dictionary<string, string>
A set of key/value label pairs.
TargetGroupName string
The name of the target group.
MaxOpeningTrafficDuration int
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.
StatusMessage string
The status message of the instance.
TargetGroupDescription string
A description of the target group.
TargetGroupId string
TargetGroupLabels map[string]string
A set of key/value label pairs.
TargetGroupName string
The name of the target group.
maxOpeningTrafficDuration number
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.
statusMessage string
The status message of the instance.
targetGroupDescription string
A description of the target group.
targetGroupId string
targetGroupLabels {[key: string]: string}
A set of key/value label pairs.
targetGroupName string
The name of the target group.
max_opening_traffic_duration int
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.
status_message str
The status message of the instance.
target_group_description str
A description of the target group.
target_group_id str
target_group_labels Mapping[str, str]
A set of key/value label pairs.
target_group_name str
The name of the target group.

ComputeInstanceGroupScalePolicy

AutoScale ComputeInstanceGroupScalePolicyAutoScale
The auto scaling policy of the instance group. The structure is documented below.
FixedScale ComputeInstanceGroupScalePolicyFixedScale
The fixed scaling policy of the instance group. The structure is documented below.
TestAutoScale ComputeInstanceGroupScalePolicyTestAutoScale
The test auto scaling policy of the instance group. Use it to test how the auto scale works. The structure is documented below.
AutoScale ComputeInstanceGroupScalePolicyAutoScale
The auto scaling policy of the instance group. The structure is documented below.
FixedScale ComputeInstanceGroupScalePolicyFixedScale
The fixed scaling policy of the instance group. The structure is documented below.
TestAutoScale ComputeInstanceGroupScalePolicyTestAutoScale
The test auto scaling policy of the instance group. Use it to test how the auto scale works. The structure is documented below.
autoScale ComputeInstanceGroupScalePolicyAutoScale
The auto scaling policy of the instance group. The structure is documented below.
fixedScale ComputeInstanceGroupScalePolicyFixedScale
The fixed scaling policy of the instance group. The structure is documented below.
testAutoScale ComputeInstanceGroupScalePolicyTestAutoScale
The test auto scaling policy of the instance group. Use it to test how the auto scale works. The structure is documented below.
auto_scale ComputeInstanceGroupScalePolicyAutoScale
The auto scaling policy of the instance group. The structure is documented below.
fixed_scale ComputeInstanceGroupScalePolicyFixedScale
The fixed scaling policy of the instance group. The structure is documented below.
test_auto_scale ComputeInstanceGroupScalePolicyTestAutoScale
The test auto scaling policy of the instance group. Use it to test how the auto scale works. The structure is documented below.

ComputeInstanceGroupScalePolicyAutoScale

InitialSize int
The initial number of instances in the instance group.
MeasurementDuration int
The amount of time, in seconds, that metrics are averaged for. If the average value at the end of the interval is higher than the cpu_utilization_target, the instance group will increase the number of virtual machines in the group.
CpuUtilizationTarget double
Target CPU load level.
CustomRules List<ComputeInstanceGroupScalePolicyAutoScaleCustomRule>
A list of custom rules. The structure is documented below.
MaxSize int
The maximum number of virtual machines in the group.
MinZoneSize int
The minimum number of virtual machines in a single availability zone.
StabilizationDuration int
The minimum time interval, in seconds, to monitor the load before an instance group can reduce the number of virtual machines in the group. During this time, the group will not decrease even if the average load falls below the value of cpu_utilization_target.
WarmupDuration int
The warm-up time of the virtual machine, in seconds. During this time, traffic is fed to the virtual machine, but load metrics are not taken into account.
InitialSize int
The initial number of instances in the instance group.
MeasurementDuration int
The amount of time, in seconds, that metrics are averaged for. If the average value at the end of the interval is higher than the cpu_utilization_target, the instance group will increase the number of virtual machines in the group.
CpuUtilizationTarget float64
Target CPU load level.
CustomRules []ComputeInstanceGroupScalePolicyAutoScaleCustomRule
A list of custom rules. The structure is documented below.
MaxSize int
The maximum number of virtual machines in the group.
MinZoneSize int
The minimum number of virtual machines in a single availability zone.
StabilizationDuration int
The minimum time interval, in seconds, to monitor the load before an instance group can reduce the number of virtual machines in the group. During this time, the group will not decrease even if the average load falls below the value of cpu_utilization_target.
WarmupDuration int
The warm-up time of the virtual machine, in seconds. During this time, traffic is fed to the virtual machine, but load metrics are not taken into account.
initialSize number
The initial number of instances in the instance group.
measurementDuration number
The amount of time, in seconds, that metrics are averaged for. If the average value at the end of the interval is higher than the cpu_utilization_target, the instance group will increase the number of virtual machines in the group.
cpuUtilizationTarget number
Target CPU load level.
customRules ComputeInstanceGroupScalePolicyAutoScaleCustomRule[]
A list of custom rules. The structure is documented below.
maxSize number
The maximum number of virtual machines in the group.
minZoneSize number
The minimum number of virtual machines in a single availability zone.
stabilizationDuration number
The minimum time interval, in seconds, to monitor the load before an instance group can reduce the number of virtual machines in the group. During this time, the group will not decrease even if the average load falls below the value of cpu_utilization_target.
warmupDuration number
The warm-up time of the virtual machine, in seconds. During this time, traffic is fed to the virtual machine, but load metrics are not taken into account.
initial_size int
The initial number of instances in the instance group.
measurement_duration int
The amount of time, in seconds, that metrics are averaged for. If the average value at the end of the interval is higher than the cpu_utilization_target, the instance group will increase the number of virtual machines in the group.
cpu_utilization_target float
Target CPU load level.
custom_rules Sequence[ComputeInstanceGroupScalePolicyAutoScaleCustomRule]
A list of custom rules. The structure is documented below.
max_size int
The maximum number of virtual machines in the group.
min_zone_size int
The minimum number of virtual machines in a single availability zone.
stabilization_duration int
The minimum time interval, in seconds, to monitor the load before an instance group can reduce the number of virtual machines in the group. During this time, the group will not decrease even if the average load falls below the value of cpu_utilization_target.
warmup_duration int
The warm-up time of the virtual machine, in seconds. During this time, traffic is fed to the virtual machine, but load metrics are not taken into account.

ComputeInstanceGroupScalePolicyAutoScaleCustomRule

MetricName string
The name of metric.
MetricType string
Metric type, GAUGE or COUNTER.
RuleType string
Rule type: 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. This type of metric must have the instance_id label. WORKLOAD - This type means that the metric applies to instances in one availability zone. This type of metric must have the zone_id label.
Target double
Target metric value level.
FolderId string
Folder ID of custom metric in Yandex Monitoring that should be used for scaling.
Labels Dictionary<string, string>
A map of labels of metric.
Service string
Service of custom metric in Yandex Monitoring that should be used for scaling.
MetricName string
The name of metric.
MetricType string
Metric type, GAUGE or COUNTER.
RuleType string
Rule type: 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. This type of metric must have the instance_id label. WORKLOAD - This type means that the metric applies to instances in one availability zone. This type of metric must have the zone_id label.
Target float64
Target metric value level.
FolderId string
Folder ID of custom metric in Yandex Monitoring that should be used for scaling.
Labels map[string]string
A map of labels of metric.
Service string
Service of custom metric in Yandex Monitoring that should be used for scaling.
metricName string
The name of metric.
metricType string
Metric type, GAUGE or COUNTER.
ruleType string
Rule type: 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. This type of metric must have the instance_id label. WORKLOAD - This type means that the metric applies to instances in one availability zone. This type of metric must have the zone_id label.
target number
Target metric value level.
folderId string
Folder ID of custom metric in Yandex Monitoring that should be used for scaling.
labels {[key: string]: string}
A map of labels of metric.
service string
Service of custom metric in Yandex Monitoring that should be used for scaling.
metric_name str
The name of metric.
metric_type str
Metric type, GAUGE or COUNTER.
rule_type str
Rule type: 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. This type of metric must have the instance_id label. WORKLOAD - This type means that the metric applies to instances in one availability zone. This type of metric must have the zone_id label.
target float
Target metric value level.
folder_id str
Folder ID of custom metric in Yandex Monitoring that should be used for scaling.
labels Mapping[str, str]
A map of labels of metric.
service str
Service of custom metric in Yandex Monitoring that should be used for scaling.

ComputeInstanceGroupScalePolicyFixedScale

Size int
The number of instances in the instance group.
Size int
The number of instances in the instance group.
size number
The number of instances in the instance group.
size int
The number of instances in the instance group.

ComputeInstanceGroupScalePolicyTestAutoScale

InitialSize int
The initial number of instances in the instance group.
MeasurementDuration int
The amount of time, in seconds, that metrics are averaged for. If the average value at the end of the interval is higher than the cpu_utilization_target, the instance group will increase the number of virtual machines in the group.
CpuUtilizationTarget double
Target CPU load level.
CustomRules List<ComputeInstanceGroupScalePolicyTestAutoScaleCustomRule>
A list of custom rules. The structure is documented below.
MaxSize int
The maximum number of virtual machines in the group.
MinZoneSize int
The minimum number of virtual machines in a single availability zone.
StabilizationDuration int
The minimum time interval, in seconds, to monitor the load before an instance group can reduce the number of virtual machines in the group. During this time, the group will not decrease even if the average load falls below the value of cpu_utilization_target.
WarmupDuration int
The warm-up time of the virtual machine, in seconds. During this time, traffic is fed to the virtual machine, but load metrics are not taken into account.
InitialSize int
The initial number of instances in the instance group.
MeasurementDuration int
The amount of time, in seconds, that metrics are averaged for. If the average value at the end of the interval is higher than the cpu_utilization_target, the instance group will increase the number of virtual machines in the group.
CpuUtilizationTarget float64
Target CPU load level.
CustomRules []ComputeInstanceGroupScalePolicyTestAutoScaleCustomRule
A list of custom rules. The structure is documented below.
MaxSize int
The maximum number of virtual machines in the group.
MinZoneSize int
The minimum number of virtual machines in a single availability zone.
StabilizationDuration int
The minimum time interval, in seconds, to monitor the load before an instance group can reduce the number of virtual machines in the group. During this time, the group will not decrease even if the average load falls below the value of cpu_utilization_target.
WarmupDuration int
The warm-up time of the virtual machine, in seconds. During this time, traffic is fed to the virtual machine, but load metrics are not taken into account.
initialSize number
The initial number of instances in the instance group.
measurementDuration number
The amount of time, in seconds, that metrics are averaged for. If the average value at the end of the interval is higher than the cpu_utilization_target, the instance group will increase the number of virtual machines in the group.
cpuUtilizationTarget number
Target CPU load level.
customRules ComputeInstanceGroupScalePolicyTestAutoScaleCustomRule[]
A list of custom rules. The structure is documented below.
maxSize number
The maximum number of virtual machines in the group.
minZoneSize number
The minimum number of virtual machines in a single availability zone.
stabilizationDuration number
The minimum time interval, in seconds, to monitor the load before an instance group can reduce the number of virtual machines in the group. During this time, the group will not decrease even if the average load falls below the value of cpu_utilization_target.
warmupDuration number
The warm-up time of the virtual machine, in seconds. During this time, traffic is fed to the virtual machine, but load metrics are not taken into account.
initial_size int
The initial number of instances in the instance group.
measurement_duration int
The amount of time, in seconds, that metrics are averaged for. If the average value at the end of the interval is higher than the cpu_utilization_target, the instance group will increase the number of virtual machines in the group.
cpu_utilization_target float
Target CPU load level.
custom_rules Sequence[ComputeInstanceGroupScalePolicyTestAutoScaleCustomRule]
A list of custom rules. The structure is documented below.
max_size int
The maximum number of virtual machines in the group.
min_zone_size int
The minimum number of virtual machines in a single availability zone.
stabilization_duration int
The minimum time interval, in seconds, to monitor the load before an instance group can reduce the number of virtual machines in the group. During this time, the group will not decrease even if the average load falls below the value of cpu_utilization_target.
warmup_duration int
The warm-up time of the virtual machine, in seconds. During this time, traffic is fed to the virtual machine, but load metrics are not taken into account.

ComputeInstanceGroupScalePolicyTestAutoScaleCustomRule

MetricName string
The name of metric.
MetricType string
Metric type, GAUGE or COUNTER.
RuleType string
Rule type: 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. This type of metric must have the instance_id label. WORKLOAD - This type means that the metric applies to instances in one availability zone. This type of metric must have the zone_id label.
Target double
Target metric value level.
FolderId string
Folder ID of custom metric in Yandex Monitoring that should be used for scaling.
Labels Dictionary<string, string>
A map of labels of metric.
Service string
Service of custom metric in Yandex Monitoring that should be used for scaling.
MetricName string
The name of metric.
MetricType string
Metric type, GAUGE or COUNTER.
RuleType string
Rule type: 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. This type of metric must have the instance_id label. WORKLOAD - This type means that the metric applies to instances in one availability zone. This type of metric must have the zone_id label.
Target float64
Target metric value level.
FolderId string
Folder ID of custom metric in Yandex Monitoring that should be used for scaling.
Labels map[string]string
A map of labels of metric.
Service string
Service of custom metric in Yandex Monitoring that should be used for scaling.
metricName string
The name of metric.
metricType string
Metric type, GAUGE or COUNTER.
ruleType string
Rule type: 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. This type of metric must have the instance_id label. WORKLOAD - This type means that the metric applies to instances in one availability zone. This type of metric must have the zone_id label.
target number
Target metric value level.
folderId string
Folder ID of custom metric in Yandex Monitoring that should be used for scaling.
labels {[key: string]: string}
A map of labels of metric.
service string
Service of custom metric in Yandex Monitoring that should be used for scaling.
metric_name str
The name of metric.
metric_type str
Metric type, GAUGE or COUNTER.
rule_type str
Rule type: 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. This type of metric must have the instance_id label. WORKLOAD - This type means that the metric applies to instances in one availability zone. This type of metric must have the zone_id label.
target float
Target metric value level.
folder_id str
Folder ID of custom metric in Yandex Monitoring that should be used for scaling.
labels Mapping[str, str]
A map of labels of metric.
service str
Service of custom metric in Yandex Monitoring that should be used for scaling.

Package Details

Repository
https://github.com/pulumi/pulumi-yandex
License
Apache-2.0
Notes
This Pulumi package is based on the yandex Terraform Provider.