Spotinst

Pulumi Official
Package maintained by Pulumi
v3.22.0 published on Thursday, Jun 30, 2022 by Pulumi

Elastigroup

Provides a Spotinst elastigroup Azure resource.

Example Usage

using Pulumi;
using SpotInst = Pulumi.SpotInst;

class MyStack : Stack
{
    public MyStack()
    {
        var testAzureGroup = new SpotInst.Azure.Elastigroup("testAzureGroup", new SpotInst.Azure.ElastigroupArgs
        {
            DesiredCapacity = 1,
            HealthCheck = new SpotInst.Azure.Inputs.ElastigroupHealthCheckArgs
            {
                AutoHealing = true,
                GracePeriod = 120,
                HealthCheckType = "INSTANCE_STATE",
            },
            Images = 
            {
                new SpotInst.Azure.Inputs.ElastigroupImageArgs
                {
                    Marketplaces = 
                    {
                        new SpotInst.Azure.Inputs.ElastigroupImageMarketplaceArgs
                        {
                            Offer = "UbuntuServer",
                            Publisher = "Canonical",
                            Sku = "16.04-LTS",
                        },
                    },
                },
            },
            LoadBalancers = 
            {
                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 = 
            {
                "standard_a1_v1",
                "standard_a1_v2",
            },
            ManagedServiceIdentities = 
            {
                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 = 
            {
                "standard_a1_v1",
                "standard_a1_v2",
            },
            Product = "Linux",
            Region = "eastus",
            ResourceGroupName = "spotinst-azure",
            ScalingDownPolicies = 
            {
                new SpotInst.Azure.Inputs.ElastigroupScalingDownPolicyArgs
                {
                    ActionType = "adjustment",
                    Adjustment = "MIN(5,10)",
                    Cooldown = 60,
                    Dimensions = 
                    {
                        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 SpotInst.Azure.Inputs.ElastigroupScalingUpPolicyArgs
                {
                    ActionType = "setMinTarget",
                    Cooldown = 60,
                    Dimensions = 
                    {
                        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 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 java.util.*;
import java.io.*;
import java.nio.*;
import com.pulumi.*;

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("test_azure_group", {
    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: "",
});
resources:
  testAzureGroup:
    type: spotinst:azure:Elastigroup
    properties:
      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:

Create a 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

Defines the Virtual Network and Subnet for your Elastigroup.

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

Vnet Resource Group Name.

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

Describes the health check configuration.

Images List<Pulumi.SpotInst.Azure.Inputs.ElastigroupImageArgs>

Image of a VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image.

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>

Describes a set of one or more classic load balancer target groups and/or Multai load balancer target sets.

Login Pulumi.SpotInst.Azure.Inputs.ElastigroupLoginArgs

Describes the login configuration.

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 dimension name.

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

Defines the Virtual Network and Subnet for your Elastigroup.

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

Vnet Resource Group Name.

Strategy ElastigroupStrategyArgs

Describes the deployment strategy.

CustomData string
DesiredCapacity int

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

HealthCheck ElastigroupHealthCheckArgs

Describes the health check configuration.

Images []ElastigroupImageArgs

Image of a VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image.

IntegrationKubernetes ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

IntegrationMultaiRuntime ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

LoadBalancers []ElastigroupLoadBalancerArgs

Describes a set of one or more classic load balancer target groups and/or Multai load balancer target sets.

Login ElastigroupLoginArgs

Describes the login configuration.

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 dimension name.

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

Defines the Virtual Network and Subnet for your Elastigroup.

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

Vnet Resource Group Name.

strategy ElastigroupStrategyArgs

Describes the deployment strategy.

customData String
desiredCapacity Integer

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

healthCheck ElastigroupHealthCheckArgs

Describes the health check configuration.

images List<ElastigroupImageArgs>

Image of a VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image.

integrationKubernetes ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

integrationMultaiRuntime ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

loadBalancers List<ElastigroupLoadBalancerArgs>

Describes a set of one or more classic load balancer target groups and/or Multai load balancer target sets.

login ElastigroupLoginArgs

Describes the login configuration.

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 dimension name.

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

Defines the Virtual Network and Subnet for your Elastigroup.

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

Vnet Resource Group Name.

strategy ElastigroupStrategyArgs

Describes the deployment strategy.

customData string
desiredCapacity number

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

healthCheck ElastigroupHealthCheckArgs

Describes the health check configuration.

images ElastigroupImageArgs[]

Image of a VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image.

integrationKubernetes ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

integrationMultaiRuntime ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

loadBalancers ElastigroupLoadBalancerArgs[]

Describes a set of one or more classic load balancer target groups and/or Multai load balancer target sets.

login ElastigroupLoginArgs

Describes the login configuration.

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 dimension name.

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

Defines the Virtual Network and Subnet for your Elastigroup.

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

Vnet Resource Group Name.

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

Describes the health check configuration.

images Sequence[ElastigroupImageArgs]

Image of a VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image.

integration_kubernetes ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

integration_multai_runtime ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

load_balancers Sequence[ElastigroupLoadBalancerArgs]

Describes a set of one or more classic load balancer target groups and/or Multai load balancer target sets.

login ElastigroupLoginArgs

Describes the login configuration.

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 dimension name.

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

Defines the Virtual Network and Subnet for your Elastigroup.

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

Vnet Resource Group Name.

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

Describes the health check configuration.

images List<Property Map>

Image of a VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image.

integrationKubernetes Property Map

Describes the Kubernetes integration.

integrationMultaiRuntime Property Map

Describes the Multai Runtime integration.

loadBalancers List<Property Map>

Describes a set of one or more classic load balancer target groups and/or Multai load balancer target sets.

login Property Map

Describes the login configuration.

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 dimension name.

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 an 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

Describes the health check configuration.

Images List<Pulumi.SpotInst.Azure.Inputs.ElastigroupImageArgs>

Image of a VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image.

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>

Describes a set of one or more classic load balancer target groups and/or Multai load balancer target sets.

Login Pulumi.SpotInst.Azure.Inputs.ElastigroupLoginArgs

Describes the login configuration.

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 dimension name.

Network Pulumi.SpotInst.Azure.Inputs.ElastigroupNetworkArgs

Defines the Virtual Network and Subnet for your Elastigroup.

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

Vnet Resource Group Name.

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

Describes the health check configuration.

Images []ElastigroupImageArgs

Image of a VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image.

IntegrationKubernetes ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

IntegrationMultaiRuntime ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

LoadBalancers []ElastigroupLoadBalancerArgs

Describes a set of one or more classic load balancer target groups and/or Multai load balancer target sets.

Login ElastigroupLoginArgs

Describes the login configuration.

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 dimension name.

Network ElastigroupNetworkArgs

Defines the Virtual Network and Subnet for your Elastigroup.

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

Vnet Resource Group Name.

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

Describes the health check configuration.

images List<ElastigroupImageArgs>

Image of a VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image.

integrationKubernetes ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

integrationMultaiRuntime ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

loadBalancers List<ElastigroupLoadBalancerArgs>

Describes a set of one or more classic load balancer target groups and/or Multai load balancer target sets.

login ElastigroupLoginArgs

Describes the login configuration.

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 dimension name.

network ElastigroupNetworkArgs

Defines the Virtual Network and Subnet for your Elastigroup.

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

Vnet Resource Group Name.

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

Describes the health check configuration.

images ElastigroupImageArgs[]

Image of a VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image.

integrationKubernetes ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

integrationMultaiRuntime ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

loadBalancers ElastigroupLoadBalancerArgs[]

Describes a set of one or more classic load balancer target groups and/or Multai load balancer target sets.

login ElastigroupLoginArgs

Describes the login configuration.

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 dimension name.

network ElastigroupNetworkArgs

Defines the Virtual Network and Subnet for your Elastigroup.

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

Vnet Resource Group Name.

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

Describes the health check configuration.

images Sequence[ElastigroupImageArgs]

Image of a VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image.

integration_kubernetes ElastigroupIntegrationKubernetesArgs

Describes the Kubernetes integration.

integration_multai_runtime ElastigroupIntegrationMultaiRuntimeArgs

Describes the Multai Runtime integration.

load_balancers Sequence[ElastigroupLoadBalancerArgs]

Describes a set of one or more classic load balancer target groups and/or Multai load balancer target sets.

login ElastigroupLoginArgs

Describes the login configuration.

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 dimension name.

network ElastigroupNetworkArgs

Defines the Virtual Network and Subnet for your Elastigroup.

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

Vnet Resource Group Name.

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

Describes the health check configuration.

images List<Property Map>

Image of a VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image.

integrationKubernetes Property Map

Describes the Kubernetes integration.

integrationMultaiRuntime Property Map

Describes the Multai Runtime integration.

loadBalancers List<Property Map>

Describes a set of one or more classic load balancer target groups and/or Multai load balancer target sets.

login Property Map

Describes the login configuration.

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 dimension name.

network Property Map

Defines the Virtual Network and Subnet for your Elastigroup.

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

Vnet Resource Group Name.

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

Sets the health check type to use. Valid values: "INSTANCE_STATE", "NONE".

AutoHealing bool

Enable auto-healing of unhealthy VMs.

GracePeriod int

Sets the grace period for new instances to become healthy.

HealthCheckType string

Sets the health check type to use. Valid values: "INSTANCE_STATE", "NONE".

AutoHealing bool

Enable auto-healing of unhealthy VMs.

GracePeriod int

Sets the grace period for new instances to become healthy.

healthCheckType String

Sets the health check type to use. Valid values: "INSTANCE_STATE", "NONE".

autoHealing Boolean

Enable auto-healing of unhealthy VMs.

gracePeriod Integer

Sets the grace period for new instances to become healthy.

healthCheckType string

Sets the health check type to use. Valid values: "INSTANCE_STATE", "NONE".

autoHealing boolean

Enable auto-healing of unhealthy VMs.

gracePeriod number

Sets the grace period for new instances to become healthy.

health_check_type str

Sets the health check type to use. Valid values: "INSTANCE_STATE", "NONE".

auto_healing bool

Enable auto-healing of unhealthy VMs.

grace_period int

Sets the grace period for new instances to become healthy.

healthCheckType String

Sets the health check type to use. Valid values: "INSTANCE_STATE", "NONE".

autoHealing Boolean

Enable auto-healing of unhealthy VMs.

gracePeriod Number

Sets the grace period for new instances to become healthy.

ElastigroupImage

ElastigroupImageCustom

ImageName string

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

ResourceGroupName string

Vnet Resource Group Name.

ImageName string

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

ResourceGroupName string

Vnet Resource Group Name.

imageName String

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

resourceGroupName String

Vnet Resource Group Name.

imageName string

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

resourceGroupName string

Vnet Resource Group Name.

image_name str

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

resource_group_name str

Vnet Resource Group Name.

imageName String

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

resourceGroupName String

Vnet Resource Group Name.

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 dimension name.

ResourceGroupName string

Vnet Resource Group Name.

Name string

The dimension name.

ResourceGroupName string

Vnet Resource Group Name.

name String

The dimension name.

resourceGroupName String

Vnet Resource Group Name.

name string

The dimension name.

resourceGroupName string

Vnet Resource Group Name.

name str

The dimension name.

resource_group_name str

Vnet Resource Group Name.

name String

The dimension name.

resourceGroupName String

Vnet Resource Group Name.

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 dimension name.

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 dimension name.

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 dimension name.

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 dimension name.

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 dimension name.

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 dimension name.

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

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

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

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

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

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

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

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

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

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

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

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

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 dimension name.

Value string

The dimension value.

Name string

The dimension name.

Value string

The dimension value.

name String

The dimension name.

value String

The dimension value.

name string

The dimension name.

value string

The dimension value.

name str

The dimension name.

value str

The dimension value.

name String

The dimension name.

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

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

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

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

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

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

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

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

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

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

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

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

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 dimension name.

Value string

The dimension value.

Name string

The dimension name.

Value string

The dimension value.

name String

The dimension name.

value String

The dimension value.

name string

The dimension name.

value string

The dimension value.

name str

The dimension name.

value str

The dimension value.

name String

The dimension name.

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

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

AdjustmentPercentage string

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

BatchSizePercentage string

Sets the percentage of the instances to deploy in each batch.

GracePeriod string

Sets the grace period for new instances to become healthy.

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

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

AdjustmentPercentage string

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

BatchSizePercentage string

Sets the percentage of the instances to deploy in each batch.

GracePeriod string

Sets the grace period for new instances to become healthy.

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

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

adjustmentPercentage String

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

batchSizePercentage String

Sets the percentage of the instances to deploy in each batch.

gracePeriod String

Sets the grace period for new instances to become healthy.

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

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

adjustmentPercentage string

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

batchSizePercentage string

Sets the percentage of the instances to deploy in each batch.

gracePeriod string

Sets the grace period for new instances to become healthy.

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

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

adjustment_percentage str

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

batch_size_percentage str

Sets the percentage of the instances to deploy in each batch.

grace_period str

Sets the grace period for new instances to become healthy.

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

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

adjustmentPercentage String

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

batchSizePercentage String

Sets the percentage of the instances to deploy in each batch.

gracePeriod String

Sets the grace period for new instances to become healthy.

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

Sets the percentage of the instances to deploy in each batch.

GracePeriod int

Sets the grace period for new instances to become healthy.

HealthCheckType string

Sets the health check type to use. Valid values: "INSTANCE_STATE", "NONE".

BatchSizePercentage int

Sets the percentage of the instances to deploy in each batch.

GracePeriod int

Sets the grace period for new instances to become healthy.

HealthCheckType string

Sets the health check type to use. Valid values: "INSTANCE_STATE", "NONE".

batchSizePercentage Integer

Sets the percentage of the instances to deploy in each batch.

gracePeriod Integer

Sets the grace period for new instances to become healthy.

healthCheckType String

Sets the health check type to use. Valid values: "INSTANCE_STATE", "NONE".

batchSizePercentage number

Sets the percentage of the instances to deploy in each batch.

gracePeriod number

Sets the grace period for new instances to become healthy.

healthCheckType string

Sets the health check type to use. Valid values: "INSTANCE_STATE", "NONE".

batch_size_percentage int

Sets the percentage of the instances to deploy in each batch.

grace_period int

Sets the grace period for new instances to become healthy.

health_check_type str

Sets the health check type to use. Valid values: "INSTANCE_STATE", "NONE".

batchSizePercentage Number

Sets the percentage of the instances to deploy in each batch.

gracePeriod Number

Sets the grace period for new instances to become healthy.

healthCheckType String

Sets the health check type to use. Valid values: "INSTANCE_STATE", "NONE".

Package Details

Repository
https://github.com/pulumi/pulumi-spotinst
License
Apache-2.0
Notes

This Pulumi package is based on the spotinst Terraform Provider.