spotinst logo
Spotinst v3.28.0, Mar 23 23

spotinst.azure.Elastigroup

Provides a Spotinst elastigroup Azure resource.

Example Usage

using System.Collections.Generic;
using Pulumi;
using SpotInst = Pulumi.SpotInst;

return await Deployment.RunAsync(() => 
{
    var testAzureGroup = new SpotInst.Azure.Elastigroup("testAzureGroup", new()
    {
        DesiredCapacity = 1,
        HealthCheck = new SpotInst.Azure.Inputs.ElastigroupHealthCheckArgs
        {
            AutoHealing = true,
            GracePeriod = 120,
            HealthCheckType = "INSTANCE_STATE",
        },
        Images = new[]
        {
            new SpotInst.Azure.Inputs.ElastigroupImageArgs
            {
                Marketplaces = new[]
                {
                    new SpotInst.Azure.Inputs.ElastigroupImageMarketplaceArgs
                    {
                        Offer = "UbuntuServer",
                        Publisher = "Canonical",
                        Sku = "16.04-LTS",
                    },
                },
            },
        },
        LoadBalancers = new[]
        {
            new SpotInst.Azure.Inputs.ElastigroupLoadBalancerArgs
            {
                AutoWeight = true,
                BalancerId = "lb-1ee2e3q",
                TargetSetId = "ts-3eq",
                Type = "MULTAI_TARGET_SET",
            },
        },
        Login = new SpotInst.Azure.Inputs.ElastigroupLoginArgs
        {
            SshPublicKey = "33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==",
            UserName = "admin",
        },
        LowPrioritySizes = new[]
        {
            "standard_a1_v1",
            "standard_a1_v2",
        },
        ManagedServiceIdentities = new[]
        {
            new SpotInst.Azure.Inputs.ElastigroupManagedServiceIdentityArgs
            {
                Name = "example-identity",
                ResourceGroupName = "spotinst-azure",
            },
        },
        MaxSize = 1,
        MinSize = 0,
        Network = new SpotInst.Azure.Inputs.ElastigroupNetworkArgs
        {
            AssignPublicIp = true,
            ResourceGroupName = "subnetResourceGroup",
            SubnetName = "my-subnet-name",
            VirtualNetworkName = "vname",
        },
        OdSizes = new[]
        {
            "standard_a1_v1",
            "standard_a1_v2",
        },
        Product = "Linux",
        Region = "eastus",
        ResourceGroupName = "spotinst-azure",
        ScalingDownPolicies = new[]
        {
            new SpotInst.Azure.Inputs.ElastigroupScalingDownPolicyArgs
            {
                ActionType = "adjustment",
                Adjustment = "MIN(5,10)",
                Cooldown = 60,
                Dimensions = new[]
                {
                    new SpotInst.Azure.Inputs.ElastigroupScalingDownPolicyDimensionArgs
                    {
                        Name = "name-1",
                        Value = "value-1",
                    },
                },
                EvaluationPeriods = 10,
                MetricName = "CPUUtilization",
                Namespace = "Microsoft.Compute",
                Operator = "gt",
                Period = 60,
                PolicyName = "policy-name",
                Statistic = "average",
                Threshold = 10,
                Unit = "percent",
            },
        },
        ScalingUpPolicies = new[]
        {
            new SpotInst.Azure.Inputs.ElastigroupScalingUpPolicyArgs
            {
                ActionType = "setMinTarget",
                Cooldown = 60,
                Dimensions = new[]
                {
                    new SpotInst.Azure.Inputs.ElastigroupScalingUpPolicyDimensionArgs
                    {
                        Name = "resourceName",
                        Value = "resource-name",
                    },
                    new SpotInst.Azure.Inputs.ElastigroupScalingUpPolicyDimensionArgs
                    {
                        Name = "resourceGroupName",
                        Value = "resource-group-name",
                    },
                },
                EvaluationPeriods = 10,
                MetricName = "CPUUtilization",
                MinTargetCapacity = "1",
                Namespace = "Microsoft.Compute",
                Operator = "gt",
                Period = 60,
                PolicyName = "policy-name",
                Statistic = "average",
                Threshold = 10,
                Unit = "percent",
            },
        },
        ScheduledTasks = new[]
        {
            new SpotInst.Azure.Inputs.ElastigroupScheduledTaskArgs
            {
                Adjustment = "2",
                AdjustmentPercentage = "50",
                BatchSizePercentage = "33",
                CronExpression = "* * * * *",
                GracePeriod = "300",
                IsEnabled = true,
                ScaleMaxCapacity = "8",
                ScaleMinCapacity = "5",
                ScaleTargetCapacity = "6",
                TaskType = "scale",
            },
        },
        ShutdownScript = "",
        Strategy = new SpotInst.Azure.Inputs.ElastigroupStrategyArgs
        {
            DrainingTimeout = 300,
            OdCount = 1,
        },
        UserData = "",
    });

});
package main

import (
	"github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/azure"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := azure.NewElastigroup(ctx, "testAzureGroup", &azure.ElastigroupArgs{
			DesiredCapacity: pulumi.Int(1),
			HealthCheck: &azure.ElastigroupHealthCheckArgs{
				AutoHealing:     pulumi.Bool(true),
				GracePeriod:     pulumi.Int(120),
				HealthCheckType: pulumi.String("INSTANCE_STATE"),
			},
			Images: azure.ElastigroupImageArray{
				&azure.ElastigroupImageArgs{
					Marketplaces: azure.ElastigroupImageMarketplaceArray{
						&azure.ElastigroupImageMarketplaceArgs{
							Offer:     pulumi.String("UbuntuServer"),
							Publisher: pulumi.String("Canonical"),
							Sku:       pulumi.String("16.04-LTS"),
						},
					},
				},
			},
			LoadBalancers: azure.ElastigroupLoadBalancerArray{
				&azure.ElastigroupLoadBalancerArgs{
					AutoWeight:  pulumi.Bool(true),
					BalancerId:  pulumi.String("lb-1ee2e3q"),
					TargetSetId: pulumi.String("ts-3eq"),
					Type:        pulumi.String("MULTAI_TARGET_SET"),
				},
			},
			Login: &azure.ElastigroupLoginArgs{
				SshPublicKey: pulumi.String("33a2s1f3g5a1df5g1ad3f2g1adfg56dfg=="),
				UserName:     pulumi.String("admin"),
			},
			LowPrioritySizes: pulumi.StringArray{
				pulumi.String("standard_a1_v1"),
				pulumi.String("standard_a1_v2"),
			},
			ManagedServiceIdentities: azure.ElastigroupManagedServiceIdentityArray{
				&azure.ElastigroupManagedServiceIdentityArgs{
					Name:              pulumi.String("example-identity"),
					ResourceGroupName: pulumi.String("spotinst-azure"),
				},
			},
			MaxSize: pulumi.Int(1),
			MinSize: pulumi.Int(0),
			Network: &azure.ElastigroupNetworkArgs{
				AssignPublicIp:     pulumi.Bool(true),
				ResourceGroupName:  pulumi.String("subnetResourceGroup"),
				SubnetName:         pulumi.String("my-subnet-name"),
				VirtualNetworkName: pulumi.String("vname"),
			},
			OdSizes: pulumi.StringArray{
				pulumi.String("standard_a1_v1"),
				pulumi.String("standard_a1_v2"),
			},
			Product:           pulumi.String("Linux"),
			Region:            pulumi.String("eastus"),
			ResourceGroupName: pulumi.String("spotinst-azure"),
			ScalingDownPolicies: azure.ElastigroupScalingDownPolicyArray{
				&azure.ElastigroupScalingDownPolicyArgs{
					ActionType: pulumi.String("adjustment"),
					Adjustment: pulumi.String("MIN(5,10)"),
					Cooldown:   pulumi.Int(60),
					Dimensions: azure.ElastigroupScalingDownPolicyDimensionArray{
						&azure.ElastigroupScalingDownPolicyDimensionArgs{
							Name:  pulumi.String("name-1"),
							Value: pulumi.String("value-1"),
						},
					},
					EvaluationPeriods: pulumi.Int(10),
					MetricName:        pulumi.String("CPUUtilization"),
					Namespace:         pulumi.String("Microsoft.Compute"),
					Operator:          pulumi.String("gt"),
					Period:            pulumi.Int(60),
					PolicyName:        pulumi.String("policy-name"),
					Statistic:         pulumi.String("average"),
					Threshold:         pulumi.Float64(10),
					Unit:              pulumi.String("percent"),
				},
			},
			ScalingUpPolicies: azure.ElastigroupScalingUpPolicyArray{
				&azure.ElastigroupScalingUpPolicyArgs{
					ActionType: pulumi.String("setMinTarget"),
					Cooldown:   pulumi.Int(60),
					Dimensions: azure.ElastigroupScalingUpPolicyDimensionArray{
						&azure.ElastigroupScalingUpPolicyDimensionArgs{
							Name:  pulumi.String("resourceName"),
							Value: pulumi.String("resource-name"),
						},
						&azure.ElastigroupScalingUpPolicyDimensionArgs{
							Name:  pulumi.String("resourceGroupName"),
							Value: pulumi.String("resource-group-name"),
						},
					},
					EvaluationPeriods: pulumi.Int(10),
					MetricName:        pulumi.String("CPUUtilization"),
					MinTargetCapacity: pulumi.String("1"),
					Namespace:         pulumi.String("Microsoft.Compute"),
					Operator:          pulumi.String("gt"),
					Period:            pulumi.Int(60),
					PolicyName:        pulumi.String("policy-name"),
					Statistic:         pulumi.String("average"),
					Threshold:         pulumi.Float64(10),
					Unit:              pulumi.String("percent"),
				},
			},
			ScheduledTasks: azure.ElastigroupScheduledTaskArray{
				&azure.ElastigroupScheduledTaskArgs{
					Adjustment:           pulumi.String("2"),
					AdjustmentPercentage: pulumi.String("50"),
					BatchSizePercentage:  pulumi.String("33"),
					CronExpression:       pulumi.String("* * * * *"),
					GracePeriod:          pulumi.String("300"),
					IsEnabled:            pulumi.Bool(true),
					ScaleMaxCapacity:     pulumi.String("8"),
					ScaleMinCapacity:     pulumi.String("5"),
					ScaleTargetCapacity:  pulumi.String("6"),
					TaskType:             pulumi.String("scale"),
				},
			},
			ShutdownScript: pulumi.String(""),
			Strategy: &azure.ElastigroupStrategyArgs{
				DrainingTimeout: pulumi.Int(300),
				OdCount:         pulumi.Int(1),
			},
			UserData: pulumi.String(""),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.spotinst.azure.Elastigroup;
import com.pulumi.spotinst.azure.ElastigroupArgs;
import com.pulumi.spotinst.azure.inputs.ElastigroupHealthCheckArgs;
import com.pulumi.spotinst.azure.inputs.ElastigroupImageArgs;
import com.pulumi.spotinst.azure.inputs.ElastigroupLoadBalancerArgs;
import com.pulumi.spotinst.azure.inputs.ElastigroupLoginArgs;
import com.pulumi.spotinst.azure.inputs.ElastigroupManagedServiceIdentityArgs;
import com.pulumi.spotinst.azure.inputs.ElastigroupNetworkArgs;
import com.pulumi.spotinst.azure.inputs.ElastigroupScalingDownPolicyArgs;
import com.pulumi.spotinst.azure.inputs.ElastigroupScalingUpPolicyArgs;
import com.pulumi.spotinst.azure.inputs.ElastigroupScheduledTaskArgs;
import com.pulumi.spotinst.azure.inputs.ElastigroupStrategyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var testAzureGroup = new Elastigroup("testAzureGroup", ElastigroupArgs.builder()        
            .desiredCapacity(1)
            .healthCheck(ElastigroupHealthCheckArgs.builder()
                .autoHealing(true)
                .gracePeriod(120)
                .healthCheckType("INSTANCE_STATE")
                .build())
            .images(ElastigroupImageArgs.builder()
                .marketplaces(ElastigroupImageMarketplaceArgs.builder()
                    .offer("UbuntuServer")
                    .publisher("Canonical")
                    .sku("16.04-LTS")
                    .build())
                .build())
            .loadBalancers(ElastigroupLoadBalancerArgs.builder()
                .autoWeight(true)
                .balancerId("lb-1ee2e3q")
                .targetSetId("ts-3eq")
                .type("MULTAI_TARGET_SET")
                .build())
            .login(ElastigroupLoginArgs.builder()
                .sshPublicKey("33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==")
                .userName("admin")
                .build())
            .lowPrioritySizes(            
                "standard_a1_v1",
                "standard_a1_v2")
            .managedServiceIdentities(ElastigroupManagedServiceIdentityArgs.builder()
                .name("example-identity")
                .resourceGroupName("spotinst-azure")
                .build())
            .maxSize(1)
            .minSize(0)
            .network(ElastigroupNetworkArgs.builder()
                .assignPublicIp(true)
                .resourceGroupName("subnetResourceGroup")
                .subnetName("my-subnet-name")
                .virtualNetworkName("vname")
                .build())
            .odSizes(            
                "standard_a1_v1",
                "standard_a1_v2")
            .product("Linux")
            .region("eastus")
            .resourceGroupName("spotinst-azure")
            .scalingDownPolicies(ElastigroupScalingDownPolicyArgs.builder()
                .actionType("adjustment")
                .adjustment("MIN(5,10)")
                .cooldown(60)
                .dimensions(ElastigroupScalingDownPolicyDimensionArgs.builder()
                    .name("name-1")
                    .value("value-1")
                    .build())
                .evaluationPeriods("10")
                .metricName("CPUUtilization")
                .namespace("Microsoft.Compute")
                .operator("gt")
                .period("60")
                .policyName("policy-name")
                .statistic("average")
                .threshold(10)
                .unit("percent")
                .build())
            .scalingUpPolicies(ElastigroupScalingUpPolicyArgs.builder()
                .actionType("setMinTarget")
                .cooldown(60)
                .dimensions(                
                    ElastigroupScalingUpPolicyDimensionArgs.builder()
                        .name("resourceName")
                        .value("resource-name")
                        .build(),
                    ElastigroupScalingUpPolicyDimensionArgs.builder()
                        .name("resourceGroupName")
                        .value("resource-group-name")
                        .build())
                .evaluationPeriods("10")
                .metricName("CPUUtilization")
                .minTargetCapacity(1)
                .namespace("Microsoft.Compute")
                .operator("gt")
                .period("60")
                .policyName("policy-name")
                .statistic("average")
                .threshold(10)
                .unit("percent")
                .build())
            .scheduledTasks(ElastigroupScheduledTaskArgs.builder()
                .adjustment(2)
                .adjustmentPercentage(50)
                .batchSizePercentage(33)
                .cronExpression("* * * * *")
                .gracePeriod(300)
                .isEnabled(true)
                .scaleMaxCapacity(8)
                .scaleMinCapacity(5)
                .scaleTargetCapacity(6)
                .taskType("scale")
                .build())
            .shutdownScript("")
            .strategy(ElastigroupStrategyArgs.builder()
                .drainingTimeout(300)
                .odCount(1)
                .build())
            .userData("")
            .build());

    }
}
import pulumi
import pulumi_spotinst as spotinst

test_azure_group = spotinst.azure.Elastigroup("testAzureGroup",
    desired_capacity=1,
    health_check=spotinst.azure.ElastigroupHealthCheckArgs(
        auto_healing=True,
        grace_period=120,
        health_check_type="INSTANCE_STATE",
    ),
    images=[spotinst.azure.ElastigroupImageArgs(
        marketplaces=[spotinst.azure.ElastigroupImageMarketplaceArgs(
            offer="UbuntuServer",
            publisher="Canonical",
            sku="16.04-LTS",
        )],
    )],
    load_balancers=[spotinst.azure.ElastigroupLoadBalancerArgs(
        auto_weight=True,
        balancer_id="lb-1ee2e3q",
        target_set_id="ts-3eq",
        type="MULTAI_TARGET_SET",
    )],
    login=spotinst.azure.ElastigroupLoginArgs(
        ssh_public_key="33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==",
        user_name="admin",
    ),
    low_priority_sizes=[
        "standard_a1_v1",
        "standard_a1_v2",
    ],
    managed_service_identities=[spotinst.azure.ElastigroupManagedServiceIdentityArgs(
        name="example-identity",
        resource_group_name="spotinst-azure",
    )],
    max_size=1,
    min_size=0,
    network=spotinst.azure.ElastigroupNetworkArgs(
        assign_public_ip=True,
        resource_group_name="subnetResourceGroup",
        subnet_name="my-subnet-name",
        virtual_network_name="vname",
    ),
    od_sizes=[
        "standard_a1_v1",
        "standard_a1_v2",
    ],
    product="Linux",
    region="eastus",
    resource_group_name="spotinst-azure",
    scaling_down_policies=[spotinst.azure.ElastigroupScalingDownPolicyArgs(
        action_type="adjustment",
        adjustment="MIN(5,10)",
        cooldown=60,
        dimensions=[spotinst.azure.ElastigroupScalingDownPolicyDimensionArgs(
            name="name-1",
            value="value-1",
        )],
        evaluation_periods=10,
        metric_name="CPUUtilization",
        namespace="Microsoft.Compute",
        operator="gt",
        period=60,
        policy_name="policy-name",
        statistic="average",
        threshold=10,
        unit="percent",
    )],
    scaling_up_policies=[spotinst.azure.ElastigroupScalingUpPolicyArgs(
        action_type="setMinTarget",
        cooldown=60,
        dimensions=[
            spotinst.azure.ElastigroupScalingUpPolicyDimensionArgs(
                name="resourceName",
                value="resource-name",
            ),
            spotinst.azure.ElastigroupScalingUpPolicyDimensionArgs(
                name="resourceGroupName",
                value="resource-group-name",
            ),
        ],
        evaluation_periods=10,
        metric_name="CPUUtilization",
        min_target_capacity="1",
        namespace="Microsoft.Compute",
        operator="gt",
        period=60,
        policy_name="policy-name",
        statistic="average",
        threshold=10,
        unit="percent",
    )],
    scheduled_tasks=[spotinst.azure.ElastigroupScheduledTaskArgs(
        adjustment="2",
        adjustment_percentage="50",
        batch_size_percentage="33",
        cron_expression="* * * * *",
        grace_period="300",
        is_enabled=True,
        scale_max_capacity="8",
        scale_min_capacity="5",
        scale_target_capacity="6",
        task_type="scale",
    )],
    shutdown_script="",
    strategy=spotinst.azure.ElastigroupStrategyArgs(
        draining_timeout=300,
        od_count=1,
    ),
    user_data="")
import * as pulumi from "@pulumi/pulumi";
import * as spotinst from "@pulumi/spotinst";

const testAzureGroup = new spotinst.azure.Elastigroup("testAzureGroup", {
    desiredCapacity: 1,
    healthCheck: {
        autoHealing: true,
        gracePeriod: 120,
        healthCheckType: "INSTANCE_STATE",
    },
    images: [{
        marketplaces: [{
            offer: "UbuntuServer",
            publisher: "Canonical",
            sku: "16.04-LTS",
        }],
    }],
    loadBalancers: [{
        autoWeight: true,
        balancerId: "lb-1ee2e3q",
        targetSetId: "ts-3eq",
        type: "MULTAI_TARGET_SET",
    }],
    login: {
        sshPublicKey: "33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==",
        userName: "admin",
    },
    lowPrioritySizes: [
        "standard_a1_v1",
        "standard_a1_v2",
    ],
    managedServiceIdentities: [{
        name: "example-identity",
        resourceGroupName: "spotinst-azure",
    }],
    maxSize: 1,
    minSize: 0,
    network: {
        assignPublicIp: true,
        resourceGroupName: "subnetResourceGroup",
        subnetName: "my-subnet-name",
        virtualNetworkName: "vname",
    },
    odSizes: [
        "standard_a1_v1",
        "standard_a1_v2",
    ],
    product: "Linux",
    region: "eastus",
    resourceGroupName: "spotinst-azure",
    scalingDownPolicies: [{
        actionType: "adjustment",
        adjustment: "MIN(5,10)",
        cooldown: 60,
        dimensions: [{
            name: "name-1",
            value: "value-1",
        }],
        evaluationPeriods: 10,
        metricName: "CPUUtilization",
        namespace: "Microsoft.Compute",
        operator: "gt",
        period: 60,
        policyName: "policy-name",
        statistic: "average",
        threshold: 10,
        unit: "percent",
    }],
    scalingUpPolicies: [{
        actionType: "setMinTarget",
        cooldown: 60,
        dimensions: [
            {
                name: "resourceName",
                value: "resource-name",
            },
            {
                name: "resourceGroupName",
                value: "resource-group-name",
            },
        ],
        evaluationPeriods: 10,
        metricName: "CPUUtilization",
        minTargetCapacity: "1",
        namespace: "Microsoft.Compute",
        operator: "gt",
        period: 60,
        policyName: "policy-name",
        statistic: "average",
        threshold: 10,
        unit: "percent",
    }],
    scheduledTasks: [{
        adjustment: "2",
        adjustmentPercentage: "50",
        batchSizePercentage: "33",
        cronExpression: "* * * * *",
        gracePeriod: "300",
        isEnabled: true,
        scaleMaxCapacity: "8",
        scaleMinCapacity: "5",
        scaleTargetCapacity: "6",
        taskType: "scale",
    }],
    shutdownScript: "",
    strategy: {
        drainingTimeout: 300,
        odCount: 1,
    },
    userData: "",
});
resources:
  testAzureGroup:
    type: spotinst:azure:Elastigroup
    properties:
      desiredCapacity: 1
      # --- HEALTH-CHECKS -------------------------------------------------
      healthCheck:
        autoHealing: true
        gracePeriod: 120
        healthCheckType: INSTANCE_STATE
      # --- IMAGE ---------------------------------------------------------
      images:
        - marketplaces:
            - offer: UbuntuServer
              publisher: Canonical
              sku: 16.04-LTS
      # --- LOAD BALANCERS ------------------------------------------------
      loadBalancers:
        - autoWeight: true
          balancerId: lb-1ee2e3q
          targetSetId: ts-3eq
          type: MULTAI_TARGET_SET
      # --- LOGIN ---------------------------------------------------------
      login:
        sshPublicKey: 33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==
        userName: admin
      lowPrioritySizes:
        - standard_a1_v1
        - standard_a1_v2
      managedServiceIdentities:
        - name: example-identity
          resourceGroupName: spotinst-azure
      maxSize: 1
      # --- CAPACITY ------------------------------------------------------
      minSize: 0
      # --- NETWORK -------------------------------------------------------
      network:
        assignPublicIp: true
        resourceGroupName: subnetResourceGroup
        subnetName: my-subnet-name
        virtualNetworkName: vname
      # --- INSTANCE TYPES ------------------------------------------------
      odSizes:
        - standard_a1_v1
        - standard_a1_v2
      product: Linux
      region: eastus
      resourceGroupName: spotinst-azure
      scalingDownPolicies:
        - actionType: adjustment
          adjustment: MIN(5,10)
          cooldown: 60
          dimensions:
            - name: name-1
              value: value-1
          evaluationPeriods: '10'
          metricName: CPUUtilization
          namespace: Microsoft.Compute
          operator: gt
          period: '60'
          policyName: policy-name
          statistic: average
          threshold: 10
          unit: percent
      # --- SCALING POLICIES ----------------------------------------------
      scalingUpPolicies:
        - actionType: setMinTarget
          cooldown: 60
          dimensions:
            - name: resourceName
              value: resource-name
            - name: resourceGroupName
              value: resource-group-name
          evaluationPeriods: '10'
          metricName: CPUUtilization
          minTargetCapacity: 1
          namespace: Microsoft.Compute
          operator: gt
          period: '60'
          policyName: policy-name
          statistic: average
          threshold: 10
          unit: percent
      # --- SCHEDULED TASK ------------------------------------------------
      scheduledTasks:
        - adjustment: 2
          adjustmentPercentage: 50
          batchSizePercentage: 33
          cronExpression: '* * * * *'
          gracePeriod: 300
          isEnabled: true
          scaleMaxCapacity: 8
          scaleMinCapacity: 5
          scaleTargetCapacity: 6
          taskType: scale
      shutdownScript:
      # --- STRATEGY ------------------------------------------------------
      strategy:
        drainingTimeout: 300
        odCount: 1
      userData:

Create Elastigroup Resource

new Elastigroup(name: string, args: ElastigroupArgs, opts?: CustomResourceOptions);
@overload
def Elastigroup(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                custom_data: Optional[str] = None,
                desired_capacity: Optional[int] = None,
                health_check: Optional[ElastigroupHealthCheckArgs] = None,
                images: Optional[Sequence[ElastigroupImageArgs]] = None,
                integration_kubernetes: Optional[ElastigroupIntegrationKubernetesArgs] = None,
                integration_multai_runtime: Optional[ElastigroupIntegrationMultaiRuntimeArgs] = None,
                load_balancers: Optional[Sequence[ElastigroupLoadBalancerArgs]] = None,
                login: Optional[ElastigroupLoginArgs] = None,
                low_priority_sizes: Optional[Sequence[str]] = None,
                managed_service_identities: Optional[Sequence[ElastigroupManagedServiceIdentityArgs]] = None,
                max_size: Optional[int] = None,
                min_size: Optional[int] = None,
                name: Optional[str] = None,
                network: Optional[ElastigroupNetworkArgs] = None,
                od_sizes: Optional[Sequence[str]] = None,
                product: Optional[str] = None,
                region: Optional[str] = None,
                resource_group_name: Optional[str] = None,
                scaling_down_policies: Optional[Sequence[ElastigroupScalingDownPolicyArgs]] = None,
                scaling_up_policies: Optional[Sequence[ElastigroupScalingUpPolicyArgs]] = None,
                scheduled_tasks: Optional[Sequence[ElastigroupScheduledTaskArgs]] = None,
                shutdown_script: Optional[str] = None,
                strategy: Optional[ElastigroupStrategyArgs] = None,
                update_policy: Optional[ElastigroupUpdatePolicyArgs] = None,
                user_data: Optional[str] = None)
@overload
def Elastigroup(resource_name: str,
                args: ElastigroupArgs,
                opts: Optional[ResourceOptions] = None)
func NewElastigroup(ctx *Context, name string, args ElastigroupArgs, opts ...ResourceOption) (*Elastigroup, error)
public Elastigroup(string name, ElastigroupArgs args, CustomResourceOptions? opts = null)
public Elastigroup(String name, ElastigroupArgs args)
public Elastigroup(String name, ElastigroupArgs args, CustomResourceOptions options)
type: spotinst:azure:Elastigroup
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args ElastigroupArgs
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 ElastigroupArgs
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 ElastigroupArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ElastigroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args ElastigroupArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Elastigroup 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 Elastigroup resource accepts the following input properties:

LowPrioritySizes List<string>

Available Low-Priority sizes.

Network Pulumi.SpotInst.Azure.Inputs.ElastigroupNetworkArgs
OdSizes List<string>

Available On-Demand sizes

Product string

Operation system type. Valid values: "Linux", "Windows".

Region string

The region your Azure group will be created in.

ResourceGroupName string

The Resource Group that the user-assigned managed identity resides in.

Strategy Pulumi.SpotInst.Azure.Inputs.ElastigroupStrategyArgs

Describes the deployment strategy.

CustomData string
DesiredCapacity int

The desired number of instances the group should have at any time.

HealthCheck Pulumi.SpotInst.Azure.Inputs.ElastigroupHealthCheckArgs
Images List<Pulumi.SpotInst.Azure.Inputs.ElastigroupImageArgs>
IntegrationKubernetes Pulumi.SpotInst.Azure.Inputs.ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

IntegrationMultaiRuntime Pulumi.SpotInst.Azure.Inputs.ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

LoadBalancers List<Pulumi.SpotInst.Azure.Inputs.ElastigroupLoadBalancerArgs>
Login Pulumi.SpotInst.Azure.Inputs.ElastigroupLoginArgs
ManagedServiceIdentities List<Pulumi.SpotInst.Azure.Inputs.ElastigroupManagedServiceIdentityArgs>
MaxSize int

The maximum number of instances the group should have at any time.

MinSize int

The minimum number of instances the group should have at any time.

Name string

The name of the managed identity.

ScalingDownPolicies List<Pulumi.SpotInst.Azure.Inputs.ElastigroupScalingDownPolicyArgs>
ScalingUpPolicies List<Pulumi.SpotInst.Azure.Inputs.ElastigroupScalingUpPolicyArgs>
ScheduledTasks List<Pulumi.SpotInst.Azure.Inputs.ElastigroupScheduledTaskArgs>

Describes the configuration of one or more scheduled tasks.

ShutdownScript string

Shutdown script for the group. Value should be passed as a string encoded at Base64 only.

UpdatePolicy Pulumi.SpotInst.Azure.Inputs.ElastigroupUpdatePolicyArgs
UserData string

Base64-encoded MIME user data to make available to the instances.

LowPrioritySizes []string

Available Low-Priority sizes.

Network ElastigroupNetworkArgs
OdSizes []string

Available On-Demand sizes

Product string

Operation system type. Valid values: "Linux", "Windows".

Region string

The region your Azure group will be created in.

ResourceGroupName string

The Resource Group that the user-assigned managed identity resides in.

Strategy ElastigroupStrategyArgs

Describes the deployment strategy.

CustomData string
DesiredCapacity int

The desired number of instances the group should have at any time.

HealthCheck ElastigroupHealthCheckArgs
Images []ElastigroupImageArgs
IntegrationKubernetes ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

IntegrationMultaiRuntime ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

LoadBalancers []ElastigroupLoadBalancerArgs
Login ElastigroupLoginArgs
ManagedServiceIdentities []ElastigroupManagedServiceIdentityArgs
MaxSize int

The maximum number of instances the group should have at any time.

MinSize int

The minimum number of instances the group should have at any time.

Name string

The name of the managed identity.

ScalingDownPolicies []ElastigroupScalingDownPolicyArgs
ScalingUpPolicies []ElastigroupScalingUpPolicyArgs
ScheduledTasks []ElastigroupScheduledTaskArgs

Describes the configuration of one or more scheduled tasks.

ShutdownScript string

Shutdown script for the group. Value should be passed as a string encoded at Base64 only.

UpdatePolicy ElastigroupUpdatePolicyArgs
UserData string

Base64-encoded MIME user data to make available to the instances.

lowPrioritySizes List<String>

Available Low-Priority sizes.

network ElastigroupNetworkArgs
odSizes List<String>

Available On-Demand sizes

product String

Operation system type. Valid values: "Linux", "Windows".

region String

The region your Azure group will be created in.

resourceGroupName String

The Resource Group that the user-assigned managed identity resides in.

strategy ElastigroupStrategyArgs

Describes the deployment strategy.

customData String
desiredCapacity Integer

The desired number of instances the group should have at any time.

healthCheck ElastigroupHealthCheckArgs
images List<ElastigroupImageArgs>
integrationKubernetes ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

integrationMultaiRuntime ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

loadBalancers List<ElastigroupLoadBalancerArgs>
login ElastigroupLoginArgs
managedServiceIdentities List<ElastigroupManagedServiceIdentityArgs>
maxSize Integer

The maximum number of instances the group should have at any time.

minSize Integer

The minimum number of instances the group should have at any time.

name String

The name of the managed identity.

scalingDownPolicies List<ElastigroupScalingDownPolicyArgs>
scalingUpPolicies List<ElastigroupScalingUpPolicyArgs>
scheduledTasks List<ElastigroupScheduledTaskArgs>

Describes the configuration of one or more scheduled tasks.

shutdownScript String

Shutdown script for the group. Value should be passed as a string encoded at Base64 only.

updatePolicy ElastigroupUpdatePolicyArgs
userData String

Base64-encoded MIME user data to make available to the instances.

lowPrioritySizes string[]

Available Low-Priority sizes.

network ElastigroupNetworkArgs
odSizes string[]

Available On-Demand sizes

product string

Operation system type. Valid values: "Linux", "Windows".

region string

The region your Azure group will be created in.

resourceGroupName string

The Resource Group that the user-assigned managed identity resides in.

strategy ElastigroupStrategyArgs

Describes the deployment strategy.

customData string
desiredCapacity number

The desired number of instances the group should have at any time.

healthCheck ElastigroupHealthCheckArgs
images ElastigroupImageArgs[]
integrationKubernetes ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

integrationMultaiRuntime ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

loadBalancers ElastigroupLoadBalancerArgs[]
login ElastigroupLoginArgs
managedServiceIdentities ElastigroupManagedServiceIdentityArgs[]
maxSize number

The maximum number of instances the group should have at any time.

minSize number

The minimum number of instances the group should have at any time.

name string

The name of the managed identity.

scalingDownPolicies ElastigroupScalingDownPolicyArgs[]
scalingUpPolicies ElastigroupScalingUpPolicyArgs[]
scheduledTasks ElastigroupScheduledTaskArgs[]

Describes the configuration of one or more scheduled tasks.

shutdownScript string

Shutdown script for the group. Value should be passed as a string encoded at Base64 only.

updatePolicy ElastigroupUpdatePolicyArgs
userData string

Base64-encoded MIME user data to make available to the instances.

low_priority_sizes Sequence[str]

Available Low-Priority sizes.

network ElastigroupNetworkArgs
od_sizes Sequence[str]

Available On-Demand sizes

product str

Operation system type. Valid values: "Linux", "Windows".

region str

The region your Azure group will be created in.

resource_group_name str

The Resource Group that the user-assigned managed identity resides in.

strategy ElastigroupStrategyArgs

Describes the deployment strategy.

custom_data str
desired_capacity int

The desired number of instances the group should have at any time.

health_check ElastigroupHealthCheckArgs
images Sequence[ElastigroupImageArgs]
integration_kubernetes ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

integration_multai_runtime ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

load_balancers Sequence[ElastigroupLoadBalancerArgs]
login ElastigroupLoginArgs
managed_service_identities Sequence[ElastigroupManagedServiceIdentityArgs]
max_size int

The maximum number of instances the group should have at any time.

min_size int

The minimum number of instances the group should have at any time.

name str

The name of the managed identity.

scaling_down_policies Sequence[ElastigroupScalingDownPolicyArgs]
scaling_up_policies Sequence[ElastigroupScalingUpPolicyArgs]
scheduled_tasks Sequence[ElastigroupScheduledTaskArgs]

Describes the configuration of one or more scheduled tasks.

shutdown_script str

Shutdown script for the group. Value should be passed as a string encoded at Base64 only.

update_policy ElastigroupUpdatePolicyArgs
user_data str

Base64-encoded MIME user data to make available to the instances.

lowPrioritySizes List<String>

Available Low-Priority sizes.

network Property Map
odSizes List<String>

Available On-Demand sizes

product String

Operation system type. Valid values: "Linux", "Windows".

region String

The region your Azure group will be created in.

resourceGroupName String

The Resource Group that the user-assigned managed identity resides in.

strategy Property Map

Describes the deployment strategy.

customData String
desiredCapacity Number

The desired number of instances the group should have at any time.

healthCheck Property Map
images List<Property Map>
integrationKubernetes Property Map

Describes the Kubernetes integration.

integrationMultaiRuntime Property Map

Describes the Multai Runtime integration.

loadBalancers List<Property Map>
login Property Map
managedServiceIdentities List<Property Map>
maxSize Number

The maximum number of instances the group should have at any time.

minSize Number

The minimum number of instances the group should have at any time.

name String

The name of the managed identity.

scalingDownPolicies List<Property Map>
scalingUpPolicies List<Property Map>
scheduledTasks List<Property Map>

Describes the configuration of one or more scheduled tasks.

shutdownScript String

Shutdown script for the group. Value should be passed as a string encoded at Base64 only.

updatePolicy Property Map
userData String

Base64-encoded MIME user data to make available to the instances.

Outputs

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

Id string

The provider-assigned unique ID for this managed resource.

Id string

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

id string

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Look up Existing Elastigroup Resource

Get an existing Elastigroup 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?: ElastigroupState, opts?: CustomResourceOptions): Elastigroup
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        custom_data: Optional[str] = None,
        desired_capacity: Optional[int] = None,
        health_check: Optional[ElastigroupHealthCheckArgs] = None,
        images: Optional[Sequence[ElastigroupImageArgs]] = None,
        integration_kubernetes: Optional[ElastigroupIntegrationKubernetesArgs] = None,
        integration_multai_runtime: Optional[ElastigroupIntegrationMultaiRuntimeArgs] = None,
        load_balancers: Optional[Sequence[ElastigroupLoadBalancerArgs]] = None,
        login: Optional[ElastigroupLoginArgs] = None,
        low_priority_sizes: Optional[Sequence[str]] = None,
        managed_service_identities: Optional[Sequence[ElastigroupManagedServiceIdentityArgs]] = None,
        max_size: Optional[int] = None,
        min_size: Optional[int] = None,
        name: Optional[str] = None,
        network: Optional[ElastigroupNetworkArgs] = None,
        od_sizes: Optional[Sequence[str]] = None,
        product: Optional[str] = None,
        region: Optional[str] = None,
        resource_group_name: Optional[str] = None,
        scaling_down_policies: Optional[Sequence[ElastigroupScalingDownPolicyArgs]] = None,
        scaling_up_policies: Optional[Sequence[ElastigroupScalingUpPolicyArgs]] = None,
        scheduled_tasks: Optional[Sequence[ElastigroupScheduledTaskArgs]] = None,
        shutdown_script: Optional[str] = None,
        strategy: Optional[ElastigroupStrategyArgs] = None,
        update_policy: Optional[ElastigroupUpdatePolicyArgs] = None,
        user_data: Optional[str] = None) -> Elastigroup
func GetElastigroup(ctx *Context, name string, id IDInput, state *ElastigroupState, opts ...ResourceOption) (*Elastigroup, error)
public static Elastigroup Get(string name, Input<string> id, ElastigroupState? state, CustomResourceOptions? opts = null)
public static Elastigroup get(String name, Output<String> id, ElastigroupState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
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.
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:
CustomData string
DesiredCapacity int

The desired number of instances the group should have at any time.

HealthCheck Pulumi.SpotInst.Azure.Inputs.ElastigroupHealthCheckArgs
Images List<Pulumi.SpotInst.Azure.Inputs.ElastigroupImageArgs>
IntegrationKubernetes Pulumi.SpotInst.Azure.Inputs.ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

IntegrationMultaiRuntime Pulumi.SpotInst.Azure.Inputs.ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

LoadBalancers List<Pulumi.SpotInst.Azure.Inputs.ElastigroupLoadBalancerArgs>
Login Pulumi.SpotInst.Azure.Inputs.ElastigroupLoginArgs
LowPrioritySizes List<string>

Available Low-Priority sizes.

ManagedServiceIdentities List<Pulumi.SpotInst.Azure.Inputs.ElastigroupManagedServiceIdentityArgs>
MaxSize int

The maximum number of instances the group should have at any time.

MinSize int

The minimum number of instances the group should have at any time.

Name string

The name of the managed identity.

Network Pulumi.SpotInst.Azure.Inputs.ElastigroupNetworkArgs
OdSizes List<string>

Available On-Demand sizes

Product string

Operation system type. Valid values: "Linux", "Windows".

Region string

The region your Azure group will be created in.

ResourceGroupName string

The Resource Group that the user-assigned managed identity resides in.

ScalingDownPolicies List<Pulumi.SpotInst.Azure.Inputs.ElastigroupScalingDownPolicyArgs>
ScalingUpPolicies List<Pulumi.SpotInst.Azure.Inputs.ElastigroupScalingUpPolicyArgs>
ScheduledTasks List<Pulumi.SpotInst.Azure.Inputs.ElastigroupScheduledTaskArgs>

Describes the configuration of one or more scheduled tasks.

ShutdownScript string

Shutdown script for the group. Value should be passed as a string encoded at Base64 only.

Strategy Pulumi.SpotInst.Azure.Inputs.ElastigroupStrategyArgs

Describes the deployment strategy.

UpdatePolicy Pulumi.SpotInst.Azure.Inputs.ElastigroupUpdatePolicyArgs
UserData string

Base64-encoded MIME user data to make available to the instances.

CustomData string
DesiredCapacity int

The desired number of instances the group should have at any time.

HealthCheck ElastigroupHealthCheckArgs
Images []ElastigroupImageArgs
IntegrationKubernetes ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

IntegrationMultaiRuntime ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

LoadBalancers []ElastigroupLoadBalancerArgs
Login ElastigroupLoginArgs
LowPrioritySizes []string

Available Low-Priority sizes.

ManagedServiceIdentities []ElastigroupManagedServiceIdentityArgs
MaxSize int

The maximum number of instances the group should have at any time.

MinSize int

The minimum number of instances the group should have at any time.

Name string

The name of the managed identity.

Network ElastigroupNetworkArgs
OdSizes []string

Available On-Demand sizes

Product string

Operation system type. Valid values: "Linux", "Windows".

Region string

The region your Azure group will be created in.

ResourceGroupName string

The Resource Group that the user-assigned managed identity resides in.

ScalingDownPolicies []ElastigroupScalingDownPolicyArgs
ScalingUpPolicies []ElastigroupScalingUpPolicyArgs
ScheduledTasks []ElastigroupScheduledTaskArgs

Describes the configuration of one or more scheduled tasks.

ShutdownScript string

Shutdown script for the group. Value should be passed as a string encoded at Base64 only.

Strategy ElastigroupStrategyArgs

Describes the deployment strategy.

UpdatePolicy ElastigroupUpdatePolicyArgs
UserData string

Base64-encoded MIME user data to make available to the instances.

customData String
desiredCapacity Integer

The desired number of instances the group should have at any time.

healthCheck ElastigroupHealthCheckArgs
images List<ElastigroupImageArgs>
integrationKubernetes ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

integrationMultaiRuntime ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

loadBalancers List<ElastigroupLoadBalancerArgs>
login ElastigroupLoginArgs
lowPrioritySizes List<String>

Available Low-Priority sizes.

managedServiceIdentities List<ElastigroupManagedServiceIdentityArgs>
maxSize Integer

The maximum number of instances the group should have at any time.

minSize Integer

The minimum number of instances the group should have at any time.

name String

The name of the managed identity.

network ElastigroupNetworkArgs
odSizes List<String>

Available On-Demand sizes

product String

Operation system type. Valid values: "Linux", "Windows".

region String

The region your Azure group will be created in.

resourceGroupName String

The Resource Group that the user-assigned managed identity resides in.

scalingDownPolicies List<ElastigroupScalingDownPolicyArgs>
scalingUpPolicies List<ElastigroupScalingUpPolicyArgs>
scheduledTasks List<ElastigroupScheduledTaskArgs>

Describes the configuration of one or more scheduled tasks.

shutdownScript String

Shutdown script for the group. Value should be passed as a string encoded at Base64 only.

strategy ElastigroupStrategyArgs

Describes the deployment strategy.

updatePolicy ElastigroupUpdatePolicyArgs
userData String

Base64-encoded MIME user data to make available to the instances.

customData string
desiredCapacity number

The desired number of instances the group should have at any time.

healthCheck ElastigroupHealthCheckArgs
images ElastigroupImageArgs[]
integrationKubernetes ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

integrationMultaiRuntime ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

loadBalancers ElastigroupLoadBalancerArgs[]
login ElastigroupLoginArgs
lowPrioritySizes string[]

Available Low-Priority sizes.

managedServiceIdentities ElastigroupManagedServiceIdentityArgs[]
maxSize number

The maximum number of instances the group should have at any time.

minSize number

The minimum number of instances the group should have at any time.

name string

The name of the managed identity.

network ElastigroupNetworkArgs
odSizes string[]

Available On-Demand sizes

product string

Operation system type. Valid values: "Linux", "Windows".

region string

The region your Azure group will be created in.

resourceGroupName string

The Resource Group that the user-assigned managed identity resides in.

scalingDownPolicies ElastigroupScalingDownPolicyArgs[]
scalingUpPolicies ElastigroupScalingUpPolicyArgs[]
scheduledTasks ElastigroupScheduledTaskArgs[]

Describes the configuration of one or more scheduled tasks.

shutdownScript string

Shutdown script for the group. Value should be passed as a string encoded at Base64 only.

strategy ElastigroupStrategyArgs

Describes the deployment strategy.

updatePolicy ElastigroupUpdatePolicyArgs
userData string

Base64-encoded MIME user data to make available to the instances.

custom_data str
desired_capacity int

The desired number of instances the group should have at any time.

health_check ElastigroupHealthCheckArgs
images Sequence[ElastigroupImageArgs]
integration_kubernetes ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

integration_multai_runtime ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

load_balancers Sequence[ElastigroupLoadBalancerArgs]
login ElastigroupLoginArgs
low_priority_sizes Sequence[str]

Available Low-Priority sizes.

managed_service_identities Sequence[ElastigroupManagedServiceIdentityArgs]
max_size int

The maximum number of instances the group should have at any time.

min_size int

The minimum number of instances the group should have at any time.

name str

The name of the managed identity.

network ElastigroupNetworkArgs
od_sizes Sequence[str]

Available On-Demand sizes

product str

Operation system type. Valid values: "Linux", "Windows".

region str

The region your Azure group will be created in.

resource_group_name str

The Resource Group that the user-assigned managed identity resides in.

scaling_down_policies Sequence[ElastigroupScalingDownPolicyArgs]
scaling_up_policies Sequence[ElastigroupScalingUpPolicyArgs]
scheduled_tasks Sequence[ElastigroupScheduledTaskArgs]

Describes the configuration of one or more scheduled tasks.

shutdown_script str

Shutdown script for the group. Value should be passed as a string encoded at Base64 only.

strategy ElastigroupStrategyArgs

Describes the deployment strategy.

update_policy ElastigroupUpdatePolicyArgs
user_data str

Base64-encoded MIME user data to make available to the instances.

customData String
desiredCapacity Number

The desired number of instances the group should have at any time.

healthCheck Property Map
images List<Property Map>
integrationKubernetes Property Map

Describes the Kubernetes integration.

integrationMultaiRuntime Property Map

Describes the Multai Runtime integration.

loadBalancers List<Property Map>
login Property Map
lowPrioritySizes List<String>

Available Low-Priority sizes.

managedServiceIdentities List<Property Map>
maxSize Number

The maximum number of instances the group should have at any time.

minSize Number

The minimum number of instances the group should have at any time.

name String

The name of the managed identity.

network Property Map
odSizes List<String>

Available On-Demand sizes

product String

Operation system type. Valid values: "Linux", "Windows".

region String

The region your Azure group will be created in.

resourceGroupName String

The Resource Group that the user-assigned managed identity resides in.

scalingDownPolicies List<Property Map>
scalingUpPolicies List<Property Map>
scheduledTasks List<Property Map>

Describes the configuration of one or more scheduled tasks.

shutdownScript String

Shutdown script for the group. Value should be passed as a string encoded at Base64 only.

strategy Property Map

Describes the deployment strategy.

updatePolicy Property Map
userData String

Base64-encoded MIME user data to make available to the instances.

Supporting Types

ElastigroupHealthCheck

HealthCheckType string

Health check used to validate VM health. Valid values: “INSTANCE_STATE”.

AutoHealing bool

Enable auto-healing of unhealthy VMs.

GracePeriod int

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

HealthCheckType string

Health check used to validate VM health. Valid values: “INSTANCE_STATE”.

AutoHealing bool

Enable auto-healing of unhealthy VMs.

GracePeriod int

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

healthCheckType String

Health check used to validate VM health. Valid values: “INSTANCE_STATE”.

autoHealing Boolean

Enable auto-healing of unhealthy VMs.

gracePeriod Integer

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

healthCheckType string

Health check used to validate VM health. Valid values: “INSTANCE_STATE”.

autoHealing boolean

Enable auto-healing of unhealthy VMs.

gracePeriod number

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

health_check_type str

Health check used to validate VM health. Valid values: “INSTANCE_STATE”.

auto_healing bool

Enable auto-healing of unhealthy VMs.

grace_period int

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

healthCheckType String

Health check used to validate VM health. Valid values: “INSTANCE_STATE”.

autoHealing Boolean

Enable auto-healing of unhealthy VMs.

gracePeriod Number

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

ElastigroupImage

ElastigroupImageCustom

ImageName string

Name of the custom image. Required if resource_group_name is specified.

ResourceGroupName string

The Resource Group that the user-assigned managed identity resides in.

ImageName string

Name of the custom image. Required if resource_group_name is specified.

ResourceGroupName string

The Resource Group that the user-assigned managed identity resides in.

imageName String

Name of the custom image. Required if resource_group_name is specified.

resourceGroupName String

The Resource Group that the user-assigned managed identity resides in.

imageName string

Name of the custom image. Required if resource_group_name is specified.

resourceGroupName string

The Resource Group that the user-assigned managed identity resides in.

image_name str

Name of the custom image. Required if resource_group_name is specified.

resource_group_name str

The Resource Group that the user-assigned managed identity resides in.

imageName String

Name of the custom image. Required if resource_group_name is specified.

resourceGroupName String

The Resource Group that the user-assigned managed identity resides in.

ElastigroupImageMarketplace

Offer string

Name of the image to use. Required if publisher is specified.

Publisher string

Image publisher. Required if resource_group_name is not specified.

Sku string

Image's Stock Keeping Unit, which is the specific version of the image. Required if publisher is specified.

Offer string

Name of the image to use. Required if publisher is specified.

Publisher string

Image publisher. Required if resource_group_name is not specified.

Sku string

Image's Stock Keeping Unit, which is the specific version of the image. Required if publisher is specified.

offer String

Name of the image to use. Required if publisher is specified.

publisher String

Image publisher. Required if resource_group_name is not specified.

sku String

Image's Stock Keeping Unit, which is the specific version of the image. Required if publisher is specified.

offer string

Name of the image to use. Required if publisher is specified.

publisher string

Image publisher. Required if resource_group_name is not specified.

sku string

Image's Stock Keeping Unit, which is the specific version of the image. Required if publisher is specified.

offer str

Name of the image to use. Required if publisher is specified.

publisher str

Image publisher. Required if resource_group_name is not specified.

sku str

Image's Stock Keeping Unit, which is the specific version of the image. Required if publisher is specified.

offer String

Name of the image to use. Required if publisher is specified.

publisher String

Image publisher. Required if resource_group_name is not specified.

sku String

Image's Stock Keeping Unit, which is the specific version of the image. Required if publisher is specified.

ElastigroupIntegrationKubernetes

ClusterIdentifier string

The cluster ID.

ClusterIdentifier string

The cluster ID.

clusterIdentifier String

The cluster ID.

clusterIdentifier string

The cluster ID.

cluster_identifier str

The cluster ID.

clusterIdentifier String

The cluster ID.

ElastigroupIntegrationMultaiRuntime

DeploymentId string

The deployment id you want to get

DeploymentId string

The deployment id you want to get

deploymentId String

The deployment id you want to get

deploymentId string

The deployment id you want to get

deployment_id str

The deployment id you want to get

deploymentId String

The deployment id you want to get

ElastigroupLoadBalancer

Type string

The resource type. Valid values: CLASSIC, TARGET_GROUP, MULTAI_TARGET_SET.

AutoWeight bool
BalancerId string

The balancer ID.

TargetSetId string

The scale set ID associated with the load balancer.

Type string

The resource type. Valid values: CLASSIC, TARGET_GROUP, MULTAI_TARGET_SET.

AutoWeight bool
BalancerId string

The balancer ID.

TargetSetId string

The scale set ID associated with the load balancer.

type String

The resource type. Valid values: CLASSIC, TARGET_GROUP, MULTAI_TARGET_SET.

autoWeight Boolean
balancerId String

The balancer ID.

targetSetId String

The scale set ID associated with the load balancer.

type string

The resource type. Valid values: CLASSIC, TARGET_GROUP, MULTAI_TARGET_SET.

autoWeight boolean
balancerId string

The balancer ID.

targetSetId string

The scale set ID associated with the load balancer.

type str

The resource type. Valid values: CLASSIC, TARGET_GROUP, MULTAI_TARGET_SET.

auto_weight bool
balancer_id str

The balancer ID.

target_set_id str

The scale set ID associated with the load balancer.

type String

The resource type. Valid values: CLASSIC, TARGET_GROUP, MULTAI_TARGET_SET.

autoWeight Boolean
balancerId String

The balancer ID.

targetSetId String

The scale set ID associated with the load balancer.

ElastigroupLogin

UserName string

Set admin access for accessing your VMs.

Password string

Password for admin access to Windows VMs. Required for Windows product types.

SshPublicKey string

SSH for admin access to Linux VMs. Required for Linux product types.

UserName string

Set admin access for accessing your VMs.

Password string

Password for admin access to Windows VMs. Required for Windows product types.

SshPublicKey string

SSH for admin access to Linux VMs. Required for Linux product types.

userName String

Set admin access for accessing your VMs.

password String

Password for admin access to Windows VMs. Required for Windows product types.

sshPublicKey String

SSH for admin access to Linux VMs. Required for Linux product types.

userName string

Set admin access for accessing your VMs.

password string

Password for admin access to Windows VMs. Required for Windows product types.

sshPublicKey string

SSH for admin access to Linux VMs. Required for Linux product types.

user_name str

Set admin access for accessing your VMs.

password str

Password for admin access to Windows VMs. Required for Windows product types.

ssh_public_key str

SSH for admin access to Linux VMs. Required for Linux product types.

userName String

Set admin access for accessing your VMs.

password String

Password for admin access to Windows VMs. Required for Windows product types.

sshPublicKey String

SSH for admin access to Linux VMs. Required for Linux product types.

ElastigroupManagedServiceIdentity

Name string

The name of the managed identity.

ResourceGroupName string

The Resource Group that the user-assigned managed identity resides in.

Name string

The name of the managed identity.

ResourceGroupName string

The Resource Group that the user-assigned managed identity resides in.

name String

The name of the managed identity.

resourceGroupName String

The Resource Group that the user-assigned managed identity resides in.

name string

The name of the managed identity.

resourceGroupName string

The Resource Group that the user-assigned managed identity resides in.

name str

The name of the managed identity.

resource_group_name str

The Resource Group that the user-assigned managed identity resides in.

name String

The name of the managed identity.

resourceGroupName String

The Resource Group that the user-assigned managed identity resides in.

ElastigroupNetwork

ResourceGroupName string

Vnet Resource Group Name.

SubnetName string

ID of subnet.

VirtualNetworkName string

Name of Vnet.

AdditionalIpConfigs List<Pulumi.SpotInst.Azure.Inputs.ElastigroupNetworkAdditionalIpConfig>

Array of additional IP configuration objects.

AssignPublicIp bool
ResourceGroupName string

Vnet Resource Group Name.

SubnetName string

ID of subnet.

VirtualNetworkName string

Name of Vnet.

AdditionalIpConfigs []ElastigroupNetworkAdditionalIpConfig

Array of additional IP configuration objects.

AssignPublicIp bool
resourceGroupName String

Vnet Resource Group Name.

subnetName String

ID of subnet.

virtualNetworkName String

Name of Vnet.

additionalIpConfigs List<ElastigroupNetworkAdditionalIpConfig>

Array of additional IP configuration objects.

assignPublicIp Boolean
resourceGroupName string

Vnet Resource Group Name.

subnetName string

ID of subnet.

virtualNetworkName string

Name of Vnet.

additionalIpConfigs ElastigroupNetworkAdditionalIpConfig[]

Array of additional IP configuration objects.

assignPublicIp boolean
resource_group_name str

Vnet Resource Group Name.

subnet_name str

ID of subnet.

virtual_network_name str

Name of Vnet.

additional_ip_configs Sequence[ElastigroupNetworkAdditionalIpConfig]

Array of additional IP configuration objects.

assign_public_ip bool
resourceGroupName String

Vnet Resource Group Name.

subnetName String

ID of subnet.

virtualNetworkName String

Name of Vnet.

additionalIpConfigs List<Property Map>

Array of additional IP configuration objects.

assignPublicIp Boolean

ElastigroupNetworkAdditionalIpConfig

Name string

The name of the managed identity.

PrivateIpVersion string

Available from Azure Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Valid values: IPv4, IPv6.

Name string

The name of the managed identity.

PrivateIpVersion string

Available from Azure Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Valid values: IPv4, IPv6.

name String

The name of the managed identity.

privateIpVersion String

Available from Azure Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Valid values: IPv4, IPv6.

name string

The name of the managed identity.

privateIpVersion string

Available from Azure Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Valid values: IPv4, IPv6.

name str

The name of the managed identity.

private_ip_version str

Available from Azure Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Valid values: IPv4, IPv6.

name String

The name of the managed identity.

privateIpVersion String

Available from Azure Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Valid values: IPv4, IPv6.

ElastigroupScalingDownPolicy

MetricName string

Metric to monitor by Azure metric display name.

Namespace string

The namespace for the alarm's associated metric. Valid values:

PolicyName string

The name of the policy.

Threshold double

The value against which the specified statistic is compared.

ActionType string

The type of action to perform for scaling. Valid values: "adjustment", "percentageAdjustment", "setMaxTarget", "setMinTarget", "updateCapacity".

Adjustment string

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

Cooldown int

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

Dimensions List<Pulumi.SpotInst.Azure.Inputs.ElastigroupScalingDownPolicyDimension>

A list of dimensions describing qualities of the metric. Required when namespace is defined AND not "Microsoft.Compute".

EvaluationPeriods int

The number of periods over which data is compared to the specified threshold.

MaxTargetCapacity string

. The number of the desired target (and maximum) capacity

Maximum string

The maximal number of instances to have in the group.

MinTargetCapacity string

. The number of the desired target (and minimum) capacity

Minimum string

The minimal number of instances to have in the group.

Operator string

The operator to use in order to determine if the scaling policy is applicable. Valid values: "gt", "gte", "lt", "lte".

Period int

The granularity, in seconds, of the returned datapoints. Period must be at least 60 seconds and must be a multiple of 60.

Statistic string

The metric statistics to return. Valid values: average.

Target string

The target number of instances to have in the group.

Unit string

The unit for the alarm's associated metric. Valid values: "percent, "seconds", "microseconds", "milliseconds", "bytes", "kilobytes", "megabytes", "gigabytes", "terabytes", "bits", "kilobits", "megabits", "gigabits", "terabits", "count", "bytes/second", "kilobytes/second", "megabytes/second", "gigabytes/second", "terabytes/second", "bits/second", "kilobits/second", "megabits/second", "gigabits/second", "terabits/second", "count/second", "none".

MetricName string

Metric to monitor by Azure metric display name.

Namespace string

The namespace for the alarm's associated metric. Valid values:

PolicyName string

The name of the policy.

Threshold float64

The value against which the specified statistic is compared.

ActionType string

The type of action to perform for scaling. Valid values: "adjustment", "percentageAdjustment", "setMaxTarget", "setMinTarget", "updateCapacity".

Adjustment string

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

Cooldown int

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

Dimensions []ElastigroupScalingDownPolicyDimension

A list of dimensions describing qualities of the metric. Required when namespace is defined AND not "Microsoft.Compute".

EvaluationPeriods int

The number of periods over which data is compared to the specified threshold.

MaxTargetCapacity string

. The number of the desired target (and maximum) capacity

Maximum string

The maximal number of instances to have in the group.

MinTargetCapacity string

. The number of the desired target (and minimum) capacity

Minimum string

The minimal number of instances to have in the group.

Operator string

The operator to use in order to determine if the scaling policy is applicable. Valid values: "gt", "gte", "lt", "lte".

Period int

The granularity, in seconds, of the returned datapoints. Period must be at least 60 seconds and must be a multiple of 60.

Statistic string

The metric statistics to return. Valid values: average.

Target string

The target number of instances to have in the group.

Unit string

The unit for the alarm's associated metric. Valid values: "percent, "seconds", "microseconds", "milliseconds", "bytes", "kilobytes", "megabytes", "gigabytes", "terabytes", "bits", "kilobits", "megabits", "gigabits", "terabits", "count", "bytes/second", "kilobytes/second", "megabytes/second", "gigabytes/second", "terabytes/second", "bits/second", "kilobits/second", "megabits/second", "gigabits/second", "terabits/second", "count/second", "none".

metricName String

Metric to monitor by Azure metric display name.

namespace String

The namespace for the alarm's associated metric. Valid values:

policyName String

The name of the policy.

threshold Double

The value against which the specified statistic is compared.

actionType String

The type of action to perform for scaling. Valid values: "adjustment", "percentageAdjustment", "setMaxTarget", "setMinTarget", "updateCapacity".

adjustment String

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

cooldown Integer

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

dimensions List<ElastigroupScalingDownPolicyDimension>

A list of dimensions describing qualities of the metric. Required when namespace is defined AND not "Microsoft.Compute".

evaluationPeriods Integer

The number of periods over which data is compared to the specified threshold.

maxTargetCapacity String

. The number of the desired target (and maximum) capacity

maximum String

The maximal number of instances to have in the group.

minTargetCapacity String

. The number of the desired target (and minimum) capacity

minimum String

The minimal number of instances to have in the group.

operator String

The operator to use in order to determine if the scaling policy is applicable. Valid values: "gt", "gte", "lt", "lte".

period Integer

The granularity, in seconds, of the returned datapoints. Period must be at least 60 seconds and must be a multiple of 60.

statistic String

The metric statistics to return. Valid values: average.

target String

The target number of instances to have in the group.

unit String

The unit for the alarm's associated metric. Valid values: "percent, "seconds", "microseconds", "milliseconds", "bytes", "kilobytes", "megabytes", "gigabytes", "terabytes", "bits", "kilobits", "megabits", "gigabits", "terabits", "count", "bytes/second", "kilobytes/second", "megabytes/second", "gigabytes/second", "terabytes/second", "bits/second", "kilobits/second", "megabits/second", "gigabits/second", "terabits/second", "count/second", "none".

metricName string

Metric to monitor by Azure metric display name.

namespace string

The namespace for the alarm's associated metric. Valid values:

policyName string

The name of the policy.

threshold number

The value against which the specified statistic is compared.

actionType string

The type of action to perform for scaling. Valid values: "adjustment", "percentageAdjustment", "setMaxTarget", "setMinTarget", "updateCapacity".

adjustment string

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

cooldown number

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

dimensions ElastigroupScalingDownPolicyDimension[]

A list of dimensions describing qualities of the metric. Required when namespace is defined AND not "Microsoft.Compute".

evaluationPeriods number

The number of periods over which data is compared to the specified threshold.

maxTargetCapacity string

. The number of the desired target (and maximum) capacity

maximum string

The maximal number of instances to have in the group.

minTargetCapacity string

. The number of the desired target (and minimum) capacity

minimum string

The minimal number of instances to have in the group.

operator string

The operator to use in order to determine if the scaling policy is applicable. Valid values: "gt", "gte", "lt", "lte".

period number

The granularity, in seconds, of the returned datapoints. Period must be at least 60 seconds and must be a multiple of 60.

statistic string

The metric statistics to return. Valid values: average.

target string

The target number of instances to have in the group.

unit string

The unit for the alarm's associated metric. Valid values: "percent, "seconds", "microseconds", "milliseconds", "bytes", "kilobytes", "megabytes", "gigabytes", "terabytes", "bits", "kilobits", "megabits", "gigabits", "terabits", "count", "bytes/second", "kilobytes/second", "megabytes/second", "gigabytes/second", "terabytes/second", "bits/second", "kilobits/second", "megabits/second", "gigabits/second", "terabits/second", "count/second", "none".

metric_name str

Metric to monitor by Azure metric display name.

namespace str

The namespace for the alarm's associated metric. Valid values:

policy_name str

The name of the policy.

threshold float

The value against which the specified statistic is compared.

action_type str

The type of action to perform for scaling. Valid values: "adjustment", "percentageAdjustment", "setMaxTarget", "setMinTarget", "updateCapacity".

adjustment str

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

cooldown int

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

dimensions Sequence[ElastigroupScalingDownPolicyDimension]

A list of dimensions describing qualities of the metric. Required when namespace is defined AND not "Microsoft.Compute".

evaluation_periods int

The number of periods over which data is compared to the specified threshold.

max_target_capacity str

. The number of the desired target (and maximum) capacity

maximum str

The maximal number of instances to have in the group.

min_target_capacity str

. The number of the desired target (and minimum) capacity

minimum str

The minimal number of instances to have in the group.

operator str

The operator to use in order to determine if the scaling policy is applicable. Valid values: "gt", "gte", "lt", "lte".

period int

The granularity, in seconds, of the returned datapoints. Period must be at least 60 seconds and must be a multiple of 60.

statistic str

The metric statistics to return. Valid values: average.

target str

The target number of instances to have in the group.

unit str

The unit for the alarm's associated metric. Valid values: "percent, "seconds", "microseconds", "milliseconds", "bytes", "kilobytes", "megabytes", "gigabytes", "terabytes", "bits", "kilobits", "megabits", "gigabits", "terabits", "count", "bytes/second", "kilobytes/second", "megabytes/second", "gigabytes/second", "terabytes/second", "bits/second", "kilobits/second", "megabits/second", "gigabits/second", "terabits/second", "count/second", "none".

metricName String

Metric to monitor by Azure metric display name.

namespace String

The namespace for the alarm's associated metric. Valid values:

policyName String

The name of the policy.

threshold Number

The value against which the specified statistic is compared.

actionType String

The type of action to perform for scaling. Valid values: "adjustment", "percentageAdjustment", "setMaxTarget", "setMinTarget", "updateCapacity".

adjustment String

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

cooldown Number

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

dimensions List<Property Map>

A list of dimensions describing qualities of the metric. Required when namespace is defined AND not "Microsoft.Compute".

evaluationPeriods Number

The number of periods over which data is compared to the specified threshold.

maxTargetCapacity String

. The number of the desired target (and maximum) capacity

maximum String

The maximal number of instances to have in the group.

minTargetCapacity String

. The number of the desired target (and minimum) capacity

minimum String

The minimal number of instances to have in the group.

operator String

The operator to use in order to determine if the scaling policy is applicable. Valid values: "gt", "gte", "lt", "lte".

period Number

The granularity, in seconds, of the returned datapoints. Period must be at least 60 seconds and must be a multiple of 60.

statistic String

The metric statistics to return. Valid values: average.

target String

The target number of instances to have in the group.

unit String

The unit for the alarm's associated metric. Valid values: "percent, "seconds", "microseconds", "milliseconds", "bytes", "kilobytes", "megabytes", "gigabytes", "terabytes", "bits", "kilobits", "megabits", "gigabits", "terabits", "count", "bytes/second", "kilobytes/second", "megabytes/second", "gigabytes/second", "terabytes/second", "bits/second", "kilobits/second", "megabits/second", "gigabits/second", "terabits/second", "count/second", "none".

ElastigroupScalingDownPolicyDimension

Name string

The name of the managed identity.

Value string

The dimension value.

Name string

The name of the managed identity.

Value string

The dimension value.

name String

The name of the managed identity.

value String

The dimension value.

name string

The name of the managed identity.

value string

The dimension value.

name str

The name of the managed identity.

value str

The dimension value.

name String

The name of the managed identity.

value String

The dimension value.

ElastigroupScalingUpPolicy

MetricName string

Metric to monitor by Azure metric display name.

Namespace string

The namespace for the alarm's associated metric. Valid values:

PolicyName string

The name of the policy.

Threshold double

The value against which the specified statistic is compared.

ActionType string

The type of action to perform for scaling. Valid values: "adjustment", "percentageAdjustment", "setMaxTarget", "setMinTarget", "updateCapacity".

Adjustment string

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

Cooldown int

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

Dimensions List<Pulumi.SpotInst.Azure.Inputs.ElastigroupScalingUpPolicyDimension>

A list of dimensions describing qualities of the metric. Required when namespace is defined AND not "Microsoft.Compute".

EvaluationPeriods int

The number of periods over which data is compared to the specified threshold.

MaxTargetCapacity string

. The number of the desired target (and maximum) capacity

Maximum string

The maximal number of instances to have in the group.

MinTargetCapacity string

. The number of the desired target (and minimum) capacity

Minimum string

The minimal number of instances to have in the group.

Operator string

The operator to use in order to determine if the scaling policy is applicable. Valid values: "gt", "gte", "lt", "lte".

Period int

The granularity, in seconds, of the returned datapoints. Period must be at least 60 seconds and must be a multiple of 60.

Statistic string

The metric statistics to return. Valid values: average.

Target string

The target number of instances to have in the group.

Unit string

The unit for the alarm's associated metric. Valid values: "percent, "seconds", "microseconds", "milliseconds", "bytes", "kilobytes", "megabytes", "gigabytes", "terabytes", "bits", "kilobits", "megabits", "gigabits", "terabits", "count", "bytes/second", "kilobytes/second", "megabytes/second", "gigabytes/second", "terabytes/second", "bits/second", "kilobits/second", "megabits/second", "gigabits/second", "terabits/second", "count/second", "none".

MetricName string

Metric to monitor by Azure metric display name.

Namespace string

The namespace for the alarm's associated metric. Valid values:

PolicyName string

The name of the policy.

Threshold float64

The value against which the specified statistic is compared.

ActionType string

The type of action to perform for scaling. Valid values: "adjustment", "percentageAdjustment", "setMaxTarget", "setMinTarget", "updateCapacity".

Adjustment string

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

Cooldown int

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

Dimensions []ElastigroupScalingUpPolicyDimension

A list of dimensions describing qualities of the metric. Required when namespace is defined AND not "Microsoft.Compute".

EvaluationPeriods int

The number of periods over which data is compared to the specified threshold.

MaxTargetCapacity string

. The number of the desired target (and maximum) capacity

Maximum string

The maximal number of instances to have in the group.

MinTargetCapacity string

. The number of the desired target (and minimum) capacity

Minimum string

The minimal number of instances to have in the group.

Operator string

The operator to use in order to determine if the scaling policy is applicable. Valid values: "gt", "gte", "lt", "lte".

Period int

The granularity, in seconds, of the returned datapoints. Period must be at least 60 seconds and must be a multiple of 60.

Statistic string

The metric statistics to return. Valid values: average.

Target string

The target number of instances to have in the group.

Unit string

The unit for the alarm's associated metric. Valid values: "percent, "seconds", "microseconds", "milliseconds", "bytes", "kilobytes", "megabytes", "gigabytes", "terabytes", "bits", "kilobits", "megabits", "gigabits", "terabits", "count", "bytes/second", "kilobytes/second", "megabytes/second", "gigabytes/second", "terabytes/second", "bits/second", "kilobits/second", "megabits/second", "gigabits/second", "terabits/second", "count/second", "none".

metricName String

Metric to monitor by Azure metric display name.

namespace String

The namespace for the alarm's associated metric. Valid values:

policyName String

The name of the policy.

threshold Double

The value against which the specified statistic is compared.

actionType String

The type of action to perform for scaling. Valid values: "adjustment", "percentageAdjustment", "setMaxTarget", "setMinTarget", "updateCapacity".

adjustment String

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

cooldown Integer

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

dimensions List<ElastigroupScalingUpPolicyDimension>

A list of dimensions describing qualities of the metric. Required when namespace is defined AND not "Microsoft.Compute".

evaluationPeriods Integer

The number of periods over which data is compared to the specified threshold.

maxTargetCapacity String

. The number of the desired target (and maximum) capacity

maximum String

The maximal number of instances to have in the group.

minTargetCapacity String

. The number of the desired target (and minimum) capacity

minimum String

The minimal number of instances to have in the group.

operator String

The operator to use in order to determine if the scaling policy is applicable. Valid values: "gt", "gte", "lt", "lte".

period Integer

The granularity, in seconds, of the returned datapoints. Period must be at least 60 seconds and must be a multiple of 60.

statistic String

The metric statistics to return. Valid values: average.

target String

The target number of instances to have in the group.

unit String

The unit for the alarm's associated metric. Valid values: "percent, "seconds", "microseconds", "milliseconds", "bytes", "kilobytes", "megabytes", "gigabytes", "terabytes", "bits", "kilobits", "megabits", "gigabits", "terabits", "count", "bytes/second", "kilobytes/second", "megabytes/second", "gigabytes/second", "terabytes/second", "bits/second", "kilobits/second", "megabits/second", "gigabits/second", "terabits/second", "count/second", "none".

metricName string

Metric to monitor by Azure metric display name.

namespace string

The namespace for the alarm's associated metric. Valid values:

policyName string

The name of the policy.

threshold number

The value against which the specified statistic is compared.

actionType string

The type of action to perform for scaling. Valid values: "adjustment", "percentageAdjustment", "setMaxTarget", "setMinTarget", "updateCapacity".

adjustment string

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

cooldown number

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

dimensions ElastigroupScalingUpPolicyDimension[]

A list of dimensions describing qualities of the metric. Required when namespace is defined AND not "Microsoft.Compute".

evaluationPeriods number

The number of periods over which data is compared to the specified threshold.

maxTargetCapacity string

. The number of the desired target (and maximum) capacity

maximum string

The maximal number of instances to have in the group.

minTargetCapacity string

. The number of the desired target (and minimum) capacity

minimum string

The minimal number of instances to have in the group.

operator string

The operator to use in order to determine if the scaling policy is applicable. Valid values: "gt", "gte", "lt", "lte".

period number

The granularity, in seconds, of the returned datapoints. Period must be at least 60 seconds and must be a multiple of 60.

statistic string

The metric statistics to return. Valid values: average.

target string

The target number of instances to have in the group.

unit string

The unit for the alarm's associated metric. Valid values: "percent, "seconds", "microseconds", "milliseconds", "bytes", "kilobytes", "megabytes", "gigabytes", "terabytes", "bits", "kilobits", "megabits", "gigabits", "terabits", "count", "bytes/second", "kilobytes/second", "megabytes/second", "gigabytes/second", "terabytes/second", "bits/second", "kilobits/second", "megabits/second", "gigabits/second", "terabits/second", "count/second", "none".

metric_name str

Metric to monitor by Azure metric display name.

namespace str

The namespace for the alarm's associated metric. Valid values:

policy_name str

The name of the policy.

threshold float

The value against which the specified statistic is compared.

action_type str

The type of action to perform for scaling. Valid values: "adjustment", "percentageAdjustment", "setMaxTarget", "setMinTarget", "updateCapacity".

adjustment str

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

cooldown int

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

dimensions Sequence[ElastigroupScalingUpPolicyDimension]

A list of dimensions describing qualities of the metric. Required when namespace is defined AND not "Microsoft.Compute".

evaluation_periods int

The number of periods over which data is compared to the specified threshold.

max_target_capacity str

. The number of the desired target (and maximum) capacity

maximum str

The maximal number of instances to have in the group.

min_target_capacity str

. The number of the desired target (and minimum) capacity

minimum str

The minimal number of instances to have in the group.

operator str

The operator to use in order to determine if the scaling policy is applicable. Valid values: "gt", "gte", "lt", "lte".

period int

The granularity, in seconds, of the returned datapoints. Period must be at least 60 seconds and must be a multiple of 60.

statistic str

The metric statistics to return. Valid values: average.

target str

The target number of instances to have in the group.

unit str

The unit for the alarm's associated metric. Valid values: "percent, "seconds", "microseconds", "milliseconds", "bytes", "kilobytes", "megabytes", "gigabytes", "terabytes", "bits", "kilobits", "megabits", "gigabits", "terabits", "count", "bytes/second", "kilobytes/second", "megabytes/second", "gigabytes/second", "terabytes/second", "bits/second", "kilobits/second", "megabits/second", "gigabits/second", "terabits/second", "count/second", "none".

metricName String

Metric to monitor by Azure metric display name.

namespace String

The namespace for the alarm's associated metric. Valid values:

policyName String

The name of the policy.

threshold Number

The value against which the specified statistic is compared.

actionType String

The type of action to perform for scaling. Valid values: "adjustment", "percentageAdjustment", "setMaxTarget", "setMinTarget", "updateCapacity".

adjustment String

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

cooldown Number

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

dimensions List<Property Map>

A list of dimensions describing qualities of the metric. Required when namespace is defined AND not "Microsoft.Compute".

evaluationPeriods Number

The number of periods over which data is compared to the specified threshold.

maxTargetCapacity String

. The number of the desired target (and maximum) capacity

maximum String

The maximal number of instances to have in the group.

minTargetCapacity String

. The number of the desired target (and minimum) capacity

minimum String

The minimal number of instances to have in the group.

operator String

The operator to use in order to determine if the scaling policy is applicable. Valid values: "gt", "gte", "lt", "lte".

period Number

The granularity, in seconds, of the returned datapoints. Period must be at least 60 seconds and must be a multiple of 60.

statistic String

The metric statistics to return. Valid values: average.

target String

The target number of instances to have in the group.

unit String

The unit for the alarm's associated metric. Valid values: "percent, "seconds", "microseconds", "milliseconds", "bytes", "kilobytes", "megabytes", "gigabytes", "terabytes", "bits", "kilobits", "megabits", "gigabits", "terabits", "count", "bytes/second", "kilobytes/second", "megabytes/second", "gigabytes/second", "terabytes/second", "bits/second", "kilobits/second", "megabits/second", "gigabits/second", "terabits/second", "count/second", "none".

ElastigroupScalingUpPolicyDimension

Name string

The name of the managed identity.

Value string

The dimension value.

Name string

The name of the managed identity.

Value string

The dimension value.

name String

The name of the managed identity.

value String

The dimension value.

name string

The name of the managed identity.

value string

The dimension value.

name str

The name of the managed identity.

value str

The dimension value.

name String

The name of the managed identity.

value String

The dimension value.

ElastigroupScheduledTask

CronExpression string

A valid cron expression (* * * * *). The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script.

TaskType string

The task type to run. Valid Values: backup_ami, scale, scaleUp, roll, statefulUpdateCapacity, statefulRecycle.

Adjustment string

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

AdjustmentPercentage string

The percent of instances to add/remove to/from the target capacity when scale is needed.

BatchSizePercentage string

The percentage size of each batch in the scheduled deployment roll. Required when the 'task_type' is 'roll'.

GracePeriod string

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

IsEnabled bool

Describes whether the task is enabled. When true the task should run when false it should not run.

ScaleMaxCapacity string

The max capacity of the group. Required when ‘task_type' is ‘scale'.

ScaleMinCapacity string

The min capacity of the group. Should be used when choosing ‘task_type' of ‘scale'.

ScaleTargetCapacity string

The target capacity of the group. Should be used when choosing ‘task_type' of ‘scale'.

CronExpression string

A valid cron expression (* * * * *). The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script.

TaskType string

The task type to run. Valid Values: backup_ami, scale, scaleUp, roll, statefulUpdateCapacity, statefulRecycle.

Adjustment string

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

AdjustmentPercentage string

The percent of instances to add/remove to/from the target capacity when scale is needed.

BatchSizePercentage string

The percentage size of each batch in the scheduled deployment roll. Required when the 'task_type' is 'roll'.

GracePeriod string

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

IsEnabled bool

Describes whether the task is enabled. When true the task should run when false it should not run.

ScaleMaxCapacity string

The max capacity of the group. Required when ‘task_type' is ‘scale'.

ScaleMinCapacity string

The min capacity of the group. Should be used when choosing ‘task_type' of ‘scale'.

ScaleTargetCapacity string

The target capacity of the group. Should be used when choosing ‘task_type' of ‘scale'.

cronExpression String

A valid cron expression (* * * * *). The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script.

taskType String

The task type to run. Valid Values: backup_ami, scale, scaleUp, roll, statefulUpdateCapacity, statefulRecycle.

adjustment String

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

adjustmentPercentage String

The percent of instances to add/remove to/from the target capacity when scale is needed.

batchSizePercentage String

The percentage size of each batch in the scheduled deployment roll. Required when the 'task_type' is 'roll'.

gracePeriod String

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

isEnabled Boolean

Describes whether the task is enabled. When true the task should run when false it should not run.

scaleMaxCapacity String

The max capacity of the group. Required when ‘task_type' is ‘scale'.

scaleMinCapacity String

The min capacity of the group. Should be used when choosing ‘task_type' of ‘scale'.

scaleTargetCapacity String

The target capacity of the group. Should be used when choosing ‘task_type' of ‘scale'.

cronExpression string

A valid cron expression (* * * * *). The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script.

taskType string

The task type to run. Valid Values: backup_ami, scale, scaleUp, roll, statefulUpdateCapacity, statefulRecycle.

adjustment string

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

adjustmentPercentage string

The percent of instances to add/remove to/from the target capacity when scale is needed.

batchSizePercentage string

The percentage size of each batch in the scheduled deployment roll. Required when the 'task_type' is 'roll'.

gracePeriod string

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

isEnabled boolean

Describes whether the task is enabled. When true the task should run when false it should not run.

scaleMaxCapacity string

The max capacity of the group. Required when ‘task_type' is ‘scale'.

scaleMinCapacity string

The min capacity of the group. Should be used when choosing ‘task_type' of ‘scale'.

scaleTargetCapacity string

The target capacity of the group. Should be used when choosing ‘task_type' of ‘scale'.

cron_expression str

A valid cron expression (* * * * *). The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script.

task_type str

The task type to run. Valid Values: backup_ami, scale, scaleUp, roll, statefulUpdateCapacity, statefulRecycle.

adjustment str

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

adjustment_percentage str

The percent of instances to add/remove to/from the target capacity when scale is needed.

batch_size_percentage str

The percentage size of each batch in the scheduled deployment roll. Required when the 'task_type' is 'roll'.

grace_period str

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

is_enabled bool

Describes whether the task is enabled. When true the task should run when false it should not run.

scale_max_capacity str

The max capacity of the group. Required when ‘task_type' is ‘scale'.

scale_min_capacity str

The min capacity of the group. Should be used when choosing ‘task_type' of ‘scale'.

scale_target_capacity str

The target capacity of the group. Should be used when choosing ‘task_type' of ‘scale'.

cronExpression String

A valid cron expression (* * * * *). The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script.

taskType String

The task type to run. Valid Values: backup_ami, scale, scaleUp, roll, statefulUpdateCapacity, statefulRecycle.

adjustment String

Value to which the action type will be adjusted. Required if using numeric or percentage_adjustment action types.

adjustmentPercentage String

The percent of instances to add/remove to/from the target capacity when scale is needed.

batchSizePercentage String

The percentage size of each batch in the scheduled deployment roll. Required when the 'task_type' is 'roll'.

gracePeriod String

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

isEnabled Boolean

Describes whether the task is enabled. When true the task should run when false it should not run.

scaleMaxCapacity String

The max capacity of the group. Required when ‘task_type' is ‘scale'.

scaleMinCapacity String

The min capacity of the group. Should be used when choosing ‘task_type' of ‘scale'.

scaleTargetCapacity String

The target capacity of the group. Should be used when choosing ‘task_type' of ‘scale'.

ElastigroupStrategy

DrainingTimeout int

Time (seconds) to allow the instance to be drained from incoming TCP connections and detached from MLB before terminating it during a scale-down operation.

LowPriorityPercentage int

Percentage of Low Priority instances to maintain. Required if od_count is not specified.

OdCount int

Number of On-Demand instances to maintain. Required if low_priority_percentage is not specified.

DrainingTimeout int

Time (seconds) to allow the instance to be drained from incoming TCP connections and detached from MLB before terminating it during a scale-down operation.

LowPriorityPercentage int

Percentage of Low Priority instances to maintain. Required if od_count is not specified.

OdCount int

Number of On-Demand instances to maintain. Required if low_priority_percentage is not specified.

drainingTimeout Integer

Time (seconds) to allow the instance to be drained from incoming TCP connections and detached from MLB before terminating it during a scale-down operation.

lowPriorityPercentage Integer

Percentage of Low Priority instances to maintain. Required if od_count is not specified.

odCount Integer

Number of On-Demand instances to maintain. Required if low_priority_percentage is not specified.

drainingTimeout number

Time (seconds) to allow the instance to be drained from incoming TCP connections and detached from MLB before terminating it during a scale-down operation.

lowPriorityPercentage number

Percentage of Low Priority instances to maintain. Required if od_count is not specified.

odCount number

Number of On-Demand instances to maintain. Required if low_priority_percentage is not specified.

draining_timeout int

Time (seconds) to allow the instance to be drained from incoming TCP connections and detached from MLB before terminating it during a scale-down operation.

low_priority_percentage int

Percentage of Low Priority instances to maintain. Required if od_count is not specified.

od_count int

Number of On-Demand instances to maintain. Required if low_priority_percentage is not specified.

drainingTimeout Number

Time (seconds) to allow the instance to be drained from incoming TCP connections and detached from MLB before terminating it during a scale-down operation.

lowPriorityPercentage Number

Percentage of Low Priority instances to maintain. Required if od_count is not specified.

odCount Number

Number of On-Demand instances to maintain. Required if low_priority_percentage is not specified.

ElastigroupUpdatePolicy

ShouldRoll bool

Sets the enablement of the roll option.

RollConfig Pulumi.SpotInst.Azure.Inputs.ElastigroupUpdatePolicyRollConfig

While used, you can control whether the group should perform a deployment after an update to the configuration.

ShouldRoll bool

Sets the enablement of the roll option.

RollConfig ElastigroupUpdatePolicyRollConfig

While used, you can control whether the group should perform a deployment after an update to the configuration.

shouldRoll Boolean

Sets the enablement of the roll option.

rollConfig ElastigroupUpdatePolicyRollConfig

While used, you can control whether the group should perform a deployment after an update to the configuration.

shouldRoll boolean

Sets the enablement of the roll option.

rollConfig ElastigroupUpdatePolicyRollConfig

While used, you can control whether the group should perform a deployment after an update to the configuration.

should_roll bool

Sets the enablement of the roll option.

roll_config ElastigroupUpdatePolicyRollConfig

While used, you can control whether the group should perform a deployment after an update to the configuration.

shouldRoll Boolean

Sets the enablement of the roll option.

rollConfig Property Map

While used, you can control whether the group should perform a deployment after an update to the configuration.

ElastigroupUpdatePolicyRollConfig

BatchSizePercentage int

The percentage size of each batch in the scheduled deployment roll. Required when the 'task_type' is 'roll'.

GracePeriod int

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

HealthCheckType string

Health check used to validate VM health. Valid values: “INSTANCE_STATE”.

BatchSizePercentage int

The percentage size of each batch in the scheduled deployment roll. Required when the 'task_type' is 'roll'.

GracePeriod int

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

HealthCheckType string

Health check used to validate VM health. Valid values: “INSTANCE_STATE”.

batchSizePercentage Integer

The percentage size of each batch in the scheduled deployment roll. Required when the 'task_type' is 'roll'.

gracePeriod Integer

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

healthCheckType String

Health check used to validate VM health. Valid values: “INSTANCE_STATE”.

batchSizePercentage number

The percentage size of each batch in the scheduled deployment roll. Required when the 'task_type' is 'roll'.

gracePeriod number

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

healthCheckType string

Health check used to validate VM health. Valid values: “INSTANCE_STATE”.

batch_size_percentage int

The percentage size of each batch in the scheduled deployment roll. Required when the 'task_type' is 'roll'.

grace_period int

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

health_check_type str

Health check used to validate VM health. Valid values: “INSTANCE_STATE”.

batchSizePercentage Number

The percentage size of each batch in the scheduled deployment roll. Required when the 'task_type' is 'roll'.

gracePeriod Number

Period of time (seconds) to wait for VM to reach healthiness before monitoring for unhealthiness.

healthCheckType String

Health check used to validate VM health. Valid values: “INSTANCE_STATE”.

Package Details

Repository
Spotinst pulumi/pulumi-spotinst
License
Apache-2.0
Notes

This Pulumi package is based on the spotinst Terraform Provider.