Spotinst

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

ElastigroupAzureV3

Provides a Spotinst elastigroup Azure resource.

Example Usage

using Pulumi;
using SpotInst = Pulumi.SpotInst;

class MyStack : Stack
{
    public MyStack()
    {
        var testAzureGroup = new SpotInst.ElastigroupAzureV3("testAzureGroup", new SpotInst.ElastigroupAzureV3Args
        {
            CustomData = "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=",
            DesiredCapacity = 1,
            Images = 
            {
                new SpotInst.Inputs.ElastigroupAzureV3ImageArgs
                {
                    Marketplaces = 
                    {
                        new SpotInst.Inputs.ElastigroupAzureV3ImageMarketplaceArgs
                        {
                            Offer = "UbuntuServer",
                            Publisher = "Canonical",
                            Sku = "18.04-LTS",
                            Version = "latest",
                        },
                    },
                },
            },
            Login = new SpotInst.Inputs.ElastigroupAzureV3LoginArgs
            {
                SshPublicKey = "33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==",
                UserName = "admin",
            },
            ManagedServiceIdentities = 
            {
                new SpotInst.Inputs.ElastigroupAzureV3ManagedServiceIdentityArgs
                {
                    Name = "ocean-westus-dev-aks-agentpool",
                    ResourceGroupName = "MC_ocean-westus-dev_ocean-westus-dev-aks_westus",
                },
            },
            MaxSize = 1,
            MinSize = 0,
            Network = new SpotInst.Inputs.ElastigroupAzureV3NetworkArgs
            {
                NetworkInterfaces = 
                {
                    new SpotInst.Inputs.ElastigroupAzureV3NetworkNetworkInterfaceArgs
                    {
                        AdditionalIpConfigs = 
                        {
                            new SpotInst.Inputs.ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs
                            {
                                PrivateIPVersion = "IPv4",
                                Name = "SecondaryIPConfig",
                            },
                        },
                        ApplicationSecurityGroup = 
                        {
                            
                            {
                                { "name", "ApplicationSecurityGroupName" },
                                { "resourceGroupName", "ResourceGroup" },
                            },
                        },
                        AssignPublicIp = false,
                        IsPrimary = true,
                        SubnetName = "default",
                    },
                },
                ResourceGroupName = "ResourceGroup",
                VirtualNetworkName = "VirtualNetworkName",
            },
            OdSizes = 
            {
                "standard_a1_v1",
                "standard_a1_v2",
            },
            Os = "Linux",
            Region = "eastus",
            ResourceGroupName = "spotinst-azure",
            SpotSizes = 
            {
                "standard_a1_v1",
                "standard_a1_v2",
            },
            Strategy = new SpotInst.Inputs.ElastigroupAzureV3StrategyArgs
            {
                DrainingTimeout = 300,
                FallbackToOnDemand = true,
                OdCount = 1,
                SpotPercentage = 65,
            },
        });
    }

}
package main

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

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := spotinst.NewElastigroupAzureV3(ctx, "testAzureGroup", &spotinst.ElastigroupAzureV3Args{
			CustomData:      pulumi.String("IyEvYmluL2Jhc2gKZWNobyAidGVzdCI="),
			DesiredCapacity: pulumi.Int(1),
			Images: ElastigroupAzureV3ImageArray{
				&ElastigroupAzureV3ImageArgs{
					Marketplaces: ElastigroupAzureV3ImageMarketplaceArray{
						&ElastigroupAzureV3ImageMarketplaceArgs{
							Offer:     pulumi.String("UbuntuServer"),
							Publisher: pulumi.String("Canonical"),
							Sku:       pulumi.String("18.04-LTS"),
							Version:   pulumi.String("latest"),
						},
					},
				},
			},
			Login: &ElastigroupAzureV3LoginArgs{
				SshPublicKey: pulumi.String("33a2s1f3g5a1df5g1ad3f2g1adfg56dfg=="),
				UserName:     pulumi.String("admin"),
			},
			ManagedServiceIdentities: ElastigroupAzureV3ManagedServiceIdentityArray{
				&ElastigroupAzureV3ManagedServiceIdentityArgs{
					Name:              pulumi.String("ocean-westus-dev-aks-agentpool"),
					ResourceGroupName: pulumi.String("MC_ocean-westus-dev_ocean-westus-dev-aks_westus"),
				},
			},
			MaxSize: pulumi.Int(1),
			MinSize: pulumi.Int(0),
			Network: &ElastigroupAzureV3NetworkArgs{
				NetworkInterfaces: ElastigroupAzureV3NetworkNetworkInterfaceArray{
					&ElastigroupAzureV3NetworkNetworkInterfaceArgs{
						AdditionalIpConfigs: ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArray{
							&ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs{
								PrivateIPVersion: "IPv4",
								Name:             pulumi.String("SecondaryIPConfig"),
							},
						},
						ApplicationSecurityGroup: []map[string]interface{}{
							map[string]interface{}{
								"name":              "ApplicationSecurityGroupName",
								"resourceGroupName": "ResourceGroup",
							},
						},
						AssignPublicIp: pulumi.Bool(false),
						IsPrimary:      pulumi.Bool(true),
						SubnetName:     pulumi.String("default"),
					},
				},
				ResourceGroupName:  pulumi.String("ResourceGroup"),
				VirtualNetworkName: pulumi.String("VirtualNetworkName"),
			},
			OdSizes: pulumi.StringArray{
				pulumi.String("standard_a1_v1"),
				pulumi.String("standard_a1_v2"),
			},
			Os:                pulumi.String("Linux"),
			Region:            pulumi.String("eastus"),
			ResourceGroupName: pulumi.String("spotinst-azure"),
			SpotSizes: pulumi.StringArray{
				pulumi.String("standard_a1_v1"),
				pulumi.String("standard_a1_v2"),
			},
			Strategy: &ElastigroupAzureV3StrategyArgs{
				DrainingTimeout:    pulumi.Int(300),
				FallbackToOnDemand: pulumi.Bool(true),
				OdCount:            pulumi.Int(1),
				SpotPercentage:     pulumi.Int(65),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import java.util.*;
import java.io.*;
import java.nio.*;
import com.pulumi.*;

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

    public static void stack(Context ctx) {
        var testAzureGroup = new ElastigroupAzureV3("testAzureGroup", ElastigroupAzureV3Args.builder()        
            .customData("IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=")
            .desiredCapacity(1)
            .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")
            .spotSizes(            
                "standard_a1_v1",
                "standard_a1_v2")
            .strategy(ElastigroupAzureV3StrategyArgs.builder()
                .drainingTimeout(300)
                .fallbackToOnDemand(true)
                .odCount(1)
                .spotPercentage(65)
                .build())
            .build());

    }
}
import pulumi
import pulumi_spotinst as spotinst

test_azure_group = spotinst.ElastigroupAzureV3("testAzureGroup",
    custom_data="IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=",
    desired_capacity=1,
    images=[spotinst.ElastigroupAzureV3ImageArgs(
        marketplaces=[spotinst.ElastigroupAzureV3ImageMarketplaceArgs(
            offer="UbuntuServer",
            publisher="Canonical",
            sku="18.04-LTS",
            version="latest",
        )],
    )],
    login=spotinst.ElastigroupAzureV3LoginArgs(
        ssh_public_key="33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==",
        user_name="admin",
    ),
    managed_service_identities=[spotinst.ElastigroupAzureV3ManagedServiceIdentityArgs(
        name="ocean-westus-dev-aks-agentpool",
        resource_group_name="MC_ocean-westus-dev_ocean-westus-dev-aks_westus",
    )],
    max_size=1,
    min_size=0,
    network=spotinst.ElastigroupAzureV3NetworkArgs(
        network_interfaces=[spotinst.ElastigroupAzureV3NetworkNetworkInterfaceArgs(
            additional_ip_configs=[spotinst.ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs(
                private_ip_version="IPv4",
                name="SecondaryIPConfig",
            )],
            application_security_group=[{
                "name": "ApplicationSecurityGroupName",
                "resourceGroupName": "ResourceGroup",
            }],
            assign_public_ip=False,
            is_primary=True,
            subnet_name="default",
        )],
        resource_group_name="ResourceGroup",
        virtual_network_name="VirtualNetworkName",
    ),
    od_sizes=[
        "standard_a1_v1",
        "standard_a1_v2",
    ],
    os="Linux",
    region="eastus",
    resource_group_name="spotinst-azure",
    spot_sizes=[
        "standard_a1_v1",
        "standard_a1_v2",
    ],
    strategy=spotinst.ElastigroupAzureV3StrategyArgs(
        draining_timeout=300,
        fallback_to_on_demand=True,
        od_count=1,
        spot_percentage=65,
    ))
import * as pulumi from "@pulumi/pulumi";
import * as spotinst from "@pulumi/spotinst";

const testAzureGroup = new spotinst.ElastigroupAzureV3("test_azure_group", {
    // --- LAUNCH SPEC ---------------------------------------------------
    customData: "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=",
    desiredCapacity: 1,
    // --- 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",
            }],
            applicationSecurityGroups: [{
                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",
    spotSizes: [
        "standard_a1_v1",
        "standard_a1_v2",
    ],
    // --- STRATEGY ------------------------------------------------------
    strategy: {
        drainingTimeout: 300,
        fallbackToOnDemand: true,
        odCount: 1,
        spotPercentage: 65,
    },
});
resources:
  testAzureGroup:
    type: spotinst:ElastigroupAzureV3
    properties:
      customData: IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=
      desiredCapacity: 1
      images:
        - marketplaces:
            - offer: UbuntuServer
              publisher: Canonical
              sku: 18.04-LTS
              version: latest
      login:
        sshPublicKey: 33a2s1f3g5a1df5g1ad3f2g1adfg56dfg==
        userName: admin
      managedServiceIdentities:
        - name: ocean-westus-dev-aks-agentpool
          resourceGroupName: MC_ocean-westus-dev_ocean-westus-dev-aks_westus
      maxSize: 1
      minSize: 0
      network:
        networkInterfaces:
          - additionalIpConfigs:
              - PrivateIPVersion: IPv4
                name: SecondaryIPConfig
            applicationSecurityGroup:
              - name: ApplicationSecurityGroupName
                resourceGroupName: ResourceGroup
            assignPublicIp: false
            isPrimary: true
            subnetName: default
        resourceGroupName: ResourceGroup
        virtualNetworkName: VirtualNetworkName
      odSizes:
        - standard_a1_v1
        - standard_a1_v2
      os: Linux
      region: eastus
      resourceGroupName: spotinst-azure
      spotSizes:
        - standard_a1_v1
        - standard_a1_v2
      strategy:
        drainingTimeout: 300
        fallbackToOnDemand: true
        odCount: 1
        spotPercentage: 65

Create a ElastigroupAzureV3 Resource

new ElastigroupAzureV3(name: string, args: ElastigroupAzureV3Args, opts?: CustomResourceOptions);
@overload
def ElastigroupAzureV3(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       custom_data: Optional[str] = None,
                       desired_capacity: Optional[int] = None,
                       images: Optional[Sequence[ElastigroupAzureV3ImageArgs]] = None,
                       login: Optional[ElastigroupAzureV3LoginArgs] = None,
                       managed_service_identities: Optional[Sequence[ElastigroupAzureV3ManagedServiceIdentityArgs]] = None,
                       max_size: Optional[int] = None,
                       min_size: Optional[int] = None,
                       name: Optional[str] = None,
                       network: Optional[ElastigroupAzureV3NetworkArgs] = None,
                       od_sizes: Optional[Sequence[str]] = None,
                       os: Optional[str] = None,
                       region: Optional[str] = None,
                       resource_group_name: Optional[str] = None,
                       spot_sizes: Optional[Sequence[str]] = None,
                       strategy: Optional[ElastigroupAzureV3StrategyArgs] = None)
@overload
def ElastigroupAzureV3(resource_name: str,
                       args: ElastigroupAzureV3Args,
                       opts: Optional[ResourceOptions] = None)
func NewElastigroupAzureV3(ctx *Context, name string, args ElastigroupAzureV3Args, opts ...ResourceOption) (*ElastigroupAzureV3, error)
public ElastigroupAzureV3(string name, ElastigroupAzureV3Args args, CustomResourceOptions? opts = null)
public ElastigroupAzureV3(String name, ElastigroupAzureV3Args args)
public ElastigroupAzureV3(String name, ElastigroupAzureV3Args args, CustomResourceOptions options)
type: spotinst:ElastigroupAzureV3
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

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

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

Network Pulumi.SpotInst.Inputs.ElastigroupAzureV3NetworkArgs

Defines the Virtual Network and Subnet for your Elastigroup.

OdSizes List<string>

Available On-Demand sizes

Os string

Type of the operating system. Valid values: "Linux", "Windows".

Region string

The region your Azure group will be created in.

ResourceGroupName string
  • The resource group of the Application Security Group. }
SpotSizes List<string>

Available Low-Priority sizes.

Strategy Pulumi.SpotInst.Inputs.ElastigroupAzureV3StrategyArgs

Describes the deployment strategy.

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.

Images List<Pulumi.SpotInst.Inputs.ElastigroupAzureV3ImageArgs>

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

Login Pulumi.SpotInst.Inputs.ElastigroupAzureV3LoginArgs

Describes the login configuration.

ManagedServiceIdentities List<Pulumi.SpotInst.Inputs.ElastigroupAzureV3ManagedServiceIdentityArgs>

List of Managed Service Identity objects.

MaxSize int

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

MinSize int

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

Name string
  • The name of the Application Security group.
Network ElastigroupAzureV3NetworkArgs

Defines the Virtual Network and Subnet for your Elastigroup.

OdSizes []string

Available On-Demand sizes

Os string

Type of the operating system. Valid values: "Linux", "Windows".

Region string

The region your Azure group will be created in.

ResourceGroupName string
  • The resource group of the Application Security Group. }
SpotSizes []string

Available Low-Priority sizes.

Strategy ElastigroupAzureV3StrategyArgs

Describes the deployment strategy.

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.

Images []ElastigroupAzureV3ImageArgs

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

Login ElastigroupAzureV3LoginArgs

Describes the login configuration.

ManagedServiceIdentities []ElastigroupAzureV3ManagedServiceIdentityArgs

List of Managed Service Identity objects.

MaxSize int

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

MinSize int

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

Name string
  • The name of the Application Security group.
network ElastigroupAzureV3NetworkArgs

Defines the Virtual Network and Subnet for your Elastigroup.

odSizes List<String>

Available On-Demand sizes

os String

Type of the operating system. Valid values: "Linux", "Windows".

region String

The region your Azure group will be created in.

resourceGroupName String
  • The resource group of the Application Security Group. }
spotSizes List<String>

Available Low-Priority sizes.

strategy ElastigroupAzureV3StrategyArgs

Describes the deployment strategy.

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.

images List<ElastigroupAzureV3ImageArgs>

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

login ElastigroupAzureV3LoginArgs

Describes the login configuration.

managedServiceIdentities List<ElastigroupAzureV3ManagedServiceIdentityArgs>

List of Managed Service Identity objects.

maxSize Integer

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

minSize Integer

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

name String
  • The name of the Application Security group.
network ElastigroupAzureV3NetworkArgs

Defines the Virtual Network and Subnet for your Elastigroup.

odSizes string[]

Available On-Demand sizes

os string

Type of the operating system. Valid values: "Linux", "Windows".

region string

The region your Azure group will be created in.

resourceGroupName string
  • The resource group of the Application Security Group. }
spotSizes string[]

Available Low-Priority sizes.

strategy ElastigroupAzureV3StrategyArgs

Describes the deployment strategy.

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.

images ElastigroupAzureV3ImageArgs[]

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

login ElastigroupAzureV3LoginArgs

Describes the login configuration.

managedServiceIdentities ElastigroupAzureV3ManagedServiceIdentityArgs[]

List of Managed Service Identity objects.

maxSize number

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

minSize number

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

name string
  • The name of the Application Security group.
network ElastigroupAzureV3NetworkArgs

Defines the Virtual Network and Subnet for your Elastigroup.

od_sizes Sequence[str]

Available On-Demand sizes

os str

Type of the operating system. Valid values: "Linux", "Windows".

region str

The region your Azure group will be created in.

resource_group_name str
  • The resource group of the Application Security Group. }
spot_sizes Sequence[str]

Available Low-Priority sizes.

strategy ElastigroupAzureV3StrategyArgs

Describes the deployment strategy.

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.

images Sequence[ElastigroupAzureV3ImageArgs]

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

login ElastigroupAzureV3LoginArgs

Describes the login configuration.

managed_service_identities Sequence[ElastigroupAzureV3ManagedServiceIdentityArgs]

List of Managed Service Identity objects.

max_size int

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

min_size int

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

name str
  • The name of the Application Security group.
network Property Map

Defines the Virtual Network and Subnet for your Elastigroup.

odSizes List<String>

Available On-Demand sizes

os String

Type of the operating system. Valid values: "Linux", "Windows".

region String

The region your Azure group will be created in.

resourceGroupName String
  • The resource group of the Application Security Group. }
spotSizes List<String>

Available Low-Priority sizes.

strategy Property Map

Describes the deployment strategy.

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.

images List<Property Map>

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

login Property Map

Describes the login configuration.

managedServiceIdentities List<Property Map>

List of Managed Service Identity objects.

maxSize Number

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

minSize Number

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

name String
  • The name of the Application Security group.

Outputs

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

Id string

The provider-assigned unique ID for this managed resource.

Id string

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

id string

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Look up an Existing ElastigroupAzureV3 Resource

Get an existing ElastigroupAzureV3 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?: ElastigroupAzureV3State, opts?: CustomResourceOptions): ElastigroupAzureV3
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        custom_data: Optional[str] = None,
        desired_capacity: Optional[int] = None,
        images: Optional[Sequence[ElastigroupAzureV3ImageArgs]] = None,
        login: Optional[ElastigroupAzureV3LoginArgs] = None,
        managed_service_identities: Optional[Sequence[ElastigroupAzureV3ManagedServiceIdentityArgs]] = None,
        max_size: Optional[int] = None,
        min_size: Optional[int] = None,
        name: Optional[str] = None,
        network: Optional[ElastigroupAzureV3NetworkArgs] = None,
        od_sizes: Optional[Sequence[str]] = None,
        os: Optional[str] = None,
        region: Optional[str] = None,
        resource_group_name: Optional[str] = None,
        spot_sizes: Optional[Sequence[str]] = None,
        strategy: Optional[ElastigroupAzureV3StrategyArgs] = None) -> ElastigroupAzureV3
func GetElastigroupAzureV3(ctx *Context, name string, id IDInput, state *ElastigroupAzureV3State, opts ...ResourceOption) (*ElastigroupAzureV3, error)
public static ElastigroupAzureV3 Get(string name, Input<string> id, ElastigroupAzureV3State? state, CustomResourceOptions? opts = null)
public static ElastigroupAzureV3 get(String name, Output<String> id, ElastigroupAzureV3State 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.

Images List<Pulumi.SpotInst.Inputs.ElastigroupAzureV3ImageArgs>

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

Login Pulumi.SpotInst.Inputs.ElastigroupAzureV3LoginArgs

Describes the login configuration.

ManagedServiceIdentities List<Pulumi.SpotInst.Inputs.ElastigroupAzureV3ManagedServiceIdentityArgs>

List of Managed Service Identity objects.

MaxSize int

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

MinSize int

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

Name string
  • The name of the Application Security group.
Network Pulumi.SpotInst.Inputs.ElastigroupAzureV3NetworkArgs

Defines the Virtual Network and Subnet for your Elastigroup.

OdSizes List<string>

Available On-Demand sizes

Os string

Type of the operating system. Valid values: "Linux", "Windows".

Region string

The region your Azure group will be created in.

ResourceGroupName string
  • The resource group of the Application Security Group. }
SpotSizes List<string>

Available Low-Priority sizes.

Strategy Pulumi.SpotInst.Inputs.ElastigroupAzureV3StrategyArgs

Describes the deployment strategy.

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.

Images []ElastigroupAzureV3ImageArgs

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

Login ElastigroupAzureV3LoginArgs

Describes the login configuration.

ManagedServiceIdentities []ElastigroupAzureV3ManagedServiceIdentityArgs

List of Managed Service Identity objects.

MaxSize int

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

MinSize int

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

Name string
  • The name of the Application Security group.
Network ElastigroupAzureV3NetworkArgs

Defines the Virtual Network and Subnet for your Elastigroup.

OdSizes []string

Available On-Demand sizes

Os string

Type of the operating system. Valid values: "Linux", "Windows".

Region string

The region your Azure group will be created in.

ResourceGroupName string
  • The resource group of the Application Security Group. }
SpotSizes []string

Available Low-Priority sizes.

Strategy ElastigroupAzureV3StrategyArgs

Describes the deployment strategy.

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.

images List<ElastigroupAzureV3ImageArgs>

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

login ElastigroupAzureV3LoginArgs

Describes the login configuration.

managedServiceIdentities List<ElastigroupAzureV3ManagedServiceIdentityArgs>

List of Managed Service Identity objects.

maxSize Integer

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

minSize Integer

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

name String
  • The name of the Application Security group.
network ElastigroupAzureV3NetworkArgs

Defines the Virtual Network and Subnet for your Elastigroup.

odSizes List<String>

Available On-Demand sizes

os String

Type of the operating system. Valid values: "Linux", "Windows".

region String

The region your Azure group will be created in.

resourceGroupName String
  • The resource group of the Application Security Group. }
spotSizes List<String>

Available Low-Priority sizes.

strategy ElastigroupAzureV3StrategyArgs

Describes the deployment strategy.

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.

images ElastigroupAzureV3ImageArgs[]

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

login ElastigroupAzureV3LoginArgs

Describes the login configuration.

managedServiceIdentities ElastigroupAzureV3ManagedServiceIdentityArgs[]

List of Managed Service Identity objects.

maxSize number

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

minSize number

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

name string
  • The name of the Application Security group.
network ElastigroupAzureV3NetworkArgs

Defines the Virtual Network and Subnet for your Elastigroup.

odSizes string[]

Available On-Demand sizes

os string

Type of the operating system. Valid values: "Linux", "Windows".

region string

The region your Azure group will be created in.

resourceGroupName string
  • The resource group of the Application Security Group. }
spotSizes string[]

Available Low-Priority sizes.

strategy ElastigroupAzureV3StrategyArgs

Describes the deployment strategy.

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.

images Sequence[ElastigroupAzureV3ImageArgs]

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

login ElastigroupAzureV3LoginArgs

Describes the login configuration.

managed_service_identities Sequence[ElastigroupAzureV3ManagedServiceIdentityArgs]

List of Managed Service Identity objects.

max_size int

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

min_size int

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

name str
  • The name of the Application Security group.
network ElastigroupAzureV3NetworkArgs

Defines the Virtual Network and Subnet for your Elastigroup.

od_sizes Sequence[str]

Available On-Demand sizes

os str

Type of the operating system. Valid values: "Linux", "Windows".

region str

The region your Azure group will be created in.

resource_group_name str
  • The resource group of the Application Security Group. }
spot_sizes Sequence[str]

Available Low-Priority sizes.

strategy ElastigroupAzureV3StrategyArgs

Describes the deployment strategy.

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.

images List<Property Map>

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

login Property Map

Describes the login configuration.

managedServiceIdentities List<Property Map>

List of Managed Service Identity objects.

maxSize Number

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

minSize Number

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

name String
  • The name of the Application Security group.
network Property Map

Defines the Virtual Network and Subnet for your Elastigroup.

odSizes List<String>

Available On-Demand sizes

os String

Type of the operating system. Valid values: "Linux", "Windows".

region String

The region your Azure group will be created in.

resourceGroupName String
  • The resource group of the Application Security Group. }
spotSizes List<String>

Available Low-Priority sizes.

strategy Property Map

Describes the deployment strategy.

Supporting Types

ElastigroupAzureV3Image

ElastigroupAzureV3ImageCustom

ImageName string

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

ResourceGroupName string
  • The resource group of the Application Security Group. }
ImageName string

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

ResourceGroupName string
  • The resource group of the Application Security Group. }
imageName String

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

resourceGroupName String
  • The resource group of the Application Security Group. }
imageName string

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

resourceGroupName string
  • The resource group of the Application Security Group. }
image_name str

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

resource_group_name str
  • The resource group of the Application Security Group. }
imageName String

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

resourceGroupName String
  • The resource group of the Application Security Group. }

ElastigroupAzureV3ImageMarketplace

Offer string

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

Publisher string

Image publisher. Required if resource_group_name is not specified.

Sku string

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

Version string
Offer string

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

Publisher string

Image publisher. Required if resource_group_name is not specified.

Sku string

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

Version string
offer String

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

publisher String

Image publisher. Required if resource_group_name is not specified.

sku String

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

version String
offer string

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

publisher string

Image publisher. Required if resource_group_name is not specified.

sku string

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

version string
offer str

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

publisher str

Image publisher. Required if resource_group_name is not specified.

sku str

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

version str
offer String

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

publisher String

Image publisher. Required if resource_group_name is not specified.

sku String

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

version String

ElastigroupAzureV3Login

UserName string

Set admin access for accessing your VMs.

Password string

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

SshPublicKey string

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

UserName string

Set admin access for accessing your VMs.

Password string

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

SshPublicKey string

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

userName String

Set admin access for accessing your VMs.

password String

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

sshPublicKey String

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

userName string

Set admin access for accessing your VMs.

password string

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

sshPublicKey string

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

user_name str

Set admin access for accessing your VMs.

password str

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

ssh_public_key str

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

userName String

Set admin access for accessing your VMs.

password String

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

sshPublicKey String

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

ElastigroupAzureV3ManagedServiceIdentity

Name string
  • The name of the Application Security group.
ResourceGroupName string
  • The resource group of the Application Security Group. }
Name string
  • The name of the Application Security group.
ResourceGroupName string
  • The resource group of the Application Security Group. }
name String
  • The name of the Application Security group.
resourceGroupName String
  • The resource group of the Application Security Group. }
name string
  • The name of the Application Security group.
resourceGroupName string
  • The resource group of the Application Security Group. }
name str
  • The name of the Application Security group.
resource_group_name str
  • The resource group of the Application Security Group. }
name String
  • The name of the Application Security group.
resourceGroupName String
  • The resource group of the Application Security Group. }

ElastigroupAzureV3Network

NetworkInterfaces List<Pulumi.SpotInst.Inputs.ElastigroupAzureV3NetworkNetworkInterface>
ResourceGroupName string
  • The resource group of the Application Security Group. }
VirtualNetworkName string

Name of Vnet.

NetworkInterfaces []ElastigroupAzureV3NetworkNetworkInterface
ResourceGroupName string
  • The resource group of the Application Security Group. }
VirtualNetworkName string

Name of Vnet.

networkInterfaces List<ElastigroupAzureV3NetworkNetworkInterface>
resourceGroupName String
  • The resource group of the Application Security Group. }
virtualNetworkName String

Name of Vnet.

networkInterfaces ElastigroupAzureV3NetworkNetworkInterface[]
resourceGroupName string
  • The resource group of the Application Security Group. }
virtualNetworkName string

Name of Vnet.

network_interfaces Sequence[ElastigroupAzureV3NetworkNetworkInterface]
resource_group_name str
  • The resource group of the Application Security Group. }
virtual_network_name str

Name of Vnet.

networkInterfaces List<Property Map>
resourceGroupName String
  • The resource group of the Application Security Group. }
virtualNetworkName String

Name of Vnet.

ElastigroupAzureV3NetworkNetworkInterface

AssignPublicIp bool
IsPrimary bool
SubnetName string

ID of subnet.

AdditionalIpConfigs List<Pulumi.SpotInst.Inputs.ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig>

Array of additional IP configuration objects.

ApplicationSecurityGroups List<Pulumi.SpotInst.Inputs.ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup>
  • List of Application Security Groups that will be associated to the primary ip configuration of the network interface.
AssignPublicIp bool
IsPrimary bool
SubnetName string

ID of subnet.

AdditionalIpConfigs []ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig

Array of additional IP configuration objects.

ApplicationSecurityGroups []ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup
  • List of Application Security Groups that will be associated to the primary ip configuration of the network interface.
assignPublicIp Boolean
isPrimary Boolean
subnetName String

ID of subnet.

additionalIpConfigs List<ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig>

Array of additional IP configuration objects.

applicationSecurityGroups List<ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup>
  • List of Application Security Groups that will be associated to the primary ip configuration of the network interface.
assignPublicIp boolean
isPrimary boolean
subnetName string

ID of subnet.

additionalIpConfigs ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig[]

Array of additional IP configuration objects.

applicationSecurityGroups ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup[]
  • List of Application Security Groups that will be associated to the primary ip configuration of the network interface.
assign_public_ip bool
is_primary bool
subnet_name str

ID of subnet.

additional_ip_configs Sequence[ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig]

Array of additional IP configuration objects.

application_security_groups Sequence[ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup]
  • List of Application Security Groups that will be associated to the primary ip configuration of the network interface.
assignPublicIp Boolean
isPrimary Boolean
subnetName String

ID of subnet.

additionalIpConfigs List<Property Map>

Array of additional IP configuration objects.

applicationSecurityGroups List<Property Map>
  • List of Application Security Groups that will be associated to the primary ip configuration of the network interface.

ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig

Name string
  • The name of the Application Security group.
PrivateIpVersion string

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

Name string
  • The name of the Application Security group.
PrivateIpVersion string

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

name String
  • The name of the Application Security group.
privateIpVersion String

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

name string
  • The name of the Application Security group.
privateIpVersion string

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

name str
  • The name of the Application Security group.
private_ip_version str

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

name String
  • The name of the Application Security group.
privateIpVersion String

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

ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup

Name string
  • The name of the Application Security group.
ResourceGroupName string
  • The resource group of the Application Security Group. }
Name string
  • The name of the Application Security group.
ResourceGroupName string
  • The resource group of the Application Security Group. }
name String
  • The name of the Application Security group.
resourceGroupName String
  • The resource group of the Application Security Group. }
name string
  • The name of the Application Security group.
resourceGroupName string
  • The resource group of the Application Security Group. }
name str
  • The name of the Application Security group.
resource_group_name str
  • The resource group of the Application Security Group. }
name String
  • The name of the Application Security group.
resourceGroupName String
  • The resource group of the Application Security Group. }

ElastigroupAzureV3Strategy

DrainingTimeout int

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

FallbackToOnDemand bool
OdCount int

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

SpotPercentage int

TODO

DrainingTimeout int

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

FallbackToOnDemand bool
OdCount int

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

SpotPercentage int

TODO

drainingTimeout Integer

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

fallbackToOnDemand Boolean
odCount Integer

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

spotPercentage Integer

TODO

drainingTimeout number

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

fallbackToOnDemand boolean
odCount number

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

spotPercentage number

TODO

draining_timeout int

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

fallback_to_on_demand bool
od_count int

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

spot_percentage int

TODO

drainingTimeout Number

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

fallbackToOnDemand Boolean
odCount Number

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

spotPercentage Number

TODO

Package Details

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

This Pulumi package is based on the spotinst Terraform Provider.