1. Packages
  2. Spotinst Provider
  3. API Docs
  4. gcp
  5. Elastigroup
Spotinst v3.116.0 published on Friday, Mar 28, 2025 by Pulumi

spotinst.gcp.Elastigroup

Explore with Pulumi AI

Provides a Spotinst elastigroup GCP resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as spotinst from "@pulumi/spotinst";

const example = new spotinst.gcp.Elastigroup("example", {
    name: "example-gcp",
    description: "spotinst gcp group",
    serviceAccount: "example@myProject.iam.gservicecct.com",
    startupScript: "",
    instanceNamePrefix: "test-123a",
    minCpuPlatform: "Intel Sandy Bridge",
    minSize: 0,
    maxSize: 1,
    desiredCapacity: 1,
    availabilityZones: [
        "asia-east1-c",
        "us-central1-a",
    ],
    preferredAvailabilityZones: ["us-central1-a"],
    preemptiblePercentage: 50,
    revertToPreemptibles: [{
        performAt: "timeWindow",
    }],
    optimizationWindows: ["Mon:01:00-Mon:03:00"],
    fallbackToOndemand: true,
    drainingTimeout: 180,
    provisioningModel: "SPOT",
    shouldUtilizeCommitments: true,
    labels: [{
        key: "test_key",
        value: "test_value",
    }],
    tags: [
        "http",
        "https",
    ],
    backendServices: [{
        serviceName: "spotinst-elb-backend-service",
        locationType: "regional",
        scheme: "INTERNAL",
        namedPorts: [{
            name: "port-name",
            ports: [
                "8000",
                "6000",
            ],
        }],
    }],
    disks: [{
        deviceName: "device",
        mode: "READ_WRITE",
        type: "PERSISTENT",
        autoDelete: true,
        boot: true,
        "interface": "SCSI",
        initializeParams: [{
            diskSizeGb: "10",
            diskType: "pd-standard",
            sourceImage: "",
        }],
    }],
    shieldedInstanceConfig: {
        enableSecureBoot: true,
        enableIntegrityMonitoring: false,
    },
    networkInterfaces: [{
        network: "spot-network",
    }],
    instanceTypesOndemand: "n1-standard-1",
    instanceTypesPreemptibles: [
        "n1-standard-1",
        "n1-standard-2",
    ],
    instanceTypesCustoms: [{
        vcpu: 2,
        memoryGib: 7,
    }],
    subnets: [{
        region: "asia-east1",
        subnetNames: ["default"],
    }],
    scalingUpPolicies: [{
        policyName: "scale_up_1",
        source: "stackdriver",
        metricName: "instance/disk/read_ops_count",
        namespace: "compute",
        statistic: "average",
        unit: "percent",
        threshold: 10000,
        period: 300,
        cooldown: 300,
        operator: "gte",
        evaluationPeriods: 1,
        actionType: "adjustment",
        adjustment: 1,
        dimensions: [{
            name: "storage_type",
            value: "pd-ssd",
        }],
    }],
});
Copy
import pulumi
import pulumi_spotinst as spotinst

example = spotinst.gcp.Elastigroup("example",
    name="example-gcp",
    description="spotinst gcp group",
    service_account="example@myProject.iam.gservicecct.com",
    startup_script="",
    instance_name_prefix="test-123a",
    min_cpu_platform="Intel Sandy Bridge",
    min_size=0,
    max_size=1,
    desired_capacity=1,
    availability_zones=[
        "asia-east1-c",
        "us-central1-a",
    ],
    preferred_availability_zones=["us-central1-a"],
    preemptible_percentage=50,
    revert_to_preemptibles=[{
        "perform_at": "timeWindow",
    }],
    optimization_windows=["Mon:01:00-Mon:03:00"],
    fallback_to_ondemand=True,
    draining_timeout=180,
    provisioning_model="SPOT",
    should_utilize_commitments=True,
    labels=[{
        "key": "test_key",
        "value": "test_value",
    }],
    tags=[
        "http",
        "https",
    ],
    backend_services=[{
        "service_name": "spotinst-elb-backend-service",
        "location_type": "regional",
        "scheme": "INTERNAL",
        "named_ports": [{
            "name": "port-name",
            "ports": [
                "8000",
                "6000",
            ],
        }],
    }],
    disks=[{
        "device_name": "device",
        "mode": "READ_WRITE",
        "type": "PERSISTENT",
        "auto_delete": True,
        "boot": True,
        "interface": "SCSI",
        "initialize_params": [{
            "disk_size_gb": "10",
            "disk_type": "pd-standard",
            "source_image": "",
        }],
    }],
    shielded_instance_config={
        "enable_secure_boot": True,
        "enable_integrity_monitoring": False,
    },
    network_interfaces=[{
        "network": "spot-network",
    }],
    instance_types_ondemand="n1-standard-1",
    instance_types_preemptibles=[
        "n1-standard-1",
        "n1-standard-2",
    ],
    instance_types_customs=[{
        "vcpu": 2,
        "memory_gib": 7,
    }],
    subnets=[{
        "region": "asia-east1",
        "subnet_names": ["default"],
    }],
    scaling_up_policies=[{
        "policy_name": "scale_up_1",
        "source": "stackdriver",
        "metric_name": "instance/disk/read_ops_count",
        "namespace": "compute",
        "statistic": "average",
        "unit": "percent",
        "threshold": 10000,
        "period": 300,
        "cooldown": 300,
        "operator": "gte",
        "evaluation_periods": 1,
        "action_type": "adjustment",
        "adjustment": 1,
        "dimensions": [{
            "name": "storage_type",
            "value": "pd-ssd",
        }],
    }])
Copy
package main

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

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gcp.NewElastigroup(ctx, "example", &gcp.ElastigroupArgs{
			Name:               pulumi.String("example-gcp"),
			Description:        pulumi.String("spotinst gcp group"),
			ServiceAccount:     pulumi.String("example@myProject.iam.gservicecct.com"),
			StartupScript:      pulumi.String(""),
			InstanceNamePrefix: pulumi.String("test-123a"),
			MinCpuPlatform:     pulumi.String("Intel Sandy Bridge"),
			MinSize:            pulumi.Int(0),
			MaxSize:            pulumi.Int(1),
			DesiredCapacity:    pulumi.Int(1),
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("asia-east1-c"),
				pulumi.String("us-central1-a"),
			},
			PreferredAvailabilityZones: pulumi.StringArray{
				pulumi.String("us-central1-a"),
			},
			PreemptiblePercentage: pulumi.Int(50),
			RevertToPreemptibles: gcp.ElastigroupRevertToPreemptibleArray{
				&gcp.ElastigroupRevertToPreemptibleArgs{
					PerformAt: pulumi.String("timeWindow"),
				},
			},
			OptimizationWindows: pulumi.StringArray{
				pulumi.String("Mon:01:00-Mon:03:00"),
			},
			FallbackToOndemand:       pulumi.Bool(true),
			DrainingTimeout:          pulumi.Int(180),
			ProvisioningModel:        pulumi.String("SPOT"),
			ShouldUtilizeCommitments: pulumi.Bool(true),
			Labels: gcp.ElastigroupLabelArray{
				&gcp.ElastigroupLabelArgs{
					Key:   pulumi.String("test_key"),
					Value: pulumi.String("test_value"),
				},
			},
			Tags: pulumi.StringArray{
				pulumi.String("http"),
				pulumi.String("https"),
			},
			BackendServices: gcp.ElastigroupBackendServiceArray{
				&gcp.ElastigroupBackendServiceArgs{
					ServiceName:  pulumi.String("spotinst-elb-backend-service"),
					LocationType: pulumi.String("regional"),
					Scheme:       pulumi.String("INTERNAL"),
					NamedPorts: gcp.ElastigroupBackendServiceNamedPortArray{
						&gcp.ElastigroupBackendServiceNamedPortArgs{
							Name: pulumi.String("port-name"),
							Ports: pulumi.StringArray{
								pulumi.String("8000"),
								pulumi.String("6000"),
							},
						},
					},
				},
			},
			Disks: gcp.ElastigroupDiskArray{
				&gcp.ElastigroupDiskArgs{
					DeviceName: pulumi.String("device"),
					Mode:       pulumi.String("READ_WRITE"),
					Type:       pulumi.String("PERSISTENT"),
					AutoDelete: pulumi.Bool(true),
					Boot:       pulumi.Bool(true),
					Interface:  pulumi.String("SCSI"),
					InitializeParams: gcp.ElastigroupDiskInitializeParamArray{
						&gcp.ElastigroupDiskInitializeParamArgs{
							DiskSizeGb:  pulumi.String("10"),
							DiskType:    pulumi.String("pd-standard"),
							SourceImage: pulumi.String(""),
						},
					},
				},
			},
			ShieldedInstanceConfig: &gcp.ElastigroupShieldedInstanceConfigArgs{
				EnableSecureBoot:          pulumi.Bool(true),
				EnableIntegrityMonitoring: pulumi.Bool(false),
			},
			NetworkInterfaces: gcp.ElastigroupNetworkInterfaceArray{
				&gcp.ElastigroupNetworkInterfaceArgs{
					Network: pulumi.String("spot-network"),
				},
			},
			InstanceTypesOndemand: pulumi.String("n1-standard-1"),
			InstanceTypesPreemptibles: pulumi.StringArray{
				pulumi.String("n1-standard-1"),
				pulumi.String("n1-standard-2"),
			},
			InstanceTypesCustoms: gcp.ElastigroupInstanceTypesCustomArray{
				&gcp.ElastigroupInstanceTypesCustomArgs{
					Vcpu:      pulumi.Int(2),
					MemoryGib: pulumi.Int(7),
				},
			},
			Subnets: gcp.ElastigroupSubnetArray{
				&gcp.ElastigroupSubnetArgs{
					Region: pulumi.String("asia-east1"),
					SubnetNames: pulumi.StringArray{
						pulumi.String("default"),
					},
				},
			},
			ScalingUpPolicies: gcp.ElastigroupScalingUpPolicyArray{
				&gcp.ElastigroupScalingUpPolicyArgs{
					PolicyName:        pulumi.String("scale_up_1"),
					Source:            pulumi.String("stackdriver"),
					MetricName:        pulumi.String("instance/disk/read_ops_count"),
					Namespace:         pulumi.String("compute"),
					Statistic:         pulumi.String("average"),
					Unit:              pulumi.String("percent"),
					Threshold:         pulumi.Float64(10000),
					Period:            pulumi.Int(300),
					Cooldown:          pulumi.Int(300),
					Operator:          pulumi.String("gte"),
					EvaluationPeriods: pulumi.Int(1),
					ActionType:        pulumi.String("adjustment"),
					Adjustment:        pulumi.Int(1),
					Dimensions: gcp.ElastigroupScalingUpPolicyDimensionArray{
						&gcp.ElastigroupScalingUpPolicyDimensionArgs{
							Name:  pulumi.String("storage_type"),
							Value: pulumi.String("pd-ssd"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using SpotInst = Pulumi.SpotInst;

return await Deployment.RunAsync(() => 
{
    var example = new SpotInst.Gcp.Elastigroup("example", new()
    {
        Name = "example-gcp",
        Description = "spotinst gcp group",
        ServiceAccount = "example@myProject.iam.gservicecct.com",
        StartupScript = "",
        InstanceNamePrefix = "test-123a",
        MinCpuPlatform = "Intel Sandy Bridge",
        MinSize = 0,
        MaxSize = 1,
        DesiredCapacity = 1,
        AvailabilityZones = new[]
        {
            "asia-east1-c",
            "us-central1-a",
        },
        PreferredAvailabilityZones = new[]
        {
            "us-central1-a",
        },
        PreemptiblePercentage = 50,
        RevertToPreemptibles = new[]
        {
            new SpotInst.Gcp.Inputs.ElastigroupRevertToPreemptibleArgs
            {
                PerformAt = "timeWindow",
            },
        },
        OptimizationWindows = new[]
        {
            "Mon:01:00-Mon:03:00",
        },
        FallbackToOndemand = true,
        DrainingTimeout = 180,
        ProvisioningModel = "SPOT",
        ShouldUtilizeCommitments = true,
        Labels = new[]
        {
            new SpotInst.Gcp.Inputs.ElastigroupLabelArgs
            {
                Key = "test_key",
                Value = "test_value",
            },
        },
        Tags = new[]
        {
            "http",
            "https",
        },
        BackendServices = new[]
        {
            new SpotInst.Gcp.Inputs.ElastigroupBackendServiceArgs
            {
                ServiceName = "spotinst-elb-backend-service",
                LocationType = "regional",
                Scheme = "INTERNAL",
                NamedPorts = new[]
                {
                    new SpotInst.Gcp.Inputs.ElastigroupBackendServiceNamedPortArgs
                    {
                        Name = "port-name",
                        Ports = new[]
                        {
                            "8000",
                            "6000",
                        },
                    },
                },
            },
        },
        Disks = new[]
        {
            new SpotInst.Gcp.Inputs.ElastigroupDiskArgs
            {
                DeviceName = "device",
                Mode = "READ_WRITE",
                Type = "PERSISTENT",
                AutoDelete = true,
                Boot = true,
                Interface = "SCSI",
                InitializeParams = new[]
                {
                    new SpotInst.Gcp.Inputs.ElastigroupDiskInitializeParamArgs
                    {
                        DiskSizeGb = "10",
                        DiskType = "pd-standard",
                        SourceImage = "",
                    },
                },
            },
        },
        ShieldedInstanceConfig = new SpotInst.Gcp.Inputs.ElastigroupShieldedInstanceConfigArgs
        {
            EnableSecureBoot = true,
            EnableIntegrityMonitoring = false,
        },
        NetworkInterfaces = new[]
        {
            new SpotInst.Gcp.Inputs.ElastigroupNetworkInterfaceArgs
            {
                Network = "spot-network",
            },
        },
        InstanceTypesOndemand = "n1-standard-1",
        InstanceTypesPreemptibles = new[]
        {
            "n1-standard-1",
            "n1-standard-2",
        },
        InstanceTypesCustoms = new[]
        {
            new SpotInst.Gcp.Inputs.ElastigroupInstanceTypesCustomArgs
            {
                Vcpu = 2,
                MemoryGib = 7,
            },
        },
        Subnets = new[]
        {
            new SpotInst.Gcp.Inputs.ElastigroupSubnetArgs
            {
                Region = "asia-east1",
                SubnetNames = new[]
                {
                    "default",
                },
            },
        },
        ScalingUpPolicies = new[]
        {
            new SpotInst.Gcp.Inputs.ElastigroupScalingUpPolicyArgs
            {
                PolicyName = "scale_up_1",
                Source = "stackdriver",
                MetricName = "instance/disk/read_ops_count",
                Namespace = "compute",
                Statistic = "average",
                Unit = "percent",
                Threshold = 10000,
                Period = 300,
                Cooldown = 300,
                Operator = "gte",
                EvaluationPeriods = 1,
                ActionType = "adjustment",
                Adjustment = 1,
                Dimensions = new[]
                {
                    new SpotInst.Gcp.Inputs.ElastigroupScalingUpPolicyDimensionArgs
                    {
                        Name = "storage_type",
                        Value = "pd-ssd",
                    },
                },
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.spotinst.gcp.Elastigroup;
import com.pulumi.spotinst.gcp.ElastigroupArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupRevertToPreemptibleArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupLabelArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupBackendServiceArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupDiskArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupShieldedInstanceConfigArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupNetworkInterfaceArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupInstanceTypesCustomArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupSubnetArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupScalingUpPolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

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

    public static void stack(Context ctx) {
        var example = new Elastigroup("example", ElastigroupArgs.builder()
            .name("example-gcp")
            .description("spotinst gcp group")
            .serviceAccount("example@myProject.iam.gservicecct.com")
            .startupScript("")
            .instanceNamePrefix("test-123a")
            .minCpuPlatform("Intel Sandy Bridge")
            .minSize(0)
            .maxSize(1)
            .desiredCapacity(1)
            .availabilityZones(            
                "asia-east1-c",
                "us-central1-a")
            .preferredAvailabilityZones("us-central1-a")
            .preemptiblePercentage(50)
            .revertToPreemptibles(ElastigroupRevertToPreemptibleArgs.builder()
                .performAt("timeWindow")
                .build())
            .optimizationWindows("Mon:01:00-Mon:03:00")
            .fallbackToOndemand(true)
            .drainingTimeout(180)
            .provisioningModel("SPOT")
            .shouldUtilizeCommitments(true)
            .labels(ElastigroupLabelArgs.builder()
                .key("test_key")
                .value("test_value")
                .build())
            .tags(            
                "http",
                "https")
            .backendServices(ElastigroupBackendServiceArgs.builder()
                .serviceName("spotinst-elb-backend-service")
                .locationType("regional")
                .scheme("INTERNAL")
                .namedPorts(ElastigroupBackendServiceNamedPortArgs.builder()
                    .name("port-name")
                    .ports(                    
                        8000,
                        6000)
                    .build())
                .build())
            .disks(ElastigroupDiskArgs.builder()
                .deviceName("device")
                .mode("READ_WRITE")
                .type("PERSISTENT")
                .autoDelete(true)
                .boot(true)
                .interface_("SCSI")
                .initializeParams(ElastigroupDiskInitializeParamArgs.builder()
                    .diskSizeGb(10)
                    .diskType("pd-standard")
                    .sourceImage("")
                    .build())
                .build())
            .shieldedInstanceConfig(ElastigroupShieldedInstanceConfigArgs.builder()
                .enableSecureBoot(true)
                .enableIntegrityMonitoring(false)
                .build())
            .networkInterfaces(ElastigroupNetworkInterfaceArgs.builder()
                .network("spot-network")
                .build())
            .instanceTypesOndemand("n1-standard-1")
            .instanceTypesPreemptibles(            
                "n1-standard-1",
                "n1-standard-2")
            .instanceTypesCustoms(ElastigroupInstanceTypesCustomArgs.builder()
                .vcpu(2)
                .memoryGib(7)
                .build())
            .subnets(ElastigroupSubnetArgs.builder()
                .region("asia-east1")
                .subnetNames("default")
                .build())
            .scalingUpPolicies(ElastigroupScalingUpPolicyArgs.builder()
                .policyName("scale_up_1")
                .source("stackdriver")
                .metricName("instance/disk/read_ops_count")
                .namespace("compute")
                .statistic("average")
                .unit("percent")
                .threshold(10000)
                .period(300)
                .cooldown(300)
                .operator("gte")
                .evaluationPeriods(1)
                .actionType("adjustment")
                .adjustment(1)
                .dimensions(ElastigroupScalingUpPolicyDimensionArgs.builder()
                    .name("storage_type")
                    .value("pd-ssd")
                    .build())
                .build())
            .build());

    }
}
Copy
resources:
  example:
    type: spotinst:gcp:Elastigroup
    properties:
      name: example-gcp
      description: spotinst gcp group
      serviceAccount: example@myProject.iam.gservicecct.com
      startupScript: ""
      instanceNamePrefix: test-123a
      minCpuPlatform: Intel Sandy Bridge
      minSize: 0
      maxSize: 1
      desiredCapacity: 1
      availabilityZones:
        - asia-east1-c
        - us-central1-a
      preferredAvailabilityZones:
        - us-central1-a
      preemptiblePercentage: 50
      revertToPreemptibles:
        - performAt: timeWindow
      optimizationWindows:
        - Mon:01:00-Mon:03:00
      fallbackToOndemand: true
      drainingTimeout: 180
      provisioningModel: SPOT
      shouldUtilizeCommitments: true
      labels:
        - key: test_key
          value: test_value
      tags:
        - http
        - https
      backendServices:
        - serviceName: spotinst-elb-backend-service
          locationType: regional
          scheme: INTERNAL
          namedPorts:
            - name: port-name
              ports:
                - 8000
                - 6000
      disks:
        - deviceName: device
          mode: READ_WRITE
          type: PERSISTENT
          autoDelete: true
          boot: true
          interface: SCSI
          initializeParams:
            - diskSizeGb: 10
              diskType: pd-standard
              sourceImage: ""
      shieldedInstanceConfig:
        enableSecureBoot: true
        enableIntegrityMonitoring: false
      networkInterfaces:
        - network: spot-network
      instanceTypesOndemand: n1-standard-1
      instanceTypesPreemptibles:
        - n1-standard-1
        - n1-standard-2
      instanceTypesCustoms:
        - vcpu: 2
          memoryGib: 7
      subnets:
        - region: asia-east1
          subnetNames:
            - default
      scalingUpPolicies:
        - policyName: scale_up_1
          source: stackdriver
          metricName: instance/disk/read_ops_count
          namespace: compute
          statistic: average
          unit: percent
          threshold: 10000
          period: 300
          cooldown: 300
          operator: gte
          evaluationPeriods: 1
          actionType: adjustment
          adjustment: 1
          dimensions:
            - name: storage_type
              value: pd-ssd
Copy

Create Elastigroup Resource

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

Constructor syntax

new Elastigroup(name: string, args: ElastigroupArgs, opts?: CustomResourceOptions);
@overload
def Elastigroup(resource_name: str,
                args: ElastigroupArgs,
                opts: Optional[ResourceOptions] = None)

@overload
def Elastigroup(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                desired_capacity: Optional[int] = None,
                metadatas: Optional[Sequence[ElastigroupMetadataArgs]] = None,
                gpu: Optional[Sequence[ElastigroupGpuArgs]] = None,
                description: Optional[str] = None,
                min_cpu_platform: Optional[str] = None,
                disks: Optional[Sequence[ElastigroupDiskArgs]] = None,
                name: Optional[str] = None,
                fallback_to_ondemand: Optional[bool] = None,
                min_size: Optional[int] = None,
                health_check_grace_period: Optional[int] = None,
                health_check_type: Optional[str] = None,
                instance_name_prefix: Optional[str] = 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,
                auto_healing: Optional[bool] = None,
                availability_zones: Optional[Sequence[str]] = None,
                backend_services: Optional[Sequence[ElastigroupBackendServiceArgs]] = None,
                draining_timeout: Optional[int] = None,
                network_interfaces: Optional[Sequence[ElastigroupNetworkInterfaceArgs]] = None,
                ondemand_count: Optional[int] = None,
                optimization_windows: Optional[Sequence[str]] = None,
                preemptible_percentage: Optional[int] = None,
                preferred_availability_zones: Optional[Sequence[str]] = None,
                provisioning_model: Optional[str] = None,
                revert_to_preemptibles: Optional[Sequence[ElastigroupRevertToPreemptibleArgs]] = None,
                scaling_down_policies: Optional[Sequence[ElastigroupScalingDownPolicyArgs]] = None,
                scaling_up_policies: Optional[Sequence[ElastigroupScalingUpPolicyArgs]] = None,
                scheduled_tasks: Optional[Sequence[ElastigroupScheduledTaskArgs]] = None,
                service_account: Optional[str] = None,
                shielded_instance_config: Optional[ElastigroupShieldedInstanceConfigArgs] = None,
                should_utilize_commitments: Optional[bool] = None,
                shutdown_script: Optional[str] = None,
                startup_script: Optional[str] = None,
                subnets: Optional[Sequence[ElastigroupSubnetArgs]] = None,
                tags: Optional[Sequence[str]] = None,
                unhealthy_duration: Optional[int] = 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:gcp:Elastigroup
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. ElastigroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. ElastigroupArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. ElastigroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. ElastigroupArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

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

var spotinstElastigroupResource = new SpotInst.Gcp.Elastigroup("spotinstElastigroupResource", new()
{
    DesiredCapacity = 0,
    Metadatas = new[]
    {
        new SpotInst.Gcp.Inputs.ElastigroupMetadataArgs
        {
            Key = "string",
            Value = "string",
        },
    },
    Gpu = new[]
    {
        new SpotInst.Gcp.Inputs.ElastigroupGpuArgs
        {
            Count = 0,
            Type = "string",
        },
    },
    Description = "string",
    MinCpuPlatform = "string",
    Disks = new[]
    {
        new SpotInst.Gcp.Inputs.ElastigroupDiskArgs
        {
            AutoDelete = false,
            Boot = false,
            DeviceName = "string",
            InitializeParams = new[]
            {
                new SpotInst.Gcp.Inputs.ElastigroupDiskInitializeParamArgs
                {
                    SourceImage = "string",
                    DiskSizeGb = "string",
                    DiskType = "string",
                },
            },
            Interface = "string",
            Mode = "string",
            Source = "string",
            Type = "string",
        },
    },
    Name = "string",
    FallbackToOndemand = false,
    MinSize = 0,
    HealthCheckGracePeriod = 0,
    HealthCheckType = "string",
    InstanceNamePrefix = "string",
    InstanceTypesCustoms = new[]
    {
        new SpotInst.Gcp.Inputs.ElastigroupInstanceTypesCustomArgs
        {
            MemoryGib = 0,
            Vcpu = 0,
        },
    },
    InstanceTypesOndemand = "string",
    InstanceTypesPreemptibles = new[]
    {
        "string",
    },
    IntegrationDockerSwarm = new SpotInst.Gcp.Inputs.ElastigroupIntegrationDockerSwarmArgs
    {
        MasterHost = "string",
        MasterPort = 0,
    },
    IntegrationGke = new SpotInst.Gcp.Inputs.ElastigroupIntegrationGkeArgs
    {
        AutoUpdate = false,
        AutoscaleCooldown = 0,
        AutoscaleDown = new SpotInst.Gcp.Inputs.ElastigroupIntegrationGkeAutoscaleDownArgs
        {
            EvaluationPeriods = 0,
        },
        AutoscaleHeadroom = new SpotInst.Gcp.Inputs.ElastigroupIntegrationGkeAutoscaleHeadroomArgs
        {
            CpuPerUnit = 0,
            MemoryPerUnit = 0,
            NumOfUnits = 0,
        },
        AutoscaleIsAutoConfig = false,
        AutoscaleIsEnabled = false,
        AutoscaleLabels = new[]
        {
            new SpotInst.Gcp.Inputs.ElastigroupIntegrationGkeAutoscaleLabelArgs
            {
                Key = "string",
                Value = "string",
            },
        },
        ClusterId = "string",
        Location = "string",
    },
    IpForwarding = false,
    Labels = new[]
    {
        new SpotInst.Gcp.Inputs.ElastigroupLabelArgs
        {
            Key = "string",
            Value = "string",
        },
    },
    MaxSize = 0,
    AutoHealing = false,
    BackendServices = new[]
    {
        new SpotInst.Gcp.Inputs.ElastigroupBackendServiceArgs
        {
            ServiceName = "string",
            LocationType = "string",
            NamedPorts = new[]
            {
                new SpotInst.Gcp.Inputs.ElastigroupBackendServiceNamedPortArgs
                {
                    Name = "string",
                    Ports = new[]
                    {
                        "string",
                    },
                },
            },
            Scheme = "string",
        },
    },
    DrainingTimeout = 0,
    NetworkInterfaces = new[]
    {
        new SpotInst.Gcp.Inputs.ElastigroupNetworkInterfaceArgs
        {
            Network = "string",
            AccessConfigs = new[]
            {
                new SpotInst.Gcp.Inputs.ElastigroupNetworkInterfaceAccessConfigArgs
                {
                    Name = "string",
                    Type = "string",
                },
            },
            AliasIpRanges = new[]
            {
                new SpotInst.Gcp.Inputs.ElastigroupNetworkInterfaceAliasIpRangeArgs
                {
                    IpCidrRange = "string",
                    SubnetworkRangeName = "string",
                },
            },
        },
    },
    OndemandCount = 0,
    OptimizationWindows = new[]
    {
        "string",
    },
    PreemptiblePercentage = 0,
    PreferredAvailabilityZones = new[]
    {
        "string",
    },
    ProvisioningModel = "string",
    RevertToPreemptibles = new[]
    {
        new SpotInst.Gcp.Inputs.ElastigroupRevertToPreemptibleArgs
        {
            PerformAt = "string",
        },
    },
    ScalingDownPolicies = new[]
    {
        new SpotInst.Gcp.Inputs.ElastigroupScalingDownPolicyArgs
        {
            PolicyName = "string",
            MetricName = "string",
            Unit = "string",
            Threshold = 0,
            Namespace = "string",
            EvaluationPeriods = 0,
            Adjustment = 0,
            Operator = "string",
            Source = "string",
            ActionType = "string",
            Period = 0,
            Statistic = "string",
            Dimensions = new[]
            {
                new SpotInst.Gcp.Inputs.ElastigroupScalingDownPolicyDimensionArgs
                {
                    Name = "string",
                    Value = "string",
                },
            },
            Cooldown = 0,
        },
    },
    ScalingUpPolicies = new[]
    {
        new SpotInst.Gcp.Inputs.ElastigroupScalingUpPolicyArgs
        {
            PolicyName = "string",
            MetricName = "string",
            Unit = "string",
            Threshold = 0,
            Namespace = "string",
            EvaluationPeriods = 0,
            Adjustment = 0,
            Operator = "string",
            Source = "string",
            ActionType = "string",
            Period = 0,
            Statistic = "string",
            Dimensions = new[]
            {
                new SpotInst.Gcp.Inputs.ElastigroupScalingUpPolicyDimensionArgs
                {
                    Name = "string",
                    Value = "string",
                },
            },
            Cooldown = 0,
        },
    },
    ScheduledTasks = new[]
    {
        new SpotInst.Gcp.Inputs.ElastigroupScheduledTaskArgs
        {
            TaskType = "string",
            CronExpression = "string",
            IsEnabled = false,
            MaxCapacity = "string",
            MinCapacity = "string",
            TargetCapacity = "string",
        },
    },
    ServiceAccount = "string",
    ShieldedInstanceConfig = new SpotInst.Gcp.Inputs.ElastigroupShieldedInstanceConfigArgs
    {
        EnableIntegrityMonitoring = false,
        EnableSecureBoot = false,
    },
    ShouldUtilizeCommitments = false,
    ShutdownScript = "string",
    StartupScript = "string",
    Subnets = new[]
    {
        new SpotInst.Gcp.Inputs.ElastigroupSubnetArgs
        {
            Region = "string",
            SubnetNames = new[]
            {
                "string",
            },
        },
    },
    Tags = new[]
    {
        "string",
    },
    UnhealthyDuration = 0,
});
Copy
example, err := gcp.NewElastigroup(ctx, "spotinstElastigroupResource", &gcp.ElastigroupArgs{
	DesiredCapacity: pulumi.Int(0),
	Metadatas: gcp.ElastigroupMetadataArray{
		&gcp.ElastigroupMetadataArgs{
			Key:   pulumi.String("string"),
			Value: pulumi.String("string"),
		},
	},
	Gpu: gcp.ElastigroupGpuArray{
		&gcp.ElastigroupGpuArgs{
			Count: pulumi.Int(0),
			Type:  pulumi.String("string"),
		},
	},
	Description:    pulumi.String("string"),
	MinCpuPlatform: pulumi.String("string"),
	Disks: gcp.ElastigroupDiskArray{
		&gcp.ElastigroupDiskArgs{
			AutoDelete: pulumi.Bool(false),
			Boot:       pulumi.Bool(false),
			DeviceName: pulumi.String("string"),
			InitializeParams: gcp.ElastigroupDiskInitializeParamArray{
				&gcp.ElastigroupDiskInitializeParamArgs{
					SourceImage: pulumi.String("string"),
					DiskSizeGb:  pulumi.String("string"),
					DiskType:    pulumi.String("string"),
				},
			},
			Interface: pulumi.String("string"),
			Mode:      pulumi.String("string"),
			Source:    pulumi.String("string"),
			Type:      pulumi.String("string"),
		},
	},
	Name:                   pulumi.String("string"),
	FallbackToOndemand:     pulumi.Bool(false),
	MinSize:                pulumi.Int(0),
	HealthCheckGracePeriod: pulumi.Int(0),
	HealthCheckType:        pulumi.String("string"),
	InstanceNamePrefix:     pulumi.String("string"),
	InstanceTypesCustoms: gcp.ElastigroupInstanceTypesCustomArray{
		&gcp.ElastigroupInstanceTypesCustomArgs{
			MemoryGib: pulumi.Int(0),
			Vcpu:      pulumi.Int(0),
		},
	},
	InstanceTypesOndemand: pulumi.String("string"),
	InstanceTypesPreemptibles: pulumi.StringArray{
		pulumi.String("string"),
	},
	IntegrationDockerSwarm: &gcp.ElastigroupIntegrationDockerSwarmArgs{
		MasterHost: pulumi.String("string"),
		MasterPort: pulumi.Int(0),
	},
	IntegrationGke: &gcp.ElastigroupIntegrationGkeArgs{
		AutoUpdate:        pulumi.Bool(false),
		AutoscaleCooldown: pulumi.Int(0),
		AutoscaleDown: &gcp.ElastigroupIntegrationGkeAutoscaleDownArgs{
			EvaluationPeriods: pulumi.Int(0),
		},
		AutoscaleHeadroom: &gcp.ElastigroupIntegrationGkeAutoscaleHeadroomArgs{
			CpuPerUnit:    pulumi.Int(0),
			MemoryPerUnit: pulumi.Int(0),
			NumOfUnits:    pulumi.Int(0),
		},
		AutoscaleIsAutoConfig: pulumi.Bool(false),
		AutoscaleIsEnabled:    pulumi.Bool(false),
		AutoscaleLabels: gcp.ElastigroupIntegrationGkeAutoscaleLabelArray{
			&gcp.ElastigroupIntegrationGkeAutoscaleLabelArgs{
				Key:   pulumi.String("string"),
				Value: pulumi.String("string"),
			},
		},
		ClusterId: pulumi.String("string"),
		Location:  pulumi.String("string"),
	},
	IpForwarding: pulumi.Bool(false),
	Labels: gcp.ElastigroupLabelArray{
		&gcp.ElastigroupLabelArgs{
			Key:   pulumi.String("string"),
			Value: pulumi.String("string"),
		},
	},
	MaxSize:     pulumi.Int(0),
	AutoHealing: pulumi.Bool(false),
	BackendServices: gcp.ElastigroupBackendServiceArray{
		&gcp.ElastigroupBackendServiceArgs{
			ServiceName:  pulumi.String("string"),
			LocationType: pulumi.String("string"),
			NamedPorts: gcp.ElastigroupBackendServiceNamedPortArray{
				&gcp.ElastigroupBackendServiceNamedPortArgs{
					Name: pulumi.String("string"),
					Ports: pulumi.StringArray{
						pulumi.String("string"),
					},
				},
			},
			Scheme: pulumi.String("string"),
		},
	},
	DrainingTimeout: pulumi.Int(0),
	NetworkInterfaces: gcp.ElastigroupNetworkInterfaceArray{
		&gcp.ElastigroupNetworkInterfaceArgs{
			Network: pulumi.String("string"),
			AccessConfigs: gcp.ElastigroupNetworkInterfaceAccessConfigArray{
				&gcp.ElastigroupNetworkInterfaceAccessConfigArgs{
					Name: pulumi.String("string"),
					Type: pulumi.String("string"),
				},
			},
			AliasIpRanges: gcp.ElastigroupNetworkInterfaceAliasIpRangeArray{
				&gcp.ElastigroupNetworkInterfaceAliasIpRangeArgs{
					IpCidrRange:         pulumi.String("string"),
					SubnetworkRangeName: pulumi.String("string"),
				},
			},
		},
	},
	OndemandCount: pulumi.Int(0),
	OptimizationWindows: pulumi.StringArray{
		pulumi.String("string"),
	},
	PreemptiblePercentage: pulumi.Int(0),
	PreferredAvailabilityZones: pulumi.StringArray{
		pulumi.String("string"),
	},
	ProvisioningModel: pulumi.String("string"),
	RevertToPreemptibles: gcp.ElastigroupRevertToPreemptibleArray{
		&gcp.ElastigroupRevertToPreemptibleArgs{
			PerformAt: pulumi.String("string"),
		},
	},
	ScalingDownPolicies: gcp.ElastigroupScalingDownPolicyArray{
		&gcp.ElastigroupScalingDownPolicyArgs{
			PolicyName:        pulumi.String("string"),
			MetricName:        pulumi.String("string"),
			Unit:              pulumi.String("string"),
			Threshold:         pulumi.Float64(0),
			Namespace:         pulumi.String("string"),
			EvaluationPeriods: pulumi.Int(0),
			Adjustment:        pulumi.Int(0),
			Operator:          pulumi.String("string"),
			Source:            pulumi.String("string"),
			ActionType:        pulumi.String("string"),
			Period:            pulumi.Int(0),
			Statistic:         pulumi.String("string"),
			Dimensions: gcp.ElastigroupScalingDownPolicyDimensionArray{
				&gcp.ElastigroupScalingDownPolicyDimensionArgs{
					Name:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
			Cooldown: pulumi.Int(0),
		},
	},
	ScalingUpPolicies: gcp.ElastigroupScalingUpPolicyArray{
		&gcp.ElastigroupScalingUpPolicyArgs{
			PolicyName:        pulumi.String("string"),
			MetricName:        pulumi.String("string"),
			Unit:              pulumi.String("string"),
			Threshold:         pulumi.Float64(0),
			Namespace:         pulumi.String("string"),
			EvaluationPeriods: pulumi.Int(0),
			Adjustment:        pulumi.Int(0),
			Operator:          pulumi.String("string"),
			Source:            pulumi.String("string"),
			ActionType:        pulumi.String("string"),
			Period:            pulumi.Int(0),
			Statistic:         pulumi.String("string"),
			Dimensions: gcp.ElastigroupScalingUpPolicyDimensionArray{
				&gcp.ElastigroupScalingUpPolicyDimensionArgs{
					Name:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
			Cooldown: pulumi.Int(0),
		},
	},
	ScheduledTasks: gcp.ElastigroupScheduledTaskArray{
		&gcp.ElastigroupScheduledTaskArgs{
			TaskType:       pulumi.String("string"),
			CronExpression: pulumi.String("string"),
			IsEnabled:      pulumi.Bool(false),
			MaxCapacity:    pulumi.String("string"),
			MinCapacity:    pulumi.String("string"),
			TargetCapacity: pulumi.String("string"),
		},
	},
	ServiceAccount: pulumi.String("string"),
	ShieldedInstanceConfig: &gcp.ElastigroupShieldedInstanceConfigArgs{
		EnableIntegrityMonitoring: pulumi.Bool(false),
		EnableSecureBoot:          pulumi.Bool(false),
	},
	ShouldUtilizeCommitments: pulumi.Bool(false),
	ShutdownScript:           pulumi.String("string"),
	StartupScript:            pulumi.String("string"),
	Subnets: gcp.ElastigroupSubnetArray{
		&gcp.ElastigroupSubnetArgs{
			Region: pulumi.String("string"),
			SubnetNames: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
	},
	Tags: pulumi.StringArray{
		pulumi.String("string"),
	},
	UnhealthyDuration: pulumi.Int(0),
})
Copy
var spotinstElastigroupResource = new Elastigroup("spotinstElastigroupResource", ElastigroupArgs.builder()
    .desiredCapacity(0)
    .metadatas(ElastigroupMetadataArgs.builder()
        .key("string")
        .value("string")
        .build())
    .gpu(ElastigroupGpuArgs.builder()
        .count(0)
        .type("string")
        .build())
    .description("string")
    .minCpuPlatform("string")
    .disks(ElastigroupDiskArgs.builder()
        .autoDelete(false)
        .boot(false)
        .deviceName("string")
        .initializeParams(ElastigroupDiskInitializeParamArgs.builder()
            .sourceImage("string")
            .diskSizeGb("string")
            .diskType("string")
            .build())
        .interface_("string")
        .mode("string")
        .source("string")
        .type("string")
        .build())
    .name("string")
    .fallbackToOndemand(false)
    .minSize(0)
    .healthCheckGracePeriod(0)
    .healthCheckType("string")
    .instanceNamePrefix("string")
    .instanceTypesCustoms(ElastigroupInstanceTypesCustomArgs.builder()
        .memoryGib(0)
        .vcpu(0)
        .build())
    .instanceTypesOndemand("string")
    .instanceTypesPreemptibles("string")
    .integrationDockerSwarm(ElastigroupIntegrationDockerSwarmArgs.builder()
        .masterHost("string")
        .masterPort(0)
        .build())
    .integrationGke(ElastigroupIntegrationGkeArgs.builder()
        .autoUpdate(false)
        .autoscaleCooldown(0)
        .autoscaleDown(ElastigroupIntegrationGkeAutoscaleDownArgs.builder()
            .evaluationPeriods(0)
            .build())
        .autoscaleHeadroom(ElastigroupIntegrationGkeAutoscaleHeadroomArgs.builder()
            .cpuPerUnit(0)
            .memoryPerUnit(0)
            .numOfUnits(0)
            .build())
        .autoscaleIsAutoConfig(false)
        .autoscaleIsEnabled(false)
        .autoscaleLabels(ElastigroupIntegrationGkeAutoscaleLabelArgs.builder()
            .key("string")
            .value("string")
            .build())
        .clusterId("string")
        .location("string")
        .build())
    .ipForwarding(false)
    .labels(ElastigroupLabelArgs.builder()
        .key("string")
        .value("string")
        .build())
    .maxSize(0)
    .autoHealing(false)
    .backendServices(ElastigroupBackendServiceArgs.builder()
        .serviceName("string")
        .locationType("string")
        .namedPorts(ElastigroupBackendServiceNamedPortArgs.builder()
            .name("string")
            .ports("string")
            .build())
        .scheme("string")
        .build())
    .drainingTimeout(0)
    .networkInterfaces(ElastigroupNetworkInterfaceArgs.builder()
        .network("string")
        .accessConfigs(ElastigroupNetworkInterfaceAccessConfigArgs.builder()
            .name("string")
            .type("string")
            .build())
        .aliasIpRanges(ElastigroupNetworkInterfaceAliasIpRangeArgs.builder()
            .ipCidrRange("string")
            .subnetworkRangeName("string")
            .build())
        .build())
    .ondemandCount(0)
    .optimizationWindows("string")
    .preemptiblePercentage(0)
    .preferredAvailabilityZones("string")
    .provisioningModel("string")
    .revertToPreemptibles(ElastigroupRevertToPreemptibleArgs.builder()
        .performAt("string")
        .build())
    .scalingDownPolicies(ElastigroupScalingDownPolicyArgs.builder()
        .policyName("string")
        .metricName("string")
        .unit("string")
        .threshold(0)
        .namespace("string")
        .evaluationPeriods(0)
        .adjustment(0)
        .operator("string")
        .source("string")
        .actionType("string")
        .period(0)
        .statistic("string")
        .dimensions(ElastigroupScalingDownPolicyDimensionArgs.builder()
            .name("string")
            .value("string")
            .build())
        .cooldown(0)
        .build())
    .scalingUpPolicies(ElastigroupScalingUpPolicyArgs.builder()
        .policyName("string")
        .metricName("string")
        .unit("string")
        .threshold(0)
        .namespace("string")
        .evaluationPeriods(0)
        .adjustment(0)
        .operator("string")
        .source("string")
        .actionType("string")
        .period(0)
        .statistic("string")
        .dimensions(ElastigroupScalingUpPolicyDimensionArgs.builder()
            .name("string")
            .value("string")
            .build())
        .cooldown(0)
        .build())
    .scheduledTasks(ElastigroupScheduledTaskArgs.builder()
        .taskType("string")
        .cronExpression("string")
        .isEnabled(false)
        .maxCapacity("string")
        .minCapacity("string")
        .targetCapacity("string")
        .build())
    .serviceAccount("string")
    .shieldedInstanceConfig(ElastigroupShieldedInstanceConfigArgs.builder()
        .enableIntegrityMonitoring(false)
        .enableSecureBoot(false)
        .build())
    .shouldUtilizeCommitments(false)
    .shutdownScript("string")
    .startupScript("string")
    .subnets(ElastigroupSubnetArgs.builder()
        .region("string")
        .subnetNames("string")
        .build())
    .tags("string")
    .unhealthyDuration(0)
    .build());
Copy
spotinst_elastigroup_resource = spotinst.gcp.Elastigroup("spotinstElastigroupResource",
    desired_capacity=0,
    metadatas=[{
        "key": "string",
        "value": "string",
    }],
    gpu=[{
        "count": 0,
        "type": "string",
    }],
    description="string",
    min_cpu_platform="string",
    disks=[{
        "auto_delete": False,
        "boot": False,
        "device_name": "string",
        "initialize_params": [{
            "source_image": "string",
            "disk_size_gb": "string",
            "disk_type": "string",
        }],
        "interface": "string",
        "mode": "string",
        "source": "string",
        "type": "string",
    }],
    name="string",
    fallback_to_ondemand=False,
    min_size=0,
    health_check_grace_period=0,
    health_check_type="string",
    instance_name_prefix="string",
    instance_types_customs=[{
        "memory_gib": 0,
        "vcpu": 0,
    }],
    instance_types_ondemand="string",
    instance_types_preemptibles=["string"],
    integration_docker_swarm={
        "master_host": "string",
        "master_port": 0,
    },
    integration_gke={
        "auto_update": False,
        "autoscale_cooldown": 0,
        "autoscale_down": {
            "evaluation_periods": 0,
        },
        "autoscale_headroom": {
            "cpu_per_unit": 0,
            "memory_per_unit": 0,
            "num_of_units": 0,
        },
        "autoscale_is_auto_config": False,
        "autoscale_is_enabled": False,
        "autoscale_labels": [{
            "key": "string",
            "value": "string",
        }],
        "cluster_id": "string",
        "location": "string",
    },
    ip_forwarding=False,
    labels=[{
        "key": "string",
        "value": "string",
    }],
    max_size=0,
    auto_healing=False,
    backend_services=[{
        "service_name": "string",
        "location_type": "string",
        "named_ports": [{
            "name": "string",
            "ports": ["string"],
        }],
        "scheme": "string",
    }],
    draining_timeout=0,
    network_interfaces=[{
        "network": "string",
        "access_configs": [{
            "name": "string",
            "type": "string",
        }],
        "alias_ip_ranges": [{
            "ip_cidr_range": "string",
            "subnetwork_range_name": "string",
        }],
    }],
    ondemand_count=0,
    optimization_windows=["string"],
    preemptible_percentage=0,
    preferred_availability_zones=["string"],
    provisioning_model="string",
    revert_to_preemptibles=[{
        "perform_at": "string",
    }],
    scaling_down_policies=[{
        "policy_name": "string",
        "metric_name": "string",
        "unit": "string",
        "threshold": 0,
        "namespace": "string",
        "evaluation_periods": 0,
        "adjustment": 0,
        "operator": "string",
        "source": "string",
        "action_type": "string",
        "period": 0,
        "statistic": "string",
        "dimensions": [{
            "name": "string",
            "value": "string",
        }],
        "cooldown": 0,
    }],
    scaling_up_policies=[{
        "policy_name": "string",
        "metric_name": "string",
        "unit": "string",
        "threshold": 0,
        "namespace": "string",
        "evaluation_periods": 0,
        "adjustment": 0,
        "operator": "string",
        "source": "string",
        "action_type": "string",
        "period": 0,
        "statistic": "string",
        "dimensions": [{
            "name": "string",
            "value": "string",
        }],
        "cooldown": 0,
    }],
    scheduled_tasks=[{
        "task_type": "string",
        "cron_expression": "string",
        "is_enabled": False,
        "max_capacity": "string",
        "min_capacity": "string",
        "target_capacity": "string",
    }],
    service_account="string",
    shielded_instance_config={
        "enable_integrity_monitoring": False,
        "enable_secure_boot": False,
    },
    should_utilize_commitments=False,
    shutdown_script="string",
    startup_script="string",
    subnets=[{
        "region": "string",
        "subnet_names": ["string"],
    }],
    tags=["string"],
    unhealthy_duration=0)
Copy
const spotinstElastigroupResource = new spotinst.gcp.Elastigroup("spotinstElastigroupResource", {
    desiredCapacity: 0,
    metadatas: [{
        key: "string",
        value: "string",
    }],
    gpu: [{
        count: 0,
        type: "string",
    }],
    description: "string",
    minCpuPlatform: "string",
    disks: [{
        autoDelete: false,
        boot: false,
        deviceName: "string",
        initializeParams: [{
            sourceImage: "string",
            diskSizeGb: "string",
            diskType: "string",
        }],
        "interface": "string",
        mode: "string",
        source: "string",
        type: "string",
    }],
    name: "string",
    fallbackToOndemand: false,
    minSize: 0,
    healthCheckGracePeriod: 0,
    healthCheckType: "string",
    instanceNamePrefix: "string",
    instanceTypesCustoms: [{
        memoryGib: 0,
        vcpu: 0,
    }],
    instanceTypesOndemand: "string",
    instanceTypesPreemptibles: ["string"],
    integrationDockerSwarm: {
        masterHost: "string",
        masterPort: 0,
    },
    integrationGke: {
        autoUpdate: false,
        autoscaleCooldown: 0,
        autoscaleDown: {
            evaluationPeriods: 0,
        },
        autoscaleHeadroom: {
            cpuPerUnit: 0,
            memoryPerUnit: 0,
            numOfUnits: 0,
        },
        autoscaleIsAutoConfig: false,
        autoscaleIsEnabled: false,
        autoscaleLabels: [{
            key: "string",
            value: "string",
        }],
        clusterId: "string",
        location: "string",
    },
    ipForwarding: false,
    labels: [{
        key: "string",
        value: "string",
    }],
    maxSize: 0,
    autoHealing: false,
    backendServices: [{
        serviceName: "string",
        locationType: "string",
        namedPorts: [{
            name: "string",
            ports: ["string"],
        }],
        scheme: "string",
    }],
    drainingTimeout: 0,
    networkInterfaces: [{
        network: "string",
        accessConfigs: [{
            name: "string",
            type: "string",
        }],
        aliasIpRanges: [{
            ipCidrRange: "string",
            subnetworkRangeName: "string",
        }],
    }],
    ondemandCount: 0,
    optimizationWindows: ["string"],
    preemptiblePercentage: 0,
    preferredAvailabilityZones: ["string"],
    provisioningModel: "string",
    revertToPreemptibles: [{
        performAt: "string",
    }],
    scalingDownPolicies: [{
        policyName: "string",
        metricName: "string",
        unit: "string",
        threshold: 0,
        namespace: "string",
        evaluationPeriods: 0,
        adjustment: 0,
        operator: "string",
        source: "string",
        actionType: "string",
        period: 0,
        statistic: "string",
        dimensions: [{
            name: "string",
            value: "string",
        }],
        cooldown: 0,
    }],
    scalingUpPolicies: [{
        policyName: "string",
        metricName: "string",
        unit: "string",
        threshold: 0,
        namespace: "string",
        evaluationPeriods: 0,
        adjustment: 0,
        operator: "string",
        source: "string",
        actionType: "string",
        period: 0,
        statistic: "string",
        dimensions: [{
            name: "string",
            value: "string",
        }],
        cooldown: 0,
    }],
    scheduledTasks: [{
        taskType: "string",
        cronExpression: "string",
        isEnabled: false,
        maxCapacity: "string",
        minCapacity: "string",
        targetCapacity: "string",
    }],
    serviceAccount: "string",
    shieldedInstanceConfig: {
        enableIntegrityMonitoring: false,
        enableSecureBoot: false,
    },
    shouldUtilizeCommitments: false,
    shutdownScript: "string",
    startupScript: "string",
    subnets: [{
        region: "string",
        subnetNames: ["string"],
    }],
    tags: ["string"],
    unhealthyDuration: 0,
});
Copy
type: spotinst:gcp:Elastigroup
properties:
    autoHealing: false
    backendServices:
        - locationType: string
          namedPorts:
            - name: string
              ports:
                - string
          scheme: string
          serviceName: string
    description: string
    desiredCapacity: 0
    disks:
        - autoDelete: false
          boot: false
          deviceName: string
          initializeParams:
            - diskSizeGb: string
              diskType: string
              sourceImage: string
          interface: string
          mode: string
          source: string
          type: string
    drainingTimeout: 0
    fallbackToOndemand: false
    gpu:
        - count: 0
          type: string
    healthCheckGracePeriod: 0
    healthCheckType: string
    instanceNamePrefix: string
    instanceTypesCustoms:
        - memoryGib: 0
          vcpu: 0
    instanceTypesOndemand: string
    instanceTypesPreemptibles:
        - string
    integrationDockerSwarm:
        masterHost: string
        masterPort: 0
    integrationGke:
        autoUpdate: false
        autoscaleCooldown: 0
        autoscaleDown:
            evaluationPeriods: 0
        autoscaleHeadroom:
            cpuPerUnit: 0
            memoryPerUnit: 0
            numOfUnits: 0
        autoscaleIsAutoConfig: false
        autoscaleIsEnabled: false
        autoscaleLabels:
            - key: string
              value: string
        clusterId: string
        location: string
    ipForwarding: false
    labels:
        - key: string
          value: string
    maxSize: 0
    metadatas:
        - key: string
          value: string
    minCpuPlatform: string
    minSize: 0
    name: string
    networkInterfaces:
        - accessConfigs:
            - name: string
              type: string
          aliasIpRanges:
            - ipCidrRange: string
              subnetworkRangeName: string
          network: string
    ondemandCount: 0
    optimizationWindows:
        - string
    preemptiblePercentage: 0
    preferredAvailabilityZones:
        - string
    provisioningModel: string
    revertToPreemptibles:
        - performAt: string
    scalingDownPolicies:
        - actionType: string
          adjustment: 0
          cooldown: 0
          dimensions:
            - name: string
              value: string
          evaluationPeriods: 0
          metricName: string
          namespace: string
          operator: string
          period: 0
          policyName: string
          source: string
          statistic: string
          threshold: 0
          unit: string
    scalingUpPolicies:
        - actionType: string
          adjustment: 0
          cooldown: 0
          dimensions:
            - name: string
              value: string
          evaluationPeriods: 0
          metricName: string
          namespace: string
          operator: string
          period: 0
          policyName: string
          source: string
          statistic: string
          threshold: 0
          unit: string
    scheduledTasks:
        - cronExpression: string
          isEnabled: false
          maxCapacity: string
          minCapacity: string
          targetCapacity: string
          taskType: string
    serviceAccount: string
    shieldedInstanceConfig:
        enableIntegrityMonitoring: false
        enableSecureBoot: false
    shouldUtilizeCommitments: false
    shutdownScript: string
    startupScript: string
    subnets:
        - region: string
          subnetNames:
            - string
    tags:
        - string
    unhealthyDuration: 0
Copy

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

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Elastigroup resource accepts the following input properties:

DesiredCapacity This property is required. int
The desired number of instances the group should have at any time.
AutoHealing bool
AvailabilityZones List<string>
List of availability zones for the group.

Deprecated: This field will soon be handled by Region in Subnets

BackendServices List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupBackendService>
Description string
The region your GCP group will be created in.
Disks List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupDisk>
DrainingTimeout int
Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
FallbackToOndemand bool
Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
Gpu List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupGpu>
HealthCheckGracePeriod int
HealthCheckType string
InstanceNamePrefix string
Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:

  • A maximal length of 25 characters.
  • The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
InstanceTypesCustoms List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupInstanceTypesCustom>
Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.

  • vCPU - (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
InstanceTypesOndemand string
The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
InstanceTypesPreemptibles List<string>
The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
IntegrationDockerSwarm Pulumi.SpotInst.Gcp.Inputs.ElastigroupIntegrationDockerSwarm
IntegrationGke Pulumi.SpotInst.Gcp.Inputs.ElastigroupIntegrationGke
IpForwarding bool
Labels List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupLabel>
Array of objects with key-value pairs.
MaxSize int
The maximum number of instances the group should have at any time.
Metadatas List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupMetadata>
Array of objects with key-value pairs.
MinCpuPlatform string
Select a minimum CPU platform for the compute instance.
MinSize int
The minimum number of instances the group should have at any time.
Name string
The group name.
NetworkInterfaces List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupNetworkInterface>
OndemandCount int
OptimizationWindows List<string>
Set time window to perform the revert to preemptible. Time windows must be at least 120 minutes. Format: DayInWeek:HH-DayInWeek:HH. Required when strategy.revertToPreemptible.performAt is 'timeWindow'.
PreemptiblePercentage int
Percentage of Preemptible VMs to spin up from the "desired_capacity".
PreferredAvailabilityZones List<string>
prioritize availability zones when launching instances for the group. Must be a sublist of availability_zones.
ProvisioningModel string
Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
RevertToPreemptibles List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupRevertToPreemptible>
Setting for revert to preemptible option.
ScalingDownPolicies List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupScalingDownPolicy>
ScalingUpPolicies List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupScalingUpPolicy>
ScheduledTasks List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupScheduledTask>
ServiceAccount string
The email of the service account in which the group instances will be launched.
ShieldedInstanceConfig Pulumi.SpotInst.Gcp.Inputs.ElastigroupShieldedInstanceConfig
You can use secure boot when you launch VMs using Elastigroup. This helps you comply with your security policies. In the instance configuration, use ‘secureBootEnabled’ set to True to enforce UEFI with secure boot. Elastigroup provisions VMs with secure boot, as long as the images supports UEFI.
ShouldUtilizeCommitments bool
Enable committed use discounts utilization.
ShutdownScript string
The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
StartupScript string
Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
Subnets List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupSubnet>
A list of regions and subnets.
Tags List<string>
Tags to mark created instances.
UnhealthyDuration int
DesiredCapacity This property is required. int
The desired number of instances the group should have at any time.
AutoHealing bool
AvailabilityZones []string
List of availability zones for the group.

Deprecated: This field will soon be handled by Region in Subnets

BackendServices []ElastigroupBackendServiceArgs
Description string
The region your GCP group will be created in.
Disks []ElastigroupDiskArgs
DrainingTimeout int
Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
FallbackToOndemand bool
Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
Gpu []ElastigroupGpuArgs
HealthCheckGracePeriod int
HealthCheckType string
InstanceNamePrefix string
Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:

  • A maximal length of 25 characters.
  • The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
InstanceTypesCustoms []ElastigroupInstanceTypesCustomArgs
Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.

  • vCPU - (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
InstanceTypesOndemand string
The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
InstanceTypesPreemptibles []string
The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
IntegrationDockerSwarm ElastigroupIntegrationDockerSwarmArgs
IntegrationGke ElastigroupIntegrationGkeArgs
IpForwarding bool
Labels []ElastigroupLabelArgs
Array of objects with key-value pairs.
MaxSize int
The maximum number of instances the group should have at any time.
Metadatas []ElastigroupMetadataArgs
Array of objects with key-value pairs.
MinCpuPlatform string
Select a minimum CPU platform for the compute instance.
MinSize int
The minimum number of instances the group should have at any time.
Name string
The group name.
NetworkInterfaces []ElastigroupNetworkInterfaceArgs
OndemandCount int
OptimizationWindows []string
Set time window to perform the revert to preemptible. Time windows must be at least 120 minutes. Format: DayInWeek:HH-DayInWeek:HH. Required when strategy.revertToPreemptible.performAt is 'timeWindow'.
PreemptiblePercentage int
Percentage of Preemptible VMs to spin up from the "desired_capacity".
PreferredAvailabilityZones []string
prioritize availability zones when launching instances for the group. Must be a sublist of availability_zones.
ProvisioningModel string
Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
RevertToPreemptibles []ElastigroupRevertToPreemptibleArgs
Setting for revert to preemptible option.
ScalingDownPolicies []ElastigroupScalingDownPolicyArgs
ScalingUpPolicies []ElastigroupScalingUpPolicyArgs
ScheduledTasks []ElastigroupScheduledTaskArgs
ServiceAccount string
The email of the service account in which the group instances will be launched.
ShieldedInstanceConfig ElastigroupShieldedInstanceConfigArgs
You can use secure boot when you launch VMs using Elastigroup. This helps you comply with your security policies. In the instance configuration, use ‘secureBootEnabled’ set to True to enforce UEFI with secure boot. Elastigroup provisions VMs with secure boot, as long as the images supports UEFI.
ShouldUtilizeCommitments bool
Enable committed use discounts utilization.
ShutdownScript string
The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
StartupScript string
Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
Subnets []ElastigroupSubnetArgs
A list of regions and subnets.
Tags []string
Tags to mark created instances.
UnhealthyDuration int
desiredCapacity This property is required. Integer
The desired number of instances the group should have at any time.
autoHealing Boolean
availabilityZones List<String>
List of availability zones for the group.

Deprecated: This field will soon be handled by Region in Subnets

backendServices List<ElastigroupBackendService>
description String
The region your GCP group will be created in.
disks List<ElastigroupDisk>
drainingTimeout Integer
Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
fallbackToOndemand Boolean
Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
gpu List<ElastigroupGpu>
healthCheckGracePeriod Integer
healthCheckType String
instanceNamePrefix String
Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:

  • A maximal length of 25 characters.
  • The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
instanceTypesCustoms List<ElastigroupInstanceTypesCustom>
Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.

  • vCPU - (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
instanceTypesOndemand String
The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
instanceTypesPreemptibles List<String>
The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
integrationDockerSwarm ElastigroupIntegrationDockerSwarm
integrationGke ElastigroupIntegrationGke
ipForwarding Boolean
labels List<ElastigroupLabel>
Array of objects with key-value pairs.
maxSize Integer
The maximum number of instances the group should have at any time.
metadatas List<ElastigroupMetadata>
Array of objects with key-value pairs.
minCpuPlatform String
Select a minimum CPU platform for the compute instance.
minSize Integer
The minimum number of instances the group should have at any time.
name String
The group name.
networkInterfaces List<ElastigroupNetworkInterface>
ondemandCount Integer
optimizationWindows List<String>
Set time window to perform the revert to preemptible. Time windows must be at least 120 minutes. Format: DayInWeek:HH-DayInWeek:HH. Required when strategy.revertToPreemptible.performAt is 'timeWindow'.
preemptiblePercentage Integer
Percentage of Preemptible VMs to spin up from the "desired_capacity".
preferredAvailabilityZones List<String>
prioritize availability zones when launching instances for the group. Must be a sublist of availability_zones.
provisioningModel String
Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
revertToPreemptibles List<ElastigroupRevertToPreemptible>
Setting for revert to preemptible option.
scalingDownPolicies List<ElastigroupScalingDownPolicy>
scalingUpPolicies List<ElastigroupScalingUpPolicy>
scheduledTasks List<ElastigroupScheduledTask>
serviceAccount String
The email of the service account in which the group instances will be launched.
shieldedInstanceConfig ElastigroupShieldedInstanceConfig
You can use secure boot when you launch VMs using Elastigroup. This helps you comply with your security policies. In the instance configuration, use ‘secureBootEnabled’ set to True to enforce UEFI with secure boot. Elastigroup provisions VMs with secure boot, as long as the images supports UEFI.
shouldUtilizeCommitments Boolean
Enable committed use discounts utilization.
shutdownScript String
The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
startupScript String
Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
subnets List<ElastigroupSubnet>
A list of regions and subnets.
tags List<String>
Tags to mark created instances.
unhealthyDuration Integer
desiredCapacity This property is required. number
The desired number of instances the group should have at any time.
autoHealing boolean
availabilityZones string[]
List of availability zones for the group.

Deprecated: This field will soon be handled by Region in Subnets

backendServices ElastigroupBackendService[]
description string
The region your GCP group will be created in.
disks ElastigroupDisk[]
drainingTimeout number
Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
fallbackToOndemand boolean
Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
gpu ElastigroupGpu[]
healthCheckGracePeriod number
healthCheckType string
instanceNamePrefix string
Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:

  • A maximal length of 25 characters.
  • The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
instanceTypesCustoms ElastigroupInstanceTypesCustom[]
Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.

  • vCPU - (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
instanceTypesOndemand string
The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
instanceTypesPreemptibles string[]
The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
integrationDockerSwarm ElastigroupIntegrationDockerSwarm
integrationGke ElastigroupIntegrationGke
ipForwarding boolean
labels ElastigroupLabel[]
Array of objects with key-value pairs.
maxSize number
The maximum number of instances the group should have at any time.
metadatas ElastigroupMetadata[]
Array of objects with key-value pairs.
minCpuPlatform string
Select a minimum CPU platform for the compute instance.
minSize number
The minimum number of instances the group should have at any time.
name string
The group name.
networkInterfaces ElastigroupNetworkInterface[]
ondemandCount number
optimizationWindows string[]
Set time window to perform the revert to preemptible. Time windows must be at least 120 minutes. Format: DayInWeek:HH-DayInWeek:HH. Required when strategy.revertToPreemptible.performAt is 'timeWindow'.
preemptiblePercentage number
Percentage of Preemptible VMs to spin up from the "desired_capacity".
preferredAvailabilityZones string[]
prioritize availability zones when launching instances for the group. Must be a sublist of availability_zones.
provisioningModel string
Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
revertToPreemptibles ElastigroupRevertToPreemptible[]
Setting for revert to preemptible option.
scalingDownPolicies ElastigroupScalingDownPolicy[]
scalingUpPolicies ElastigroupScalingUpPolicy[]
scheduledTasks ElastigroupScheduledTask[]
serviceAccount string
The email of the service account in which the group instances will be launched.
shieldedInstanceConfig ElastigroupShieldedInstanceConfig
You can use secure boot when you launch VMs using Elastigroup. This helps you comply with your security policies. In the instance configuration, use ‘secureBootEnabled’ set to True to enforce UEFI with secure boot. Elastigroup provisions VMs with secure boot, as long as the images supports UEFI.
shouldUtilizeCommitments boolean
Enable committed use discounts utilization.
shutdownScript string
The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
startupScript string
Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
subnets ElastigroupSubnet[]
A list of regions and subnets.
tags string[]
Tags to mark created instances.
unhealthyDuration number
desired_capacity This property is required. int
The desired number of instances the group should have at any time.
auto_healing bool
availability_zones Sequence[str]
List of availability zones for the group.

Deprecated: This field will soon be handled by Region in Subnets

backend_services Sequence[ElastigroupBackendServiceArgs]
description str
The region your GCP group will be created in.
disks Sequence[ElastigroupDiskArgs]
draining_timeout int
Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
fallback_to_ondemand bool
Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
gpu Sequence[ElastigroupGpuArgs]
health_check_grace_period int
health_check_type str
instance_name_prefix str
Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:

  • A maximal length of 25 characters.
  • The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
instance_types_customs Sequence[ElastigroupInstanceTypesCustomArgs]
Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.

  • vCPU - (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
instance_types_ondemand str
The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
instance_types_preemptibles Sequence[str]
The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
integration_docker_swarm ElastigroupIntegrationDockerSwarmArgs
integration_gke ElastigroupIntegrationGkeArgs
ip_forwarding bool
labels Sequence[ElastigroupLabelArgs]
Array of objects with key-value pairs.
max_size int
The maximum number of instances the group should have at any time.
metadatas Sequence[ElastigroupMetadataArgs]
Array of objects with key-value pairs.
min_cpu_platform str
Select a minimum CPU platform for the compute instance.
min_size int
The minimum number of instances the group should have at any time.
name str
The group name.
network_interfaces Sequence[ElastigroupNetworkInterfaceArgs]
ondemand_count int
optimization_windows Sequence[str]
Set time window to perform the revert to preemptible. Time windows must be at least 120 minutes. Format: DayInWeek:HH-DayInWeek:HH. Required when strategy.revertToPreemptible.performAt is 'timeWindow'.
preemptible_percentage int
Percentage of Preemptible VMs to spin up from the "desired_capacity".
preferred_availability_zones Sequence[str]
prioritize availability zones when launching instances for the group. Must be a sublist of availability_zones.
provisioning_model str
Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
revert_to_preemptibles Sequence[ElastigroupRevertToPreemptibleArgs]
Setting for revert to preemptible option.
scaling_down_policies Sequence[ElastigroupScalingDownPolicyArgs]
scaling_up_policies Sequence[ElastigroupScalingUpPolicyArgs]
scheduled_tasks Sequence[ElastigroupScheduledTaskArgs]
service_account str
The email of the service account in which the group instances will be launched.
shielded_instance_config ElastigroupShieldedInstanceConfigArgs
You can use secure boot when you launch VMs using Elastigroup. This helps you comply with your security policies. In the instance configuration, use ‘secureBootEnabled’ set to True to enforce UEFI with secure boot. Elastigroup provisions VMs with secure boot, as long as the images supports UEFI.
should_utilize_commitments bool
Enable committed use discounts utilization.
shutdown_script str
The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
startup_script str
Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
subnets Sequence[ElastigroupSubnetArgs]
A list of regions and subnets.
tags Sequence[str]
Tags to mark created instances.
unhealthy_duration int
desiredCapacity This property is required. Number
The desired number of instances the group should have at any time.
autoHealing Boolean
availabilityZones List<String>
List of availability zones for the group.

Deprecated: This field will soon be handled by Region in Subnets

backendServices List<Property Map>
description String
The region your GCP group will be created in.
disks List<Property Map>
drainingTimeout Number
Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
fallbackToOndemand Boolean
Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
gpu List<Property Map>
healthCheckGracePeriod Number
healthCheckType String
instanceNamePrefix String
Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:

  • A maximal length of 25 characters.
  • The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
instanceTypesCustoms List<Property Map>
Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.

  • vCPU - (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
instanceTypesOndemand String
The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
instanceTypesPreemptibles List<String>
The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
integrationDockerSwarm Property Map
integrationGke Property Map
ipForwarding Boolean
labels List<Property Map>
Array of objects with key-value pairs.
maxSize Number
The maximum number of instances the group should have at any time.
metadatas List<Property Map>
Array of objects with key-value pairs.
minCpuPlatform String
Select a minimum CPU platform for the compute instance.
minSize Number
The minimum number of instances the group should have at any time.
name String
The group name.
networkInterfaces List<Property Map>
ondemandCount Number
optimizationWindows List<String>
Set time window to perform the revert to preemptible. Time windows must be at least 120 minutes. Format: DayInWeek:HH-DayInWeek:HH. Required when strategy.revertToPreemptible.performAt is 'timeWindow'.
preemptiblePercentage Number
Percentage of Preemptible VMs to spin up from the "desired_capacity".
preferredAvailabilityZones List<String>
prioritize availability zones when launching instances for the group. Must be a sublist of availability_zones.
provisioningModel String
Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
revertToPreemptibles List<Property Map>
Setting for revert to preemptible option.
scalingDownPolicies List<Property Map>
scalingUpPolicies List<Property Map>
scheduledTasks List<Property Map>
serviceAccount String
The email of the service account in which the group instances will be launched.
shieldedInstanceConfig Property Map
You can use secure boot when you launch VMs using Elastigroup. This helps you comply with your security policies. In the instance configuration, use ‘secureBootEnabled’ set to True to enforce UEFI with secure boot. Elastigroup provisions VMs with secure boot, as long as the images supports UEFI.
shouldUtilizeCommitments Boolean
Enable committed use discounts utilization.
shutdownScript String
The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
startupScript String
Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
subnets List<Property Map>
A list of regions and subnets.
tags List<String>
Tags to mark created instances.
unhealthyDuration Number

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,
        auto_healing: Optional[bool] = None,
        availability_zones: Optional[Sequence[str]] = None,
        backend_services: Optional[Sequence[ElastigroupBackendServiceArgs]] = None,
        description: 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,
        health_check_grace_period: Optional[int] = None,
        health_check_type: Optional[str] = None,
        instance_name_prefix: Optional[str] = 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_cpu_platform: Optional[str] = None,
        min_size: Optional[int] = None,
        name: Optional[str] = None,
        network_interfaces: Optional[Sequence[ElastigroupNetworkInterfaceArgs]] = None,
        ondemand_count: Optional[int] = None,
        optimization_windows: Optional[Sequence[str]] = None,
        preemptible_percentage: Optional[int] = None,
        preferred_availability_zones: Optional[Sequence[str]] = None,
        provisioning_model: Optional[str] = None,
        revert_to_preemptibles: Optional[Sequence[ElastigroupRevertToPreemptibleArgs]] = None,
        scaling_down_policies: Optional[Sequence[ElastigroupScalingDownPolicyArgs]] = None,
        scaling_up_policies: Optional[Sequence[ElastigroupScalingUpPolicyArgs]] = None,
        scheduled_tasks: Optional[Sequence[ElastigroupScheduledTaskArgs]] = None,
        service_account: Optional[str] = None,
        shielded_instance_config: Optional[ElastigroupShieldedInstanceConfigArgs] = None,
        should_utilize_commitments: Optional[bool] = None,
        shutdown_script: Optional[str] = None,
        startup_script: Optional[str] = None,
        subnets: Optional[Sequence[ElastigroupSubnetArgs]] = None,
        tags: Optional[Sequence[str]] = None,
        unhealthy_duration: Optional[int] = 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)
resources:  _:    type: spotinst:gcp:Elastigroup    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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:
AutoHealing bool
AvailabilityZones List<string>
List of availability zones for the group.

Deprecated: This field will soon be handled by Region in Subnets

BackendServices List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupBackendService>
Description string
The region your GCP group will be created in.
DesiredCapacity int
The desired number of instances the group should have at any time.
Disks List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupDisk>
DrainingTimeout int
Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
FallbackToOndemand bool
Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
Gpu List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupGpu>
HealthCheckGracePeriod int
HealthCheckType string
InstanceNamePrefix string
Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:

  • A maximal length of 25 characters.
  • The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
InstanceTypesCustoms List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupInstanceTypesCustom>
Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.

  • vCPU - (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
InstanceTypesOndemand string
The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
InstanceTypesPreemptibles List<string>
The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
IntegrationDockerSwarm Pulumi.SpotInst.Gcp.Inputs.ElastigroupIntegrationDockerSwarm
IntegrationGke Pulumi.SpotInst.Gcp.Inputs.ElastigroupIntegrationGke
IpForwarding bool
Labels List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupLabel>
Array of objects with key-value pairs.
MaxSize int
The maximum number of instances the group should have at any time.
Metadatas List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupMetadata>
Array of objects with key-value pairs.
MinCpuPlatform string
Select a minimum CPU platform for the compute instance.
MinSize int
The minimum number of instances the group should have at any time.
Name string
The group name.
NetworkInterfaces List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupNetworkInterface>
OndemandCount int
OptimizationWindows List<string>
Set time window to perform the revert to preemptible. Time windows must be at least 120 minutes. Format: DayInWeek:HH-DayInWeek:HH. Required when strategy.revertToPreemptible.performAt is 'timeWindow'.
PreemptiblePercentage int
Percentage of Preemptible VMs to spin up from the "desired_capacity".
PreferredAvailabilityZones List<string>
prioritize availability zones when launching instances for the group. Must be a sublist of availability_zones.
ProvisioningModel string
Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
RevertToPreemptibles List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupRevertToPreemptible>
Setting for revert to preemptible option.
ScalingDownPolicies List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupScalingDownPolicy>
ScalingUpPolicies List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupScalingUpPolicy>
ScheduledTasks List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupScheduledTask>
ServiceAccount string
The email of the service account in which the group instances will be launched.
ShieldedInstanceConfig Pulumi.SpotInst.Gcp.Inputs.ElastigroupShieldedInstanceConfig
You can use secure boot when you launch VMs using Elastigroup. This helps you comply with your security policies. In the instance configuration, use ‘secureBootEnabled’ set to True to enforce UEFI with secure boot. Elastigroup provisions VMs with secure boot, as long as the images supports UEFI.
ShouldUtilizeCommitments bool
Enable committed use discounts utilization.
ShutdownScript string
The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
StartupScript string
Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
Subnets List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupSubnet>
A list of regions and subnets.
Tags List<string>
Tags to mark created instances.
UnhealthyDuration int
AutoHealing bool
AvailabilityZones []string
List of availability zones for the group.

Deprecated: This field will soon be handled by Region in Subnets

BackendServices []ElastigroupBackendServiceArgs
Description string
The region your GCP group will be created in.
DesiredCapacity int
The desired number of instances the group should have at any time.
Disks []ElastigroupDiskArgs
DrainingTimeout int
Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
FallbackToOndemand bool
Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
Gpu []ElastigroupGpuArgs
HealthCheckGracePeriod int
HealthCheckType string
InstanceNamePrefix string
Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:

  • A maximal length of 25 characters.
  • The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
InstanceTypesCustoms []ElastigroupInstanceTypesCustomArgs
Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.

  • vCPU - (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
InstanceTypesOndemand string
The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
InstanceTypesPreemptibles []string
The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
IntegrationDockerSwarm ElastigroupIntegrationDockerSwarmArgs
IntegrationGke ElastigroupIntegrationGkeArgs
IpForwarding bool
Labels []ElastigroupLabelArgs
Array of objects with key-value pairs.
MaxSize int
The maximum number of instances the group should have at any time.
Metadatas []ElastigroupMetadataArgs
Array of objects with key-value pairs.
MinCpuPlatform string
Select a minimum CPU platform for the compute instance.
MinSize int
The minimum number of instances the group should have at any time.
Name string
The group name.
NetworkInterfaces []ElastigroupNetworkInterfaceArgs
OndemandCount int
OptimizationWindows []string
Set time window to perform the revert to preemptible. Time windows must be at least 120 minutes. Format: DayInWeek:HH-DayInWeek:HH. Required when strategy.revertToPreemptible.performAt is 'timeWindow'.
PreemptiblePercentage int
Percentage of Preemptible VMs to spin up from the "desired_capacity".
PreferredAvailabilityZones []string
prioritize availability zones when launching instances for the group. Must be a sublist of availability_zones.
ProvisioningModel string
Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
RevertToPreemptibles []ElastigroupRevertToPreemptibleArgs
Setting for revert to preemptible option.
ScalingDownPolicies []ElastigroupScalingDownPolicyArgs
ScalingUpPolicies []ElastigroupScalingUpPolicyArgs
ScheduledTasks []ElastigroupScheduledTaskArgs
ServiceAccount string
The email of the service account in which the group instances will be launched.
ShieldedInstanceConfig ElastigroupShieldedInstanceConfigArgs
You can use secure boot when you launch VMs using Elastigroup. This helps you comply with your security policies. In the instance configuration, use ‘secureBootEnabled’ set to True to enforce UEFI with secure boot. Elastigroup provisions VMs with secure boot, as long as the images supports UEFI.
ShouldUtilizeCommitments bool
Enable committed use discounts utilization.
ShutdownScript string
The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
StartupScript string
Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
Subnets []ElastigroupSubnetArgs
A list of regions and subnets.
Tags []string
Tags to mark created instances.
UnhealthyDuration int
autoHealing Boolean
availabilityZones List<String>
List of availability zones for the group.

Deprecated: This field will soon be handled by Region in Subnets

backendServices List<ElastigroupBackendService>
description String
The region your GCP group will be created in.
desiredCapacity Integer
The desired number of instances the group should have at any time.
disks List<ElastigroupDisk>
drainingTimeout Integer
Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
fallbackToOndemand Boolean
Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
gpu List<ElastigroupGpu>
healthCheckGracePeriod Integer
healthCheckType String
instanceNamePrefix String
Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:

  • A maximal length of 25 characters.
  • The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
instanceTypesCustoms List<ElastigroupInstanceTypesCustom>
Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.

  • vCPU - (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
instanceTypesOndemand String
The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
instanceTypesPreemptibles List<String>
The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
integrationDockerSwarm ElastigroupIntegrationDockerSwarm
integrationGke ElastigroupIntegrationGke
ipForwarding Boolean
labels List<ElastigroupLabel>
Array of objects with key-value pairs.
maxSize Integer
The maximum number of instances the group should have at any time.
metadatas List<ElastigroupMetadata>
Array of objects with key-value pairs.
minCpuPlatform String
Select a minimum CPU platform for the compute instance.
minSize Integer
The minimum number of instances the group should have at any time.
name String
The group name.
networkInterfaces List<ElastigroupNetworkInterface>
ondemandCount Integer
optimizationWindows List<String>
Set time window to perform the revert to preemptible. Time windows must be at least 120 minutes. Format: DayInWeek:HH-DayInWeek:HH. Required when strategy.revertToPreemptible.performAt is 'timeWindow'.
preemptiblePercentage Integer
Percentage of Preemptible VMs to spin up from the "desired_capacity".
preferredAvailabilityZones List<String>
prioritize availability zones when launching instances for the group. Must be a sublist of availability_zones.
provisioningModel String
Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
revertToPreemptibles List<ElastigroupRevertToPreemptible>
Setting for revert to preemptible option.
scalingDownPolicies List<ElastigroupScalingDownPolicy>
scalingUpPolicies List<ElastigroupScalingUpPolicy>
scheduledTasks List<ElastigroupScheduledTask>
serviceAccount String
The email of the service account in which the group instances will be launched.
shieldedInstanceConfig ElastigroupShieldedInstanceConfig
You can use secure boot when you launch VMs using Elastigroup. This helps you comply with your security policies. In the instance configuration, use ‘secureBootEnabled’ set to True to enforce UEFI with secure boot. Elastigroup provisions VMs with secure boot, as long as the images supports UEFI.
shouldUtilizeCommitments Boolean
Enable committed use discounts utilization.
shutdownScript String
The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
startupScript String
Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
subnets List<ElastigroupSubnet>
A list of regions and subnets.
tags List<String>
Tags to mark created instances.
unhealthyDuration Integer
autoHealing boolean
availabilityZones string[]
List of availability zones for the group.

Deprecated: This field will soon be handled by Region in Subnets

backendServices ElastigroupBackendService[]
description string
The region your GCP group will be created in.
desiredCapacity number
The desired number of instances the group should have at any time.
disks ElastigroupDisk[]
drainingTimeout number
Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
fallbackToOndemand boolean
Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
gpu ElastigroupGpu[]
healthCheckGracePeriod number
healthCheckType string
instanceNamePrefix string
Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:

  • A maximal length of 25 characters.
  • The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
instanceTypesCustoms ElastigroupInstanceTypesCustom[]
Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.

  • vCPU - (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
instanceTypesOndemand string
The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
instanceTypesPreemptibles string[]
The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
integrationDockerSwarm ElastigroupIntegrationDockerSwarm
integrationGke ElastigroupIntegrationGke
ipForwarding boolean
labels ElastigroupLabel[]
Array of objects with key-value pairs.
maxSize number
The maximum number of instances the group should have at any time.
metadatas ElastigroupMetadata[]
Array of objects with key-value pairs.
minCpuPlatform string
Select a minimum CPU platform for the compute instance.
minSize number
The minimum number of instances the group should have at any time.
name string
The group name.
networkInterfaces ElastigroupNetworkInterface[]
ondemandCount number
optimizationWindows string[]
Set time window to perform the revert to preemptible. Time windows must be at least 120 minutes. Format: DayInWeek:HH-DayInWeek:HH. Required when strategy.revertToPreemptible.performAt is 'timeWindow'.
preemptiblePercentage number
Percentage of Preemptible VMs to spin up from the "desired_capacity".
preferredAvailabilityZones string[]
prioritize availability zones when launching instances for the group. Must be a sublist of availability_zones.
provisioningModel string
Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
revertToPreemptibles ElastigroupRevertToPreemptible[]
Setting for revert to preemptible option.
scalingDownPolicies ElastigroupScalingDownPolicy[]
scalingUpPolicies ElastigroupScalingUpPolicy[]
scheduledTasks ElastigroupScheduledTask[]
serviceAccount string
The email of the service account in which the group instances will be launched.
shieldedInstanceConfig ElastigroupShieldedInstanceConfig
You can use secure boot when you launch VMs using Elastigroup. This helps you comply with your security policies. In the instance configuration, use ‘secureBootEnabled’ set to True to enforce UEFI with secure boot. Elastigroup provisions VMs with secure boot, as long as the images supports UEFI.
shouldUtilizeCommitments boolean
Enable committed use discounts utilization.
shutdownScript string
The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
startupScript string
Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
subnets ElastigroupSubnet[]
A list of regions and subnets.
tags string[]
Tags to mark created instances.
unhealthyDuration number
auto_healing bool
availability_zones Sequence[str]
List of availability zones for the group.

Deprecated: This field will soon be handled by Region in Subnets

backend_services Sequence[ElastigroupBackendServiceArgs]
description str
The region your GCP group will be created in.
desired_capacity int
The desired number of instances the group should have at any time.
disks Sequence[ElastigroupDiskArgs]
draining_timeout int
Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
fallback_to_ondemand bool
Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
gpu Sequence[ElastigroupGpuArgs]
health_check_grace_period int
health_check_type str
instance_name_prefix str
Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:

  • A maximal length of 25 characters.
  • The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
instance_types_customs Sequence[ElastigroupInstanceTypesCustomArgs]
Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.

  • vCPU - (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
instance_types_ondemand str
The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
instance_types_preemptibles Sequence[str]
The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
integration_docker_swarm ElastigroupIntegrationDockerSwarmArgs
integration_gke ElastigroupIntegrationGkeArgs
ip_forwarding bool
labels Sequence[ElastigroupLabelArgs]
Array of objects with key-value pairs.
max_size int
The maximum number of instances the group should have at any time.
metadatas Sequence[ElastigroupMetadataArgs]
Array of objects with key-value pairs.
min_cpu_platform str
Select a minimum CPU platform for the compute instance.
min_size int
The minimum number of instances the group should have at any time.
name str
The group name.
network_interfaces Sequence[ElastigroupNetworkInterfaceArgs]
ondemand_count int
optimization_windows Sequence[str]
Set time window to perform the revert to preemptible. Time windows must be at least 120 minutes. Format: DayInWeek:HH-DayInWeek:HH. Required when strategy.revertToPreemptible.performAt is 'timeWindow'.
preemptible_percentage int
Percentage of Preemptible VMs to spin up from the "desired_capacity".
preferred_availability_zones Sequence[str]
prioritize availability zones when launching instances for the group. Must be a sublist of availability_zones.
provisioning_model str
Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
revert_to_preemptibles Sequence[ElastigroupRevertToPreemptibleArgs]
Setting for revert to preemptible option.
scaling_down_policies Sequence[ElastigroupScalingDownPolicyArgs]
scaling_up_policies Sequence[ElastigroupScalingUpPolicyArgs]
scheduled_tasks Sequence[ElastigroupScheduledTaskArgs]
service_account str
The email of the service account in which the group instances will be launched.
shielded_instance_config ElastigroupShieldedInstanceConfigArgs
You can use secure boot when you launch VMs using Elastigroup. This helps you comply with your security policies. In the instance configuration, use ‘secureBootEnabled’ set to True to enforce UEFI with secure boot. Elastigroup provisions VMs with secure boot, as long as the images supports UEFI.
should_utilize_commitments bool
Enable committed use discounts utilization.
shutdown_script str
The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
startup_script str
Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
subnets Sequence[ElastigroupSubnetArgs]
A list of regions and subnets.
tags Sequence[str]
Tags to mark created instances.
unhealthy_duration int
autoHealing Boolean
availabilityZones List<String>
List of availability zones for the group.

Deprecated: This field will soon be handled by Region in Subnets

backendServices List<Property Map>
description String
The region your GCP group will be created in.
desiredCapacity Number
The desired number of instances the group should have at any time.
disks List<Property Map>
drainingTimeout Number
Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
fallbackToOndemand Boolean
Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
gpu List<Property Map>
healthCheckGracePeriod Number
healthCheckType String
instanceNamePrefix String
Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:

  • A maximal length of 25 characters.
  • The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
instanceTypesCustoms List<Property Map>
Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.

  • vCPU - (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
instanceTypesOndemand String
The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
instanceTypesPreemptibles List<String>
The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
integrationDockerSwarm Property Map
integrationGke Property Map
ipForwarding Boolean
labels List<Property Map>
Array of objects with key-value pairs.
maxSize Number
The maximum number of instances the group should have at any time.
metadatas List<Property Map>
Array of objects with key-value pairs.
minCpuPlatform String
Select a minimum CPU platform for the compute instance.
minSize Number
The minimum number of instances the group should have at any time.
name String
The group name.
networkInterfaces List<Property Map>
ondemandCount Number
optimizationWindows List<String>
Set time window to perform the revert to preemptible. Time windows must be at least 120 minutes. Format: DayInWeek:HH-DayInWeek:HH. Required when strategy.revertToPreemptible.performAt is 'timeWindow'.
preemptiblePercentage Number
Percentage of Preemptible VMs to spin up from the "desired_capacity".
preferredAvailabilityZones List<String>
prioritize availability zones when launching instances for the group. Must be a sublist of availability_zones.
provisioningModel String
Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
revertToPreemptibles List<Property Map>
Setting for revert to preemptible option.
scalingDownPolicies List<Property Map>
scalingUpPolicies List<Property Map>
scheduledTasks List<Property Map>
serviceAccount String
The email of the service account in which the group instances will be launched.
shieldedInstanceConfig Property Map
You can use secure boot when you launch VMs using Elastigroup. This helps you comply with your security policies. In the instance configuration, use ‘secureBootEnabled’ set to True to enforce UEFI with secure boot. Elastigroup provisions VMs with secure boot, as long as the images supports UEFI.
shouldUtilizeCommitments Boolean
Enable committed use discounts utilization.
shutdownScript String
The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
startupScript String
Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
subnets List<Property Map>
A list of regions and subnets.
tags List<String>
Tags to mark created instances.
unhealthyDuration Number

Supporting Types

ElastigroupBackendService
, ElastigroupBackendServiceArgs

ServiceName This property is required. string
The name of the backend service.
LocationType string
Sets which location the backend services will be active. Valid values: regional, global.
NamedPorts List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupBackendServiceNamedPort>
Describes a named port and a list of ports.
Scheme string
Use when location_type is "regional". Set the traffic for the backend service to either between the instances in the vpc or to traffic from the internet. Valid values: INTERNAL, EXTERNAL.
ServiceName This property is required. string
The name of the backend service.
LocationType string
Sets which location the backend services will be active. Valid values: regional, global.
NamedPorts []ElastigroupBackendServiceNamedPort
Describes a named port and a list of ports.
Scheme string
Use when location_type is "regional". Set the traffic for the backend service to either between the instances in the vpc or to traffic from the internet. Valid values: INTERNAL, EXTERNAL.
serviceName This property is required. String
The name of the backend service.
locationType String
Sets which location the backend services will be active. Valid values: regional, global.
namedPorts List<ElastigroupBackendServiceNamedPort>
Describes a named port and a list of ports.
scheme String
Use when location_type is "regional". Set the traffic for the backend service to either between the instances in the vpc or to traffic from the internet. Valid values: INTERNAL, EXTERNAL.
serviceName This property is required. string
The name of the backend service.
locationType string
Sets which location the backend services will be active. Valid values: regional, global.
namedPorts ElastigroupBackendServiceNamedPort[]
Describes a named port and a list of ports.
scheme string
Use when location_type is "regional". Set the traffic for the backend service to either between the instances in the vpc or to traffic from the internet. Valid values: INTERNAL, EXTERNAL.
service_name This property is required. str
The name of the backend service.
location_type str
Sets which location the backend services will be active. Valid values: regional, global.
named_ports Sequence[ElastigroupBackendServiceNamedPort]
Describes a named port and a list of ports.
scheme str
Use when location_type is "regional". Set the traffic for the backend service to either between the instances in the vpc or to traffic from the internet. Valid values: INTERNAL, EXTERNAL.
serviceName This property is required. String
The name of the backend service.
locationType String
Sets which location the backend services will be active. Valid values: regional, global.
namedPorts List<Property Map>
Describes a named port and a list of ports.
scheme String
Use when location_type is "regional". Set the traffic for the backend service to either between the instances in the vpc or to traffic from the internet. Valid values: INTERNAL, EXTERNAL.

ElastigroupBackendServiceNamedPort
, ElastigroupBackendServiceNamedPortArgs

Name This property is required. string
The name of the port.
Ports This property is required. List<string>

A list of ports.

Usage:

Name This property is required. string
The name of the port.
Ports This property is required. []string

A list of ports.

Usage:

name This property is required. String
The name of the port.
ports This property is required. List<String>

A list of ports.

Usage:

name This property is required. string
The name of the port.
ports This property is required. string[]

A list of ports.

Usage:

name This property is required. str
The name of the port.
ports This property is required. Sequence[str]

A list of ports.

Usage:

name This property is required. String
The name of the port.
ports This property is required. List<String>

A list of ports.

Usage:

ElastigroupDisk
, ElastigroupDiskArgs

AutoDelete bool
Specifies whether the disk will be auto-deleted when the instance is deleted.
Boot bool
Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.
DeviceName string
Specifies a unique device name of your choice.
InitializeParams List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupDiskInitializeParam>
Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance.
Interface string
Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.
Mode string
The mode in which to attach this disk, either READ_WRITE or READ_ONLY.
Source string
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
Type string
Specifies the type of disk, either SCRATCH or PERSISTENT.
AutoDelete bool
Specifies whether the disk will be auto-deleted when the instance is deleted.
Boot bool
Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.
DeviceName string
Specifies a unique device name of your choice.
InitializeParams []ElastigroupDiskInitializeParam
Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance.
Interface string
Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.
Mode string
The mode in which to attach this disk, either READ_WRITE or READ_ONLY.
Source string
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
Type string
Specifies the type of disk, either SCRATCH or PERSISTENT.
autoDelete Boolean
Specifies whether the disk will be auto-deleted when the instance is deleted.
boot Boolean
Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.
deviceName String
Specifies a unique device name of your choice.
initializeParams List<ElastigroupDiskInitializeParam>
Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance.
interface_ String
Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.
mode String
The mode in which to attach this disk, either READ_WRITE or READ_ONLY.
source String
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
type String
Specifies the type of disk, either SCRATCH or PERSISTENT.
autoDelete boolean
Specifies whether the disk will be auto-deleted when the instance is deleted.
boot boolean
Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.
deviceName string
Specifies a unique device name of your choice.
initializeParams ElastigroupDiskInitializeParam[]
Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance.
interface string
Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.
mode string
The mode in which to attach this disk, either READ_WRITE or READ_ONLY.
source string
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
type string
Specifies the type of disk, either SCRATCH or PERSISTENT.
auto_delete bool
Specifies whether the disk will be auto-deleted when the instance is deleted.
boot bool
Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.
device_name str
Specifies a unique device name of your choice.
initialize_params Sequence[ElastigroupDiskInitializeParam]
Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance.
interface str
Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.
mode str
The mode in which to attach this disk, either READ_WRITE or READ_ONLY.
source str
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
type str
Specifies the type of disk, either SCRATCH or PERSISTENT.
autoDelete Boolean
Specifies whether the disk will be auto-deleted when the instance is deleted.
boot Boolean
Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.
deviceName String
Specifies a unique device name of your choice.
initializeParams List<Property Map>
Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance.
interface String
Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.
mode String
The mode in which to attach this disk, either READ_WRITE or READ_ONLY.
source String
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
type String
Specifies the type of disk, either SCRATCH or PERSISTENT.

ElastigroupDiskInitializeParam
, ElastigroupDiskInitializeParamArgs

SourceImage This property is required. string

A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project.

Usage:

DiskSizeGb string
Specifies disk size in gigabytes. Must be in increments of 2.
DiskType string
Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
SourceImage This property is required. string

A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project.

Usage:

DiskSizeGb string
Specifies disk size in gigabytes. Must be in increments of 2.
DiskType string
Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
sourceImage This property is required. String

A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project.

Usage:

diskSizeGb String
Specifies disk size in gigabytes. Must be in increments of 2.
diskType String
Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
sourceImage This property is required. string

A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project.

Usage:

diskSizeGb string
Specifies disk size in gigabytes. Must be in increments of 2.
diskType string
Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
source_image This property is required. str

A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project.

Usage:

disk_size_gb str
Specifies disk size in gigabytes. Must be in increments of 2.
disk_type str
Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
sourceImage This property is required. String

A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project.

Usage:

diskSizeGb String
Specifies disk size in gigabytes. Must be in increments of 2.
diskType String
Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.

ElastigroupGpu
, ElastigroupGpuArgs

Count This property is required. int

The number of GPUs. Must be 0, 2, 4, 6, 8.

Usage:

Type This property is required. string
The type of GPU instance. Valid values: nvidia-tesla-v100, nvidia-tesla-p100, nvidia-tesla-k80.
Count This property is required. int

The number of GPUs. Must be 0, 2, 4, 6, 8.

Usage:

Type This property is required. string
The type of GPU instance. Valid values: nvidia-tesla-v100, nvidia-tesla-p100, nvidia-tesla-k80.
count This property is required. Integer

The number of GPUs. Must be 0, 2, 4, 6, 8.

Usage:

type This property is required. String
The type of GPU instance. Valid values: nvidia-tesla-v100, nvidia-tesla-p100, nvidia-tesla-k80.
count This property is required. number

The number of GPUs. Must be 0, 2, 4, 6, 8.

Usage:

type This property is required. string
The type of GPU instance. Valid values: nvidia-tesla-v100, nvidia-tesla-p100, nvidia-tesla-k80.
count This property is required. int

The number of GPUs. Must be 0, 2, 4, 6, 8.

Usage:

type This property is required. str
The type of GPU instance. Valid values: nvidia-tesla-v100, nvidia-tesla-p100, nvidia-tesla-k80.
count This property is required. Number

The number of GPUs. Must be 0, 2, 4, 6, 8.

Usage:

type This property is required. String
The type of GPU instance. Valid values: nvidia-tesla-v100, nvidia-tesla-p100, nvidia-tesla-k80.

ElastigroupInstanceTypesCustom
, ElastigroupInstanceTypesCustomArgs

MemoryGib This property is required. int
The memory (in GiB) in the custom instance types. GCP has a number of limitations on accepted memory values.For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
Vcpu This property is required. int
MemoryGib This property is required. int
The memory (in GiB) in the custom instance types. GCP has a number of limitations on accepted memory values.For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
Vcpu This property is required. int
memoryGib This property is required. Integer
The memory (in GiB) in the custom instance types. GCP has a number of limitations on accepted memory values.For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
vcpu This property is required. Integer
memoryGib This property is required. number
The memory (in GiB) in the custom instance types. GCP has a number of limitations on accepted memory values.For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
vcpu This property is required. number
memory_gib This property is required. int
The memory (in GiB) in the custom instance types. GCP has a number of limitations on accepted memory values.For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
vcpu This property is required. int
memoryGib This property is required. Number
The memory (in GiB) in the custom instance types. GCP has a number of limitations on accepted memory values.For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
vcpu This property is required. Number

ElastigroupIntegrationDockerSwarm
, ElastigroupIntegrationDockerSwarmArgs

MasterHost This property is required. string
IP or FQDN of one of your swarm managers.
MasterPort This property is required. int

Network port used by your swarm.

Usage:

MasterHost This property is required. string
IP or FQDN of one of your swarm managers.
MasterPort This property is required. int

Network port used by your swarm.

Usage:

masterHost This property is required. String
IP or FQDN of one of your swarm managers.
masterPort This property is required. Integer

Network port used by your swarm.

Usage:

masterHost This property is required. string
IP or FQDN of one of your swarm managers.
masterPort This property is required. number

Network port used by your swarm.

Usage:

master_host This property is required. str
IP or FQDN of one of your swarm managers.
master_port This property is required. int

Network port used by your swarm.

Usage:

masterHost This property is required. String
IP or FQDN of one of your swarm managers.
masterPort This property is required. Number

Network port used by your swarm.

Usage:

ElastigroupIntegrationGke
, ElastigroupIntegrationGkeArgs

ElastigroupIntegrationGkeAutoscaleDown
, ElastigroupIntegrationGkeAutoscaleDownArgs

EvaluationPeriods int
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
EvaluationPeriods int
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
evaluationPeriods Integer
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
evaluationPeriods number
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
evaluation_periods int
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
evaluationPeriods Number
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.

ElastigroupIntegrationGkeAutoscaleHeadroom
, ElastigroupIntegrationGkeAutoscaleHeadroomArgs

cpuPerUnit Integer
memoryPerUnit Integer
numOfUnits Integer

ElastigroupIntegrationGkeAutoscaleLabel
, ElastigroupIntegrationGkeAutoscaleLabelArgs

Key This property is required. string
Value This property is required. string
Key This property is required. string
Value This property is required. string
key This property is required. String
value This property is required. String
key This property is required. string
value This property is required. string
key This property is required. str
value This property is required. str
key This property is required. String
value This property is required. String

ElastigroupLabel
, ElastigroupLabelArgs

Key This property is required. string
Labels key.
Value This property is required. string
Labels value.
Key This property is required. string
Labels key.
Value This property is required. string
Labels value.
key This property is required. String
Labels key.
value This property is required. String
Labels value.
key This property is required. string
Labels key.
value This property is required. string
Labels value.
key This property is required. str
Labels key.
value This property is required. str
Labels value.
key This property is required. String
Labels key.
value This property is required. String
Labels value.

ElastigroupMetadata
, ElastigroupMetadataArgs

Key This property is required. string
Metadata key.
Value This property is required. string
Metadata value.
Key This property is required. string
Metadata key.
Value This property is required. string
Metadata value.
key This property is required. String
Metadata key.
value This property is required. String
Metadata value.
key This property is required. string
Metadata key.
value This property is required. string
Metadata value.
key This property is required. str
Metadata key.
value This property is required. str
Metadata value.
key This property is required. String
Metadata key.
value This property is required. String
Metadata value.

ElastigroupNetworkInterface
, ElastigroupNetworkInterfaceArgs

Network This property is required. string
Network resource for this group.
AccessConfigs []ElastigroupNetworkInterfaceAccessConfig
Array of configurations.
AliasIpRanges []ElastigroupNetworkInterfaceAliasIpRange
network This property is required. String
Network resource for this group.
accessConfigs List<ElastigroupNetworkInterfaceAccessConfig>
Array of configurations.
aliasIpRanges List<ElastigroupNetworkInterfaceAliasIpRange>
network This property is required. string
Network resource for this group.
accessConfigs ElastigroupNetworkInterfaceAccessConfig[]
Array of configurations.
aliasIpRanges ElastigroupNetworkInterfaceAliasIpRange[]
network This property is required. String
Network resource for this group.
accessConfigs List<Property Map>
Array of configurations.
aliasIpRanges List<Property Map>

ElastigroupNetworkInterfaceAccessConfig
, ElastigroupNetworkInterfaceAccessConfigArgs

Name string
The group name.
Type string
Name string
The group name.
Type string
name String
The group name.
type String
name string
The group name.
type string
name str
The group name.
type str
name String
The group name.
type String

ElastigroupNetworkInterfaceAliasIpRange
, ElastigroupNetworkInterfaceAliasIpRangeArgs

IpCidrRange This property is required. string
SubnetworkRangeName This property is required. string
IpCidrRange This property is required. string
SubnetworkRangeName This property is required. string
ipCidrRange This property is required. String
subnetworkRangeName This property is required. String
ipCidrRange This property is required. string
subnetworkRangeName This property is required. string
ip_cidr_range This property is required. str
subnetwork_range_name This property is required. str
ipCidrRange This property is required. String
subnetworkRangeName This property is required. String

ElastigroupRevertToPreemptible
, ElastigroupRevertToPreemptibleArgs

PerformAt This property is required. string
Valid values: "always", "never", "timeWindow". Required on strategy.revertToPreemptible object.
PerformAt This property is required. string
Valid values: "always", "never", "timeWindow". Required on strategy.revertToPreemptible object.
performAt This property is required. String
Valid values: "always", "never", "timeWindow". Required on strategy.revertToPreemptible object.
performAt This property is required. string
Valid values: "always", "never", "timeWindow". Required on strategy.revertToPreemptible object.
perform_at This property is required. str
Valid values: "always", "never", "timeWindow". Required on strategy.revertToPreemptible object.
performAt This property is required. String
Valid values: "always", "never", "timeWindow". Required on strategy.revertToPreemptible object.

ElastigroupScalingDownPolicy
, ElastigroupScalingDownPolicyArgs

MetricName This property is required. string
Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
Namespace This property is required. string
PolicyName This property is required. string
Name of scaling policy.
Threshold This property is required. double
The value at which the scaling action is triggered.
Unit This property is required. string
ActionType string
Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
Adjustment int
Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
Cooldown int
Time (seconds) to wait after a scaling action before resuming monitoring.
Dimensions List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupScalingDownPolicyDimension>
A list of dimensions describing qualities of the metric.
EvaluationPeriods int
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
Operator string
The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
Period int
Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
Source string
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
Statistic string
Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
MetricName This property is required. string
Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
Namespace This property is required. string
PolicyName This property is required. string
Name of scaling policy.
Threshold This property is required. float64
The value at which the scaling action is triggered.
Unit This property is required. string
ActionType string
Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
Adjustment int
Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
Cooldown int
Time (seconds) to wait after a scaling action before resuming monitoring.
Dimensions []ElastigroupScalingDownPolicyDimension
A list of dimensions describing qualities of the metric.
EvaluationPeriods int
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
Operator string
The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
Period int
Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
Source string
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
Statistic string
Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
metricName This property is required. String
Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
namespace This property is required. String
policyName This property is required. String
Name of scaling policy.
threshold This property is required. Double
The value at which the scaling action is triggered.
unit This property is required. String
actionType String
Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
adjustment Integer
Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
cooldown Integer
Time (seconds) to wait after a scaling action before resuming monitoring.
dimensions List<ElastigroupScalingDownPolicyDimension>
A list of dimensions describing qualities of the metric.
evaluationPeriods Integer
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
operator String
The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
period Integer
Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
source String
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
statistic String
Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
metricName This property is required. string
Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
namespace This property is required. string
policyName This property is required. string
Name of scaling policy.
threshold This property is required. number
The value at which the scaling action is triggered.
unit This property is required. string
actionType string
Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
adjustment number
Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
cooldown number
Time (seconds) to wait after a scaling action before resuming monitoring.
dimensions ElastigroupScalingDownPolicyDimension[]
A list of dimensions describing qualities of the metric.
evaluationPeriods number
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
operator string
The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
period number
Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
source string
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
statistic string
Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
metric_name This property is required. str
Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
namespace This property is required. str
policy_name This property is required. str
Name of scaling policy.
threshold This property is required. float
The value at which the scaling action is triggered.
unit This property is required. str
action_type str
Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
adjustment int
Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
cooldown int
Time (seconds) to wait after a scaling action before resuming monitoring.
dimensions Sequence[ElastigroupScalingDownPolicyDimension]
A list of dimensions describing qualities of the metric.
evaluation_periods int
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
operator str
The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
period int
Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
source str
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
statistic str
Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
metricName This property is required. String
Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
namespace This property is required. String
policyName This property is required. String
Name of scaling policy.
threshold This property is required. Number
The value at which the scaling action is triggered.
unit This property is required. String
actionType String
Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
adjustment Number
Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
cooldown Number
Time (seconds) to wait after a scaling action before resuming monitoring.
dimensions List<Property Map>
A list of dimensions describing qualities of the metric.
evaluationPeriods Number
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
operator String
The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
period Number
Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
source String
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
statistic String
Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".

ElastigroupScalingDownPolicyDimension
, ElastigroupScalingDownPolicyDimensionArgs

Name This property is required. string
The group name.
Value string
Name This property is required. string
The group name.
Value string
name This property is required. String
The group name.
value String
name This property is required. string
The group name.
value string
name This property is required. str
The group name.
value str
name This property is required. String
The group name.
value String

ElastigroupScalingUpPolicy
, ElastigroupScalingUpPolicyArgs

MetricName This property is required. string
Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
Namespace This property is required. string
PolicyName This property is required. string
Name of scaling policy.
Threshold This property is required. double
The value at which the scaling action is triggered.
Unit This property is required. string
ActionType string
Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
Adjustment int
Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
Cooldown int
Time (seconds) to wait after a scaling action before resuming monitoring.
Dimensions List<Pulumi.SpotInst.Gcp.Inputs.ElastigroupScalingUpPolicyDimension>
A list of dimensions describing qualities of the metric.
EvaluationPeriods int
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
Operator string
The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
Period int
Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
Source string
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
Statistic string
Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
MetricName This property is required. string
Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
Namespace This property is required. string
PolicyName This property is required. string
Name of scaling policy.
Threshold This property is required. float64
The value at which the scaling action is triggered.
Unit This property is required. string
ActionType string
Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
Adjustment int
Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
Cooldown int
Time (seconds) to wait after a scaling action before resuming monitoring.
Dimensions []ElastigroupScalingUpPolicyDimension
A list of dimensions describing qualities of the metric.
EvaluationPeriods int
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
Operator string
The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
Period int
Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
Source string
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
Statistic string
Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
metricName This property is required. String
Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
namespace This property is required. String
policyName This property is required. String
Name of scaling policy.
threshold This property is required. Double
The value at which the scaling action is triggered.
unit This property is required. String
actionType String
Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
adjustment Integer
Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
cooldown Integer
Time (seconds) to wait after a scaling action before resuming monitoring.
dimensions List<ElastigroupScalingUpPolicyDimension>
A list of dimensions describing qualities of the metric.
evaluationPeriods Integer
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
operator String
The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
period Integer
Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
source String
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
statistic String
Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
metricName This property is required. string
Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
namespace This property is required. string
policyName This property is required. string
Name of scaling policy.
threshold This property is required. number
The value at which the scaling action is triggered.
unit This property is required. string
actionType string
Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
adjustment number
Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
cooldown number
Time (seconds) to wait after a scaling action before resuming monitoring.
dimensions ElastigroupScalingUpPolicyDimension[]
A list of dimensions describing qualities of the metric.
evaluationPeriods number
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
operator string
The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
period number
Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
source string
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
statistic string
Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
metric_name This property is required. str
Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
namespace This property is required. str
policy_name This property is required. str
Name of scaling policy.
threshold This property is required. float
The value at which the scaling action is triggered.
unit This property is required. str
action_type str
Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
adjustment int
Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
cooldown int
Time (seconds) to wait after a scaling action before resuming monitoring.
dimensions Sequence[ElastigroupScalingUpPolicyDimension]
A list of dimensions describing qualities of the metric.
evaluation_periods int
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
operator str
The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
period int
Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
source str
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
statistic str
Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
metricName This property is required. String
Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
namespace This property is required. String
policyName This property is required. String
Name of scaling policy.
threshold This property is required. Number
The value at which the scaling action is triggered.
unit This property is required. String
actionType String
Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
adjustment Number
Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
cooldown Number
Time (seconds) to wait after a scaling action before resuming monitoring.
dimensions List<Property Map>
A list of dimensions describing qualities of the metric.
evaluationPeriods Number
Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
operator String
The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
period Number
Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
source String
Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
statistic String
Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".

ElastigroupScalingUpPolicyDimension
, ElastigroupScalingUpPolicyDimensionArgs

Name This property is required. string
The dimension name.
Value string

The dimension value.

Usage:

Name This property is required. string
The dimension name.
Value string

The dimension value.

Usage:

name This property is required. String
The dimension name.
value String

The dimension value.

Usage:

name This property is required. string
The dimension name.
value string

The dimension value.

Usage:

name This property is required. str
The dimension name.
value str

The dimension value.

Usage:

name This property is required. String
The dimension name.
value String

The dimension value.

Usage:

ElastigroupScheduledTask
, ElastigroupScheduledTaskArgs

TaskType This property is required. string
The task type to run. Valid values: "setCapacity".
CronExpression string
A valid cron expression. The cron is running in UTC time zone and is in Unix cron format.
IsEnabled bool
Setting the task to being enabled or disabled.
MaxCapacity string

The maximum number of instances the group should have.

Usage:

MinCapacity string
The minimum number of instances the group should have.
TargetCapacity string
The desired number of instances the group should have.
TaskType This property is required. string
The task type to run. Valid values: "setCapacity".
CronExpression string
A valid cron expression. The cron is running in UTC time zone and is in Unix cron format.
IsEnabled bool
Setting the task to being enabled or disabled.
MaxCapacity string

The maximum number of instances the group should have.

Usage:

MinCapacity string
The minimum number of instances the group should have.
TargetCapacity string
The desired number of instances the group should have.
taskType This property is required. String
The task type to run. Valid values: "setCapacity".
cronExpression String
A valid cron expression. The cron is running in UTC time zone and is in Unix cron format.
isEnabled Boolean
Setting the task to being enabled or disabled.
maxCapacity String

The maximum number of instances the group should have.

Usage:

minCapacity String
The minimum number of instances the group should have.
targetCapacity String
The desired number of instances the group should have.
taskType This property is required. string
The task type to run. Valid values: "setCapacity".
cronExpression string
A valid cron expression. The cron is running in UTC time zone and is in Unix cron format.
isEnabled boolean
Setting the task to being enabled or disabled.
maxCapacity string

The maximum number of instances the group should have.

Usage:

minCapacity string
The minimum number of instances the group should have.
targetCapacity string
The desired number of instances the group should have.
task_type This property is required. str
The task type to run. Valid values: "setCapacity".
cron_expression str
A valid cron expression. The cron is running in UTC time zone and is in Unix cron format.
is_enabled bool
Setting the task to being enabled or disabled.
max_capacity str

The maximum number of instances the group should have.

Usage:

min_capacity str
The minimum number of instances the group should have.
target_capacity str
The desired number of instances the group should have.
taskType This property is required. String
The task type to run. Valid values: "setCapacity".
cronExpression String
A valid cron expression. The cron is running in UTC time zone and is in Unix cron format.
isEnabled Boolean
Setting the task to being enabled or disabled.
maxCapacity String

The maximum number of instances the group should have.

Usage:

minCapacity String
The minimum number of instances the group should have.
targetCapacity String
The desired number of instances the group should have.

ElastigroupShieldedInstanceConfig
, ElastigroupShieldedInstanceConfigArgs

EnableIntegrityMonitoring bool
Default: false
EnableSecureBoot bool
Default: false
EnableIntegrityMonitoring bool
Default: false
EnableSecureBoot bool
Default: false
enableIntegrityMonitoring Boolean
Default: false
enableSecureBoot Boolean
Default: false
enableIntegrityMonitoring boolean
Default: false
enableSecureBoot boolean
Default: false
enable_integrity_monitoring bool
Default: false
enable_secure_boot bool
Default: false
enableIntegrityMonitoring Boolean
Default: false
enableSecureBoot Boolean
Default: false

ElastigroupSubnet
, ElastigroupSubnetArgs

Region This property is required. string
The region for the group of subnets.
SubnetNames This property is required. List<string>
The names of the subnets in the region.
Region This property is required. string
The region for the group of subnets.
SubnetNames This property is required. []string
The names of the subnets in the region.
region This property is required. String
The region for the group of subnets.
subnetNames This property is required. List<String>
The names of the subnets in the region.
region This property is required. string
The region for the group of subnets.
subnetNames This property is required. string[]
The names of the subnets in the region.
region This property is required. str
The region for the group of subnets.
subnet_names This property is required. Sequence[str]
The names of the subnets in the region.
region This property is required. String
The region for the group of subnets.
subnetNames This property is required. List<String>
The names of the subnets in the region.

Package Details

Repository
Spotinst pulumi/pulumi-spotinst
License
Apache-2.0
Notes
This Pulumi package is based on the spotinst Terraform Provider.