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",
    minSize: 0,
    maxSize: 1,
    desiredCapacity: 1,
    availabilityZones: [
        "asia-east1-c",
        "us-central1-a",
    ],
    preemptiblePercentage: 50,
    fallbackToOndemand: true,
    drainingTimeout: 180,
    provisioningModel: "SPOT",
    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: "",
        }],
    }],
    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",
        }],
    }],
});
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_size=0,
    max_size=1,
    desired_capacity=1,
    availability_zones=[
        "asia-east1-c",
        "us-central1-a",
    ],
    preemptible_percentage=50,
    fallback_to_ondemand=True,
    draining_timeout=180,
    provisioning_model="SPOT",
    labels=[spotinst.gcp.ElastigroupLabelArgs(
        key="test_key",
        value="test_value",
    )],
    tags=[
        "http",
        "https",
    ],
    backend_services=[spotinst.gcp.ElastigroupBackendServiceArgs(
        service_name="spotinst-elb-backend-service",
        location_type="regional",
        scheme="INTERNAL",
        named_ports=[spotinst.gcp.ElastigroupBackendServiceNamedPortArgs(
            name="port-name",
            ports=[
                "8000",
                "6000",
            ],
        )],
    )],
    disks=[spotinst.gcp.ElastigroupDiskArgs(
        device_name="device",
        mode="READ_WRITE",
        type="PERSISTENT",
        auto_delete=True,
        boot=True,
        interface="SCSI",
        initialize_params=[spotinst.gcp.ElastigroupDiskInitializeParamArgs(
            disk_size_gb="10",
            disk_type="pd-standard",
            source_image="",
        )],
    )],
    network_interfaces=[spotinst.gcp.ElastigroupNetworkInterfaceArgs(
        network="spot-network",
    )],
    instance_types_ondemand="n1-standard-1",
    instance_types_preemptibles=[
        "n1-standard-1",
        "n1-standard-2",
    ],
    instance_types_customs=[spotinst.gcp.ElastigroupInstanceTypesCustomArgs(
        vcpu=2,
        memory_gib=7,
    )],
    subnets=[spotinst.gcp.ElastigroupSubnetArgs(
        region="asia-east1",
        subnet_names=["default"],
    )],
    scaling_up_policies=[spotinst.gcp.ElastigroupScalingUpPolicyArgs(
        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=[spotinst.gcp.ElastigroupScalingUpPolicyDimensionArgs(
            name="storage_type",
            value="pd-ssd",
        )],
    )])
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"),
			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"),
			},
			PreemptiblePercentage: pulumi.Int(50),
			FallbackToOndemand:    pulumi.Bool(true),
			DrainingTimeout:       pulumi.Int(180),
			ProvisioningModel:     pulumi.String("SPOT"),
			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(""),
						},
					},
				},
			},
			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
	})
}
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",
        MinSize = 0,
        MaxSize = 1,
        DesiredCapacity = 1,
        AvailabilityZones = new[]
        {
            "asia-east1-c",
            "us-central1-a",
        },
        PreemptiblePercentage = 50,
        FallbackToOndemand = true,
        DrainingTimeout = 180,
        ProvisioningModel = "SPOT",
        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 = "",
                    },
                },
            },
        },
        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",
                    },
                },
            },
        },
    });
});
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.ElastigroupLabelArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupBackendServiceArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupDiskArgs;
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")
            .minSize(0)
            .maxSize(1)
            .desiredCapacity(1)
            .availabilityZones(            
                "asia-east1-c",
                "us-central1-a")
            .preemptiblePercentage(50)
            .fallbackToOndemand(true)
            .drainingTimeout(180)
            .provisioningModel("SPOT")
            .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())
            .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());
    }
}
resources:
  example:
    type: spotinst:gcp:Elastigroup
    properties:
      name: example-gcp
      description: spotinst gcp group
      serviceAccount: example@myProject.iam.gservicecct.com
      startupScript:
      instanceNamePrefix: test-123a
      minSize: 0
      maxSize: 1
      desiredCapacity: 1
      availabilityZones:
        - asia-east1-c
        - us-central1-a
      preemptiblePercentage: 50 # on_demand_count      = 2
      fallbackToOndemand: true
      drainingTimeout: 180
      provisioningModel: SPOT
      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:
      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
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,
                labels: Optional[Sequence[ElastigroupLabelArgs]] = None,
                availability_zones: Optional[Sequence[str]] = None,
                description: Optional[str] = None,
                auto_healing: Optional[bool] = None,
                disks: Optional[Sequence[ElastigroupDiskArgs]] = None,
                max_size: 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,
                tags: Optional[Sequence[str]] = None,
                backend_services: Optional[Sequence[ElastigroupBackendServiceArgs]] = None,
                draining_timeout: Optional[int] = None,
                metadatas: Optional[Sequence[ElastigroupMetadataArgs]] = None,
                min_size: Optional[int] = None,
                name: Optional[str] = None,
                network_interfaces: Optional[Sequence[ElastigroupNetworkInterfaceArgs]] = None,
                ondemand_count: Optional[int] = None,
                preemptible_percentage: Optional[int] = None,
                provisioning_model: Optional[str] = None,
                scaling_down_policies: Optional[Sequence[ElastigroupScalingDownPolicyArgs]] = None,
                scaling_up_policies: Optional[Sequence[ElastigroupScalingUpPolicyArgs]] = None,
                scheduled_tasks: Optional[Sequence[ElastigroupScheduledTaskArgs]] = None,
                service_account: Optional[str] = None,
                shutdown_script: Optional[str] = None,
                startup_script: Optional[str] = None,
                subnets: Optional[Sequence[ElastigroupSubnetArgs]] = None,
                ip_forwarding: Optional[bool] = 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 string
 - The unique name of the resource.
 - args ElastigroupArgs
 - The arguments to resource properties.
 - opts CustomResourceOptions
 - Bag of options to control resource's behavior.
 
- resource_name str
 - The unique name of the resource.
 - args ElastigroupArgs
 - The arguments to resource properties.
 - opts ResourceOptions
 - Bag of options to control resource's behavior.
 
- ctx Context
 - Context object for the current deployment.
 - name string
 - The unique name of the resource.
 - args ElastigroupArgs
 - The arguments to resource properties.
 - opts ResourceOption
 - Bag of options to control resource's behavior.
 
- name string
 - The unique name of the resource.
 - args ElastigroupArgs
 - The arguments to resource properties.
 - opts CustomResourceOptions
 - Bag of options to control resource's behavior.
 
- name String
 - The unique name of the resource.
 - args ElastigroupArgs
 - The arguments to resource properties.
 - options CustomResourceOptions
 - Bag of options to control resource's behavior.
 
Constructor example
The following reference example uses placeholder values for all input properties.
var spotinstElastigroupResource = new SpotInst.Gcp.Elastigroup("spotinstElastigroupResource", new()
{
    DesiredCapacity = 0,
    Labels = new[]
    {
        new SpotInst.Gcp.Inputs.ElastigroupLabelArgs
        {
            Key = "string",
            Value = "string",
        },
    },
    Description = "string",
    AutoHealing = false,
    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",
        },
    },
    MaxSize = 0,
    FallbackToOndemand = false,
    Gpu = new[]
    {
        new SpotInst.Gcp.Inputs.ElastigroupGpuArgs
        {
            Count = 0,
            Type = "string",
        },
    },
    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",
    },
    Tags = new[]
    {
        "string",
    },
    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,
    Metadatas = new[]
    {
        new SpotInst.Gcp.Inputs.ElastigroupMetadataArgs
        {
            Key = "string",
            Value = "string",
        },
    },
    MinSize = 0,
    Name = "string",
    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,
    PreemptiblePercentage = 0,
    ProvisioningModel = "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",
    ShutdownScript = "string",
    StartupScript = "string",
    Subnets = new[]
    {
        new SpotInst.Gcp.Inputs.ElastigroupSubnetArgs
        {
            Region = "string",
            SubnetNames = new[]
            {
                "string",
            },
        },
    },
    IpForwarding = false,
    UnhealthyDuration = 0,
});
example, err := gcp.NewElastigroup(ctx, "spotinstElastigroupResource", &gcp.ElastigroupArgs{
	DesiredCapacity: pulumi.Int(0),
	Labels: gcp.ElastigroupLabelArray{
		&gcp.ElastigroupLabelArgs{
			Key:   pulumi.String("string"),
			Value: pulumi.String("string"),
		},
	},
	Description: pulumi.String("string"),
	AutoHealing: pulumi.Bool(false),
	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"),
		},
	},
	MaxSize:            pulumi.Int(0),
	FallbackToOndemand: pulumi.Bool(false),
	Gpu: gcp.ElastigroupGpuArray{
		&gcp.ElastigroupGpuArgs{
			Count: pulumi.Int(0),
			Type:  pulumi.String("string"),
		},
	},
	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"),
	},
	Tags: pulumi.StringArray{
		pulumi.String("string"),
	},
	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),
	Metadatas: gcp.ElastigroupMetadataArray{
		&gcp.ElastigroupMetadataArgs{
			Key:   pulumi.String("string"),
			Value: pulumi.String("string"),
		},
	},
	MinSize: pulumi.Int(0),
	Name:    pulumi.String("string"),
	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),
	PreemptiblePercentage: pulumi.Int(0),
	ProvisioningModel:     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"),
	ShutdownScript: pulumi.String("string"),
	StartupScript:  pulumi.String("string"),
	Subnets: gcp.ElastigroupSubnetArray{
		&gcp.ElastigroupSubnetArgs{
			Region: pulumi.String("string"),
			SubnetNames: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
	},
	IpForwarding:      pulumi.Bool(false),
	UnhealthyDuration: pulumi.Int(0),
})
var spotinstElastigroupResource = new Elastigroup("spotinstElastigroupResource", ElastigroupArgs.builder()
    .desiredCapacity(0)
    .labels(ElastigroupLabelArgs.builder()
        .key("string")
        .value("string")
        .build())
    .description("string")
    .autoHealing(false)
    .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())
    .maxSize(0)
    .fallbackToOndemand(false)
    .gpu(ElastigroupGpuArgs.builder()
        .count(0)
        .type("string")
        .build())
    .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())
    .tags("string")
    .backendServices(ElastigroupBackendServiceArgs.builder()
        .serviceName("string")
        .locationType("string")
        .namedPorts(ElastigroupBackendServiceNamedPortArgs.builder()
            .name("string")
            .ports("string")
            .build())
        .scheme("string")
        .build())
    .drainingTimeout(0)
    .metadatas(ElastigroupMetadataArgs.builder()
        .key("string")
        .value("string")
        .build())
    .minSize(0)
    .name("string")
    .networkInterfaces(ElastigroupNetworkInterfaceArgs.builder()
        .network("string")
        .accessConfigs(ElastigroupNetworkInterfaceAccessConfigArgs.builder()
            .name("string")
            .type("string")
            .build())
        .aliasIpRanges(ElastigroupNetworkInterfaceAliasIpRangeArgs.builder()
            .ipCidrRange("string")
            .subnetworkRangeName("string")
            .build())
        .build())
    .ondemandCount(0)
    .preemptiblePercentage(0)
    .provisioningModel("string")
    .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")
    .shutdownScript("string")
    .startupScript("string")
    .subnets(ElastigroupSubnetArgs.builder()
        .region("string")
        .subnetNames("string")
        .build())
    .ipForwarding(false)
    .unhealthyDuration(0)
    .build());
spotinst_elastigroup_resource = spotinst.gcp.Elastigroup("spotinstElastigroupResource",
    desired_capacity=0,
    labels=[spotinst.gcp.ElastigroupLabelArgs(
        key="string",
        value="string",
    )],
    description="string",
    auto_healing=False,
    disks=[spotinst.gcp.ElastigroupDiskArgs(
        auto_delete=False,
        boot=False,
        device_name="string",
        initialize_params=[spotinst.gcp.ElastigroupDiskInitializeParamArgs(
            source_image="string",
            disk_size_gb="string",
            disk_type="string",
        )],
        interface="string",
        mode="string",
        source="string",
        type="string",
    )],
    max_size=0,
    fallback_to_ondemand=False,
    gpu=[spotinst.gcp.ElastigroupGpuArgs(
        count=0,
        type="string",
    )],
    health_check_grace_period=0,
    health_check_type="string",
    instance_name_prefix="string",
    instance_types_customs=[spotinst.gcp.ElastigroupInstanceTypesCustomArgs(
        memory_gib=0,
        vcpu=0,
    )],
    instance_types_ondemand="string",
    instance_types_preemptibles=["string"],
    integration_docker_swarm=spotinst.gcp.ElastigroupIntegrationDockerSwarmArgs(
        master_host="string",
        master_port=0,
    ),
    integration_gke=spotinst.gcp.ElastigroupIntegrationGkeArgs(
        auto_update=False,
        autoscale_cooldown=0,
        autoscale_down=spotinst.gcp.ElastigroupIntegrationGkeAutoscaleDownArgs(
            evaluation_periods=0,
        ),
        autoscale_headroom=spotinst.gcp.ElastigroupIntegrationGkeAutoscaleHeadroomArgs(
            cpu_per_unit=0,
            memory_per_unit=0,
            num_of_units=0,
        ),
        autoscale_is_auto_config=False,
        autoscale_is_enabled=False,
        autoscale_labels=[spotinst.gcp.ElastigroupIntegrationGkeAutoscaleLabelArgs(
            key="string",
            value="string",
        )],
        cluster_id="string",
        location="string",
    ),
    tags=["string"],
    backend_services=[spotinst.gcp.ElastigroupBackendServiceArgs(
        service_name="string",
        location_type="string",
        named_ports=[spotinst.gcp.ElastigroupBackendServiceNamedPortArgs(
            name="string",
            ports=["string"],
        )],
        scheme="string",
    )],
    draining_timeout=0,
    metadatas=[spotinst.gcp.ElastigroupMetadataArgs(
        key="string",
        value="string",
    )],
    min_size=0,
    name="string",
    network_interfaces=[spotinst.gcp.ElastigroupNetworkInterfaceArgs(
        network="string",
        access_configs=[spotinst.gcp.ElastigroupNetworkInterfaceAccessConfigArgs(
            name="string",
            type="string",
        )],
        alias_ip_ranges=[spotinst.gcp.ElastigroupNetworkInterfaceAliasIpRangeArgs(
            ip_cidr_range="string",
            subnetwork_range_name="string",
        )],
    )],
    ondemand_count=0,
    preemptible_percentage=0,
    provisioning_model="string",
    scaling_down_policies=[spotinst.gcp.ElastigroupScalingDownPolicyArgs(
        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=[spotinst.gcp.ElastigroupScalingDownPolicyDimensionArgs(
            name="string",
            value="string",
        )],
        cooldown=0,
    )],
    scaling_up_policies=[spotinst.gcp.ElastigroupScalingUpPolicyArgs(
        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=[spotinst.gcp.ElastigroupScalingUpPolicyDimensionArgs(
            name="string",
            value="string",
        )],
        cooldown=0,
    )],
    scheduled_tasks=[spotinst.gcp.ElastigroupScheduledTaskArgs(
        task_type="string",
        cron_expression="string",
        is_enabled=False,
        max_capacity="string",
        min_capacity="string",
        target_capacity="string",
    )],
    service_account="string",
    shutdown_script="string",
    startup_script="string",
    subnets=[spotinst.gcp.ElastigroupSubnetArgs(
        region="string",
        subnet_names=["string"],
    )],
    ip_forwarding=False,
    unhealthy_duration=0)
const spotinstElastigroupResource = new spotinst.gcp.Elastigroup("spotinstElastigroupResource", {
    desiredCapacity: 0,
    labels: [{
        key: "string",
        value: "string",
    }],
    description: "string",
    autoHealing: false,
    disks: [{
        autoDelete: false,
        boot: false,
        deviceName: "string",
        initializeParams: [{
            sourceImage: "string",
            diskSizeGb: "string",
            diskType: "string",
        }],
        "interface": "string",
        mode: "string",
        source: "string",
        type: "string",
    }],
    maxSize: 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",
    },
    tags: ["string"],
    backendServices: [{
        serviceName: "string",
        locationType: "string",
        namedPorts: [{
            name: "string",
            ports: ["string"],
        }],
        scheme: "string",
    }],
    drainingTimeout: 0,
    metadatas: [{
        key: "string",
        value: "string",
    }],
    minSize: 0,
    name: "string",
    networkInterfaces: [{
        network: "string",
        accessConfigs: [{
            name: "string",
            type: "string",
        }],
        aliasIpRanges: [{
            ipCidrRange: "string",
            subnetworkRangeName: "string",
        }],
    }],
    ondemandCount: 0,
    preemptiblePercentage: 0,
    provisioningModel: "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",
    shutdownScript: "string",
    startupScript: "string",
    subnets: [{
        region: "string",
        subnetNames: ["string"],
    }],
    ipForwarding: false,
    unhealthyDuration: 0,
});
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
    minSize: 0
    name: string
    networkInterfaces:
        - accessConfigs:
            - name: string
              type: string
          aliasIpRanges:
            - ipCidrRange: string
              subnetworkRangeName: string
          network: string
    ondemandCount: 0
    preemptiblePercentage: 0
    provisioningModel: 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
    shutdownScript: string
    startupScript: string
    subnets:
        - region: string
          subnetNames:
            - string
    tags:
        - string
    unhealthyDuration: 0
Elastigroup Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The Elastigroup resource accepts the following input properties:
- Desired
Capacity int - The desired number of instances the group should have at any time.
 - Auto
Healing bool - Availability
Zones List<string> - List of availability zones for the group.
 - Backend
Services List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Backend Service>  - Description string
 - The region your GCP group will be created in.
 - Disks
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Disk>  - 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 boolOndemand  - 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.
Spot Inst. Gcp. Inputs. Elastigroup Gpu>  - Health
Check intGrace Period  - Health
Check stringType  - Instance
Name stringPrefix  - 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 List<Pulumi.Customs Spot Inst. Gcp. Inputs. Elastigroup Instance Types Custom>  - 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 stringOndemand  - 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 List<string>Preemptibles  - 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 Pulumi.Swarm Spot Inst. Gcp. Inputs. Elastigroup Integration Docker Swarm  - Integration
Gke Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Integration Gke  - Ip
Forwarding bool - Labels
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Label>  - Array of objects with key-value pairs.
 - Max
Size int - The maximum number of instances the group should have at any time.
 - Metadatas
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Metadata>  - Array of objects with key-value pairs.
 - Min
Size int - The minimum number of instances the group should have at any time.
 - Name string
 - The group name.
 - Network
Interfaces List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Network Interface>  - Ondemand
Count int - Preemptible
Percentage int - Percentage of Preemptible VMs to spin up from the "desired_capacity".
 - Provisioning
Model string - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
 - Scaling
Down List<Pulumi.Policies Spot Inst. Gcp. Inputs. Elastigroup Scaling Down Policy>  - Scaling
Up List<Pulumi.Policies Spot Inst. Gcp. Inputs. Elastigroup Scaling Up Policy>  - Scheduled
Tasks List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Scheduled Task>  - Service
Account string - The email of the service account in which the group instances will be launched.
 - Shutdown
Script string - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
 - Startup
Script 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.
Spot Inst. Gcp. Inputs. Elastigroup Subnet>  - A list of regions and subnets.
 - List<string>
 - Tags to mark created instances.
 - Unhealthy
Duration int 
- Desired
Capacity int - The desired number of instances the group should have at any time.
 - Auto
Healing bool - Availability
Zones []string - List of availability zones for the group.
 - Backend
Services []ElastigroupBackend Service Args  - Description string
 - The region your GCP group will be created in.
 - Disks
[]Elastigroup
Disk Args  - 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 boolOndemand  - 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
[]Elastigroup
Gpu Args  - Health
Check intGrace Period  - Health
Check stringType  - Instance
Name stringPrefix  - 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 []ElastigroupCustoms Instance Types Custom Args  - 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 stringOndemand  - 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 []stringPreemptibles  - 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 ElastigroupSwarm Integration Docker Swarm Args  - Integration
Gke ElastigroupIntegration Gke Args  - Ip
Forwarding bool - Labels
[]Elastigroup
Label Args  - Array of objects with key-value pairs.
 - Max
Size int - The maximum number of instances the group should have at any time.
 - Metadatas
[]Elastigroup
Metadata Args  - Array of objects with key-value pairs.
 - Min
Size int - The minimum number of instances the group should have at any time.
 - Name string
 - The group name.
 - Network
Interfaces []ElastigroupNetwork Interface Args  - Ondemand
Count int - Preemptible
Percentage int - Percentage of Preemptible VMs to spin up from the "desired_capacity".
 - Provisioning
Model string - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
 - Scaling
Down []ElastigroupPolicies Scaling Down Policy Args  - Scaling
Up []ElastigroupPolicies Scaling Up Policy Args  - Scheduled
Tasks []ElastigroupScheduled Task Args  - Service
Account string - The email of the service account in which the group instances will be launched.
 - Shutdown
Script string - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
 - Startup
Script string - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
 - Subnets
[]Elastigroup
Subnet Args  - A list of regions and subnets.
 - []string
 - Tags to mark created instances.
 - Unhealthy
Duration int 
- desired
Capacity Integer - The desired number of instances the group should have at any time.
 - auto
Healing Boolean - availability
Zones List<String> - List of availability zones for the group.
 - backend
Services List<ElastigroupBackend Service>  - description String
 - The region your GCP group will be created in.
 - disks
List<Elastigroup
Disk>  - draining
Timeout 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.
 - fallback
To BooleanOndemand  - 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<Elastigroup
Gpu>  - health
Check IntegerGrace Period  - health
Check StringType  - instance
Name StringPrefix  - 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 List<ElastigroupCustoms Instance Types Custom>  - 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 StringOndemand  - 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 List<String>Preemptibles  - 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 ElastigroupSwarm Integration Docker Swarm  - integration
Gke ElastigroupIntegration Gke  - ip
Forwarding Boolean - labels
List<Elastigroup
Label>  - Array of objects with key-value pairs.
 - max
Size Integer - The maximum number of instances the group should have at any time.
 - metadatas
List<Elastigroup
Metadata>  - Array of objects with key-value pairs.
 - min
Size Integer - The minimum number of instances the group should have at any time.
 - name String
 - The group name.
 - network
Interfaces List<ElastigroupNetwork Interface>  - ondemand
Count Integer - preemptible
Percentage Integer - Percentage of Preemptible VMs to spin up from the "desired_capacity".
 - provisioning
Model String - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
 - scaling
Down List<ElastigroupPolicies Scaling Down Policy>  - scaling
Up List<ElastigroupPolicies Scaling Up Policy>  - scheduled
Tasks List<ElastigroupScheduled Task>  - service
Account String - The email of the service account in which the group instances will be launched.
 - shutdown
Script String - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
 - startup
Script String - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
 - subnets
List<Elastigroup
Subnet>  - A list of regions and subnets.
 - List<String>
 - Tags to mark created instances.
 - unhealthy
Duration Integer 
- desired
Capacity number - The desired number of instances the group should have at any time.
 - auto
Healing boolean - availability
Zones string[] - List of availability zones for the group.
 - backend
Services ElastigroupBackend Service[]  - description string
 - The region your GCP group will be created in.
 - disks
Elastigroup
Disk[]  - draining
Timeout 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.
 - fallback
To booleanOndemand  - 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
Elastigroup
Gpu[]  - health
Check numberGrace Period  - health
Check stringType  - instance
Name stringPrefix  - 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 ElastigroupCustoms Instance Types Custom[]  - 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 stringOndemand  - 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 string[]Preemptibles  - 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 ElastigroupSwarm Integration Docker Swarm  - integration
Gke ElastigroupIntegration Gke  - ip
Forwarding boolean - labels
Elastigroup
Label[]  - Array of objects with key-value pairs.
 - max
Size number - The maximum number of instances the group should have at any time.
 - metadatas
Elastigroup
Metadata[]  - Array of objects with key-value pairs.
 - min
Size number - The minimum number of instances the group should have at any time.
 - name string
 - The group name.
 - network
Interfaces ElastigroupNetwork Interface[]  - ondemand
Count number - preemptible
Percentage number - Percentage of Preemptible VMs to spin up from the "desired_capacity".
 - provisioning
Model string - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
 - scaling
Down ElastigroupPolicies Scaling Down Policy[]  - scaling
Up ElastigroupPolicies Scaling Up Policy[]  - scheduled
Tasks ElastigroupScheduled Task[]  - service
Account string - The email of the service account in which the group instances will be launched.
 - shutdown
Script string - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
 - startup
Script string - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
 - subnets
Elastigroup
Subnet[]  - A list of regions and subnets.
 - string[]
 - Tags to mark created instances.
 - unhealthy
Duration number 
- desired_
capacity 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.
 - backend_
services Sequence[ElastigroupBackend Service Args]  - description str
 - The region your GCP group will be created in.
 - disks
Sequence[Elastigroup
Disk Args]  - 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_ boolondemand  - 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[Elastigroup
Gpu Args]  - health_
check_ intgrace_ period  - health_
check_ strtype  - instance_
name_ strprefix  - 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_ Sequence[Elastigroupcustoms Instance Types Custom Args]  - 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_ strondemand  - 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_ Sequence[str]preemptibles  - 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_ Elastigroupswarm Integration Docker Swarm Args  - integration_
gke ElastigroupIntegration Gke Args  - ip_
forwarding bool - labels
Sequence[Elastigroup
Label Args]  - Array of objects with key-value pairs.
 - max_
size int - The maximum number of instances the group should have at any time.
 - metadatas
Sequence[Elastigroup
Metadata Args]  - Array of objects with key-value pairs.
 - min_
size int - The minimum number of instances the group should have at any time.
 - name str
 - The group name.
 - network_
interfaces Sequence[ElastigroupNetwork Interface Args]  - ondemand_
count int - preemptible_
percentage int - Percentage of Preemptible VMs to spin up from the "desired_capacity".
 - provisioning_
model str - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
 - scaling_
down_ Sequence[Elastigrouppolicies Scaling Down Policy Args]  - scaling_
up_ Sequence[Elastigrouppolicies Scaling Up Policy Args]  - scheduled_
tasks Sequence[ElastigroupScheduled Task Args]  - service_
account str - The email of the service account in which the group instances will be launched.
 - 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[Elastigroup
Subnet Args]  - A list of regions and subnets.
 - Sequence[str]
 - Tags to mark created instances.
 - unhealthy_
duration int 
- desired
Capacity Number - The desired number of instances the group should have at any time.
 - auto
Healing Boolean - availability
Zones List<String> - List of availability zones for the group.
 - backend
Services List<Property Map> - description String
 - The region your GCP group will be created in.
 - disks List<Property Map>
 - draining
Timeout 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.
 - fallback
To BooleanOndemand  - 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>
 - health
Check NumberGrace Period  - health
Check StringType  - instance
Name StringPrefix  - 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 List<Property Map>Customs  - 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 StringOndemand  - 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 List<String>Preemptibles  - 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 Property MapSwarm  - integration
Gke Property Map - ip
Forwarding Boolean - labels List<Property Map>
 - Array of objects with key-value pairs.
 - max
Size Number - The maximum number of instances the group should have at any time.
 - metadatas List<Property Map>
 - Array of objects with key-value pairs.
 - min
Size Number - The minimum number of instances the group should have at any time.
 - name String
 - The group name.
 - network
Interfaces List<Property Map> - ondemand
Count Number - preemptible
Percentage Number - Percentage of Preemptible VMs to spin up from the "desired_capacity".
 - provisioning
Model String - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
 - scaling
Down List<Property Map>Policies  - scaling
Up List<Property Map>Policies  - scheduled
Tasks List<Property Map> - service
Account String - The email of the service account in which the group instances will be launched.
 - shutdown
Script String - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
 - startup
Script 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.
 - List<String>
 - Tags to mark created instances.
 - unhealthy
Duration 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_size: Optional[int] = None,
        name: Optional[str] = None,
        network_interfaces: Optional[Sequence[ElastigroupNetworkInterfaceArgs]] = None,
        ondemand_count: Optional[int] = None,
        preemptible_percentage: Optional[int] = None,
        provisioning_model: Optional[str] = None,
        scaling_down_policies: Optional[Sequence[ElastigroupScalingDownPolicyArgs]] = None,
        scaling_up_policies: Optional[Sequence[ElastigroupScalingUpPolicyArgs]] = None,
        scheduled_tasks: Optional[Sequence[ElastigroupScheduledTaskArgs]] = None,
        service_account: Optional[str] = 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) -> Elastigroupfunc GetElastigroup(ctx *Context, name string, id IDInput, state *ElastigroupState, opts ...ResourceOption) (*Elastigroup, error)public static Elastigroup Get(string name, Input<string> id, ElastigroupState? state, CustomResourceOptions? opts = null)public static Elastigroup get(String name, Output<String> id, ElastigroupState state, CustomResourceOptions options)Resource lookup is not supported in YAML- name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 - state
 - Any extra arguments used during the lookup.
 - opts
 - A bag of options that control this resource's behavior.
 
- resource_name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 
- name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 - state
 - Any extra arguments used during the lookup.
 - opts
 - A bag of options that control this resource's behavior.
 
- name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 - state
 - Any extra arguments used during the lookup.
 - opts
 - A bag of options that control this resource's behavior.
 
- name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 - state
 - Any extra arguments used during the lookup.
 - opts
 - A bag of options that control this resource's behavior.
 
- Auto
Healing bool - Availability
Zones List<string> - List of availability zones for the group.
 - Backend
Services List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Backend Service>  - Description string
 - 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
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Disk>  - 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 boolOndemand  - 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.
Spot Inst. Gcp. Inputs. Elastigroup Gpu>  - Health
Check intGrace Period  - Health
Check stringType  - Instance
Name stringPrefix  - 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 List<Pulumi.Customs Spot Inst. Gcp. Inputs. Elastigroup Instance Types Custom>  - 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 stringOndemand  - 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 List<string>Preemptibles  - 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 Pulumi.Swarm Spot Inst. Gcp. Inputs. Elastigroup Integration Docker Swarm  - Integration
Gke Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Integration Gke  - Ip
Forwarding bool - Labels
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Label>  - Array of objects with key-value pairs.
 - Max
Size int - The maximum number of instances the group should have at any time.
 - Metadatas
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Metadata>  - Array of objects with key-value pairs.
 - Min
Size int - The minimum number of instances the group should have at any time.
 - Name string
 - The group name.
 - Network
Interfaces List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Network Interface>  - Ondemand
Count int - Preemptible
Percentage int - Percentage of Preemptible VMs to spin up from the "desired_capacity".
 - Provisioning
Model string - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
 - Scaling
Down List<Pulumi.Policies Spot Inst. Gcp. Inputs. Elastigroup Scaling Down Policy>  - Scaling
Up List<Pulumi.Policies Spot Inst. Gcp. Inputs. Elastigroup Scaling Up Policy>  - Scheduled
Tasks List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Scheduled Task>  - Service
Account string - The email of the service account in which the group instances will be launched.
 - Shutdown
Script string - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
 - Startup
Script 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.
Spot Inst. Gcp. Inputs. Elastigroup Subnet>  - A list of regions and subnets.
 - List<string>
 - Tags to mark created instances.
 - Unhealthy
Duration int 
- Auto
Healing bool - Availability
Zones []string - List of availability zones for the group.
 - Backend
Services []ElastigroupBackend Service Args  - Description string
 - 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
[]Elastigroup
Disk Args  - 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 boolOndemand  - 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
[]Elastigroup
Gpu Args  - Health
Check intGrace Period  - Health
Check stringType  - Instance
Name stringPrefix  - 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 []ElastigroupCustoms Instance Types Custom Args  - 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 stringOndemand  - 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 []stringPreemptibles  - 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 ElastigroupSwarm Integration Docker Swarm Args  - Integration
Gke ElastigroupIntegration Gke Args  - Ip
Forwarding bool - Labels
[]Elastigroup
Label Args  - Array of objects with key-value pairs.
 - Max
Size int - The maximum number of instances the group should have at any time.
 - Metadatas
[]Elastigroup
Metadata Args  - Array of objects with key-value pairs.
 - Min
Size int - The minimum number of instances the group should have at any time.
 - Name string
 - The group name.
 - Network
Interfaces []ElastigroupNetwork Interface Args  - Ondemand
Count int - Preemptible
Percentage int - Percentage of Preemptible VMs to spin up from the "desired_capacity".
 - Provisioning
Model string - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
 - Scaling
Down []ElastigroupPolicies Scaling Down Policy Args  - Scaling
Up []ElastigroupPolicies Scaling Up Policy Args  - Scheduled
Tasks []ElastigroupScheduled Task Args  - Service
Account string - The email of the service account in which the group instances will be launched.
 - Shutdown
Script string - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
 - Startup
Script string - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
 - Subnets
[]Elastigroup
Subnet Args  - A list of regions and subnets.
 - []string
 - Tags to mark created instances.
 - Unhealthy
Duration int 
- auto
Healing Boolean - availability
Zones List<String> - List of availability zones for the group.
 - backend
Services List<ElastigroupBackend Service>  - description String
 - The region your GCP group will be created in.
 - desired
Capacity Integer - The desired number of instances the group should have at any time.
 - disks
List<Elastigroup
Disk>  - draining
Timeout 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.
 - fallback
To BooleanOndemand  - 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<Elastigroup
Gpu>  - health
Check IntegerGrace Period  - health
Check StringType  - instance
Name StringPrefix  - 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 List<ElastigroupCustoms Instance Types Custom>  - 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 StringOndemand  - 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 List<String>Preemptibles  - 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 ElastigroupSwarm Integration Docker Swarm  - integration
Gke ElastigroupIntegration Gke  - ip
Forwarding Boolean - labels
List<Elastigroup
Label>  - Array of objects with key-value pairs.
 - max
Size Integer - The maximum number of instances the group should have at any time.
 - metadatas
List<Elastigroup
Metadata>  - Array of objects with key-value pairs.
 - min
Size Integer - The minimum number of instances the group should have at any time.
 - name String
 - The group name.
 - network
Interfaces List<ElastigroupNetwork Interface>  - ondemand
Count Integer - preemptible
Percentage Integer - Percentage of Preemptible VMs to spin up from the "desired_capacity".
 - provisioning
Model String - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
 - scaling
Down List<ElastigroupPolicies Scaling Down Policy>  - scaling
Up List<ElastigroupPolicies Scaling Up Policy>  - scheduled
Tasks List<ElastigroupScheduled Task>  - service
Account String - The email of the service account in which the group instances will be launched.
 - shutdown
Script String - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
 - startup
Script String - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
 - subnets
List<Elastigroup
Subnet>  - A list of regions and subnets.
 - List<String>
 - Tags to mark created instances.
 - unhealthy
Duration Integer 
- auto
Healing boolean - availability
Zones string[] - List of availability zones for the group.
 - backend
Services ElastigroupBackend Service[]  - description string
 - The region your GCP group will be created in.
 - desired
Capacity number - The desired number of instances the group should have at any time.
 - disks
Elastigroup
Disk[]  - draining
Timeout 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.
 - fallback
To booleanOndemand  - 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
Elastigroup
Gpu[]  - health
Check numberGrace Period  - health
Check stringType  - instance
Name stringPrefix  - 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 ElastigroupCustoms Instance Types Custom[]  - 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 stringOndemand  - 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 string[]Preemptibles  - 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 ElastigroupSwarm Integration Docker Swarm  - integration
Gke ElastigroupIntegration Gke  - ip
Forwarding boolean - labels
Elastigroup
Label[]  - Array of objects with key-value pairs.
 - max
Size number - The maximum number of instances the group should have at any time.
 - metadatas
Elastigroup
Metadata[]  - Array of objects with key-value pairs.
 - min
Size number - The minimum number of instances the group should have at any time.
 - name string
 - The group name.
 - network
Interfaces ElastigroupNetwork Interface[]  - ondemand
Count number - preemptible
Percentage number - Percentage of Preemptible VMs to spin up from the "desired_capacity".
 - provisioning
Model string - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
 - scaling
Down ElastigroupPolicies Scaling Down Policy[]  - scaling
Up ElastigroupPolicies Scaling Up Policy[]  - scheduled
Tasks ElastigroupScheduled Task[]  - service
Account string - The email of the service account in which the group instances will be launched.
 - shutdown
Script string - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
 - startup
Script string - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
 - subnets
Elastigroup
Subnet[]  - A list of regions and subnets.
 - string[]
 - Tags to mark created instances.
 - unhealthy
Duration number 
- auto_
healing bool - availability_
zones Sequence[str] - List of availability zones for the group.
 - backend_
services Sequence[ElastigroupBackend Service Args]  - 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[Elastigroup
Disk Args]  - 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_ boolondemand  - 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[Elastigroup
Gpu Args]  - health_
check_ intgrace_ period  - health_
check_ strtype  - instance_
name_ strprefix  - 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_ Sequence[Elastigroupcustoms Instance Types Custom Args]  - 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_ strondemand  - 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_ Sequence[str]preemptibles  - 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_ Elastigroupswarm Integration Docker Swarm Args  - integration_
gke ElastigroupIntegration Gke Args  - ip_
forwarding bool - labels
Sequence[Elastigroup
Label Args]  - Array of objects with key-value pairs.
 - max_
size int - The maximum number of instances the group should have at any time.
 - metadatas
Sequence[Elastigroup
Metadata Args]  - Array of objects with key-value pairs.
 - min_
size int - The minimum number of instances the group should have at any time.
 - name str
 - The group name.
 - network_
interfaces Sequence[ElastigroupNetwork Interface Args]  - ondemand_
count int - preemptible_
percentage int - Percentage of Preemptible VMs to spin up from the "desired_capacity".
 - provisioning_
model str - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
 - scaling_
down_ Sequence[Elastigrouppolicies Scaling Down Policy Args]  - scaling_
up_ Sequence[Elastigrouppolicies Scaling Up Policy Args]  - scheduled_
tasks Sequence[ElastigroupScheduled Task Args]  - service_
account str - The email of the service account in which the group instances will be launched.
 - 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[Elastigroup
Subnet Args]  - A list of regions and subnets.
 - Sequence[str]
 - Tags to mark created instances.
 - unhealthy_
duration int 
- auto
Healing Boolean - availability
Zones List<String> - List of availability zones for the group.
 - backend
Services List<Property Map> - description String
 - The region your GCP group will be created in.
 - desired
Capacity Number - The desired number of instances the group should have at any time.
 - disks List<Property Map>
 - draining
Timeout 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.
 - fallback
To BooleanOndemand  - 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>
 - health
Check NumberGrace Period  - health
Check StringType  - instance
Name StringPrefix  - 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 List<Property Map>Customs  - 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 StringOndemand  - 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 List<String>Preemptibles  - 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 Property MapSwarm  - integration
Gke Property Map - ip
Forwarding Boolean - labels List<Property Map>
 - Array of objects with key-value pairs.
 - max
Size Number - The maximum number of instances the group should have at any time.
 - metadatas List<Property Map>
 - Array of objects with key-value pairs.
 - min
Size Number - The minimum number of instances the group should have at any time.
 - name String
 - The group name.
 - network
Interfaces List<Property Map> - ondemand
Count Number - preemptible
Percentage Number - Percentage of Preemptible VMs to spin up from the "desired_capacity".
 - provisioning
Model String - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
 - scaling
Down List<Property Map>Policies  - scaling
Up List<Property Map>Policies  - scheduled
Tasks List<Property Map> - service
Account String - The email of the service account in which the group instances will be launched.
 - shutdown
Script String - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
 - startup
Script 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.
 - List<String>
 - Tags to mark created instances.
 - unhealthy
Duration Number 
Supporting Types
ElastigroupBackendService, ElastigroupBackendServiceArgs      
- Service
Name string - The name of the backend service.
 - Location
Type string - Sets which location the backend services will be active. Valid values: 
regional,global. - Named
Ports List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Backend Service Named Port>  - Describes a named port and a list of ports.
 - Scheme string
 - Use when 
location_typeis "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 string - The name of the backend service.
 - Location
Type string - Sets which location the backend services will be active. Valid values: 
regional,global. - Named
Ports []ElastigroupBackend Service Named Port  - Describes a named port and a list of ports.
 - Scheme string
 - Use when 
location_typeis "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 String - The name of the backend service.
 - location
Type String - Sets which location the backend services will be active. Valid values: 
regional,global. - named
Ports List<ElastigroupBackend Service Named Port>  - Describes a named port and a list of ports.
 - scheme String
 - Use when 
location_typeis "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 string - The name of the backend service.
 - location
Type string - Sets which location the backend services will be active. Valid values: 
regional,global. - named
Ports ElastigroupBackend Service Named Port[]  - Describes a named port and a list of ports.
 - scheme string
 - Use when 
location_typeis "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 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[ElastigroupBackend Service Named Port]  - Describes a named port and a list of ports.
 - scheme str
 - Use when 
location_typeis "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 String - The name of the backend service.
 - location
Type String - Sets which location the backend services will be active. Valid values: 
regional,global. - named
Ports List<Property Map> - Describes a named port and a list of ports.
 - scheme String
 - Use when 
location_typeis "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          
ElastigroupDisk, ElastigroupDiskArgs    
- 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 string - Specifies a unique device name of your choice.
 - Initialize
Params List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Disk Initialize Param>  - 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 string - Specifies a unique device name of your choice.
 - Initialize
Params []ElastigroupDisk Initialize Param  - 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 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.
 - device
Name String - Specifies a unique device name of your choice.
 - initialize
Params List<ElastigroupDisk Initialize Param>  - 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 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.
 - device
Name string - Specifies a unique device name of your choice.
 - initialize
Params ElastigroupDisk Initialize Param[]  - 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[ElastigroupDisk Initialize Param]  - 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.
 
- auto
Delete 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.
 - device
Name String - Specifies a unique device name of your choice.
 - initialize
Params 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        
- Source
Image 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:
- Disk
Size stringGb  - Specifies disk size in gigabytes. Must be in increments of 2.
 - Disk
Type string - Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
 
- Source
Image 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:
- Disk
Size stringGb  - Specifies disk size in gigabytes. Must be in increments of 2.
 - Disk
Type string - Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
 
- source
Image 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:
- disk
Size StringGb  - Specifies disk size in gigabytes. Must be in increments of 2.
 - disk
Type String - Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
 
- source
Image 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:
- disk
Size stringGb  - Specifies disk size in gigabytes. Must be in increments of 2.
 - disk
Type string - Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
 
- source_
image 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_ strgb  - 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.
 
- source
Image 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:
- disk
Size StringGb  - Specifies disk size in gigabytes. Must be in increments of 2.
 - disk
Type String - Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
 
ElastigroupGpu, ElastigroupGpuArgs    
ElastigroupInstanceTypesCustom, ElastigroupInstanceTypesCustomArgs        
- memory_
gib 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 int
 
ElastigroupIntegrationDockerSwarm, ElastigroupIntegrationDockerSwarmArgs        
- Master
Host string - Master
Port int 
- Master
Host string - Master
Port int 
- master
Host String - master
Port Integer 
- master
Host string - master
Port number 
- master_
host str - master_
port int 
- master
Host String - master
Port Number 
ElastigroupIntegrationGke, ElastigroupIntegrationGkeArgs      
- Auto
Update bool - Autoscale
Cooldown int - Autoscale
Down Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Integration Gke Autoscale Down  - Autoscale
Headroom Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Integration Gke Autoscale Headroom  - Autoscale
Is boolAuto Config  - Autoscale
Is boolEnabled  - Autoscale
Labels List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Integration Gke Autoscale Label>  - Cluster
Id string - Location string
 
- auto
Update Boolean - autoscale
Cooldown Integer - autoscale
Down ElastigroupIntegration Gke Autoscale Down  - autoscale
Headroom ElastigroupIntegration Gke Autoscale Headroom  - autoscale
Is BooleanAuto Config  - autoscale
Is BooleanEnabled  - autoscale
Labels List<ElastigroupIntegration Gke Autoscale Label>  - cluster
Id String - location String
 
- auto
Update Boolean - autoscale
Cooldown Number - autoscale
Down Property Map - autoscale
Headroom Property Map - autoscale
Is BooleanAuto Config  - autoscale
Is BooleanEnabled  - autoscale
Labels List<Property Map> - cluster
Id String - location String
 
ElastigroupIntegrationGkeAutoscaleDown, ElastigroupIntegrationGkeAutoscaleDownArgs          
- evaluation
Periods Integer 
- evaluation
Periods number 
- evaluation
Periods Number 
ElastigroupIntegrationGkeAutoscaleHeadroom, ElastigroupIntegrationGkeAutoscaleHeadroomArgs          
- Cpu
Per intUnit  - Memory
Per intUnit  - Num
Of intUnits  
- Cpu
Per intUnit  - Memory
Per intUnit  - Num
Of intUnits  
- cpu
Per IntegerUnit  - memory
Per IntegerUnit  - num
Of IntegerUnits  
- cpu
Per numberUnit  - memory
Per numberUnit  - num
Of numberUnits  
- cpu_
per_ intunit  - memory_
per_ intunit  - num_
of_ intunits  
- cpu
Per NumberUnit  - memory
Per NumberUnit  - num
Of NumberUnits  
ElastigroupIntegrationGkeAutoscaleLabel, ElastigroupIntegrationGkeAutoscaleLabelArgs          
ElastigroupLabel, ElastigroupLabelArgs    
ElastigroupMetadata, ElastigroupMetadataArgs    
ElastigroupNetworkInterface, ElastigroupNetworkInterfaceArgs      
ElastigroupNetworkInterfaceAccessConfig, ElastigroupNetworkInterfaceAccessConfigArgs          
ElastigroupNetworkInterfaceAliasIpRange, ElastigroupNetworkInterfaceAliasIpRangeArgs            
- Ip
Cidr stringRange  - Subnetwork
Range stringName  
- Ip
Cidr stringRange  - Subnetwork
Range stringName  
- ip
Cidr StringRange  - subnetwork
Range StringName  
- ip
Cidr stringRange  - subnetwork
Range stringName  
- ip
Cidr StringRange  - subnetwork
Range StringName  
ElastigroupScalingDownPolicy, ElastigroupScalingDownPolicyArgs        
- Metric
Name string - Namespace string
 - Policy
Name string - Threshold double
 - Unit string
 - Action
Type string - Adjustment int
 - Cooldown int
 - Dimensions
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Scaling Down Policy Dimension>  - Evaluation
Periods int - Operator string
 - Period int
 - Source string
 - Statistic string
 
- Metric
Name string - Namespace string
 - Policy
Name string - Threshold float64
 - Unit string
 - Action
Type string - Adjustment int
 - Cooldown int
 - Dimensions
[]Elastigroup
Scaling Down Policy Dimension  - Evaluation
Periods int - Operator string
 - Period int
 - Source string
 - Statistic string
 
- metric
Name String - namespace String
 - policy
Name String - threshold Double
 - unit String
 - action
Type String - adjustment Integer
 - cooldown Integer
 - dimensions
List<Elastigroup
Scaling Down Policy Dimension>  - evaluation
Periods Integer - operator String
 - period Integer
 - source String
 - statistic String
 
- metric
Name string - namespace string
 - policy
Name string - threshold number
 - unit string
 - action
Type string - adjustment number
 - cooldown number
 - dimensions
Elastigroup
Scaling Down Policy Dimension[]  - evaluation
Periods number - operator string
 - period number
 - source string
 - statistic string
 
- metric_
name str - namespace str
 - policy_
name str - threshold float
 - unit str
 - action_
type str - adjustment int
 - cooldown int
 - dimensions
Sequence[Elastigroup
Scaling Down Policy Dimension]  - evaluation_
periods int - operator str
 - period int
 - source str
 - statistic str
 
- metric
Name String - namespace String
 - policy
Name String - threshold Number
 - unit String
 - action
Type String - adjustment Number
 - cooldown Number
 - dimensions List<Property Map>
 - evaluation
Periods Number - operator String
 - period Number
 - source String
 - statistic String
 
ElastigroupScalingDownPolicyDimension, ElastigroupScalingDownPolicyDimensionArgs          
ElastigroupScalingUpPolicy, ElastigroupScalingUpPolicyArgs        
- Metric
Name 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 string
 - Policy
Name string - Name of scaling policy.
 - Threshold double
 - The value at which the scaling action is triggered.
 - Unit string
 - Action
Type 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.
Spot Inst. Gcp. Inputs. Elastigroup Scaling Up Policy Dimension>  - 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 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
 - Statistic string
 - Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
 
- Metric
Name 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 string
 - Policy
Name string - Name of scaling policy.
 - Threshold float64
 - The value at which the scaling action is triggered.
 - Unit string
 - Action
Type 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
[]Elastigroup
Scaling Up Policy Dimension  - 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 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
 - Statistic string
 - Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
 
- metric
Name 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 String
 - policy
Name String - Name of scaling policy.
 - threshold Double
 - The value at which the scaling action is triggered.
 - unit String
 - action
Type 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<Elastigroup
Scaling Up Policy Dimension>  - A list of dimensions describing qualities of the metric.
 - evaluation
Periods 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
 - statistic String
 - Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
 
- metric
Name 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 string
 - policy
Name string - Name of scaling policy.
 - threshold number
 - The value at which the scaling action is triggered.
 - unit string
 - action
Type 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
Elastigroup
Scaling Up Policy Dimension[]  - A list of dimensions describing qualities of the metric.
 - evaluation
Periods 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
 - statistic string
 - Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
 
- metric_
name 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 str
 - policy_
name str - Name of scaling policy.
 - threshold float
 - The value at which the scaling action is triggered.
 - unit 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[Elastigroup
Scaling Up Policy Dimension]  - 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
 - statistic str
 - Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
 
- metric
Name 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 String
 - policy
Name String - Name of scaling policy.
 - threshold Number
 - The value at which the scaling action is triggered.
 - unit String
 - action
Type 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.
 - evaluation
Periods 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
 - statistic String
 - Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
 
ElastigroupScalingUpPolicyDimension, ElastigroupScalingUpPolicyDimensionArgs          
ElastigroupScheduledTask, ElastigroupScheduledTaskArgs      
- Task
Type string - The task type to run. Valid values: 
"setCapacity". - Cron
Expression string - 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 string The maximum number of instances the group should have.
Usage:
- Min
Capacity string - The minimum number of instances the group should have.
 - Target
Capacity string - The desired number of instances the group should have.
 
- Task
Type string - The task type to run. Valid values: 
"setCapacity". - Cron
Expression string - 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 string The maximum number of instances the group should have.
Usage:
- Min
Capacity string - The minimum number of instances the group should have.
 - Target
Capacity string - The desired number of instances the group should have.
 
- task
Type String - The task type to run. Valid values: 
"setCapacity". - cron
Expression String - A valid cron expression. The cron is running in UTC time zone and is in Unix cron format.
 - is
Enabled Boolean - Setting the task to being enabled or disabled.
 - max
Capacity String The maximum number of instances the group should have.
Usage:
- min
Capacity String - The minimum number of instances the group should have.
 - target
Capacity String - The desired number of instances the group should have.
 
- task
Type string - The task type to run. Valid values: 
"setCapacity". - cron
Expression string - A valid cron expression. The cron is running in UTC time zone and is in Unix cron format.
 - is
Enabled boolean - Setting the task to being enabled or disabled.
 - max
Capacity string The maximum number of instances the group should have.
Usage:
- min
Capacity string - The minimum number of instances the group should have.
 - target
Capacity string - The desired number of instances the group should have.
 
- task_
type 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.
 
- task
Type String - The task type to run. Valid values: 
"setCapacity". - cron
Expression String - A valid cron expression. The cron is running in UTC time zone and is in Unix cron format.
 - is
Enabled Boolean - Setting the task to being enabled or disabled.
 - max
Capacity String The maximum number of instances the group should have.
Usage:
- min
Capacity String - The minimum number of instances the group should have.
 - target
Capacity String - The desired number of instances the group should have.
 
ElastigroupSubnet, ElastigroupSubnetArgs    
- Region string
 - The region for the group of subnets.
 - Subnet
Names List<string> - The names of the subnets in the region.
 
- Region string
 - The region for the group of subnets.
 - Subnet
Names []string - The names of the subnets in the region.
 
- region String
 - The region for the group of subnets.
 - subnet
Names List<String> - The names of the subnets in the region.
 
- region string
 - The region for the group of subnets.
 - subnet
Names string[] - The names of the subnets in the region.
 
- region str
 - The region for the group of subnets.
 - subnet_
names Sequence[str] - The names of the subnets in the region.
 
- region String
 - The region for the group of subnets.
 - subnet
Names 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 
spotinstTerraform Provider.