1. Packages
  2. Spotinst
  3. API Docs
  4. azure
  5. Elastigroup
Spotinst v3.53.0 published on Friday, Sep 22, 2023 by Pulumi

spotinst.azure.Elastigroup

Explore with Pulumi AI

spotinst logo
Spotinst v3.53.0 published on Friday, Sep 22, 2023 by Pulumi

    Provides a Spotinst elastigroup Azure resource.

    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
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    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
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    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
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    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) {
        }
    }
    
    {}
    

    Example Usage

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    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());
    
        }
    }
    
    import pulumi
    
    import * as pulumi from "@pulumi/pulumi";
    
    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
    

    name is specified.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    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) {
        }
    }
    
    import pulumi
    
    import * as pulumi from "@pulumi/pulumi";
    
    {}
    

    }

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    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) {
        }
    }
    
    import pulumi
    
    import * as pulumi from "@pulumi/pulumi";
    
    {}
    

    Login

    Coming soon!

    Coming soon!

    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) {
        }
    }
    

    Coming soon!

    Coming soon!

    {}
    

    Create Elastigroup Resource

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

    Elastigroup Resource Properties

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

    Inputs

    The Elastigroup resource accepts the following input properties:

    LowPrioritySizes List<string>
    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.53.0 published on Friday, Sep 22, 2023 by Pulumi