Elastigroup

Provides a Spotinst Elastigroup GKE resource. Please see Importing a GKE cluster for detailed information.

Example Usage

A spotinst.gke.Elastigroup supports all of the fields defined in spotinst_

using Pulumi;
using SpotInst = Pulumi.SpotInst;

class MyStack : Stack
{
    public MyStack()
    {
        var example_gke_elastigroup = new SpotInst.Gke.Elastigroup("example-gke-elastigroup", new SpotInst.Gke.ElastigroupArgs
        {
            BackendServices = 
            {
                new SpotInst.Gke.Inputs.ElastigroupBackendServiceArgs
                {
                    LocationType = "global",
                    NamedPorts = 
                    {
                        new SpotInst.Gke.Inputs.ElastigroupBackendServiceNamedPortArgs
                        {
                            Name = "http",
                            Ports = 
                            {
                                "80",
                                "8080",
                            },
                        },
                    },
                    ServiceName = "backend-service",
                },
            },
            ClusterZoneName = "us-central1-a",
            DesiredCapacity = 3,
            InstanceTypesOndemand = "n1-standard-1",
            InstanceTypesPreemptibles = 
            {
                "n1-standard-1",
                "n1-standard-2",
            },
            IntegrationGke = new SpotInst.Gke.Inputs.ElastigroupIntegrationGkeArgs
            {
                AutoscaleCooldown = 300,
                AutoscaleDown = new SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleDownArgs
                {
                    EvaluationPeriods = 300,
                },
                AutoscaleHeadroom = new SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleHeadroomArgs
                {
                    CpuPerUnit = 1024,
                    MemoryPerUnit = 512,
                    NumOfUnits = 2,
                },
                AutoscaleIsAutoConfig = false,
                AutoscaleIsEnabled = true,
                AutoscaleLabels = 
                {
                    new SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleLabelArgs
                    {
                        Key = "label_key",
                        Value = "label_value",
                    },
                },
                ClusterId = "example-cluster-id",
                Location = "us-central1-a",
            },
            MaxSize = 5,
            MinSize = 1,
            NodeImage = "COS",
            PreemptiblePercentage = 100,
        });
    }

}
package main

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

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gke.NewElastigroup(ctx, "example-gke-elastigroup", &gke.ElastigroupArgs{
			BackendServices: gke.ElastigroupBackendServiceArray{
				&gke.ElastigroupBackendServiceArgs{
					LocationType: pulumi.String("global"),
					NamedPorts: gke.ElastigroupBackendServiceNamedPortArray{
						&gke.ElastigroupBackendServiceNamedPortArgs{
							Name: pulumi.String("http"),
							Ports: pulumi.StringArray{
								pulumi.String("80"),
								pulumi.String("8080"),
							},
						},
					},
					ServiceName: pulumi.String("backend-service"),
				},
			},
			ClusterZoneName:       pulumi.String("us-central1-a"),
			DesiredCapacity:       pulumi.Int(3),
			InstanceTypesOndemand: pulumi.String("n1-standard-1"),
			InstanceTypesPreemptibles: pulumi.StringArray{
				pulumi.String("n1-standard-1"),
				pulumi.String("n1-standard-2"),
			},
			IntegrationGke: &gke.ElastigroupIntegrationGkeArgs{
				AutoscaleCooldown: pulumi.Int(300),
				AutoscaleDown: &gke.ElastigroupIntegrationGkeAutoscaleDownArgs{
					EvaluationPeriods: pulumi.Int(300),
				},
				AutoscaleHeadroom: &gke.ElastigroupIntegrationGkeAutoscaleHeadroomArgs{
					CpuPerUnit:    pulumi.Int(1024),
					MemoryPerUnit: pulumi.Int(512),
					NumOfUnits:    pulumi.Int(2),
				},
				AutoscaleIsAutoConfig: pulumi.Bool(false),
				AutoscaleIsEnabled:    pulumi.Bool(true),
				AutoscaleLabels: gke.ElastigroupIntegrationGkeAutoscaleLabelArray{
					&gke.ElastigroupIntegrationGkeAutoscaleLabelArgs{
						Key:   pulumi.String("label_key"),
						Value: pulumi.String("label_value"),
					},
				},
				ClusterId: pulumi.String("example-cluster-id"),
				Location:  pulumi.String("us-central1-a"),
			},
			MaxSize:               pulumi.Int(5),
			MinSize:               pulumi.Int(1),
			NodeImage:             pulumi.String("COS"),
			PreemptiblePercentage: pulumi.Int(100),
		})
		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 example_gke_elastigroup = new Elastigroup("example-gke-elastigroup", ElastigroupArgs.builder()        
            .backendServices(ElastigroupBackendServiceArgs.builder()
                .locationType("global")
                .namedPorts(ElastigroupBackendServiceNamedPortArgs.builder()
                    .name("http")
                    .ports(                    
                        80,
                        8080)
                    .build())
                .serviceName("backend-service")
                .build())
            .clusterZoneName("us-central1-a")
            .desiredCapacity(3)
            .instanceTypesOndemand("n1-standard-1")
            .instanceTypesPreemptibles(            
                "n1-standard-1",
                "n1-standard-2")
            .integrationGke(ElastigroupIntegrationGkeArgs.builder()
                .autoscaleCooldown(300)
                .autoscaleDown(ElastigroupIntegrationGkeAutoscaleDownArgs.builder()
                    .evaluationPeriods(300)
                    .build())
                .autoscaleHeadroom(ElastigroupIntegrationGkeAutoscaleHeadroomArgs.builder()
                    .cpuPerUnit(1024)
                    .memoryPerUnit(512)
                    .numOfUnits(2)
                    .build())
                .autoscaleIsAutoConfig(false)
                .autoscaleIsEnabled(true)
                .autoscaleLabels(ElastigroupIntegrationGkeAutoscaleLabelArgs.builder()
                    .key("label_key")
                    .value("label_value")
                    .build())
                .clusterId("example-cluster-id")
                .location("us-central1-a")
                .build())
            .maxSize(5)
            .minSize(1)
            .nodeImage("COS")
            .preemptiblePercentage(100)
            .build());

    }
}
import pulumi
import pulumi_spotinst as spotinst

example_gke_elastigroup = spotinst.gke.Elastigroup("example-gke-elastigroup",
    backend_services=[spotinst.gke.ElastigroupBackendServiceArgs(
        location_type="global",
        named_ports=[spotinst.gke.ElastigroupBackendServiceNamedPortArgs(
            name="http",
            ports=[
                "80",
                "8080",
            ],
        )],
        service_name="backend-service",
    )],
    cluster_zone_name="us-central1-a",
    desired_capacity=3,
    instance_types_ondemand="n1-standard-1",
    instance_types_preemptibles=[
        "n1-standard-1",
        "n1-standard-2",
    ],
    integration_gke=spotinst.gke.ElastigroupIntegrationGkeArgs(
        autoscale_cooldown=300,
        autoscale_down=spotinst.gke.ElastigroupIntegrationGkeAutoscaleDownArgs(
            evaluation_periods=300,
        ),
        autoscale_headroom=spotinst.gke.ElastigroupIntegrationGkeAutoscaleHeadroomArgs(
            cpu_per_unit=1024,
            memory_per_unit=512,
            num_of_units=2,
        ),
        autoscale_is_auto_config=False,
        autoscale_is_enabled=True,
        autoscale_labels=[spotinst.gke.ElastigroupIntegrationGkeAutoscaleLabelArgs(
            key="label_key",
            value="label_value",
        )],
        cluster_id="example-cluster-id",
        location="us-central1-a",
    ),
    max_size=5,
    min_size=1,
    node_image="COS",
    preemptible_percentage=100)
import * as pulumi from "@pulumi/pulumi";
import * as spotinst from "@pulumi/spotinst";

const example_gke_elastigroup = new spotinst.gke.Elastigroup("example-gke-elastigroup", {
    backendServices: [{
        locationType: "global",
        namedPorts: [{
            name: "http",
            ports: [
                "80",
                "8080",
            ],
        }],
        serviceName: "backend-service",
    }],
    // cluster_id        = "sample-acc-test-cluster" // deprecated
    clusterZoneName: "us-central1-a",
    desiredCapacity: 3,
    // --- INSTANCE TYPES --------------------------------
    instanceTypesOndemand: "n1-standard-1",
    instanceTypesPreemptibles: [
        "n1-standard-1",
        "n1-standard-2",
    ],
    integrationGke: {
        autoscaleCooldown: 300,
        autoscaleDown: {
            evaluationPeriods: 300,
        },
        autoscaleHeadroom: {
            cpuPerUnit: 1024,
            memoryPerUnit: 512,
            numOfUnits: 2,
        },
        autoscaleIsAutoConfig: false,
        autoscaleIsEnabled: true,
        autoscaleLabels: [{
            key: "label_key",
            value: "label_value",
        }],
        clusterId: "example-cluster-id",
        location: "us-central1-a",
    },
    // --- CAPACITY ------------
    maxSize: 5,
    minSize: 1,
    nodeImage: "COS",
    // --- STRATEGY --------------------
    preemptiblePercentage: 100,
});
resources:
  example-gke-elastigroup:
    type: spotinst:gke:Elastigroup
    properties:
      backendServices:
        - locationType: global
          namedPorts:
            - name: http
              ports:
                - 80
                - 8080
          serviceName: backend-service
      clusterZoneName: us-central1-a
      desiredCapacity: 3
      instanceTypesOndemand: n1-standard-1
      instanceTypesPreemptibles:
        - n1-standard-1
        - n1-standard-2
      integrationGke:
        autoscaleCooldown: 300
        autoscaleDown:
          evaluationPeriods: 300
        autoscaleHeadroom:
          cpuPerUnit: 1024
          memoryPerUnit: 512
          numOfUnits: 2
        autoscaleIsAutoConfig: false
        autoscaleIsEnabled: true
        autoscaleLabels:
          - key: label_key
            value: label_value
        clusterId: example-cluster-id
        location: us-central1-a
      maxSize: 5
      minSize: 1
      nodeImage: COS
      preemptiblePercentage: 100

Create Elastigroup Resource

new Elastigroup(name: string, args: ElastigroupArgs, opts?: CustomResourceOptions);
@overload
def Elastigroup(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                backend_services: Optional[Sequence[ElastigroupBackendServiceArgs]] = None,
                cluster_id: Optional[str] = None,
                cluster_zone_name: Optional[str] = None,
                desired_capacity: Optional[int] = None,
                disks: Optional[Sequence[ElastigroupDiskArgs]] = None,
                draining_timeout: Optional[int] = None,
                fallback_to_ondemand: Optional[bool] = None,
                gpu: Optional[Sequence[ElastigroupGpuArgs]] = None,
                instance_types_customs: Optional[Sequence[ElastigroupInstanceTypesCustomArgs]] = None,
                instance_types_ondemand: Optional[str] = None,
                instance_types_preemptibles: Optional[Sequence[str]] = None,
                integration_docker_swarm: Optional[ElastigroupIntegrationDockerSwarmArgs] = None,
                integration_gke: Optional[ElastigroupIntegrationGkeArgs] = None,
                ip_forwarding: Optional[bool] = None,
                labels: Optional[Sequence[ElastigroupLabelArgs]] = None,
                max_size: Optional[int] = None,
                metadatas: Optional[Sequence[ElastigroupMetadataArgs]] = None,
                min_size: Optional[int] = None,
                name: Optional[str] = None,
                network_interfaces: Optional[Sequence[ElastigroupNetworkInterfaceArgs]] = None,
                node_image: Optional[str] = None,
                ondemand_count: Optional[int] = None,
                preemptible_percentage: Optional[int] = None,
                provisioning_model: Optional[str] = None,
                scaling_down_policies: Optional[Sequence[ElastigroupScalingDownPolicyArgs]] = None,
                scaling_up_policies: Optional[Sequence[ElastigroupScalingUpPolicyArgs]] = None,
                service_account: Optional[str] = None,
                shutdown_script: Optional[str] = None,
                startup_script: Optional[str] = None,
                tags: Optional[Sequence[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:gke: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:

ClusterZoneName string

The zone where the cluster is hosted.

DesiredCapacity int
BackendServices List<Pulumi.SpotInst.Gke.Inputs.ElastigroupBackendServiceArgs>
ClusterId string

The GKE cluster ID you wish to import.

Deprecated:

Please define cluster_id under integration_gke

Disks List<Pulumi.SpotInst.Gke.Inputs.ElastigroupDiskArgs>
DrainingTimeout int
FallbackToOndemand bool
Gpu List<Pulumi.SpotInst.Gke.Inputs.ElastigroupGpuArgs>
InstanceTypesCustoms List<Pulumi.SpotInst.Gke.Inputs.ElastigroupInstanceTypesCustomArgs>
InstanceTypesOndemand string
InstanceTypesPreemptibles List<string>
IntegrationDockerSwarm Pulumi.SpotInst.Gke.Inputs.ElastigroupIntegrationDockerSwarmArgs
IntegrationGke Pulumi.SpotInst.Gke.Inputs.ElastigroupIntegrationGkeArgs

Describes the GKE integration.

IpForwarding bool
Labels List<Pulumi.SpotInst.Gke.Inputs.ElastigroupLabelArgs>
MaxSize int
Metadatas List<Pulumi.SpotInst.Gke.Inputs.ElastigroupMetadataArgs>
MinSize int
Name string
NetworkInterfaces List<Pulumi.SpotInst.Gke.Inputs.ElastigroupNetworkInterfaceArgs>
NodeImage string

The image that will be used for the node VMs. Possible values: COS, UBUNTU.

OndemandCount int
PreemptiblePercentage int
ProvisioningModel string
ScalingDownPolicies List<Pulumi.SpotInst.Gke.Inputs.ElastigroupScalingDownPolicyArgs>
ScalingUpPolicies List<Pulumi.SpotInst.Gke.Inputs.ElastigroupScalingUpPolicyArgs>
ServiceAccount string
ShutdownScript string
StartupScript string
Tags List<string>
ClusterZoneName string

The zone where the cluster is hosted.

DesiredCapacity int
BackendServices []ElastigroupBackendServiceArgs
ClusterId string

The GKE cluster ID you wish to import.

Deprecated:

Please define cluster_id under integration_gke

Disks []ElastigroupDiskArgs
DrainingTimeout int
FallbackToOndemand bool
Gpu []ElastigroupGpuArgs
InstanceTypesCustoms []ElastigroupInstanceTypesCustomArgs
InstanceTypesOndemand string
InstanceTypesPreemptibles []string
IntegrationDockerSwarm ElastigroupIntegrationDockerSwarmArgs
IntegrationGke ElastigroupIntegrationGkeArgs

Describes the GKE integration.

IpForwarding bool
Labels []ElastigroupLabelArgs
MaxSize int
Metadatas []ElastigroupMetadataArgs
MinSize int
Name string
NetworkInterfaces []ElastigroupNetworkInterfaceArgs
NodeImage string

The image that will be used for the node VMs. Possible values: COS, UBUNTU.

OndemandCount int
PreemptiblePercentage int
ProvisioningModel string
ScalingDownPolicies []ElastigroupScalingDownPolicyArgs
ScalingUpPolicies []ElastigroupScalingUpPolicyArgs
ServiceAccount string
ShutdownScript string
StartupScript string
Tags []string
clusterZoneName String

The zone where the cluster is hosted.

desiredCapacity Integer
backendServices List<ElastigroupBackendServiceArgs>
clusterId String

The GKE cluster ID you wish to import.

Deprecated:

Please define cluster_id under integration_gke

disks List<ElastigroupDiskArgs>
drainingTimeout Integer
fallbackToOndemand Boolean
gpu List<ElastigroupGpuArgs>
instanceTypesCustoms List<ElastigroupInstanceTypesCustomArgs>
instanceTypesOndemand String
instanceTypesPreemptibles List<String>
integrationDockerSwarm ElastigroupIntegrationDockerSwarmArgs
integrationGke ElastigroupIntegrationGkeArgs

Describes the GKE integration.

ipForwarding Boolean
labels List<ElastigroupLabelArgs>
maxSize Integer
metadatas List<ElastigroupMetadataArgs>
minSize Integer
name String
networkInterfaces List<ElastigroupNetworkInterfaceArgs>
nodeImage String

The image that will be used for the node VMs. Possible values: COS, UBUNTU.

ondemandCount Integer
preemptiblePercentage Integer
provisioningModel String
scalingDownPolicies List<ElastigroupScalingDownPolicyArgs>
scalingUpPolicies List<ElastigroupScalingUpPolicyArgs>
serviceAccount String
shutdownScript String
startupScript String
tags List<String>
clusterZoneName string

The zone where the cluster is hosted.

desiredCapacity number
backendServices ElastigroupBackendServiceArgs[]
clusterId string

The GKE cluster ID you wish to import.

Deprecated:

Please define cluster_id under integration_gke

disks ElastigroupDiskArgs[]
drainingTimeout number
fallbackToOndemand boolean
gpu ElastigroupGpuArgs[]
instanceTypesCustoms ElastigroupInstanceTypesCustomArgs[]
instanceTypesOndemand string
instanceTypesPreemptibles string[]
integrationDockerSwarm ElastigroupIntegrationDockerSwarmArgs
integrationGke ElastigroupIntegrationGkeArgs

Describes the GKE integration.

ipForwarding boolean
labels ElastigroupLabelArgs[]
maxSize number
metadatas ElastigroupMetadataArgs[]
minSize number
name string
networkInterfaces ElastigroupNetworkInterfaceArgs[]
nodeImage string

The image that will be used for the node VMs. Possible values: COS, UBUNTU.

ondemandCount number
preemptiblePercentage number
provisioningModel string
scalingDownPolicies ElastigroupScalingDownPolicyArgs[]
scalingUpPolicies ElastigroupScalingUpPolicyArgs[]
serviceAccount string
shutdownScript string
startupScript string
tags string[]
cluster_zone_name str

The zone where the cluster is hosted.

desired_capacity int
backend_services Sequence[ElastigroupBackendServiceArgs]
cluster_id str

The GKE cluster ID you wish to import.

Deprecated:

Please define cluster_id under integration_gke

disks Sequence[ElastigroupDiskArgs]
draining_timeout int
fallback_to_ondemand bool
gpu Sequence[ElastigroupGpuArgs]
instance_types_customs Sequence[ElastigroupInstanceTypesCustomArgs]
instance_types_ondemand str
instance_types_preemptibles Sequence[str]
integration_docker_swarm ElastigroupIntegrationDockerSwarmArgs
integration_gke ElastigroupIntegrationGkeArgs

Describes the GKE integration.

ip_forwarding bool
labels Sequence[ElastigroupLabelArgs]
max_size int
metadatas Sequence[ElastigroupMetadataArgs]
min_size int
name str
network_interfaces Sequence[ElastigroupNetworkInterfaceArgs]
node_image str

The image that will be used for the node VMs. Possible values: COS, UBUNTU.

ondemand_count int
preemptible_percentage int
provisioning_model str
scaling_down_policies Sequence[ElastigroupScalingDownPolicyArgs]
scaling_up_policies Sequence[ElastigroupScalingUpPolicyArgs]
service_account str
shutdown_script str
startup_script str
tags Sequence[str]
clusterZoneName String

The zone where the cluster is hosted.

desiredCapacity Number
backendServices List<Property Map>
clusterId String

The GKE cluster ID you wish to import.

Deprecated:

Please define cluster_id under integration_gke

disks List<Property Map>
drainingTimeout Number
fallbackToOndemand Boolean
gpu List<Property Map>
instanceTypesCustoms List<Property Map>
instanceTypesOndemand String
instanceTypesPreemptibles List<String>
integrationDockerSwarm Property Map
integrationGke Property Map

Describes the GKE integration.

ipForwarding Boolean
labels List<Property Map>
maxSize Number
metadatas List<Property Map>
minSize Number
name String
networkInterfaces List<Property Map>
nodeImage String

The image that will be used for the node VMs. Possible values: COS, UBUNTU.

ondemandCount Number
preemptiblePercentage Number
provisioningModel String
scalingDownPolicies List<Property Map>
scalingUpPolicies List<Property Map>
serviceAccount String
shutdownScript String
startupScript String
tags List<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,
        backend_services: Optional[Sequence[ElastigroupBackendServiceArgs]] = None,
        cluster_id: Optional[str] = None,
        cluster_zone_name: Optional[str] = None,
        desired_capacity: Optional[int] = None,
        disks: Optional[Sequence[ElastigroupDiskArgs]] = None,
        draining_timeout: Optional[int] = None,
        fallback_to_ondemand: Optional[bool] = None,
        gpu: Optional[Sequence[ElastigroupGpuArgs]] = None,
        instance_types_customs: Optional[Sequence[ElastigroupInstanceTypesCustomArgs]] = None,
        instance_types_ondemand: Optional[str] = None,
        instance_types_preemptibles: Optional[Sequence[str]] = None,
        integration_docker_swarm: Optional[ElastigroupIntegrationDockerSwarmArgs] = None,
        integration_gke: Optional[ElastigroupIntegrationGkeArgs] = None,
        ip_forwarding: Optional[bool] = None,
        labels: Optional[Sequence[ElastigroupLabelArgs]] = None,
        max_size: Optional[int] = None,
        metadatas: Optional[Sequence[ElastigroupMetadataArgs]] = None,
        min_size: Optional[int] = None,
        name: Optional[str] = None,
        network_interfaces: Optional[Sequence[ElastigroupNetworkInterfaceArgs]] = None,
        node_image: Optional[str] = None,
        ondemand_count: Optional[int] = None,
        preemptible_percentage: Optional[int] = None,
        provisioning_model: Optional[str] = None,
        scaling_down_policies: Optional[Sequence[ElastigroupScalingDownPolicyArgs]] = None,
        scaling_up_policies: Optional[Sequence[ElastigroupScalingUpPolicyArgs]] = None,
        service_account: Optional[str] = None,
        shutdown_script: Optional[str] = None,
        startup_script: Optional[str] = None,
        tags: Optional[Sequence[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:
BackendServices List<Pulumi.SpotInst.Gke.Inputs.ElastigroupBackendServiceArgs>
ClusterId string

The GKE cluster ID you wish to import.

Deprecated:

Please define cluster_id under integration_gke

ClusterZoneName string

The zone where the cluster is hosted.

DesiredCapacity int
Disks List<Pulumi.SpotInst.Gke.Inputs.ElastigroupDiskArgs>
DrainingTimeout int
FallbackToOndemand bool
Gpu List<Pulumi.SpotInst.Gke.Inputs.ElastigroupGpuArgs>
InstanceTypesCustoms List<Pulumi.SpotInst.Gke.Inputs.ElastigroupInstanceTypesCustomArgs>
InstanceTypesOndemand string
InstanceTypesPreemptibles List<string>
IntegrationDockerSwarm Pulumi.SpotInst.Gke.Inputs.ElastigroupIntegrationDockerSwarmArgs
IntegrationGke Pulumi.SpotInst.Gke.Inputs.ElastigroupIntegrationGkeArgs

Describes the GKE integration.

IpForwarding bool
Labels List<Pulumi.SpotInst.Gke.Inputs.ElastigroupLabelArgs>
MaxSize int
Metadatas List<Pulumi.SpotInst.Gke.Inputs.ElastigroupMetadataArgs>
MinSize int
Name string
NetworkInterfaces List<Pulumi.SpotInst.Gke.Inputs.ElastigroupNetworkInterfaceArgs>
NodeImage string

The image that will be used for the node VMs. Possible values: COS, UBUNTU.

OndemandCount int
PreemptiblePercentage int
ProvisioningModel string
ScalingDownPolicies List<Pulumi.SpotInst.Gke.Inputs.ElastigroupScalingDownPolicyArgs>
ScalingUpPolicies List<Pulumi.SpotInst.Gke.Inputs.ElastigroupScalingUpPolicyArgs>
ServiceAccount string
ShutdownScript string
StartupScript string
Tags List<string>
BackendServices []ElastigroupBackendServiceArgs
ClusterId string

The GKE cluster ID you wish to import.

Deprecated:

Please define cluster_id under integration_gke

ClusterZoneName string

The zone where the cluster is hosted.

DesiredCapacity int
Disks []ElastigroupDiskArgs
DrainingTimeout int
FallbackToOndemand bool
Gpu []ElastigroupGpuArgs
InstanceTypesCustoms []ElastigroupInstanceTypesCustomArgs
InstanceTypesOndemand string
InstanceTypesPreemptibles []string
IntegrationDockerSwarm ElastigroupIntegrationDockerSwarmArgs
IntegrationGke ElastigroupIntegrationGkeArgs

Describes the GKE integration.

IpForwarding bool
Labels []ElastigroupLabelArgs
MaxSize int
Metadatas []ElastigroupMetadataArgs
MinSize int
Name string
NetworkInterfaces []ElastigroupNetworkInterfaceArgs
NodeImage string

The image that will be used for the node VMs. Possible values: COS, UBUNTU.

OndemandCount int
PreemptiblePercentage int
ProvisioningModel string
ScalingDownPolicies []ElastigroupScalingDownPolicyArgs
ScalingUpPolicies []ElastigroupScalingUpPolicyArgs
ServiceAccount string
ShutdownScript string
StartupScript string
Tags []string
backendServices List<ElastigroupBackendServiceArgs>
clusterId String

The GKE cluster ID you wish to import.

Deprecated:

Please define cluster_id under integration_gke

clusterZoneName String

The zone where the cluster is hosted.

desiredCapacity Integer
disks List<ElastigroupDiskArgs>
drainingTimeout Integer
fallbackToOndemand Boolean
gpu List<ElastigroupGpuArgs>
instanceTypesCustoms List<ElastigroupInstanceTypesCustomArgs>
instanceTypesOndemand String
instanceTypesPreemptibles List<String>
integrationDockerSwarm ElastigroupIntegrationDockerSwarmArgs
integrationGke ElastigroupIntegrationGkeArgs

Describes the GKE integration.

ipForwarding Boolean
labels List<ElastigroupLabelArgs>
maxSize Integer
metadatas List<ElastigroupMetadataArgs>
minSize Integer
name String
networkInterfaces List<ElastigroupNetworkInterfaceArgs>
nodeImage String

The image that will be used for the node VMs. Possible values: COS, UBUNTU.

ondemandCount Integer
preemptiblePercentage Integer
provisioningModel String
scalingDownPolicies List<ElastigroupScalingDownPolicyArgs>
scalingUpPolicies List<ElastigroupScalingUpPolicyArgs>
serviceAccount String
shutdownScript String
startupScript String
tags List<String>
backendServices ElastigroupBackendServiceArgs[]
clusterId string

The GKE cluster ID you wish to import.

Deprecated:

Please define cluster_id under integration_gke

clusterZoneName string

The zone where the cluster is hosted.

desiredCapacity number
disks ElastigroupDiskArgs[]
drainingTimeout number
fallbackToOndemand boolean
gpu ElastigroupGpuArgs[]
instanceTypesCustoms ElastigroupInstanceTypesCustomArgs[]
instanceTypesOndemand string
instanceTypesPreemptibles string[]
integrationDockerSwarm ElastigroupIntegrationDockerSwarmArgs
integrationGke ElastigroupIntegrationGkeArgs

Describes the GKE integration.

ipForwarding boolean
labels ElastigroupLabelArgs[]
maxSize number
metadatas ElastigroupMetadataArgs[]
minSize number
name string
networkInterfaces ElastigroupNetworkInterfaceArgs[]
nodeImage string

The image that will be used for the node VMs. Possible values: COS, UBUNTU.

ondemandCount number
preemptiblePercentage number
provisioningModel string
scalingDownPolicies ElastigroupScalingDownPolicyArgs[]
scalingUpPolicies ElastigroupScalingUpPolicyArgs[]
serviceAccount string
shutdownScript string
startupScript string
tags string[]
backend_services Sequence[ElastigroupBackendServiceArgs]
cluster_id str

The GKE cluster ID you wish to import.

Deprecated:

Please define cluster_id under integration_gke

cluster_zone_name str

The zone where the cluster is hosted.

desired_capacity int
disks Sequence[ElastigroupDiskArgs]
draining_timeout int
fallback_to_ondemand bool
gpu Sequence[ElastigroupGpuArgs]
instance_types_customs Sequence[ElastigroupInstanceTypesCustomArgs]
instance_types_ondemand str
instance_types_preemptibles Sequence[str]
integration_docker_swarm ElastigroupIntegrationDockerSwarmArgs
integration_gke ElastigroupIntegrationGkeArgs

Describes the GKE integration.

ip_forwarding bool
labels Sequence[ElastigroupLabelArgs]
max_size int
metadatas Sequence[ElastigroupMetadataArgs]
min_size int
name str
network_interfaces Sequence[ElastigroupNetworkInterfaceArgs]
node_image str

The image that will be used for the node VMs. Possible values: COS, UBUNTU.

ondemand_count int
preemptible_percentage int
provisioning_model str
scaling_down_policies Sequence[ElastigroupScalingDownPolicyArgs]
scaling_up_policies Sequence[ElastigroupScalingUpPolicyArgs]
service_account str
shutdown_script str
startup_script str
tags Sequence[str]
backendServices List<Property Map>
clusterId String

The GKE cluster ID you wish to import.

Deprecated:

Please define cluster_id under integration_gke

clusterZoneName String

The zone where the cluster is hosted.

desiredCapacity Number
disks List<Property Map>
drainingTimeout Number
fallbackToOndemand Boolean
gpu List<Property Map>
instanceTypesCustoms List<Property Map>
instanceTypesOndemand String
instanceTypesPreemptibles List<String>
integrationDockerSwarm Property Map
integrationGke Property Map

Describes the GKE integration.

ipForwarding Boolean
labels List<Property Map>
maxSize Number
metadatas List<Property Map>
minSize Number
name String
networkInterfaces List<Property Map>
nodeImage String

The image that will be used for the node VMs. Possible values: COS, UBUNTU.

ondemandCount Number
preemptiblePercentage Number
provisioningModel String
scalingDownPolicies List<Property Map>
scalingUpPolicies List<Property Map>
serviceAccount String
shutdownScript String
startupScript String
tags List<String>

Supporting Types

ElastigroupBackendService

ElastigroupBackendServiceNamedPort

Name string
Ports List<string>
Name string
Ports []string
name String
ports List<String>
name string
ports string[]
name str
ports Sequence[str]
name String
ports List<String>

ElastigroupDisk

ElastigroupDiskInitializeParam

SourceImage string
DiskSizeGb string
DiskType string
SourceImage string
DiskSizeGb string
DiskType string
sourceImage String
diskSizeGb String
diskType String
sourceImage string
diskSizeGb string
diskType string
sourceImage String
diskSizeGb String
diskType String

ElastigroupGpu

Count int
Type string
Count int
Type string
count Integer
type String
count number
type string
count int
type str
count Number
type String

ElastigroupInstanceTypesCustom

memoryGib Integer
vcpu Integer
memoryGib number
vcpu number
memoryGib Number
vcpu Number

ElastigroupIntegrationDockerSwarm

masterHost String
masterPort Integer
masterHost string
masterPort number
masterHost String
masterPort Number

ElastigroupIntegrationGke

AutoUpdate bool
AutoscaleCooldown int

The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.

AutoscaleDown Pulumi.SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleDown

Enabling scale down.

AutoscaleHeadroom Pulumi.SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleHeadroom

Headroom for the cluster.

AutoscaleIsAutoConfig bool
AutoscaleIsEnabled bool

Specifies whether the auto scaling feature is enabled.

AutoscaleLabels List<Pulumi.SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleLabel>

Labels to assign to the resource.

ClusterId string

The GKE cluster ID you wish to import.

Location string

The location of your GKE cluster.

AutoUpdate bool
AutoscaleCooldown int

The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.

AutoscaleDown ElastigroupIntegrationGkeAutoscaleDown

Enabling scale down.

AutoscaleHeadroom ElastigroupIntegrationGkeAutoscaleHeadroom

Headroom for the cluster.

AutoscaleIsAutoConfig bool
AutoscaleIsEnabled bool

Specifies whether the auto scaling feature is enabled.

AutoscaleLabels []ElastigroupIntegrationGkeAutoscaleLabel

Labels to assign to the resource.

ClusterId string

The GKE cluster ID you wish to import.

Location string

The location of your GKE cluster.

autoUpdate Boolean
autoscaleCooldown Integer

The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.

autoscaleDown ElastigroupIntegrationGkeAutoscaleDown

Enabling scale down.

autoscaleHeadroom ElastigroupIntegrationGkeAutoscaleHeadroom

Headroom for the cluster.

autoscaleIsAutoConfig Boolean
autoscaleIsEnabled Boolean

Specifies whether the auto scaling feature is enabled.

autoscaleLabels List<ElastigroupIntegrationGkeAutoscaleLabel>

Labels to assign to the resource.

clusterId String

The GKE cluster ID you wish to import.

location String

The location of your GKE cluster.

autoUpdate boolean
autoscaleCooldown number

The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.

autoscaleDown ElastigroupIntegrationGkeAutoscaleDown

Enabling scale down.

autoscaleHeadroom ElastigroupIntegrationGkeAutoscaleHeadroom

Headroom for the cluster.

autoscaleIsAutoConfig boolean
autoscaleIsEnabled boolean

Specifies whether the auto scaling feature is enabled.

autoscaleLabels ElastigroupIntegrationGkeAutoscaleLabel[]

Labels to assign to the resource.

clusterId string

The GKE cluster ID you wish to import.

location string

The location of your GKE cluster.

auto_update bool
autoscale_cooldown int

The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.

autoscale_down ElastigroupIntegrationGkeAutoscaleDown

Enabling scale down.

autoscale_headroom ElastigroupIntegrationGkeAutoscaleHeadroom

Headroom for the cluster.

autoscale_is_auto_config bool
autoscale_is_enabled bool

Specifies whether the auto scaling feature is enabled.

autoscale_labels Sequence[ElastigroupIntegrationGkeAutoscaleLabel]

Labels to assign to the resource.

cluster_id str

The GKE cluster ID you wish to import.

location str

The location of your GKE cluster.

autoUpdate Boolean
autoscaleCooldown Number

The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.

autoscaleDown Property Map

Enabling scale down.

autoscaleHeadroom Property Map

Headroom for the cluster.

autoscaleIsAutoConfig Boolean
autoscaleIsEnabled Boolean

Specifies whether the auto scaling feature is enabled.

autoscaleLabels List<Property Map>

Labels to assign to the resource.

clusterId String

The GKE cluster ID you wish to import.

location String

The location of your GKE cluster.

ElastigroupIntegrationGkeAutoscaleDown

EvaluationPeriods int

Amount of cooldown evaluation periods for scale down.

EvaluationPeriods int

Amount of cooldown evaluation periods for scale down.

evaluationPeriods Integer

Amount of cooldown evaluation periods for scale down.

evaluationPeriods number

Amount of cooldown evaluation periods for scale down.

evaluation_periods int

Amount of cooldown evaluation periods for scale down.

evaluationPeriods Number

Amount of cooldown evaluation periods for scale down.

ElastigroupIntegrationGkeAutoscaleHeadroom

CpuPerUnit int

Cpu units for compute.

MemoryPerUnit int

RAM units for compute.

NumOfUnits int

Amount of units for compute.

CpuPerUnit int

Cpu units for compute.

MemoryPerUnit int

RAM units for compute.

NumOfUnits int

Amount of units for compute.

cpuPerUnit Integer

Cpu units for compute.

memoryPerUnit Integer

RAM units for compute.

numOfUnits Integer

Amount of units for compute.

cpuPerUnit number

Cpu units for compute.

memoryPerUnit number

RAM units for compute.

numOfUnits number

Amount of units for compute.

cpu_per_unit int

Cpu units for compute.

memory_per_unit int

RAM units for compute.

num_of_units int

Amount of units for compute.

cpuPerUnit Number

Cpu units for compute.

memoryPerUnit Number

RAM units for compute.

numOfUnits Number

Amount of units for compute.

ElastigroupIntegrationGkeAutoscaleLabel

Key string

The label name.

Value string

The label value.

Key string

The label name.

Value string

The label value.

key String

The label name.

value String

The label value.

key string

The label name.

value string

The label value.

key str

The label name.

value str

The label value.

key String

The label name.

value String

The label value.

ElastigroupLabel

Key string

The label name.

Value string

The label value.

Key string

The label name.

Value string

The label value.

key String

The label name.

value String

The label value.

key string

The label name.

value string

The label value.

key str

The label name.

value str

The label value.

key String

The label name.

value String

The label value.

ElastigroupMetadata

Key string

The label name.

Value string

The label value.

Key string

The label name.

Value string

The label value.

key String

The label name.

value String

The label value.

key string

The label name.

value string

The label value.

key str

The label name.

value str

The label value.

key String

The label name.

value String

The label value.

ElastigroupNetworkInterface

ElastigroupNetworkInterfaceAccessConfig

Name string
Type string
Name string
Type string
name String
type String
name string
type string
name str
type str
name String
type String

ElastigroupNetworkInterfaceAliasIpRange

ElastigroupScalingDownPolicy

MetricName string
Namespace string
PolicyName string
Threshold double
Unit string
ActionType string
Adjustment int
Cooldown int
Dimensions List<Pulumi.SpotInst.Gke.Inputs.ElastigroupScalingDownPolicyDimension>
EvaluationPeriods int

Amount of cooldown evaluation periods for scale down.

Operator string
Period int
Source string
Statistic string
MetricName string
Namespace string
PolicyName string
Threshold float64
Unit string
ActionType string
Adjustment int
Cooldown int
Dimensions []ElastigroupScalingDownPolicyDimension
EvaluationPeriods int

Amount of cooldown evaluation periods for scale down.

Operator string
Period int
Source string
Statistic string
metricName String
namespace String
policyName String
threshold Double
unit String
actionType String
adjustment Integer
cooldown Integer
dimensions List<ElastigroupScalingDownPolicyDimension>
evaluationPeriods Integer

Amount of cooldown evaluation periods for scale down.

operator String
period Integer
source String
statistic String
metricName string
namespace string
policyName string
threshold number
unit string
actionType string
adjustment number
cooldown number
dimensions ElastigroupScalingDownPolicyDimension[]
evaluationPeriods number

Amount of cooldown evaluation periods for scale down.

operator string
period number
source string
statistic string
metricName String
namespace String
policyName String
threshold Number
unit String
actionType String
adjustment Number
cooldown Number
dimensions List<Property Map>
evaluationPeriods Number

Amount of cooldown evaluation periods for scale down.

operator String
period Number
source String
statistic String

ElastigroupScalingDownPolicyDimension

Name string
Value string

The label value.

Name string
Value string

The label value.

name String
value String

The label value.

name string
value string

The label value.

name str
value str

The label value.

name String
value String

The label value.

ElastigroupScalingUpPolicy

MetricName string
Namespace string
PolicyName string
Threshold double
Unit string
ActionType string
Adjustment int
Cooldown int
Dimensions List<Pulumi.SpotInst.Gke.Inputs.ElastigroupScalingUpPolicyDimension>
EvaluationPeriods int

Amount of cooldown evaluation periods for scale down.

Operator string
Period int
Source string
Statistic string
MetricName string
Namespace string
PolicyName string
Threshold float64
Unit string
ActionType string
Adjustment int
Cooldown int
Dimensions []ElastigroupScalingUpPolicyDimension
EvaluationPeriods int

Amount of cooldown evaluation periods for scale down.

Operator string
Period int
Source string
Statistic string
metricName String
namespace String
policyName String
threshold Double
unit String
actionType String
adjustment Integer
cooldown Integer
dimensions List<ElastigroupScalingUpPolicyDimension>
evaluationPeriods Integer

Amount of cooldown evaluation periods for scale down.

operator String
period Integer
source String
statistic String
metricName string
namespace string
policyName string
threshold number
unit string
actionType string
adjustment number
cooldown number
dimensions ElastigroupScalingUpPolicyDimension[]
evaluationPeriods number

Amount of cooldown evaluation periods for scale down.

operator string
period number
source string
statistic string
metricName String
namespace String
policyName String
threshold Number
unit String
actionType String
adjustment Number
cooldown Number
dimensions List<Property Map>
evaluationPeriods Number

Amount of cooldown evaluation periods for scale down.

operator String
period Number
source String
statistic String

ElastigroupScalingUpPolicyDimension

Name string
Value string

The label value.

Name string
Value string

The label value.

name String
value String

The label value.

name string
value string

The label value.

name str
value str

The label value.

name String
value String

The label value.

Package Details

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

This Pulumi package is based on the spotinst Terraform Provider.