1. Packages
  2. Spotinst
  3. API Docs
  4. azure
  5. Elastigroup
Spotinst v3.74.1 published on Thursday, Apr 11, 2024 by Pulumi

spotinst.azure.Elastigroup

Explore with Pulumi AI

spotinst logo
Spotinst v3.74.1 published on Thursday, Apr 11, 2024 by Pulumi

    Provides a Spotinst elastigroup Azure resource.

    Example Usage

    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spotinst.ElastigroupAzureV3;
    import com.pulumi.spotinst.ElastigroupAzureV3Args;
    import com.pulumi.spotinst.inputs.ElastigroupAzureV3ImageArgs;
    import com.pulumi.spotinst.inputs.ElastigroupAzureV3LoginArgs;
    import com.pulumi.spotinst.inputs.ElastigroupAzureV3ManagedServiceIdentityArgs;
    import com.pulumi.spotinst.inputs.ElastigroupAzureV3NetworkArgs;
    import com.pulumi.spotinst.inputs.ElastigroupAzureV3TagArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var testAzureGroup = new ElastigroupAzureV3("testAzureGroup", ElastigroupAzureV3Args.builder()        
                .customData("IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=")
                .desiredCapacity(1)
                .drainingTimeout(300)
                .fallbackToOnDemand(true)
                .images(ElastigroupAzureV3ImageArgs.builder()
                    .marketplaces(ElastigroupAzureV3ImageMarketplaceArgs.builder()
                        .offer("UbuntuServer")
                        .publisher("Canonical")
                        .sku("18.04-LTS")
                        .version("latest")
                        .build())
                    .build())
                .login(ElastigroupAzureV3LoginArgs.builder()
                    .sshPublicKey("33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==")
                    .userName("admin")
                    .build())
                .managedServiceIdentities(ElastigroupAzureV3ManagedServiceIdentityArgs.builder()
                    .name("ocean-westus-dev-aks-agentpool")
                    .resourceGroupName("MC_ocean-westus-dev_ocean-westus-dev-aks_westus")
                    .build())
                .maxSize(1)
                .minSize(0)
                .network(ElastigroupAzureV3NetworkArgs.builder()
                    .networkInterfaces(ElastigroupAzureV3NetworkNetworkInterfaceArgs.builder()
                        .additionalIpConfigs(ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs.builder()
                            .privateIPVersion("IPv4")
                            .name("SecondaryIPConfig")
                            .build())
                        .applicationSecurityGroup(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                        .assignPublicIp(false)
                        .isPrimary(true)
                        .subnetName("default")
                        .build())
                    .resourceGroupName("ResourceGroup")
                    .virtualNetworkName("VirtualNetworkName")
                    .build())
                .odSizes(            
                    "standard_a1_v1",
                    "standard_a1_v2")
                .os("Linux")
                .region("eastus")
                .resourceGroupName("spotinst-azure")
                .spotPercentage(65)
                .spotSizes(            
                    "standard_a1_v1",
                    "standard_a1_v2")
                .tags(            
                    ElastigroupAzureV3TagArgs.builder()
                        .key("key1")
                        .value("value1")
                        .build(),
                    ElastigroupAzureV3TagArgs.builder()
                        .key("key2")
                        .value("value2")
                        .build())
                .build());
    
        }
    }
    
    resources:
      testAzureGroup:
        type: spotinst:ElastigroupAzureV3
        properties:
          # --- LAUNCH SPEC ---------------------------------------------------
          customData: IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=
          desiredCapacity: 1
          drainingTimeout: 300
          fallbackToOnDemand: true
          # --- IMAGE ---------------------------------------------------------
          images:
            - marketplaces:
                - offer: UbuntuServer
                  publisher: Canonical
                  sku: 18.04-LTS
                  version: latest
          # --- LOGIN ---------------------------------------------------------
          login:
            sshPublicKey: 33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==
            userName: admin
          managedServiceIdentities:
            - name: ocean-westus-dev-aks-agentpool
              resourceGroupName: MC_ocean-westus-dev_ocean-westus-dev-aks_westus
          maxSize: 1
          # --- CAPACITY ------------------------------------------------------
          minSize: 0
          # --- NETWORK -------------------------------------------------------
          network:
            networkInterfaces:
              - additionalIpConfigs:
                  - PrivateIPVersion: IPv4
                    name: SecondaryIPConfig
                applicationSecurityGroup:
                  - name: ApplicationSecurityGroupName
                    resourceGroupName: ResourceGroup
                assignPublicIp: false
                isPrimary: true
                subnetName: default
            resourceGroupName: ResourceGroup
            virtualNetworkName: VirtualNetworkName
          # --- INSTANCE TYPES ------------------------------------------------
          odSizes:
            - standard_a1_v1
            - standard_a1_v2
          os: Linux
          region: eastus
          resourceGroupName: spotinst-azure
          # --- STRATEGY ------------------------------------------------------
          #     //on_demand_count     = 1
          spotPercentage: 65
          spotSizes:
            - standard_a1_v1
            - standard_a1_v2
          tags:
            - key: key1
              value: value1
            - key: key2
              value: value2
    

    Strategy

    • spot_percentage - (Optional) Percentage of Spot-VMs to maintain. Required if on_demand_count is not specified.
    • on_demand_count - (Optional) Number of On-Demand VMs to maintain. Required if spot_percentage is not specified.
    • fallback_to_on_demand -
    • draining_timeout - (Optional, Default 120) 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.

    Image

    • image - (Required) Image of a VM. An image is a template for creating new VMs. Choose from Azure image catalogue (marketplace) or use a custom image.
      • publisher - (Optional) Image publisher. Required if resource_group_name is not specified.
      • offer - (Optional) Name of the image to use. Required if publisher is specified.
      • sku - (Optional) Image’s Stock Keeping Unit, which is the specific version of the image. Required if publisher is specified.
      • version -
      • resource_group_name - (Optional) Name of Resource Group for custom image. Required if publisher not specified.
      • image_name - (Optional) Name of the custom image. Required if resource_group_name is specified.
    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
        }
    }
    
    {}
    

    Network

    • network - (Required) Defines the Virtual Network and Subnet for your Elastigroup.
      • virtual_network_name - (Required) Name of Vnet.
      • resource_group_name - (Required) Vnet Resource Group Name.
      • network_interfaces -
        • subnet_name - (Required) ID of subnet.
        • assign_public_up - (Optional, Default: false) Assign a public IP to each VM in the Elastigroup.
        • is_primary -
        • additional_ip_configs - (Optional) Array of additional IP configuration objects.
          • name - (Required) The IP configuration name.
          • private_ip_version - (Optional) Available from Azure Api-Version 2017-03-30 onwards, it represents whether the specific ip configuration is IPv4 or IPv6. Valid values: IPv4, IPv6.
        • application_security_group - (Optional) - List of Application Security Groups that will be associated to the primary ip configuration of the network interface.
          • name - (Required) - The name of the Application Security group.
          • resource_group_name - (Required) - The resource group of the Application Security Group. }
    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
        }
    }
    
    {}
    

    Login

    • login - (Required) Describes the login configuration.
      • user_name - (Required) Set admin access for accessing your VMs.
      • ssh_public_key - (Optional) SSH for admin access to Linux VMs. Required for Linux OS types.
      • password - (Optional) Password for admin access to Windows VMs. Required for Windows OS types.
    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
        }
    }
    
    {}
    

    Create Elastigroup Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Elastigroup(name: string, args: ElastigroupArgs, opts?: CustomResourceOptions);
    @overload
    def Elastigroup(resource_name: str,
                    args: ElastigroupArgs,
                    opts: Optional[ResourceOptions] = None)
    
    @overload
    def Elastigroup(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    low_priority_sizes: Optional[Sequence[str]] = None,
                    strategy: Optional[ElastigroupStrategyArgs] = None,
                    resource_group_name: Optional[str] = None,
                    region: Optional[str] = None,
                    product: Optional[str] = None,
                    od_sizes: Optional[Sequence[str]] = None,
                    network: Optional[ElastigroupNetworkArgs] = None,
                    name: Optional[str] = None,
                    images: Optional[Sequence[ElastigroupImageArgs]] = None,
                    managed_service_identities: Optional[Sequence[ElastigroupManagedServiceIdentityArgs]] = None,
                    max_size: Optional[int] = None,
                    min_size: Optional[int] = None,
                    custom_data: Optional[str] = None,
                    load_balancers: Optional[Sequence[ElastigroupLoadBalancerArgs]] = None,
                    integration_multai_runtime: Optional[ElastigroupIntegrationMultaiRuntimeArgs] = None,
                    integration_kubernetes: Optional[ElastigroupIntegrationKubernetesArgs] = None,
                    login: Optional[ElastigroupLoginArgs] = None,
                    health_check: Optional[ElastigroupHealthCheckArgs] = 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,
                    desired_capacity: Optional[int] = None,
                    update_policy: Optional[ElastigroupUpdatePolicyArgs] = None,
                    user_data: Optional[str] = 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.
    
    

    Parameters

    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.

    Example

    The following reference example uses placeholder values for all input properties.

    var spotinstElastigroupResource = new SpotInst.Azure.Elastigroup("spotinstElastigroupResource", new()
    {
        LowPrioritySizes = new[]
        {
            "string",
        },
        Strategy = new SpotInst.Azure.Inputs.ElastigroupStrategyArgs
        {
            DrainingTimeout = 0,
            LowPriorityPercentage = 0,
            OdCount = 0,
        },
        ResourceGroupName = "string",
        Region = "string",
        Product = "string",
        OdSizes = new[]
        {
            "string",
        },
        Network = new SpotInst.Azure.Inputs.ElastigroupNetworkArgs
        {
            ResourceGroupName = "string",
            SubnetName = "string",
            VirtualNetworkName = "string",
            AdditionalIpConfigs = new[]
            {
                new SpotInst.Azure.Inputs.ElastigroupNetworkAdditionalIpConfigArgs
                {
                    Name = "string",
                    PrivateIpVersion = "string",
                },
            },
            AssignPublicIp = false,
        },
        Name = "string",
        Images = new[]
        {
            new SpotInst.Azure.Inputs.ElastigroupImageArgs
            {
                Customs = new[]
                {
                    new SpotInst.Azure.Inputs.ElastigroupImageCustomArgs
                    {
                        ImageName = "string",
                        ResourceGroupName = "string",
                    },
                },
                Marketplaces = new[]
                {
                    new SpotInst.Azure.Inputs.ElastigroupImageMarketplaceArgs
                    {
                        Offer = "string",
                        Publisher = "string",
                        Sku = "string",
                    },
                },
            },
        },
        ManagedServiceIdentities = new[]
        {
            new SpotInst.Azure.Inputs.ElastigroupManagedServiceIdentityArgs
            {
                Name = "string",
                ResourceGroupName = "string",
            },
        },
        MaxSize = 0,
        MinSize = 0,
        CustomData = "string",
        LoadBalancers = new[]
        {
            new SpotInst.Azure.Inputs.ElastigroupLoadBalancerArgs
            {
                Type = "string",
                AutoWeight = false,
                BalancerId = "string",
                TargetSetId = "string",
            },
        },
        IntegrationMultaiRuntime = new SpotInst.Azure.Inputs.ElastigroupIntegrationMultaiRuntimeArgs
        {
            DeploymentId = "string",
        },
        IntegrationKubernetes = new SpotInst.Azure.Inputs.ElastigroupIntegrationKubernetesArgs
        {
            ClusterIdentifier = "string",
        },
        Login = new SpotInst.Azure.Inputs.ElastigroupLoginArgs
        {
            UserName = "string",
            Password = "string",
            SshPublicKey = "string",
        },
        HealthCheck = new SpotInst.Azure.Inputs.ElastigroupHealthCheckArgs
        {
            HealthCheckType = "string",
            AutoHealing = false,
            GracePeriod = 0,
        },
        ScalingDownPolicies = new[]
        {
            new SpotInst.Azure.Inputs.ElastigroupScalingDownPolicyArgs
            {
                MetricName = "string",
                Threshold = 0,
                PolicyName = "string",
                Namespace = "string",
                MinTargetCapacity = "string",
                Operator = "string",
                Maximum = "string",
                EvaluationPeriods = 0,
                ActionType = "string",
                Minimum = "string",
                Dimensions = new[]
                {
                    new SpotInst.Azure.Inputs.ElastigroupScalingDownPolicyDimensionArgs
                    {
                        Name = "string",
                        Value = "string",
                    },
                },
                MaxTargetCapacity = "string",
                Period = 0,
                Cooldown = 0,
                Statistic = "string",
                Target = "string",
                Adjustment = "string",
                Unit = "string",
            },
        },
        ScalingUpPolicies = new[]
        {
            new SpotInst.Azure.Inputs.ElastigroupScalingUpPolicyArgs
            {
                MetricName = "string",
                Threshold = 0,
                PolicyName = "string",
                Namespace = "string",
                MinTargetCapacity = "string",
                Operator = "string",
                Maximum = "string",
                EvaluationPeriods = 0,
                ActionType = "string",
                Minimum = "string",
                Dimensions = new[]
                {
                    new SpotInst.Azure.Inputs.ElastigroupScalingUpPolicyDimensionArgs
                    {
                        Name = "string",
                        Value = "string",
                    },
                },
                MaxTargetCapacity = "string",
                Period = 0,
                Cooldown = 0,
                Statistic = "string",
                Target = "string",
                Adjustment = "string",
                Unit = "string",
            },
        },
        ScheduledTasks = new[]
        {
            new SpotInst.Azure.Inputs.ElastigroupScheduledTaskArgs
            {
                CronExpression = "string",
                TaskType = "string",
                Adjustment = "string",
                AdjustmentPercentage = "string",
                BatchSizePercentage = "string",
                GracePeriod = "string",
                IsEnabled = false,
                ScaleMaxCapacity = "string",
                ScaleMinCapacity = "string",
                ScaleTargetCapacity = "string",
            },
        },
        ShutdownScript = "string",
        DesiredCapacity = 0,
        UpdatePolicy = new SpotInst.Azure.Inputs.ElastigroupUpdatePolicyArgs
        {
            ShouldRoll = false,
            RollConfig = new SpotInst.Azure.Inputs.ElastigroupUpdatePolicyRollConfigArgs
            {
                BatchSizePercentage = 0,
                GracePeriod = 0,
                HealthCheckType = "string",
            },
        },
        UserData = "string",
    });
    
    example, err := azure.NewElastigroup(ctx, "spotinstElastigroupResource", &azure.ElastigroupArgs{
    	LowPrioritySizes: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Strategy: &azure.ElastigroupStrategyArgs{
    		DrainingTimeout:       pulumi.Int(0),
    		LowPriorityPercentage: pulumi.Int(0),
    		OdCount:               pulumi.Int(0),
    	},
    	ResourceGroupName: pulumi.String("string"),
    	Region:            pulumi.String("string"),
    	Product:           pulumi.String("string"),
    	OdSizes: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Network: &azure.ElastigroupNetworkArgs{
    		ResourceGroupName:  pulumi.String("string"),
    		SubnetName:         pulumi.String("string"),
    		VirtualNetworkName: pulumi.String("string"),
    		AdditionalIpConfigs: azure.ElastigroupNetworkAdditionalIpConfigArray{
    			&azure.ElastigroupNetworkAdditionalIpConfigArgs{
    				Name:             pulumi.String("string"),
    				PrivateIpVersion: pulumi.String("string"),
    			},
    		},
    		AssignPublicIp: pulumi.Bool(false),
    	},
    	Name: pulumi.String("string"),
    	Images: azure.ElastigroupImageArray{
    		&azure.ElastigroupImageArgs{
    			Customs: azure.ElastigroupImageCustomArray{
    				&azure.ElastigroupImageCustomArgs{
    					ImageName:         pulumi.String("string"),
    					ResourceGroupName: pulumi.String("string"),
    				},
    			},
    			Marketplaces: azure.ElastigroupImageMarketplaceArray{
    				&azure.ElastigroupImageMarketplaceArgs{
    					Offer:     pulumi.String("string"),
    					Publisher: pulumi.String("string"),
    					Sku:       pulumi.String("string"),
    				},
    			},
    		},
    	},
    	ManagedServiceIdentities: azure.ElastigroupManagedServiceIdentityArray{
    		&azure.ElastigroupManagedServiceIdentityArgs{
    			Name:              pulumi.String("string"),
    			ResourceGroupName: pulumi.String("string"),
    		},
    	},
    	MaxSize:    pulumi.Int(0),
    	MinSize:    pulumi.Int(0),
    	CustomData: pulumi.String("string"),
    	LoadBalancers: azure.ElastigroupLoadBalancerArray{
    		&azure.ElastigroupLoadBalancerArgs{
    			Type:        pulumi.String("string"),
    			AutoWeight:  pulumi.Bool(false),
    			BalancerId:  pulumi.String("string"),
    			TargetSetId: pulumi.String("string"),
    		},
    	},
    	IntegrationMultaiRuntime: &azure.ElastigroupIntegrationMultaiRuntimeArgs{
    		DeploymentId: pulumi.String("string"),
    	},
    	IntegrationKubernetes: &azure.ElastigroupIntegrationKubernetesArgs{
    		ClusterIdentifier: pulumi.String("string"),
    	},
    	Login: &azure.ElastigroupLoginArgs{
    		UserName:     pulumi.String("string"),
    		Password:     pulumi.String("string"),
    		SshPublicKey: pulumi.String("string"),
    	},
    	HealthCheck: &azure.ElastigroupHealthCheckArgs{
    		HealthCheckType: pulumi.String("string"),
    		AutoHealing:     pulumi.Bool(false),
    		GracePeriod:     pulumi.Int(0),
    	},
    	ScalingDownPolicies: azure.ElastigroupScalingDownPolicyArray{
    		&azure.ElastigroupScalingDownPolicyArgs{
    			MetricName:        pulumi.String("string"),
    			Threshold:         pulumi.Float64(0),
    			PolicyName:        pulumi.String("string"),
    			Namespace:         pulumi.String("string"),
    			MinTargetCapacity: pulumi.String("string"),
    			Operator:          pulumi.String("string"),
    			Maximum:           pulumi.String("string"),
    			EvaluationPeriods: pulumi.Int(0),
    			ActionType:        pulumi.String("string"),
    			Minimum:           pulumi.String("string"),
    			Dimensions: azure.ElastigroupScalingDownPolicyDimensionArray{
    				&azure.ElastigroupScalingDownPolicyDimensionArgs{
    					Name:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			MaxTargetCapacity: pulumi.String("string"),
    			Period:            pulumi.Int(0),
    			Cooldown:          pulumi.Int(0),
    			Statistic:         pulumi.String("string"),
    			Target:            pulumi.String("string"),
    			Adjustment:        pulumi.String("string"),
    			Unit:              pulumi.String("string"),
    		},
    	},
    	ScalingUpPolicies: azure.ElastigroupScalingUpPolicyArray{
    		&azure.ElastigroupScalingUpPolicyArgs{
    			MetricName:        pulumi.String("string"),
    			Threshold:         pulumi.Float64(0),
    			PolicyName:        pulumi.String("string"),
    			Namespace:         pulumi.String("string"),
    			MinTargetCapacity: pulumi.String("string"),
    			Operator:          pulumi.String("string"),
    			Maximum:           pulumi.String("string"),
    			EvaluationPeriods: pulumi.Int(0),
    			ActionType:        pulumi.String("string"),
    			Minimum:           pulumi.String("string"),
    			Dimensions: azure.ElastigroupScalingUpPolicyDimensionArray{
    				&azure.ElastigroupScalingUpPolicyDimensionArgs{
    					Name:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			MaxTargetCapacity: pulumi.String("string"),
    			Period:            pulumi.Int(0),
    			Cooldown:          pulumi.Int(0),
    			Statistic:         pulumi.String("string"),
    			Target:            pulumi.String("string"),
    			Adjustment:        pulumi.String("string"),
    			Unit:              pulumi.String("string"),
    		},
    	},
    	ScheduledTasks: azure.ElastigroupScheduledTaskArray{
    		&azure.ElastigroupScheduledTaskArgs{
    			CronExpression:       pulumi.String("string"),
    			TaskType:             pulumi.String("string"),
    			Adjustment:           pulumi.String("string"),
    			AdjustmentPercentage: pulumi.String("string"),
    			BatchSizePercentage:  pulumi.String("string"),
    			GracePeriod:          pulumi.String("string"),
    			IsEnabled:            pulumi.Bool(false),
    			ScaleMaxCapacity:     pulumi.String("string"),
    			ScaleMinCapacity:     pulumi.String("string"),
    			ScaleTargetCapacity:  pulumi.String("string"),
    		},
    	},
    	ShutdownScript:  pulumi.String("string"),
    	DesiredCapacity: pulumi.Int(0),
    	UpdatePolicy: &azure.ElastigroupUpdatePolicyArgs{
    		ShouldRoll: pulumi.Bool(false),
    		RollConfig: &azure.ElastigroupUpdatePolicyRollConfigArgs{
    			BatchSizePercentage: pulumi.Int(0),
    			GracePeriod:         pulumi.Int(0),
    			HealthCheckType:     pulumi.String("string"),
    		},
    	},
    	UserData: pulumi.String("string"),
    })
    
    var spotinstElastigroupResource = new Elastigroup("spotinstElastigroupResource", ElastigroupArgs.builder()        
        .lowPrioritySizes("string")
        .strategy(ElastigroupStrategyArgs.builder()
            .drainingTimeout(0)
            .lowPriorityPercentage(0)
            .odCount(0)
            .build())
        .resourceGroupName("string")
        .region("string")
        .product("string")
        .odSizes("string")
        .network(ElastigroupNetworkArgs.builder()
            .resourceGroupName("string")
            .subnetName("string")
            .virtualNetworkName("string")
            .additionalIpConfigs(ElastigroupNetworkAdditionalIpConfigArgs.builder()
                .name("string")
                .privateIpVersion("string")
                .build())
            .assignPublicIp(false)
            .build())
        .name("string")
        .images(ElastigroupImageArgs.builder()
            .customs(ElastigroupImageCustomArgs.builder()
                .imageName("string")
                .resourceGroupName("string")
                .build())
            .marketplaces(ElastigroupImageMarketplaceArgs.builder()
                .offer("string")
                .publisher("string")
                .sku("string")
                .build())
            .build())
        .managedServiceIdentities(ElastigroupManagedServiceIdentityArgs.builder()
            .name("string")
            .resourceGroupName("string")
            .build())
        .maxSize(0)
        .minSize(0)
        .customData("string")
        .loadBalancers(ElastigroupLoadBalancerArgs.builder()
            .type("string")
            .autoWeight(false)
            .balancerId("string")
            .targetSetId("string")
            .build())
        .integrationMultaiRuntime(ElastigroupIntegrationMultaiRuntimeArgs.builder()
            .deploymentId("string")
            .build())
        .integrationKubernetes(ElastigroupIntegrationKubernetesArgs.builder()
            .clusterIdentifier("string")
            .build())
        .login(ElastigroupLoginArgs.builder()
            .userName("string")
            .password("string")
            .sshPublicKey("string")
            .build())
        .healthCheck(ElastigroupHealthCheckArgs.builder()
            .healthCheckType("string")
            .autoHealing(false)
            .gracePeriod(0)
            .build())
        .scalingDownPolicies(ElastigroupScalingDownPolicyArgs.builder()
            .metricName("string")
            .threshold(0)
            .policyName("string")
            .namespace("string")
            .minTargetCapacity("string")
            .operator("string")
            .maximum("string")
            .evaluationPeriods(0)
            .actionType("string")
            .minimum("string")
            .dimensions(ElastigroupScalingDownPolicyDimensionArgs.builder()
                .name("string")
                .value("string")
                .build())
            .maxTargetCapacity("string")
            .period(0)
            .cooldown(0)
            .statistic("string")
            .target("string")
            .adjustment("string")
            .unit("string")
            .build())
        .scalingUpPolicies(ElastigroupScalingUpPolicyArgs.builder()
            .metricName("string")
            .threshold(0)
            .policyName("string")
            .namespace("string")
            .minTargetCapacity("string")
            .operator("string")
            .maximum("string")
            .evaluationPeriods(0)
            .actionType("string")
            .minimum("string")
            .dimensions(ElastigroupScalingUpPolicyDimensionArgs.builder()
                .name("string")
                .value("string")
                .build())
            .maxTargetCapacity("string")
            .period(0)
            .cooldown(0)
            .statistic("string")
            .target("string")
            .adjustment("string")
            .unit("string")
            .build())
        .scheduledTasks(ElastigroupScheduledTaskArgs.builder()
            .cronExpression("string")
            .taskType("string")
            .adjustment("string")
            .adjustmentPercentage("string")
            .batchSizePercentage("string")
            .gracePeriod("string")
            .isEnabled(false)
            .scaleMaxCapacity("string")
            .scaleMinCapacity("string")
            .scaleTargetCapacity("string")
            .build())
        .shutdownScript("string")
        .desiredCapacity(0)
        .updatePolicy(ElastigroupUpdatePolicyArgs.builder()
            .shouldRoll(false)
            .rollConfig(ElastigroupUpdatePolicyRollConfigArgs.builder()
                .batchSizePercentage(0)
                .gracePeriod(0)
                .healthCheckType("string")
                .build())
            .build())
        .userData("string")
        .build());
    
    spotinst_elastigroup_resource = spotinst.azure.Elastigroup("spotinstElastigroupResource",
        low_priority_sizes=["string"],
        strategy=spotinst.azure.ElastigroupStrategyArgs(
            draining_timeout=0,
            low_priority_percentage=0,
            od_count=0,
        ),
        resource_group_name="string",
        region="string",
        product="string",
        od_sizes=["string"],
        network=spotinst.azure.ElastigroupNetworkArgs(
            resource_group_name="string",
            subnet_name="string",
            virtual_network_name="string",
            additional_ip_configs=[spotinst.azure.ElastigroupNetworkAdditionalIpConfigArgs(
                name="string",
                private_ip_version="string",
            )],
            assign_public_ip=False,
        ),
        name="string",
        images=[spotinst.azure.ElastigroupImageArgs(
            customs=[spotinst.azure.ElastigroupImageCustomArgs(
                image_name="string",
                resource_group_name="string",
            )],
            marketplaces=[spotinst.azure.ElastigroupImageMarketplaceArgs(
                offer="string",
                publisher="string",
                sku="string",
            )],
        )],
        managed_service_identities=[spotinst.azure.ElastigroupManagedServiceIdentityArgs(
            name="string",
            resource_group_name="string",
        )],
        max_size=0,
        min_size=0,
        custom_data="string",
        load_balancers=[spotinst.azure.ElastigroupLoadBalancerArgs(
            type="string",
            auto_weight=False,
            balancer_id="string",
            target_set_id="string",
        )],
        integration_multai_runtime=spotinst.azure.ElastigroupIntegrationMultaiRuntimeArgs(
            deployment_id="string",
        ),
        integration_kubernetes=spotinst.azure.ElastigroupIntegrationKubernetesArgs(
            cluster_identifier="string",
        ),
        login=spotinst.azure.ElastigroupLoginArgs(
            user_name="string",
            password="string",
            ssh_public_key="string",
        ),
        health_check=spotinst.azure.ElastigroupHealthCheckArgs(
            health_check_type="string",
            auto_healing=False,
            grace_period=0,
        ),
        scaling_down_policies=[spotinst.azure.ElastigroupScalingDownPolicyArgs(
            metric_name="string",
            threshold=0,
            policy_name="string",
            namespace="string",
            min_target_capacity="string",
            operator="string",
            maximum="string",
            evaluation_periods=0,
            action_type="string",
            minimum="string",
            dimensions=[spotinst.azure.ElastigroupScalingDownPolicyDimensionArgs(
                name="string",
                value="string",
            )],
            max_target_capacity="string",
            period=0,
            cooldown=0,
            statistic="string",
            target="string",
            adjustment="string",
            unit="string",
        )],
        scaling_up_policies=[spotinst.azure.ElastigroupScalingUpPolicyArgs(
            metric_name="string",
            threshold=0,
            policy_name="string",
            namespace="string",
            min_target_capacity="string",
            operator="string",
            maximum="string",
            evaluation_periods=0,
            action_type="string",
            minimum="string",
            dimensions=[spotinst.azure.ElastigroupScalingUpPolicyDimensionArgs(
                name="string",
                value="string",
            )],
            max_target_capacity="string",
            period=0,
            cooldown=0,
            statistic="string",
            target="string",
            adjustment="string",
            unit="string",
        )],
        scheduled_tasks=[spotinst.azure.ElastigroupScheduledTaskArgs(
            cron_expression="string",
            task_type="string",
            adjustment="string",
            adjustment_percentage="string",
            batch_size_percentage="string",
            grace_period="string",
            is_enabled=False,
            scale_max_capacity="string",
            scale_min_capacity="string",
            scale_target_capacity="string",
        )],
        shutdown_script="string",
        desired_capacity=0,
        update_policy=spotinst.azure.ElastigroupUpdatePolicyArgs(
            should_roll=False,
            roll_config=spotinst.azure.ElastigroupUpdatePolicyRollConfigArgs(
                batch_size_percentage=0,
                grace_period=0,
                health_check_type="string",
            ),
        ),
        user_data="string")
    
    const spotinstElastigroupResource = new spotinst.azure.Elastigroup("spotinstElastigroupResource", {
        lowPrioritySizes: ["string"],
        strategy: {
            drainingTimeout: 0,
            lowPriorityPercentage: 0,
            odCount: 0,
        },
        resourceGroupName: "string",
        region: "string",
        product: "string",
        odSizes: ["string"],
        network: {
            resourceGroupName: "string",
            subnetName: "string",
            virtualNetworkName: "string",
            additionalIpConfigs: [{
                name: "string",
                privateIpVersion: "string",
            }],
            assignPublicIp: false,
        },
        name: "string",
        images: [{
            customs: [{
                imageName: "string",
                resourceGroupName: "string",
            }],
            marketplaces: [{
                offer: "string",
                publisher: "string",
                sku: "string",
            }],
        }],
        managedServiceIdentities: [{
            name: "string",
            resourceGroupName: "string",
        }],
        maxSize: 0,
        minSize: 0,
        customData: "string",
        loadBalancers: [{
            type: "string",
            autoWeight: false,
            balancerId: "string",
            targetSetId: "string",
        }],
        integrationMultaiRuntime: {
            deploymentId: "string",
        },
        integrationKubernetes: {
            clusterIdentifier: "string",
        },
        login: {
            userName: "string",
            password: "string",
            sshPublicKey: "string",
        },
        healthCheck: {
            healthCheckType: "string",
            autoHealing: false,
            gracePeriod: 0,
        },
        scalingDownPolicies: [{
            metricName: "string",
            threshold: 0,
            policyName: "string",
            namespace: "string",
            minTargetCapacity: "string",
            operator: "string",
            maximum: "string",
            evaluationPeriods: 0,
            actionType: "string",
            minimum: "string",
            dimensions: [{
                name: "string",
                value: "string",
            }],
            maxTargetCapacity: "string",
            period: 0,
            cooldown: 0,
            statistic: "string",
            target: "string",
            adjustment: "string",
            unit: "string",
        }],
        scalingUpPolicies: [{
            metricName: "string",
            threshold: 0,
            policyName: "string",
            namespace: "string",
            minTargetCapacity: "string",
            operator: "string",
            maximum: "string",
            evaluationPeriods: 0,
            actionType: "string",
            minimum: "string",
            dimensions: [{
                name: "string",
                value: "string",
            }],
            maxTargetCapacity: "string",
            period: 0,
            cooldown: 0,
            statistic: "string",
            target: "string",
            adjustment: "string",
            unit: "string",
        }],
        scheduledTasks: [{
            cronExpression: "string",
            taskType: "string",
            adjustment: "string",
            adjustmentPercentage: "string",
            batchSizePercentage: "string",
            gracePeriod: "string",
            isEnabled: false,
            scaleMaxCapacity: "string",
            scaleMinCapacity: "string",
            scaleTargetCapacity: "string",
        }],
        shutdownScript: "string",
        desiredCapacity: 0,
        updatePolicy: {
            shouldRoll: false,
            rollConfig: {
                batchSizePercentage: 0,
                gracePeriod: 0,
                healthCheckType: "string",
            },
        },
        userData: "string",
    });
    
    type: spotinst:azure:Elastigroup
    properties:
        customData: string
        desiredCapacity: 0
        healthCheck:
            autoHealing: false
            gracePeriod: 0
            healthCheckType: string
        images:
            - customs:
                - imageName: string
                  resourceGroupName: string
              marketplaces:
                - offer: string
                  publisher: string
                  sku: string
        integrationKubernetes:
            clusterIdentifier: string
        integrationMultaiRuntime:
            deploymentId: string
        loadBalancers:
            - autoWeight: false
              balancerId: string
              targetSetId: string
              type: string
        login:
            password: string
            sshPublicKey: string
            userName: string
        lowPrioritySizes:
            - string
        managedServiceIdentities:
            - name: string
              resourceGroupName: string
        maxSize: 0
        minSize: 0
        name: string
        network:
            additionalIpConfigs:
                - name: string
                  privateIpVersion: string
            assignPublicIp: false
            resourceGroupName: string
            subnetName: string
            virtualNetworkName: string
        odSizes:
            - string
        product: string
        region: string
        resourceGroupName: string
        scalingDownPolicies:
            - actionType: string
              adjustment: string
              cooldown: 0
              dimensions:
                - name: string
                  value: string
              evaluationPeriods: 0
              maxTargetCapacity: string
              maximum: string
              metricName: string
              minTargetCapacity: string
              minimum: string
              namespace: string
              operator: string
              period: 0
              policyName: string
              statistic: string
              target: string
              threshold: 0
              unit: string
        scalingUpPolicies:
            - actionType: string
              adjustment: string
              cooldown: 0
              dimensions:
                - name: string
                  value: string
              evaluationPeriods: 0
              maxTargetCapacity: string
              maximum: string
              metricName: string
              minTargetCapacity: string
              minimum: string
              namespace: string
              operator: string
              period: 0
              policyName: string
              statistic: string
              target: string
              threshold: 0
              unit: string
        scheduledTasks:
            - adjustment: string
              adjustmentPercentage: string
              batchSizePercentage: string
              cronExpression: string
              gracePeriod: string
              isEnabled: false
              scaleMaxCapacity: string
              scaleMinCapacity: string
              scaleTargetCapacity: string
              taskType: string
        shutdownScript: string
        strategy:
            drainingTimeout: 0
            lowPriorityPercentage: 0
            odCount: 0
        updatePolicy:
            rollConfig:
                batchSizePercentage: 0
                gracePeriod: 0
                healthCheckType: string
            shouldRoll: false
        userData: string
    

    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>
    Network Pulumi.SpotInst.Azure.Inputs.ElastigroupNetwork
    OdSizes List<string>
    Available On-Demand sizes
    Product string
    Region string
    The region your Azure group will be created in.
    ResourceGroupName string
    Name of the Azure Resource Group where the Managed Service Identity is located.
    Strategy Pulumi.SpotInst.Azure.Inputs.ElastigroupStrategy
    CustomData string
    Custom init script file or text in Base64 encoded format.
    DesiredCapacity int
    The desired number of instances the group should have at any time.
    HealthCheck Pulumi.SpotInst.Azure.Inputs.ElastigroupHealthCheck
    Images List<Pulumi.SpotInst.Azure.Inputs.ElastigroupImage>
    IntegrationKubernetes Pulumi.SpotInst.Azure.Inputs.ElastigroupIntegrationKubernetes
    IntegrationMultaiRuntime Pulumi.SpotInst.Azure.Inputs.ElastigroupIntegrationMultaiRuntime
    LoadBalancers List<Pulumi.SpotInst.Azure.Inputs.ElastigroupLoadBalancer>
    Login Pulumi.SpotInst.Azure.Inputs.ElastigroupLogin
    ManagedServiceIdentities List<Pulumi.SpotInst.Azure.Inputs.ElastigroupManagedServiceIdentity>
    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
    Name of the Managed Service Identity.
    ScalingDownPolicies List<Pulumi.SpotInst.Azure.Inputs.ElastigroupScalingDownPolicy>
    ScalingUpPolicies List<Pulumi.SpotInst.Azure.Inputs.ElastigroupScalingUpPolicy>
    ScheduledTasks List<Pulumi.SpotInst.Azure.Inputs.ElastigroupScheduledTask>
    ShutdownScript string
    UpdatePolicy Pulumi.SpotInst.Azure.Inputs.ElastigroupUpdatePolicy
    UserData string
    LowPrioritySizes []string
    Network ElastigroupNetworkArgs
    OdSizes []string
    Available On-Demand sizes
    Product string
    Region string
    The region your Azure group will be created in.
    ResourceGroupName string
    Name of the Azure Resource Group where the Managed Service Identity is located.
    Strategy ElastigroupStrategyArgs
    CustomData string
    Custom init script file or text in Base64 encoded format.
    DesiredCapacity int
    The desired number of instances the group should have at any time.
    HealthCheck ElastigroupHealthCheckArgs
    Images []ElastigroupImageArgs
    IntegrationKubernetes ElastigroupIntegrationKubernetesArgs
    IntegrationMultaiRuntime ElastigroupIntegrationMultaiRuntimeArgs
    LoadBalancers []ElastigroupLoadBalancerArgs
    Login ElastigroupLoginArgs
    ManagedServiceIdentities []ElastigroupManagedServiceIdentityArgs
    MaxSize int
    The maximum number of instances the group should have at any time.
    MinSize int
    The minimum number of instances the group should have at any time.
    Name string
    Name of the Managed Service Identity.
    ScalingDownPolicies []ElastigroupScalingDownPolicyArgs
    ScalingUpPolicies []ElastigroupScalingUpPolicyArgs
    ScheduledTasks []ElastigroupScheduledTaskArgs
    ShutdownScript string
    UpdatePolicy ElastigroupUpdatePolicyArgs
    UserData string
    lowPrioritySizes List<String>
    network ElastigroupNetwork
    odSizes List<String>
    Available On-Demand sizes
    product String
    region String
    The region your Azure group will be created in.
    resourceGroupName String
    Name of the Azure Resource Group where the Managed Service Identity is located.
    strategy ElastigroupStrategy
    customData String
    Custom init script file or text in Base64 encoded format.
    desiredCapacity Integer
    The desired number of instances the group should have at any time.
    healthCheck ElastigroupHealthCheck
    images List<ElastigroupImage>
    integrationKubernetes ElastigroupIntegrationKubernetes
    integrationMultaiRuntime ElastigroupIntegrationMultaiRuntime
    loadBalancers List<ElastigroupLoadBalancer>
    login ElastigroupLogin
    managedServiceIdentities List<ElastigroupManagedServiceIdentity>
    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
    Name of the Managed Service Identity.
    scalingDownPolicies List<ElastigroupScalingDownPolicy>
    scalingUpPolicies List<ElastigroupScalingUpPolicy>
    scheduledTasks List<ElastigroupScheduledTask>
    shutdownScript String
    updatePolicy ElastigroupUpdatePolicy
    userData String
    lowPrioritySizes string[]
    network ElastigroupNetwork
    odSizes string[]
    Available On-Demand sizes
    product string
    region string
    The region your Azure group will be created in.
    resourceGroupName string
    Name of the Azure Resource Group where the Managed Service Identity is located.
    strategy ElastigroupStrategy
    customData string
    Custom init script file or text in Base64 encoded format.
    desiredCapacity number
    The desired number of instances the group should have at any time.
    healthCheck ElastigroupHealthCheck
    images ElastigroupImage[]
    integrationKubernetes ElastigroupIntegrationKubernetes
    integrationMultaiRuntime ElastigroupIntegrationMultaiRuntime
    loadBalancers ElastigroupLoadBalancer[]
    login ElastigroupLogin
    managedServiceIdentities ElastigroupManagedServiceIdentity[]
    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
    Name of the Managed Service Identity.
    scalingDownPolicies ElastigroupScalingDownPolicy[]
    scalingUpPolicies ElastigroupScalingUpPolicy[]
    scheduledTasks ElastigroupScheduledTask[]
    shutdownScript string
    updatePolicy ElastigroupUpdatePolicy
    userData string
    low_priority_sizes Sequence[str]
    network ElastigroupNetworkArgs
    od_sizes Sequence[str]
    Available On-Demand sizes
    product str
    region str
    The region your Azure group will be created in.
    resource_group_name str
    Name of the Azure Resource Group where the Managed Service Identity is located.
    strategy ElastigroupStrategyArgs
    custom_data str
    Custom init script file or text in Base64 encoded format.
    desired_capacity int
    The desired number of instances the group should have at any time.
    health_check ElastigroupHealthCheckArgs
    images Sequence[ElastigroupImageArgs]
    integration_kubernetes ElastigroupIntegrationKubernetesArgs
    integration_multai_runtime ElastigroupIntegrationMultaiRuntimeArgs
    load_balancers Sequence[ElastigroupLoadBalancerArgs]
    login ElastigroupLoginArgs
    managed_service_identities Sequence[ElastigroupManagedServiceIdentityArgs]
    max_size int
    The maximum number of instances the group should have at any time.
    min_size int
    The minimum number of instances the group should have at any time.
    name str
    Name of the Managed Service Identity.
    scaling_down_policies Sequence[ElastigroupScalingDownPolicyArgs]
    scaling_up_policies Sequence[ElastigroupScalingUpPolicyArgs]
    scheduled_tasks Sequence[ElastigroupScheduledTaskArgs]
    shutdown_script str
    update_policy ElastigroupUpdatePolicyArgs
    user_data str
    lowPrioritySizes List<String>
    network Property Map
    odSizes List<String>
    Available On-Demand sizes
    product String
    region String
    The region your Azure group will be created in.
    resourceGroupName String
    Name of the Azure Resource Group where the Managed Service Identity is located.
    strategy Property Map
    customData String
    Custom init script file or text in Base64 encoded format.
    desiredCapacity Number
    The desired number of instances the group should have at any time.
    healthCheck Property Map
    images List<Property Map>
    integrationKubernetes Property Map
    integrationMultaiRuntime Property Map
    loadBalancers List<Property Map>
    login Property Map
    managedServiceIdentities List<Property Map>
    maxSize Number
    The maximum number of instances the group should have at any time.
    minSize Number
    The minimum number of instances the group should have at any time.
    name String
    Name of the Managed Service Identity.
    scalingDownPolicies List<Property Map>
    scalingUpPolicies List<Property Map>
    scheduledTasks List<Property Map>
    shutdownScript String
    updatePolicy Property Map
    userData String

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing Elastigroup Resource

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

    public static get(name: string, id: Input<ID>, state?: ElastigroupState, opts?: CustomResourceOptions): Elastigroup
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            custom_data: Optional[str] = None,
            desired_capacity: Optional[int] = None,
            health_check: Optional[ElastigroupHealthCheckArgs] = None,
            images: Optional[Sequence[ElastigroupImageArgs]] = None,
            integration_kubernetes: Optional[ElastigroupIntegrationKubernetesArgs] = None,
            integration_multai_runtime: Optional[ElastigroupIntegrationMultaiRuntimeArgs] = None,
            load_balancers: Optional[Sequence[ElastigroupLoadBalancerArgs]] = None,
            login: Optional[ElastigroupLoginArgs] = None,
            low_priority_sizes: Optional[Sequence[str]] = None,
            managed_service_identities: Optional[Sequence[ElastigroupManagedServiceIdentityArgs]] = None,
            max_size: Optional[int] = None,
            min_size: Optional[int] = None,
            name: Optional[str] = None,
            network: Optional[ElastigroupNetworkArgs] = None,
            od_sizes: Optional[Sequence[str]] = None,
            product: Optional[str] = None,
            region: Optional[str] = None,
            resource_group_name: Optional[str] = None,
            scaling_down_policies: Optional[Sequence[ElastigroupScalingDownPolicyArgs]] = None,
            scaling_up_policies: Optional[Sequence[ElastigroupScalingUpPolicyArgs]] = None,
            scheduled_tasks: Optional[Sequence[ElastigroupScheduledTaskArgs]] = None,
            shutdown_script: Optional[str] = None,
            strategy: Optional[ElastigroupStrategyArgs] = None,
            update_policy: Optional[ElastigroupUpdatePolicyArgs] = None,
            user_data: Optional[str] = None) -> Elastigroup
    func GetElastigroup(ctx *Context, name string, id IDInput, state *ElastigroupState, opts ...ResourceOption) (*Elastigroup, error)
    public static Elastigroup Get(string name, Input<string> id, ElastigroupState? state, CustomResourceOptions? opts = null)
    public static Elastigroup get(String name, Output<String> id, ElastigroupState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CustomData string
    Custom init script file or text in Base64 encoded format.
    DesiredCapacity int
    The desired number of instances the group should have at any time.
    HealthCheck Pulumi.SpotInst.Azure.Inputs.ElastigroupHealthCheck
    Images List<Pulumi.SpotInst.Azure.Inputs.ElastigroupImage>
    IntegrationKubernetes Pulumi.SpotInst.Azure.Inputs.ElastigroupIntegrationKubernetes
    IntegrationMultaiRuntime Pulumi.SpotInst.Azure.Inputs.ElastigroupIntegrationMultaiRuntime
    LoadBalancers List<Pulumi.SpotInst.Azure.Inputs.ElastigroupLoadBalancer>
    Login Pulumi.SpotInst.Azure.Inputs.ElastigroupLogin
    LowPrioritySizes List<string>
    ManagedServiceIdentities List<Pulumi.SpotInst.Azure.Inputs.ElastigroupManagedServiceIdentity>
    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
    Name of the Managed Service Identity.
    Network Pulumi.SpotInst.Azure.Inputs.ElastigroupNetwork
    OdSizes List<string>
    Available On-Demand sizes
    Product string
    Region string
    The region your Azure group will be created in.
    ResourceGroupName string
    Name of the Azure Resource Group where the Managed Service Identity is located.
    ScalingDownPolicies List<Pulumi.SpotInst.Azure.Inputs.ElastigroupScalingDownPolicy>
    ScalingUpPolicies List<Pulumi.SpotInst.Azure.Inputs.ElastigroupScalingUpPolicy>
    ScheduledTasks List<Pulumi.SpotInst.Azure.Inputs.ElastigroupScheduledTask>
    ShutdownScript string
    Strategy Pulumi.SpotInst.Azure.Inputs.ElastigroupStrategy
    UpdatePolicy Pulumi.SpotInst.Azure.Inputs.ElastigroupUpdatePolicy
    UserData string
    CustomData string
    Custom init script file or text in Base64 encoded format.
    DesiredCapacity int
    The desired number of instances the group should have at any time.
    HealthCheck ElastigroupHealthCheckArgs
    Images []ElastigroupImageArgs
    IntegrationKubernetes ElastigroupIntegrationKubernetesArgs
    IntegrationMultaiRuntime ElastigroupIntegrationMultaiRuntimeArgs
    LoadBalancers []ElastigroupLoadBalancerArgs
    Login ElastigroupLoginArgs
    LowPrioritySizes []string
    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
    Name of the Managed Service Identity.
    Network ElastigroupNetworkArgs
    OdSizes []string
    Available On-Demand sizes
    Product string
    Region string
    The region your Azure group will be created in.
    ResourceGroupName string
    Name of the Azure Resource Group where the Managed Service Identity is located.
    ScalingDownPolicies []ElastigroupScalingDownPolicyArgs
    ScalingUpPolicies []ElastigroupScalingUpPolicyArgs
    ScheduledTasks []ElastigroupScheduledTaskArgs
    ShutdownScript string
    Strategy ElastigroupStrategyArgs
    UpdatePolicy ElastigroupUpdatePolicyArgs
    UserData string
    customData String
    Custom init script file or text in Base64 encoded format.
    desiredCapacity Integer
    The desired number of instances the group should have at any time.
    healthCheck ElastigroupHealthCheck
    images List<ElastigroupImage>
    integrationKubernetes ElastigroupIntegrationKubernetes
    integrationMultaiRuntime ElastigroupIntegrationMultaiRuntime
    loadBalancers List<ElastigroupLoadBalancer>
    login ElastigroupLogin
    lowPrioritySizes List<String>
    managedServiceIdentities List<ElastigroupManagedServiceIdentity>
    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
    Name of the Managed Service Identity.
    network ElastigroupNetwork
    odSizes List<String>
    Available On-Demand sizes
    product String
    region String
    The region your Azure group will be created in.
    resourceGroupName String
    Name of the Azure Resource Group where the Managed Service Identity is located.
    scalingDownPolicies List<ElastigroupScalingDownPolicy>
    scalingUpPolicies List<ElastigroupScalingUpPolicy>
    scheduledTasks List<ElastigroupScheduledTask>
    shutdownScript String
    strategy ElastigroupStrategy
    updatePolicy ElastigroupUpdatePolicy
    userData String
    customData string
    Custom init script file or text in Base64 encoded format.
    desiredCapacity number
    The desired number of instances the group should have at any time.
    healthCheck ElastigroupHealthCheck
    images ElastigroupImage[]
    integrationKubernetes ElastigroupIntegrationKubernetes
    integrationMultaiRuntime ElastigroupIntegrationMultaiRuntime
    loadBalancers ElastigroupLoadBalancer[]
    login ElastigroupLogin
    lowPrioritySizes string[]
    managedServiceIdentities ElastigroupManagedServiceIdentity[]
    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
    Name of the Managed Service Identity.
    network ElastigroupNetwork
    odSizes string[]
    Available On-Demand sizes
    product string
    region string
    The region your Azure group will be created in.
    resourceGroupName string
    Name of the Azure Resource Group where the Managed Service Identity is located.
    scalingDownPolicies ElastigroupScalingDownPolicy[]
    scalingUpPolicies ElastigroupScalingUpPolicy[]
    scheduledTasks ElastigroupScheduledTask[]
    shutdownScript string
    strategy ElastigroupStrategy
    updatePolicy ElastigroupUpdatePolicy
    userData string
    custom_data str
    Custom init script file or text in Base64 encoded format.
    desired_capacity int
    The desired number of instances the group should have at any time.
    health_check ElastigroupHealthCheckArgs
    images Sequence[ElastigroupImageArgs]
    integration_kubernetes ElastigroupIntegrationKubernetesArgs
    integration_multai_runtime ElastigroupIntegrationMultaiRuntimeArgs
    load_balancers Sequence[ElastigroupLoadBalancerArgs]
    login ElastigroupLoginArgs
    low_priority_sizes Sequence[str]
    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
    Name of the Managed Service Identity.
    network ElastigroupNetworkArgs
    od_sizes Sequence[str]
    Available On-Demand sizes
    product str
    region str
    The region your Azure group will be created in.
    resource_group_name str
    Name of the Azure Resource Group where the Managed Service Identity is located.
    scaling_down_policies Sequence[ElastigroupScalingDownPolicyArgs]
    scaling_up_policies Sequence[ElastigroupScalingUpPolicyArgs]
    scheduled_tasks Sequence[ElastigroupScheduledTaskArgs]
    shutdown_script str
    strategy ElastigroupStrategyArgs
    update_policy ElastigroupUpdatePolicyArgs
    user_data str
    customData String
    Custom init script file or text in Base64 encoded format.
    desiredCapacity Number
    The desired number of instances the group should have at any time.
    healthCheck Property Map
    images List<Property Map>
    integrationKubernetes Property Map
    integrationMultaiRuntime Property Map
    loadBalancers List<Property Map>
    login Property Map
    lowPrioritySizes List<String>
    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
    Name of the Managed Service Identity.
    network Property Map
    odSizes List<String>
    Available On-Demand sizes
    product String
    region String
    The region your Azure group will be created in.
    resourceGroupName String
    Name of the Azure Resource Group where the Managed Service Identity is located.
    scalingDownPolicies List<Property Map>
    scalingUpPolicies List<Property Map>
    scheduledTasks List<Property Map>
    shutdownScript String
    strategy Property Map
    updatePolicy Property Map
    userData String

    Supporting Types

    ElastigroupHealthCheck, ElastigroupHealthCheckArgs

    ElastigroupImage, ElastigroupImageArgs

    ElastigroupImageCustom, ElastigroupImageCustomArgs

    ImageName string
    ResourceGroupName string
    Name of the Azure Resource Group where the Managed Service Identity is located.
    ImageName string
    ResourceGroupName string
    Name of the Azure Resource Group where the Managed Service Identity is located.
    imageName String
    resourceGroupName String
    Name of the Azure Resource Group where the Managed Service Identity is located.
    imageName string
    resourceGroupName string
    Name of the Azure Resource Group where the Managed Service Identity is located.
    image_name str
    resource_group_name str
    Name of the Azure Resource Group where the Managed Service Identity is located.
    imageName String
    resourceGroupName String
    Name of the Azure Resource Group where the Managed Service Identity is located.

    ElastigroupImageMarketplace, ElastigroupImageMarketplaceArgs

    Offer string
    Publisher string
    Sku string
    Offer string
    Publisher string
    Sku string
    offer String
    publisher String
    sku String
    offer string
    publisher string
    sku string
    offer str
    publisher str
    sku str
    offer String
    publisher String
    sku String

    ElastigroupIntegrationKubernetes, ElastigroupIntegrationKubernetesArgs

    ElastigroupIntegrationMultaiRuntime, ElastigroupIntegrationMultaiRuntimeArgs

    ElastigroupLoadBalancer, ElastigroupLoadBalancerArgs

    Type string
    AutoWeight bool
    BalancerId string
    TargetSetId string
    Type string
    AutoWeight bool
    BalancerId string
    TargetSetId string
    type String
    autoWeight Boolean
    balancerId String
    targetSetId String
    type string
    autoWeight boolean
    balancerId string
    targetSetId string
    type String
    autoWeight Boolean
    balancerId String
    targetSetId String

    ElastigroupLogin, ElastigroupLoginArgs

    UserName string
    Password string
    SshPublicKey string
    UserName string
    Password string
    SshPublicKey string
    userName String
    password String
    sshPublicKey String
    userName string
    password string
    sshPublicKey string
    userName String
    password String
    sshPublicKey String

    ElastigroupManagedServiceIdentity, ElastigroupManagedServiceIdentityArgs

    Name string
    Name of the Managed Service Identity.
    ResourceGroupName string
    Name of the Azure Resource Group where the Managed Service Identity is located.
    Name string
    Name of the Managed Service Identity.
    ResourceGroupName string
    Name of the Azure Resource Group where the Managed Service Identity is located.
    name String
    Name of the Managed Service Identity.
    resourceGroupName String
    Name of the Azure Resource Group where the Managed Service Identity is located.
    name string
    Name of the Managed Service Identity.
    resourceGroupName string
    Name of the Azure Resource Group where the Managed Service Identity is located.
    name str
    Name of the Managed Service Identity.
    resource_group_name str
    Name of the Azure Resource Group where the Managed Service Identity is located.
    name String
    Name of the Managed Service Identity.
    resourceGroupName String
    Name of the Azure Resource Group where the Managed Service Identity is located.

    ElastigroupNetwork, ElastigroupNetworkArgs

    ResourceGroupName string
    Name of the Azure Resource Group where the Managed Service Identity is located.
    SubnetName string
    VirtualNetworkName string
    AdditionalIpConfigs List<Pulumi.SpotInst.Azure.Inputs.ElastigroupNetworkAdditionalIpConfig>
    AssignPublicIp bool
    ResourceGroupName string
    Name of the Azure Resource Group where the Managed Service Identity is located.
    SubnetName string
    VirtualNetworkName string
    AdditionalIpConfigs []ElastigroupNetworkAdditionalIpConfig
    AssignPublicIp bool
    resourceGroupName String
    Name of the Azure Resource Group where the Managed Service Identity is located.
    subnetName String
    virtualNetworkName String
    additionalIpConfigs List<ElastigroupNetworkAdditionalIpConfig>
    assignPublicIp Boolean
    resourceGroupName string
    Name of the Azure Resource Group where the Managed Service Identity is located.
    subnetName string
    virtualNetworkName string
    additionalIpConfigs ElastigroupNetworkAdditionalIpConfig[]
    assignPublicIp boolean
    resource_group_name str
    Name of the Azure Resource Group where the Managed Service Identity is located.
    subnet_name str
    virtual_network_name str
    additional_ip_configs Sequence[ElastigroupNetworkAdditionalIpConfig]
    assign_public_ip bool
    resourceGroupName String
    Name of the Azure Resource Group where the Managed Service Identity is located.
    subnetName String
    virtualNetworkName String
    additionalIpConfigs List<Property Map>
    assignPublicIp Boolean

    ElastigroupNetworkAdditionalIpConfig, ElastigroupNetworkAdditionalIpConfigArgs

    Name string
    Name of the Managed Service Identity.
    PrivateIpVersion string
    Name string
    Name of the Managed Service Identity.
    PrivateIpVersion string
    name String
    Name of the Managed Service Identity.
    privateIpVersion String
    name string
    Name of the Managed Service Identity.
    privateIpVersion string
    name str
    Name of the Managed Service Identity.
    private_ip_version str
    name String
    Name of the Managed Service Identity.
    privateIpVersion String

    ElastigroupScalingDownPolicy, ElastigroupScalingDownPolicyArgs

    ElastigroupScalingDownPolicyDimension, ElastigroupScalingDownPolicyDimensionArgs

    Name string
    Name of the Managed Service Identity.
    Value string
    Tag Value for Vms in Elastigroup.
    Name string
    Name of the Managed Service Identity.
    Value string
    Tag Value for Vms in Elastigroup.
    name String
    Name of the Managed Service Identity.
    value String
    Tag Value for Vms in Elastigroup.
    name string
    Name of the Managed Service Identity.
    value string
    Tag Value for Vms in Elastigroup.
    name str
    Name of the Managed Service Identity.
    value str
    Tag Value for Vms in Elastigroup.
    name String
    Name of the Managed Service Identity.
    value String
    Tag Value for Vms in Elastigroup.

    ElastigroupScalingUpPolicy, ElastigroupScalingUpPolicyArgs

    ElastigroupScalingUpPolicyDimension, ElastigroupScalingUpPolicyDimensionArgs

    Name string
    Name of the Managed Service Identity.
    Value string
    Tag Value for Vms in Elastigroup.
    Name string
    Name of the Managed Service Identity.
    Value string
    Tag Value for Vms in Elastigroup.
    name String
    Name of the Managed Service Identity.
    value String
    Tag Value for Vms in Elastigroup.
    name string
    Name of the Managed Service Identity.
    value string
    Tag Value for Vms in Elastigroup.
    name str
    Name of the Managed Service Identity.
    value str
    Tag Value for Vms in Elastigroup.
    name String
    Name of the Managed Service Identity.
    value String
    Tag Value for Vms in Elastigroup.

    ElastigroupScheduledTask, ElastigroupScheduledTaskArgs

    ElastigroupStrategy, ElastigroupStrategyArgs

    ElastigroupUpdatePolicy, ElastigroupUpdatePolicyArgs

    ElastigroupUpdatePolicyRollConfig, ElastigroupUpdatePolicyRollConfigArgs

    Package Details

    Repository
    Spotinst pulumi/pulumi-spotinst
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the spotinst Terraform Provider.
    spotinst logo
    Spotinst v3.74.1 published on Thursday, Apr 11, 2024 by Pulumi