1. Packages
  2. Spotinst
  3. API Docs
  4. gke
  5. Elastigroup
Spotinst v3.94.0 published on Friday, Sep 20, 2024 by Pulumi

spotinst.gke.Elastigroup

Explore with Pulumi AI

spotinst logo
Spotinst v3.94.0 published on Friday, Sep 20, 2024 by Pulumi

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

    Example Usage

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

    There are two main differences:

    • you must include cluster_zone_name and cluster_id
    • a handful of parameters are created remotely and will not appear in the diff. A complete list can be found below.
    import * as pulumi from "@pulumi/pulumi";
    import * as spotinst from "@pulumi/spotinst";
    
    const example_gke_elastigroup = new spotinst.gke.Elastigroup("example-gke-elastigroup", {
        name: "example-gke",
        clusterZoneName: "us-central1-a",
        nodeImage: "COS",
        maxSize: 5,
        minSize: 1,
        desiredCapacity: 3,
        instanceTypesOndemand: "n1-standard-1",
        instanceTypesPreemptibles: [
            "n1-standard-1",
            "n1-standard-2",
        ],
        preemptiblePercentage: 100,
        integrationGke: {
            location: "us-central1-a",
            clusterId: "example-cluster-id",
            autoscaleIsEnabled: true,
            autoscaleIsAutoConfig: false,
            autoscaleCooldown: 300,
            autoscaleHeadroom: {
                cpuPerUnit: 1024,
                memoryPerUnit: 512,
                numOfUnits: 2,
            },
            autoscaleDown: {
                evaluationPeriods: 300,
            },
            autoscaleLabels: [{
                key: "label_key",
                value: "label_value",
            }],
        },
        backendServices: [{
            serviceName: "backend-service",
            locationType: "global",
            namedPorts: [{
                name: "http",
                ports: [
                    "80",
                    "8080",
                ],
            }],
        }],
    });
    
    import pulumi
    import pulumi_spotinst as spotinst
    
    example_gke_elastigroup = spotinst.gke.Elastigroup("example-gke-elastigroup",
        name="example-gke",
        cluster_zone_name="us-central1-a",
        node_image="COS",
        max_size=5,
        min_size=1,
        desired_capacity=3,
        instance_types_ondemand="n1-standard-1",
        instance_types_preemptibles=[
            "n1-standard-1",
            "n1-standard-2",
        ],
        preemptible_percentage=100,
        integration_gke={
            "location": "us-central1-a",
            "cluster_id": "example-cluster-id",
            "autoscale_is_enabled": True,
            "autoscale_is_auto_config": False,
            "autoscale_cooldown": 300,
            "autoscale_headroom": {
                "cpu_per_unit": 1024,
                "memory_per_unit": 512,
                "num_of_units": 2,
            },
            "autoscale_down": {
                "evaluation_periods": 300,
            },
            "autoscale_labels": [{
                "key": "label_key",
                "value": "label_value",
            }],
        },
        backend_services=[{
            "service_name": "backend-service",
            "location_type": "global",
            "named_ports": [{
                "name": "http",
                "ports": [
                    "80",
                    "8080",
                ],
            }],
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/gke"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := gke.NewElastigroup(ctx, "example-gke-elastigroup", &gke.ElastigroupArgs{
    			Name:                  pulumi.String("example-gke"),
    			ClusterZoneName:       pulumi.String("us-central1-a"),
    			NodeImage:             pulumi.String("COS"),
    			MaxSize:               pulumi.Int(5),
    			MinSize:               pulumi.Int(1),
    			DesiredCapacity:       pulumi.Int(3),
    			InstanceTypesOndemand: pulumi.String("n1-standard-1"),
    			InstanceTypesPreemptibles: pulumi.StringArray{
    				pulumi.String("n1-standard-1"),
    				pulumi.String("n1-standard-2"),
    			},
    			PreemptiblePercentage: pulumi.Int(100),
    			IntegrationGke: &gke.ElastigroupIntegrationGkeArgs{
    				Location:              pulumi.String("us-central1-a"),
    				ClusterId:             pulumi.String("example-cluster-id"),
    				AutoscaleIsEnabled:    pulumi.Bool(true),
    				AutoscaleIsAutoConfig: pulumi.Bool(false),
    				AutoscaleCooldown:     pulumi.Int(300),
    				AutoscaleHeadroom: &gke.ElastigroupIntegrationGkeAutoscaleHeadroomArgs{
    					CpuPerUnit:    pulumi.Int(1024),
    					MemoryPerUnit: pulumi.Int(512),
    					NumOfUnits:    pulumi.Int(2),
    				},
    				AutoscaleDown: &gke.ElastigroupIntegrationGkeAutoscaleDownArgs{
    					EvaluationPeriods: pulumi.Int(300),
    				},
    				AutoscaleLabels: gke.ElastigroupIntegrationGkeAutoscaleLabelArray{
    					&gke.ElastigroupIntegrationGkeAutoscaleLabelArgs{
    						Key:   pulumi.String("label_key"),
    						Value: pulumi.String("label_value"),
    					},
    				},
    			},
    			BackendServices: gke.ElastigroupBackendServiceArray{
    				&gke.ElastigroupBackendServiceArgs{
    					ServiceName:  pulumi.String("backend-service"),
    					LocationType: pulumi.String("global"),
    					NamedPorts: gke.ElastigroupBackendServiceNamedPortArray{
    						&gke.ElastigroupBackendServiceNamedPortArgs{
    							Name: pulumi.String("http"),
    							Ports: pulumi.StringArray{
    								pulumi.String("80"),
    								pulumi.String("8080"),
    							},
    						},
    					},
    				},
    			},
    		})
    		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_gke_elastigroup = new SpotInst.Gke.Elastigroup("example-gke-elastigroup", new()
        {
            Name = "example-gke",
            ClusterZoneName = "us-central1-a",
            NodeImage = "COS",
            MaxSize = 5,
            MinSize = 1,
            DesiredCapacity = 3,
            InstanceTypesOndemand = "n1-standard-1",
            InstanceTypesPreemptibles = new[]
            {
                "n1-standard-1",
                "n1-standard-2",
            },
            PreemptiblePercentage = 100,
            IntegrationGke = new SpotInst.Gke.Inputs.ElastigroupIntegrationGkeArgs
            {
                Location = "us-central1-a",
                ClusterId = "example-cluster-id",
                AutoscaleIsEnabled = true,
                AutoscaleIsAutoConfig = false,
                AutoscaleCooldown = 300,
                AutoscaleHeadroom = new SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleHeadroomArgs
                {
                    CpuPerUnit = 1024,
                    MemoryPerUnit = 512,
                    NumOfUnits = 2,
                },
                AutoscaleDown = new SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleDownArgs
                {
                    EvaluationPeriods = 300,
                },
                AutoscaleLabels = new[]
                {
                    new SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleLabelArgs
                    {
                        Key = "label_key",
                        Value = "label_value",
                    },
                },
            },
            BackendServices = new[]
            {
                new SpotInst.Gke.Inputs.ElastigroupBackendServiceArgs
                {
                    ServiceName = "backend-service",
                    LocationType = "global",
                    NamedPorts = new[]
                    {
                        new SpotInst.Gke.Inputs.ElastigroupBackendServiceNamedPortArgs
                        {
                            Name = "http",
                            Ports = new[]
                            {
                                "80",
                                "8080",
                            },
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spotinst.gke.Elastigroup;
    import com.pulumi.spotinst.gke.ElastigroupArgs;
    import com.pulumi.spotinst.gke.inputs.ElastigroupIntegrationGkeArgs;
    import com.pulumi.spotinst.gke.inputs.ElastigroupIntegrationGkeAutoscaleHeadroomArgs;
    import com.pulumi.spotinst.gke.inputs.ElastigroupIntegrationGkeAutoscaleDownArgs;
    import com.pulumi.spotinst.gke.inputs.ElastigroupBackendServiceArgs;
    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_gke_elastigroup = new Elastigroup("example-gke-elastigroup", ElastigroupArgs.builder()
                .name("example-gke")
                .clusterZoneName("us-central1-a")
                .nodeImage("COS")
                .maxSize(5)
                .minSize(1)
                .desiredCapacity(3)
                .instanceTypesOndemand("n1-standard-1")
                .instanceTypesPreemptibles(            
                    "n1-standard-1",
                    "n1-standard-2")
                .preemptiblePercentage(100)
                .integrationGke(ElastigroupIntegrationGkeArgs.builder()
                    .location("us-central1-a")
                    .clusterId("example-cluster-id")
                    .autoscaleIsEnabled(true)
                    .autoscaleIsAutoConfig(false)
                    .autoscaleCooldown(300)
                    .autoscaleHeadroom(ElastigroupIntegrationGkeAutoscaleHeadroomArgs.builder()
                        .cpuPerUnit(1024)
                        .memoryPerUnit(512)
                        .numOfUnits(2)
                        .build())
                    .autoscaleDown(ElastigroupIntegrationGkeAutoscaleDownArgs.builder()
                        .evaluationPeriods(300)
                        .build())
                    .autoscaleLabels(ElastigroupIntegrationGkeAutoscaleLabelArgs.builder()
                        .key("label_key")
                        .value("label_value")
                        .build())
                    .build())
                .backendServices(ElastigroupBackendServiceArgs.builder()
                    .serviceName("backend-service")
                    .locationType("global")
                    .namedPorts(ElastigroupBackendServiceNamedPortArgs.builder()
                        .name("http")
                        .ports(                    
                            80,
                            8080)
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      example-gke-elastigroup:
        type: spotinst:gke:Elastigroup
        properties:
          name: example-gke
          clusterZoneName: us-central1-a
          nodeImage: COS
          maxSize: 5
          minSize: 1
          desiredCapacity: 3 # --- INSTANCE TYPES --------------------------------
          instanceTypesOndemand: n1-standard-1
          instanceTypesPreemptibles:
            - n1-standard-1
            - n1-standard-2
          preemptiblePercentage: 100 # ---------------------------------
          integrationGke:
            location: us-central1-a
            clusterId: example-cluster-id
            autoscaleIsEnabled: true
            autoscaleIsAutoConfig: false
            autoscaleCooldown: 300
            autoscaleHeadroom:
              cpuPerUnit: 1024
              memoryPerUnit: 512
              numOfUnits: 2
            autoscaleDown:
              evaluationPeriods: 300
            autoscaleLabels:
              - key: label_key
                value: label_value
          backendServices:
            - serviceName: backend-service
              locationType: global
              namedPorts:
                - name: http
                  ports:
                    - 80
                    - 8080
    

    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,
                    cluster_zone_name: Optional[str] = None,
                    desired_capacity: Optional[int] = None,
                    max_size: Optional[int] = None,
                    tags: Optional[Sequence[str]] = None,
                    backend_services: Optional[Sequence[ElastigroupBackendServiceArgs]] = None,
                    draining_timeout: Optional[int] = None,
                    fallback_to_ondemand: Optional[bool] = None,
                    gpu: Optional[Sequence[ElastigroupGpuArgs]] = 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,
                    disks: Optional[Sequence[ElastigroupDiskArgs]] = None,
                    min_size: Optional[int] = None,
                    cluster_id: Optional[str] = None,
                    name: Optional[str] = None,
                    network_interfaces: Optional[Sequence[ElastigroupNetworkInterfaceArgs]] = None,
                    node_image: Optional[str] = None,
                    ondemand_count: Optional[int] = None,
                    optimization_windows: Optional[Sequence[str]] = None,
                    preemptible_percentage: Optional[int] = None,
                    provisioning_model: Optional[str] = None,
                    revert_to_preemptibles: Optional[Sequence[ElastigroupRevertToPreemptibleArgs]] = None,
                    scaling_down_policies: Optional[Sequence[ElastigroupScalingDownPolicyArgs]] = None,
                    scaling_up_policies: Optional[Sequence[ElastigroupScalingUpPolicyArgs]] = None,
                    service_account: Optional[str] = None,
                    shutdown_script: Optional[str] = None,
                    startup_script: Optional[str] = None,
                    metadatas: Optional[Sequence[ElastigroupMetadataArgs]] = None)
    func NewElastigroup(ctx *Context, name string, args ElastigroupArgs, opts ...ResourceOption) (*Elastigroup, error)
    public Elastigroup(string name, ElastigroupArgs args, CustomResourceOptions? opts = null)
    public Elastigroup(String name, ElastigroupArgs args)
    public Elastigroup(String name, ElastigroupArgs args, CustomResourceOptions options)
    
    type: spotinst:gke:Elastigroup
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    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 exampleelastigroupResourceResourceFromGkeelastigroup = new SpotInst.Gke.Elastigroup("exampleelastigroupResourceResourceFromGkeelastigroup", new()
    {
        ClusterZoneName = "string",
        DesiredCapacity = 0,
        MaxSize = 0,
        Tags = new[]
        {
            "string",
        },
        BackendServices = new[]
        {
            new SpotInst.Gke.Inputs.ElastigroupBackendServiceArgs
            {
                ServiceName = "string",
                LocationType = "string",
                NamedPorts = new[]
                {
                    new SpotInst.Gke.Inputs.ElastigroupBackendServiceNamedPortArgs
                    {
                        Name = "string",
                        Ports = new[]
                        {
                            "string",
                        },
                    },
                },
                Scheme = "string",
            },
        },
        DrainingTimeout = 0,
        FallbackToOndemand = false,
        Gpu = new[]
        {
            new SpotInst.Gke.Inputs.ElastigroupGpuArgs
            {
                Count = 0,
                Type = "string",
            },
        },
        InstanceNamePrefix = "string",
        InstanceTypesCustoms = new[]
        {
            new SpotInst.Gke.Inputs.ElastigroupInstanceTypesCustomArgs
            {
                MemoryGib = 0,
                Vcpu = 0,
            },
        },
        InstanceTypesOndemand = "string",
        InstanceTypesPreemptibles = new[]
        {
            "string",
        },
        IntegrationDockerSwarm = new SpotInst.Gke.Inputs.ElastigroupIntegrationDockerSwarmArgs
        {
            MasterHost = "string",
            MasterPort = 0,
        },
        IntegrationGke = new SpotInst.Gke.Inputs.ElastigroupIntegrationGkeArgs
        {
            AutoUpdate = false,
            AutoscaleCooldown = 0,
            AutoscaleDown = new SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleDownArgs
            {
                EvaluationPeriods = 0,
            },
            AutoscaleHeadroom = new SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleHeadroomArgs
            {
                CpuPerUnit = 0,
                MemoryPerUnit = 0,
                NumOfUnits = 0,
            },
            AutoscaleIsAutoConfig = false,
            AutoscaleIsEnabled = false,
            AutoscaleLabels = new[]
            {
                new SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleLabelArgs
                {
                    Key = "string",
                    Value = "string",
                },
            },
            ClusterId = "string",
            Location = "string",
        },
        IpForwarding = false,
        Labels = new[]
        {
            new SpotInst.Gke.Inputs.ElastigroupLabelArgs
            {
                Key = "string",
                Value = "string",
            },
        },
        Disks = new[]
        {
            new SpotInst.Gke.Inputs.ElastigroupDiskArgs
            {
                AutoDelete = false,
                Boot = false,
                DeviceName = "string",
                InitializeParams = new[]
                {
                    new SpotInst.Gke.Inputs.ElastigroupDiskInitializeParamArgs
                    {
                        SourceImage = "string",
                        DiskSizeGb = "string",
                        DiskType = "string",
                    },
                },
                Interface = "string",
                Mode = "string",
                Source = "string",
                Type = "string",
            },
        },
        MinSize = 0,
        Name = "string",
        NetworkInterfaces = new[]
        {
            new SpotInst.Gke.Inputs.ElastigroupNetworkInterfaceArgs
            {
                Network = "string",
                AccessConfigs = new[]
                {
                    new SpotInst.Gke.Inputs.ElastigroupNetworkInterfaceAccessConfigArgs
                    {
                        Name = "string",
                        Type = "string",
                    },
                },
                AliasIpRanges = new[]
                {
                    new SpotInst.Gke.Inputs.ElastigroupNetworkInterfaceAliasIpRangeArgs
                    {
                        IpCidrRange = "string",
                        SubnetworkRangeName = "string",
                    },
                },
            },
        },
        NodeImage = "string",
        OndemandCount = 0,
        OptimizationWindows = new[]
        {
            "string",
        },
        PreemptiblePercentage = 0,
        ProvisioningModel = "string",
        RevertToPreemptibles = new[]
        {
            new SpotInst.Gke.Inputs.ElastigroupRevertToPreemptibleArgs
            {
                PerformAt = "string",
            },
        },
        ScalingDownPolicies = new[]
        {
            new SpotInst.Gke.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.Gke.Inputs.ElastigroupScalingDownPolicyDimensionArgs
                    {
                        Name = "string",
                        Value = "string",
                    },
                },
                Cooldown = 0,
            },
        },
        ScalingUpPolicies = new[]
        {
            new SpotInst.Gke.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.Gke.Inputs.ElastigroupScalingUpPolicyDimensionArgs
                    {
                        Name = "string",
                        Value = "string",
                    },
                },
                Cooldown = 0,
            },
        },
        ServiceAccount = "string",
        ShutdownScript = "string",
        StartupScript = "string",
        Metadatas = new[]
        {
            new SpotInst.Gke.Inputs.ElastigroupMetadataArgs
            {
                Key = "string",
                Value = "string",
            },
        },
    });
    
    example, err := gke.NewElastigroup(ctx, "exampleelastigroupResourceResourceFromGkeelastigroup", &gke.ElastigroupArgs{
    	ClusterZoneName: pulumi.String("string"),
    	DesiredCapacity: pulumi.Int(0),
    	MaxSize:         pulumi.Int(0),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	BackendServices: gke.ElastigroupBackendServiceArray{
    		&gke.ElastigroupBackendServiceArgs{
    			ServiceName:  pulumi.String("string"),
    			LocationType: pulumi.String("string"),
    			NamedPorts: gke.ElastigroupBackendServiceNamedPortArray{
    				&gke.ElastigroupBackendServiceNamedPortArgs{
    					Name: pulumi.String("string"),
    					Ports: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    			Scheme: pulumi.String("string"),
    		},
    	},
    	DrainingTimeout:    pulumi.Int(0),
    	FallbackToOndemand: pulumi.Bool(false),
    	Gpu: gke.ElastigroupGpuArray{
    		&gke.ElastigroupGpuArgs{
    			Count: pulumi.Int(0),
    			Type:  pulumi.String("string"),
    		},
    	},
    	InstanceNamePrefix: pulumi.String("string"),
    	InstanceTypesCustoms: gke.ElastigroupInstanceTypesCustomArray{
    		&gke.ElastigroupInstanceTypesCustomArgs{
    			MemoryGib: pulumi.Int(0),
    			Vcpu:      pulumi.Int(0),
    		},
    	},
    	InstanceTypesOndemand: pulumi.String("string"),
    	InstanceTypesPreemptibles: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	IntegrationDockerSwarm: &gke.ElastigroupIntegrationDockerSwarmArgs{
    		MasterHost: pulumi.String("string"),
    		MasterPort: pulumi.Int(0),
    	},
    	IntegrationGke: &gke.ElastigroupIntegrationGkeArgs{
    		AutoUpdate:        pulumi.Bool(false),
    		AutoscaleCooldown: pulumi.Int(0),
    		AutoscaleDown: &gke.ElastigroupIntegrationGkeAutoscaleDownArgs{
    			EvaluationPeriods: pulumi.Int(0),
    		},
    		AutoscaleHeadroom: &gke.ElastigroupIntegrationGkeAutoscaleHeadroomArgs{
    			CpuPerUnit:    pulumi.Int(0),
    			MemoryPerUnit: pulumi.Int(0),
    			NumOfUnits:    pulumi.Int(0),
    		},
    		AutoscaleIsAutoConfig: pulumi.Bool(false),
    		AutoscaleIsEnabled:    pulumi.Bool(false),
    		AutoscaleLabels: gke.ElastigroupIntegrationGkeAutoscaleLabelArray{
    			&gke.ElastigroupIntegrationGkeAutoscaleLabelArgs{
    				Key:   pulumi.String("string"),
    				Value: pulumi.String("string"),
    			},
    		},
    		ClusterId: pulumi.String("string"),
    		Location:  pulumi.String("string"),
    	},
    	IpForwarding: pulumi.Bool(false),
    	Labels: gke.ElastigroupLabelArray{
    		&gke.ElastigroupLabelArgs{
    			Key:   pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    	Disks: gke.ElastigroupDiskArray{
    		&gke.ElastigroupDiskArgs{
    			AutoDelete: pulumi.Bool(false),
    			Boot:       pulumi.Bool(false),
    			DeviceName: pulumi.String("string"),
    			InitializeParams: gke.ElastigroupDiskInitializeParamArray{
    				&gke.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"),
    		},
    	},
    	MinSize: pulumi.Int(0),
    	Name:    pulumi.String("string"),
    	NetworkInterfaces: gke.ElastigroupNetworkInterfaceArray{
    		&gke.ElastigroupNetworkInterfaceArgs{
    			Network: pulumi.String("string"),
    			AccessConfigs: gke.ElastigroupNetworkInterfaceAccessConfigArray{
    				&gke.ElastigroupNetworkInterfaceAccessConfigArgs{
    					Name: pulumi.String("string"),
    					Type: pulumi.String("string"),
    				},
    			},
    			AliasIpRanges: gke.ElastigroupNetworkInterfaceAliasIpRangeArray{
    				&gke.ElastigroupNetworkInterfaceAliasIpRangeArgs{
    					IpCidrRange:         pulumi.String("string"),
    					SubnetworkRangeName: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	NodeImage:     pulumi.String("string"),
    	OndemandCount: pulumi.Int(0),
    	OptimizationWindows: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	PreemptiblePercentage: pulumi.Int(0),
    	ProvisioningModel:     pulumi.String("string"),
    	RevertToPreemptibles: gke.ElastigroupRevertToPreemptibleArray{
    		&gke.ElastigroupRevertToPreemptibleArgs{
    			PerformAt: pulumi.String("string"),
    		},
    	},
    	ScalingDownPolicies: gke.ElastigroupScalingDownPolicyArray{
    		&gke.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: gke.ElastigroupScalingDownPolicyDimensionArray{
    				&gke.ElastigroupScalingDownPolicyDimensionArgs{
    					Name:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			Cooldown: pulumi.Int(0),
    		},
    	},
    	ScalingUpPolicies: gke.ElastigroupScalingUpPolicyArray{
    		&gke.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: gke.ElastigroupScalingUpPolicyDimensionArray{
    				&gke.ElastigroupScalingUpPolicyDimensionArgs{
    					Name:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			Cooldown: pulumi.Int(0),
    		},
    	},
    	ServiceAccount: pulumi.String("string"),
    	ShutdownScript: pulumi.String("string"),
    	StartupScript:  pulumi.String("string"),
    	Metadatas: gke.ElastigroupMetadataArray{
    		&gke.ElastigroupMetadataArgs{
    			Key:   pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    })
    
    var exampleelastigroupResourceResourceFromGkeelastigroup = new Elastigroup("exampleelastigroupResourceResourceFromGkeelastigroup", ElastigroupArgs.builder()
        .clusterZoneName("string")
        .desiredCapacity(0)
        .maxSize(0)
        .tags("string")
        .backendServices(ElastigroupBackendServiceArgs.builder()
            .serviceName("string")
            .locationType("string")
            .namedPorts(ElastigroupBackendServiceNamedPortArgs.builder()
                .name("string")
                .ports("string")
                .build())
            .scheme("string")
            .build())
        .drainingTimeout(0)
        .fallbackToOndemand(false)
        .gpu(ElastigroupGpuArgs.builder()
            .count(0)
            .type("string")
            .build())
        .instanceNamePrefix("string")
        .instanceTypesCustoms(ElastigroupInstanceTypesCustomArgs.builder()
            .memoryGib(0)
            .vcpu(0)
            .build())
        .instanceTypesOndemand("string")
        .instanceTypesPreemptibles("string")
        .integrationDockerSwarm(ElastigroupIntegrationDockerSwarmArgs.builder()
            .masterHost("string")
            .masterPort(0)
            .build())
        .integrationGke(ElastigroupIntegrationGkeArgs.builder()
            .autoUpdate(false)
            .autoscaleCooldown(0)
            .autoscaleDown(ElastigroupIntegrationGkeAutoscaleDownArgs.builder()
                .evaluationPeriods(0)
                .build())
            .autoscaleHeadroom(ElastigroupIntegrationGkeAutoscaleHeadroomArgs.builder()
                .cpuPerUnit(0)
                .memoryPerUnit(0)
                .numOfUnits(0)
                .build())
            .autoscaleIsAutoConfig(false)
            .autoscaleIsEnabled(false)
            .autoscaleLabels(ElastigroupIntegrationGkeAutoscaleLabelArgs.builder()
                .key("string")
                .value("string")
                .build())
            .clusterId("string")
            .location("string")
            .build())
        .ipForwarding(false)
        .labels(ElastigroupLabelArgs.builder()
            .key("string")
            .value("string")
            .build())
        .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())
        .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())
        .nodeImage("string")
        .ondemandCount(0)
        .optimizationWindows("string")
        .preemptiblePercentage(0)
        .provisioningModel("string")
        .revertToPreemptibles(ElastigroupRevertToPreemptibleArgs.builder()
            .performAt("string")
            .build())
        .scalingDownPolicies(ElastigroupScalingDownPolicyArgs.builder()
            .policyName("string")
            .metricName("string")
            .unit("string")
            .threshold(0)
            .namespace("string")
            .evaluationPeriods(0)
            .adjustment(0)
            .operator("string")
            .source("string")
            .actionType("string")
            .period(0)
            .statistic("string")
            .dimensions(ElastigroupScalingDownPolicyDimensionArgs.builder()
                .name("string")
                .value("string")
                .build())
            .cooldown(0)
            .build())
        .scalingUpPolicies(ElastigroupScalingUpPolicyArgs.builder()
            .policyName("string")
            .metricName("string")
            .unit("string")
            .threshold(0)
            .namespace("string")
            .evaluationPeriods(0)
            .adjustment(0)
            .operator("string")
            .source("string")
            .actionType("string")
            .period(0)
            .statistic("string")
            .dimensions(ElastigroupScalingUpPolicyDimensionArgs.builder()
                .name("string")
                .value("string")
                .build())
            .cooldown(0)
            .build())
        .serviceAccount("string")
        .shutdownScript("string")
        .startupScript("string")
        .metadatas(ElastigroupMetadataArgs.builder()
            .key("string")
            .value("string")
            .build())
        .build());
    
    exampleelastigroup_resource_resource_from_gkeelastigroup = spotinst.gke.Elastigroup("exampleelastigroupResourceResourceFromGkeelastigroup",
        cluster_zone_name="string",
        desired_capacity=0,
        max_size=0,
        tags=["string"],
        backend_services=[spotinst.gke.ElastigroupBackendServiceArgs(
            service_name="string",
            location_type="string",
            named_ports=[spotinst.gke.ElastigroupBackendServiceNamedPortArgs(
                name="string",
                ports=["string"],
            )],
            scheme="string",
        )],
        draining_timeout=0,
        fallback_to_ondemand=False,
        gpu=[spotinst.gke.ElastigroupGpuArgs(
            count=0,
            type="string",
        )],
        instance_name_prefix="string",
        instance_types_customs=[spotinst.gke.ElastigroupInstanceTypesCustomArgs(
            memory_gib=0,
            vcpu=0,
        )],
        instance_types_ondemand="string",
        instance_types_preemptibles=["string"],
        integration_docker_swarm=spotinst.gke.ElastigroupIntegrationDockerSwarmArgs(
            master_host="string",
            master_port=0,
        ),
        integration_gke=spotinst.gke.ElastigroupIntegrationGkeArgs(
            auto_update=False,
            autoscale_cooldown=0,
            autoscale_down=spotinst.gke.ElastigroupIntegrationGkeAutoscaleDownArgs(
                evaluation_periods=0,
            ),
            autoscale_headroom=spotinst.gke.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.gke.ElastigroupIntegrationGkeAutoscaleLabelArgs(
                key="string",
                value="string",
            )],
            cluster_id="string",
            location="string",
        ),
        ip_forwarding=False,
        labels=[spotinst.gke.ElastigroupLabelArgs(
            key="string",
            value="string",
        )],
        disks=[spotinst.gke.ElastigroupDiskArgs(
            auto_delete=False,
            boot=False,
            device_name="string",
            initialize_params=[spotinst.gke.ElastigroupDiskInitializeParamArgs(
                source_image="string",
                disk_size_gb="string",
                disk_type="string",
            )],
            interface="string",
            mode="string",
            source="string",
            type="string",
        )],
        min_size=0,
        name="string",
        network_interfaces=[spotinst.gke.ElastigroupNetworkInterfaceArgs(
            network="string",
            access_configs=[spotinst.gke.ElastigroupNetworkInterfaceAccessConfigArgs(
                name="string",
                type="string",
            )],
            alias_ip_ranges=[spotinst.gke.ElastigroupNetworkInterfaceAliasIpRangeArgs(
                ip_cidr_range="string",
                subnetwork_range_name="string",
            )],
        )],
        node_image="string",
        ondemand_count=0,
        optimization_windows=["string"],
        preemptible_percentage=0,
        provisioning_model="string",
        revert_to_preemptibles=[spotinst.gke.ElastigroupRevertToPreemptibleArgs(
            perform_at="string",
        )],
        scaling_down_policies=[spotinst.gke.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.gke.ElastigroupScalingDownPolicyDimensionArgs(
                name="string",
                value="string",
            )],
            cooldown=0,
        )],
        scaling_up_policies=[spotinst.gke.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.gke.ElastigroupScalingUpPolicyDimensionArgs(
                name="string",
                value="string",
            )],
            cooldown=0,
        )],
        service_account="string",
        shutdown_script="string",
        startup_script="string",
        metadatas=[spotinst.gke.ElastigroupMetadataArgs(
            key="string",
            value="string",
        )])
    
    const exampleelastigroupResourceResourceFromGkeelastigroup = new spotinst.gke.Elastigroup("exampleelastigroupResourceResourceFromGkeelastigroup", {
        clusterZoneName: "string",
        desiredCapacity: 0,
        maxSize: 0,
        tags: ["string"],
        backendServices: [{
            serviceName: "string",
            locationType: "string",
            namedPorts: [{
                name: "string",
                ports: ["string"],
            }],
            scheme: "string",
        }],
        drainingTimeout: 0,
        fallbackToOndemand: false,
        gpu: [{
            count: 0,
            type: "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",
        }],
        disks: [{
            autoDelete: false,
            boot: false,
            deviceName: "string",
            initializeParams: [{
                sourceImage: "string",
                diskSizeGb: "string",
                diskType: "string",
            }],
            "interface": "string",
            mode: "string",
            source: "string",
            type: "string",
        }],
        minSize: 0,
        name: "string",
        networkInterfaces: [{
            network: "string",
            accessConfigs: [{
                name: "string",
                type: "string",
            }],
            aliasIpRanges: [{
                ipCidrRange: "string",
                subnetworkRangeName: "string",
            }],
        }],
        nodeImage: "string",
        ondemandCount: 0,
        optimizationWindows: ["string"],
        preemptiblePercentage: 0,
        provisioningModel: "string",
        revertToPreemptibles: [{
            performAt: "string",
        }],
        scalingDownPolicies: [{
            policyName: "string",
            metricName: "string",
            unit: "string",
            threshold: 0,
            namespace: "string",
            evaluationPeriods: 0,
            adjustment: 0,
            operator: "string",
            source: "string",
            actionType: "string",
            period: 0,
            statistic: "string",
            dimensions: [{
                name: "string",
                value: "string",
            }],
            cooldown: 0,
        }],
        scalingUpPolicies: [{
            policyName: "string",
            metricName: "string",
            unit: "string",
            threshold: 0,
            namespace: "string",
            evaluationPeriods: 0,
            adjustment: 0,
            operator: "string",
            source: "string",
            actionType: "string",
            period: 0,
            statistic: "string",
            dimensions: [{
                name: "string",
                value: "string",
            }],
            cooldown: 0,
        }],
        serviceAccount: "string",
        shutdownScript: "string",
        startupScript: "string",
        metadatas: [{
            key: "string",
            value: "string",
        }],
    });
    
    type: spotinst:gke:Elastigroup
    properties:
        backendServices:
            - locationType: string
              namedPorts:
                - name: string
                  ports:
                    - string
              scheme: string
              serviceName: string
        clusterZoneName: 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
        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
        nodeImage: string
        ondemandCount: 0
        optimizationWindows:
            - string
        preemptiblePercentage: 0
        provisioningModel: string
        revertToPreemptibles:
            - performAt: string
        scalingDownPolicies:
            - actionType: string
              adjustment: 0
              cooldown: 0
              dimensions:
                - name: string
                  value: string
              evaluationPeriods: 0
              metricName: string
              namespace: string
              operator: string
              period: 0
              policyName: string
              source: string
              statistic: string
              threshold: 0
              unit: string
        scalingUpPolicies:
            - actionType: string
              adjustment: 0
              cooldown: 0
              dimensions:
                - name: string
                  value: string
              evaluationPeriods: 0
              metricName: string
              namespace: string
              operator: string
              period: 0
              policyName: string
              source: string
              statistic: string
              threshold: 0
              unit: string
        serviceAccount: string
        shutdownScript: string
        startupScript: string
        tags:
            - string
    

    Elastigroup Resource Properties

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

    Inputs

    The Elastigroup resource accepts the following input properties:

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

    Deprecated: Please define cluster_id under integration_gke

    Disks List<Pulumi.SpotInst.Gke.Inputs.ElastigroupDisk>
    DrainingTimeout int
    FallbackToOndemand bool
    Gpu List<Pulumi.SpotInst.Gke.Inputs.ElastigroupGpu>
    InstanceNamePrefix string
    InstanceTypesCustoms List<Pulumi.SpotInst.Gke.Inputs.ElastigroupInstanceTypesCustom>
    InstanceTypesOndemand string
    InstanceTypesPreemptibles List<string>
    IntegrationDockerSwarm Pulumi.SpotInst.Gke.Inputs.ElastigroupIntegrationDockerSwarm
    IntegrationGke Pulumi.SpotInst.Gke.Inputs.ElastigroupIntegrationGke
    IpForwarding bool
    Labels List<Pulumi.SpotInst.Gke.Inputs.ElastigroupLabel>
    MaxSize int
    Metadatas List<Pulumi.SpotInst.Gke.Inputs.ElastigroupMetadata>
    MinSize int
    Name string
    NetworkInterfaces List<Pulumi.SpotInst.Gke.Inputs.ElastigroupNetworkInterface>
    NodeImage string
    OndemandCount int
    OptimizationWindows List<string>
    PreemptiblePercentage int
    ProvisioningModel string
    RevertToPreemptibles List<Pulumi.SpotInst.Gke.Inputs.ElastigroupRevertToPreemptible>
    ScalingDownPolicies List<Pulumi.SpotInst.Gke.Inputs.ElastigroupScalingDownPolicy>
    ScalingUpPolicies List<Pulumi.SpotInst.Gke.Inputs.ElastigroupScalingUpPolicy>
    ServiceAccount string
    ShutdownScript string
    StartupScript string
    Tags List<string>
    ClusterZoneName string
    DesiredCapacity int
    BackendServices []ElastigroupBackendServiceArgs
    ClusterId string

    Deprecated: Please define cluster_id under integration_gke

    Disks []ElastigroupDiskArgs
    DrainingTimeout int
    FallbackToOndemand bool
    Gpu []ElastigroupGpuArgs
    InstanceNamePrefix string
    InstanceTypesCustoms []ElastigroupInstanceTypesCustomArgs
    InstanceTypesOndemand string
    InstanceTypesPreemptibles []string
    IntegrationDockerSwarm ElastigroupIntegrationDockerSwarmArgs
    IntegrationGke ElastigroupIntegrationGkeArgs
    IpForwarding bool
    Labels []ElastigroupLabelArgs
    MaxSize int
    Metadatas []ElastigroupMetadataArgs
    MinSize int
    Name string
    NetworkInterfaces []ElastigroupNetworkInterfaceArgs
    NodeImage string
    OndemandCount int
    OptimizationWindows []string
    PreemptiblePercentage int
    ProvisioningModel string
    RevertToPreemptibles []ElastigroupRevertToPreemptibleArgs
    ScalingDownPolicies []ElastigroupScalingDownPolicyArgs
    ScalingUpPolicies []ElastigroupScalingUpPolicyArgs
    ServiceAccount string
    ShutdownScript string
    StartupScript string
    Tags []string
    clusterZoneName String
    desiredCapacity Integer
    backendServices List<ElastigroupBackendService>
    clusterId String

    Deprecated: Please define cluster_id under integration_gke

    disks List<ElastigroupDisk>
    drainingTimeout Integer
    fallbackToOndemand Boolean
    gpu List<ElastigroupGpu>
    instanceNamePrefix String
    instanceTypesCustoms List<ElastigroupInstanceTypesCustom>
    instanceTypesOndemand String
    instanceTypesPreemptibles List<String>
    integrationDockerSwarm ElastigroupIntegrationDockerSwarm
    integrationGke ElastigroupIntegrationGke
    ipForwarding Boolean
    labels List<ElastigroupLabel>
    maxSize Integer
    metadatas List<ElastigroupMetadata>
    minSize Integer
    name String
    networkInterfaces List<ElastigroupNetworkInterface>
    nodeImage String
    ondemandCount Integer
    optimizationWindows List<String>
    preemptiblePercentage Integer
    provisioningModel String
    revertToPreemptibles List<ElastigroupRevertToPreemptible>
    scalingDownPolicies List<ElastigroupScalingDownPolicy>
    scalingUpPolicies List<ElastigroupScalingUpPolicy>
    serviceAccount String
    shutdownScript String
    startupScript String
    tags List<String>
    clusterZoneName string
    desiredCapacity number
    backendServices ElastigroupBackendService[]
    clusterId string

    Deprecated: Please define cluster_id under integration_gke

    disks ElastigroupDisk[]
    drainingTimeout number
    fallbackToOndemand boolean
    gpu ElastigroupGpu[]
    instanceNamePrefix string
    instanceTypesCustoms ElastigroupInstanceTypesCustom[]
    instanceTypesOndemand string
    instanceTypesPreemptibles string[]
    integrationDockerSwarm ElastigroupIntegrationDockerSwarm
    integrationGke ElastigroupIntegrationGke
    ipForwarding boolean
    labels ElastigroupLabel[]
    maxSize number
    metadatas ElastigroupMetadata[]
    minSize number
    name string
    networkInterfaces ElastigroupNetworkInterface[]
    nodeImage string
    ondemandCount number
    optimizationWindows string[]
    preemptiblePercentage number
    provisioningModel string
    revertToPreemptibles ElastigroupRevertToPreemptible[]
    scalingDownPolicies ElastigroupScalingDownPolicy[]
    scalingUpPolicies ElastigroupScalingUpPolicy[]
    serviceAccount string
    shutdownScript string
    startupScript string
    tags string[]
    cluster_zone_name str
    desired_capacity int
    backend_services Sequence[ElastigroupBackendServiceArgs]
    cluster_id str

    Deprecated: Please define cluster_id under integration_gke

    disks Sequence[ElastigroupDiskArgs]
    draining_timeout int
    fallback_to_ondemand bool
    gpu Sequence[ElastigroupGpuArgs]
    instance_name_prefix str
    instance_types_customs Sequence[ElastigroupInstanceTypesCustomArgs]
    instance_types_ondemand str
    instance_types_preemptibles Sequence[str]
    integration_docker_swarm ElastigroupIntegrationDockerSwarmArgs
    integration_gke ElastigroupIntegrationGkeArgs
    ip_forwarding bool
    labels Sequence[ElastigroupLabelArgs]
    max_size int
    metadatas Sequence[ElastigroupMetadataArgs]
    min_size int
    name str
    network_interfaces Sequence[ElastigroupNetworkInterfaceArgs]
    node_image str
    ondemand_count int
    optimization_windows Sequence[str]
    preemptible_percentage int
    provisioning_model str
    revert_to_preemptibles Sequence[ElastigroupRevertToPreemptibleArgs]
    scaling_down_policies Sequence[ElastigroupScalingDownPolicyArgs]
    scaling_up_policies Sequence[ElastigroupScalingUpPolicyArgs]
    service_account str
    shutdown_script str
    startup_script str
    tags Sequence[str]
    clusterZoneName String
    desiredCapacity Number
    backendServices List<Property Map>
    clusterId String

    Deprecated: Please define cluster_id under integration_gke

    disks List<Property Map>
    drainingTimeout Number
    fallbackToOndemand Boolean
    gpu List<Property Map>
    instanceNamePrefix String
    instanceTypesCustoms List<Property Map>
    instanceTypesOndemand String
    instanceTypesPreemptibles List<String>
    integrationDockerSwarm Property Map
    integrationGke Property Map
    ipForwarding Boolean
    labels List<Property Map>
    maxSize Number
    metadatas List<Property Map>
    minSize Number
    name String
    networkInterfaces List<Property Map>
    nodeImage String
    ondemandCount Number
    optimizationWindows List<String>
    preemptiblePercentage Number
    provisioningModel String
    revertToPreemptibles List<Property Map>
    scalingDownPolicies List<Property Map>
    scalingUpPolicies List<Property Map>
    serviceAccount String
    shutdownScript String
    startupScript String
    tags List<String>

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing Elastigroup Resource

    Get an existing Elastigroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ElastigroupState, opts?: CustomResourceOptions): Elastigroup
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            backend_services: Optional[Sequence[ElastigroupBackendServiceArgs]] = None,
            cluster_id: Optional[str] = None,
            cluster_zone_name: Optional[str] = None,
            desired_capacity: Optional[int] = None,
            disks: Optional[Sequence[ElastigroupDiskArgs]] = None,
            draining_timeout: Optional[int] = None,
            fallback_to_ondemand: Optional[bool] = None,
            gpu: Optional[Sequence[ElastigroupGpuArgs]] = None,
            instance_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,
            node_image: Optional[str] = None,
            ondemand_count: Optional[int] = None,
            optimization_windows: Optional[Sequence[str]] = None,
            preemptible_percentage: Optional[int] = None,
            provisioning_model: Optional[str] = None,
            revert_to_preemptibles: Optional[Sequence[ElastigroupRevertToPreemptibleArgs]] = None,
            scaling_down_policies: Optional[Sequence[ElastigroupScalingDownPolicyArgs]] = None,
            scaling_up_policies: Optional[Sequence[ElastigroupScalingUpPolicyArgs]] = None,
            service_account: Optional[str] = None,
            shutdown_script: Optional[str] = None,
            startup_script: Optional[str] = None,
            tags: Optional[Sequence[str]] = None) -> Elastigroup
    func GetElastigroup(ctx *Context, name string, id IDInput, state *ElastigroupState, opts ...ResourceOption) (*Elastigroup, error)
    public static Elastigroup Get(string name, Input<string> id, ElastigroupState? state, CustomResourceOptions? opts = null)
    public static Elastigroup get(String name, Output<String> id, ElastigroupState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    BackendServices List<Pulumi.SpotInst.Gke.Inputs.ElastigroupBackendService>
    ClusterId string

    Deprecated: Please define cluster_id under integration_gke

    ClusterZoneName string
    DesiredCapacity int
    Disks List<Pulumi.SpotInst.Gke.Inputs.ElastigroupDisk>
    DrainingTimeout int
    FallbackToOndemand bool
    Gpu List<Pulumi.SpotInst.Gke.Inputs.ElastigroupGpu>
    InstanceNamePrefix string
    InstanceTypesCustoms List<Pulumi.SpotInst.Gke.Inputs.ElastigroupInstanceTypesCustom>
    InstanceTypesOndemand string
    InstanceTypesPreemptibles List<string>
    IntegrationDockerSwarm Pulumi.SpotInst.Gke.Inputs.ElastigroupIntegrationDockerSwarm
    IntegrationGke Pulumi.SpotInst.Gke.Inputs.ElastigroupIntegrationGke
    IpForwarding bool
    Labels List<Pulumi.SpotInst.Gke.Inputs.ElastigroupLabel>
    MaxSize int
    Metadatas List<Pulumi.SpotInst.Gke.Inputs.ElastigroupMetadata>
    MinSize int
    Name string
    NetworkInterfaces List<Pulumi.SpotInst.Gke.Inputs.ElastigroupNetworkInterface>
    NodeImage string
    OndemandCount int
    OptimizationWindows List<string>
    PreemptiblePercentage int
    ProvisioningModel string
    RevertToPreemptibles List<Pulumi.SpotInst.Gke.Inputs.ElastigroupRevertToPreemptible>
    ScalingDownPolicies List<Pulumi.SpotInst.Gke.Inputs.ElastigroupScalingDownPolicy>
    ScalingUpPolicies List<Pulumi.SpotInst.Gke.Inputs.ElastigroupScalingUpPolicy>
    ServiceAccount string
    ShutdownScript string
    StartupScript string
    Tags List<string>
    BackendServices []ElastigroupBackendServiceArgs
    ClusterId string

    Deprecated: Please define cluster_id under integration_gke

    ClusterZoneName string
    DesiredCapacity int
    Disks []ElastigroupDiskArgs
    DrainingTimeout int
    FallbackToOndemand bool
    Gpu []ElastigroupGpuArgs
    InstanceNamePrefix string
    InstanceTypesCustoms []ElastigroupInstanceTypesCustomArgs
    InstanceTypesOndemand string
    InstanceTypesPreemptibles []string
    IntegrationDockerSwarm ElastigroupIntegrationDockerSwarmArgs
    IntegrationGke ElastigroupIntegrationGkeArgs
    IpForwarding bool
    Labels []ElastigroupLabelArgs
    MaxSize int
    Metadatas []ElastigroupMetadataArgs
    MinSize int
    Name string
    NetworkInterfaces []ElastigroupNetworkInterfaceArgs
    NodeImage string
    OndemandCount int
    OptimizationWindows []string
    PreemptiblePercentage int
    ProvisioningModel string
    RevertToPreemptibles []ElastigroupRevertToPreemptibleArgs
    ScalingDownPolicies []ElastigroupScalingDownPolicyArgs
    ScalingUpPolicies []ElastigroupScalingUpPolicyArgs
    ServiceAccount string
    ShutdownScript string
    StartupScript string
    Tags []string
    backendServices List<ElastigroupBackendService>
    clusterId String

    Deprecated: Please define cluster_id under integration_gke

    clusterZoneName String
    desiredCapacity Integer
    disks List<ElastigroupDisk>
    drainingTimeout Integer
    fallbackToOndemand Boolean
    gpu List<ElastigroupGpu>
    instanceNamePrefix String
    instanceTypesCustoms List<ElastigroupInstanceTypesCustom>
    instanceTypesOndemand String
    instanceTypesPreemptibles List<String>
    integrationDockerSwarm ElastigroupIntegrationDockerSwarm
    integrationGke ElastigroupIntegrationGke
    ipForwarding Boolean
    labels List<ElastigroupLabel>
    maxSize Integer
    metadatas List<ElastigroupMetadata>
    minSize Integer
    name String
    networkInterfaces List<ElastigroupNetworkInterface>
    nodeImage String
    ondemandCount Integer
    optimizationWindows List<String>
    preemptiblePercentage Integer
    provisioningModel String
    revertToPreemptibles List<ElastigroupRevertToPreemptible>
    scalingDownPolicies List<ElastigroupScalingDownPolicy>
    scalingUpPolicies List<ElastigroupScalingUpPolicy>
    serviceAccount String
    shutdownScript String
    startupScript String
    tags List<String>
    backendServices ElastigroupBackendService[]
    clusterId string

    Deprecated: Please define cluster_id under integration_gke

    clusterZoneName string
    desiredCapacity number
    disks ElastigroupDisk[]
    drainingTimeout number
    fallbackToOndemand boolean
    gpu ElastigroupGpu[]
    instanceNamePrefix string
    instanceTypesCustoms ElastigroupInstanceTypesCustom[]
    instanceTypesOndemand string
    instanceTypesPreemptibles string[]
    integrationDockerSwarm ElastigroupIntegrationDockerSwarm
    integrationGke ElastigroupIntegrationGke
    ipForwarding boolean
    labels ElastigroupLabel[]
    maxSize number
    metadatas ElastigroupMetadata[]
    minSize number
    name string
    networkInterfaces ElastigroupNetworkInterface[]
    nodeImage string
    ondemandCount number
    optimizationWindows string[]
    preemptiblePercentage number
    provisioningModel string
    revertToPreemptibles ElastigroupRevertToPreemptible[]
    scalingDownPolicies ElastigroupScalingDownPolicy[]
    scalingUpPolicies ElastigroupScalingUpPolicy[]
    serviceAccount string
    shutdownScript string
    startupScript string
    tags string[]
    backend_services Sequence[ElastigroupBackendServiceArgs]
    cluster_id str

    Deprecated: Please define cluster_id under integration_gke

    cluster_zone_name str
    desired_capacity int
    disks Sequence[ElastigroupDiskArgs]
    draining_timeout int
    fallback_to_ondemand bool
    gpu Sequence[ElastigroupGpuArgs]
    instance_name_prefix str
    instance_types_customs Sequence[ElastigroupInstanceTypesCustomArgs]
    instance_types_ondemand str
    instance_types_preemptibles Sequence[str]
    integration_docker_swarm ElastigroupIntegrationDockerSwarmArgs
    integration_gke ElastigroupIntegrationGkeArgs
    ip_forwarding bool
    labels Sequence[ElastigroupLabelArgs]
    max_size int
    metadatas Sequence[ElastigroupMetadataArgs]
    min_size int
    name str
    network_interfaces Sequence[ElastigroupNetworkInterfaceArgs]
    node_image str
    ondemand_count int
    optimization_windows Sequence[str]
    preemptible_percentage int
    provisioning_model str
    revert_to_preemptibles Sequence[ElastigroupRevertToPreemptibleArgs]
    scaling_down_policies Sequence[ElastigroupScalingDownPolicyArgs]
    scaling_up_policies Sequence[ElastigroupScalingUpPolicyArgs]
    service_account str
    shutdown_script str
    startup_script str
    tags Sequence[str]
    backendServices List<Property Map>
    clusterId String

    Deprecated: Please define cluster_id under integration_gke

    clusterZoneName String
    desiredCapacity Number
    disks List<Property Map>
    drainingTimeout Number
    fallbackToOndemand Boolean
    gpu List<Property Map>
    instanceNamePrefix String
    instanceTypesCustoms List<Property Map>
    instanceTypesOndemand String
    instanceTypesPreemptibles List<String>
    integrationDockerSwarm Property Map
    integrationGke Property Map
    ipForwarding Boolean
    labels List<Property Map>
    maxSize Number
    metadatas List<Property Map>
    minSize Number
    name String
    networkInterfaces List<Property Map>
    nodeImage String
    ondemandCount Number
    optimizationWindows List<String>
    preemptiblePercentage Number
    provisioningModel String
    revertToPreemptibles List<Property Map>
    scalingDownPolicies List<Property Map>
    scalingUpPolicies List<Property Map>
    serviceAccount String
    shutdownScript String
    startupScript String
    tags List<String>

    Supporting Types

    ElastigroupBackendService, ElastigroupBackendServiceArgs

    ElastigroupBackendServiceNamedPort, ElastigroupBackendServiceNamedPortArgs

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

    ElastigroupDisk, ElastigroupDiskArgs

    ElastigroupDiskInitializeParam, ElastigroupDiskInitializeParamArgs

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

    ElastigroupGpu, ElastigroupGpuArgs

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

    ElastigroupInstanceTypesCustom, ElastigroupInstanceTypesCustomArgs

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

    ElastigroupIntegrationDockerSwarm, ElastigroupIntegrationDockerSwarmArgs

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

    ElastigroupIntegrationGke, ElastigroupIntegrationGkeArgs

    AutoUpdate bool
    AutoscaleCooldown int
    The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.
    AutoscaleDown Pulumi.SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleDown
    Enabling scale down.
    AutoscaleHeadroom Pulumi.SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleHeadroom
    Headroom for the cluster.
    AutoscaleIsAutoConfig bool
    AutoscaleIsEnabled bool
    Specifies whether the auto scaling feature is enabled.
    AutoscaleLabels List<Pulumi.SpotInst.Gke.Inputs.ElastigroupIntegrationGkeAutoscaleLabel>
    Labels to assign to the resource.
    ClusterId string
    Location string
    The location of your GKE cluster.
    AutoUpdate bool
    AutoscaleCooldown int
    The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.
    AutoscaleDown ElastigroupIntegrationGkeAutoscaleDown
    Enabling scale down.
    AutoscaleHeadroom ElastigroupIntegrationGkeAutoscaleHeadroom
    Headroom for the cluster.
    AutoscaleIsAutoConfig bool
    AutoscaleIsEnabled bool
    Specifies whether the auto scaling feature is enabled.
    AutoscaleLabels []ElastigroupIntegrationGkeAutoscaleLabel
    Labels to assign to the resource.
    ClusterId string
    Location string
    The location of your GKE cluster.
    autoUpdate Boolean
    autoscaleCooldown Integer
    The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.
    autoscaleDown ElastigroupIntegrationGkeAutoscaleDown
    Enabling scale down.
    autoscaleHeadroom ElastigroupIntegrationGkeAutoscaleHeadroom
    Headroom for the cluster.
    autoscaleIsAutoConfig Boolean
    autoscaleIsEnabled Boolean
    Specifies whether the auto scaling feature is enabled.
    autoscaleLabels List<ElastigroupIntegrationGkeAutoscaleLabel>
    Labels to assign to the resource.
    clusterId String
    location String
    The location of your GKE cluster.
    autoUpdate boolean
    autoscaleCooldown number
    The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.
    autoscaleDown ElastigroupIntegrationGkeAutoscaleDown
    Enabling scale down.
    autoscaleHeadroom ElastigroupIntegrationGkeAutoscaleHeadroom
    Headroom for the cluster.
    autoscaleIsAutoConfig boolean
    autoscaleIsEnabled boolean
    Specifies whether the auto scaling feature is enabled.
    autoscaleLabels ElastigroupIntegrationGkeAutoscaleLabel[]
    Labels to assign to the resource.
    clusterId string
    location string
    The location of your GKE cluster.
    auto_update bool
    autoscale_cooldown int
    The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.
    autoscale_down ElastigroupIntegrationGkeAutoscaleDown
    Enabling scale down.
    autoscale_headroom ElastigroupIntegrationGkeAutoscaleHeadroom
    Headroom for the cluster.
    autoscale_is_auto_config bool
    autoscale_is_enabled bool
    Specifies whether the auto scaling feature is enabled.
    autoscale_labels Sequence[ElastigroupIntegrationGkeAutoscaleLabel]
    Labels to assign to the resource.
    cluster_id str
    location str
    The location of your GKE cluster.
    autoUpdate Boolean
    autoscaleCooldown Number
    The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.
    autoscaleDown Property Map
    Enabling scale down.
    autoscaleHeadroom Property Map
    Headroom for the cluster.
    autoscaleIsAutoConfig Boolean
    autoscaleIsEnabled Boolean
    Specifies whether the auto scaling feature is enabled.
    autoscaleLabels List<Property Map>
    Labels to assign to the resource.
    clusterId String
    location String
    The location of your GKE cluster.

    ElastigroupIntegrationGkeAutoscaleDown, ElastigroupIntegrationGkeAutoscaleDownArgs

    EvaluationPeriods int
    Amount of cooldown evaluation periods for scale down.
    EvaluationPeriods int
    Amount of cooldown evaluation periods for scale down.
    evaluationPeriods Integer
    Amount of cooldown evaluation periods for scale down.
    evaluationPeriods number
    Amount of cooldown evaluation periods for scale down.
    evaluation_periods int
    Amount of cooldown evaluation periods for scale down.
    evaluationPeriods Number
    Amount of cooldown evaluation periods for scale down.

    ElastigroupIntegrationGkeAutoscaleHeadroom, ElastigroupIntegrationGkeAutoscaleHeadroomArgs

    CpuPerUnit int
    Cpu units for compute.
    MemoryPerUnit int
    RAM units for compute.
    NumOfUnits int
    Amount of units for compute.
    CpuPerUnit int
    Cpu units for compute.
    MemoryPerUnit int
    RAM units for compute.
    NumOfUnits int
    Amount of units for compute.
    cpuPerUnit Integer
    Cpu units for compute.
    memoryPerUnit Integer
    RAM units for compute.
    numOfUnits Integer
    Amount of units for compute.
    cpuPerUnit number
    Cpu units for compute.
    memoryPerUnit number
    RAM units for compute.
    numOfUnits number
    Amount of units for compute.
    cpu_per_unit int
    Cpu units for compute.
    memory_per_unit int
    RAM units for compute.
    num_of_units int
    Amount of units for compute.
    cpuPerUnit Number
    Cpu units for compute.
    memoryPerUnit Number
    RAM units for compute.
    numOfUnits Number
    Amount of units for compute.

    ElastigroupIntegrationGkeAutoscaleLabel, ElastigroupIntegrationGkeAutoscaleLabelArgs

    Key string
    Value string
    Key string
    Value string
    key String
    value String
    key string
    value string
    key str
    value str
    key String
    value String

    ElastigroupLabel, ElastigroupLabelArgs

    Key string
    Value string
    Key string
    Value string
    key String
    value String
    key string
    value string
    key str
    value str
    key String
    value String

    ElastigroupMetadata, ElastigroupMetadataArgs

    Key string
    Value string
    Key string
    Value string
    key String
    value String
    key string
    value string
    key str
    value str
    key String
    value String

    ElastigroupNetworkInterface, ElastigroupNetworkInterfaceArgs

    ElastigroupNetworkInterfaceAccessConfig, ElastigroupNetworkInterfaceAccessConfigArgs

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

    ElastigroupNetworkInterfaceAliasIpRange, ElastigroupNetworkInterfaceAliasIpRangeArgs

    ElastigroupRevertToPreemptible, ElastigroupRevertToPreemptibleArgs

    PerformAt string
    PerformAt string
    performAt String
    performAt string
    performAt String

    ElastigroupScalingDownPolicy, ElastigroupScalingDownPolicyArgs

    MetricName string
    Namespace string
    PolicyName string
    Threshold double
    Unit string
    ActionType string
    Adjustment int
    Cooldown int
    Dimensions List<Pulumi.SpotInst.Gke.Inputs.ElastigroupScalingDownPolicyDimension>
    EvaluationPeriods int
    Amount of cooldown evaluation periods for scale down.
    Operator string
    Period int
    Source string
    Statistic string
    MetricName string
    Namespace string
    PolicyName string
    Threshold float64
    Unit string
    ActionType string
    Adjustment int
    Cooldown int
    Dimensions []ElastigroupScalingDownPolicyDimension
    EvaluationPeriods int
    Amount of cooldown evaluation periods for scale down.
    Operator string
    Period int
    Source string
    Statistic string
    metricName String
    namespace String
    policyName String
    threshold Double
    unit String
    actionType String
    adjustment Integer
    cooldown Integer
    dimensions List<ElastigroupScalingDownPolicyDimension>
    evaluationPeriods Integer
    Amount of cooldown evaluation periods for scale down.
    operator String
    period Integer
    source String
    statistic String
    metricName string
    namespace string
    policyName string
    threshold number
    unit string
    actionType string
    adjustment number
    cooldown number
    dimensions ElastigroupScalingDownPolicyDimension[]
    evaluationPeriods number
    Amount of cooldown evaluation periods for scale down.
    operator string
    period number
    source string
    statistic string
    metricName String
    namespace String
    policyName String
    threshold Number
    unit String
    actionType String
    adjustment Number
    cooldown Number
    dimensions List<Property Map>
    evaluationPeriods Number
    Amount of cooldown evaluation periods for scale down.
    operator String
    period Number
    source String
    statistic String

    ElastigroupScalingDownPolicyDimension, ElastigroupScalingDownPolicyDimensionArgs

    Name string
    Value string
    Name string
    Value string
    name String
    value String
    name string
    value string
    name str
    value str
    name String
    value String

    ElastigroupScalingUpPolicy, ElastigroupScalingUpPolicyArgs

    MetricName string
    Namespace string
    PolicyName string
    Threshold double
    Unit string
    ActionType string
    Adjustment int
    Cooldown int
    Dimensions List<Pulumi.SpotInst.Gke.Inputs.ElastigroupScalingUpPolicyDimension>
    EvaluationPeriods int
    Amount of cooldown evaluation periods for scale down.
    Operator string
    Period int
    Source string
    Statistic string
    MetricName string
    Namespace string
    PolicyName string
    Threshold float64
    Unit string
    ActionType string
    Adjustment int
    Cooldown int
    Dimensions []ElastigroupScalingUpPolicyDimension
    EvaluationPeriods int
    Amount of cooldown evaluation periods for scale down.
    Operator string
    Period int
    Source string
    Statistic string
    metricName String
    namespace String
    policyName String
    threshold Double
    unit String
    actionType String
    adjustment Integer
    cooldown Integer
    dimensions List<ElastigroupScalingUpPolicyDimension>
    evaluationPeriods Integer
    Amount of cooldown evaluation periods for scale down.
    operator String
    period Integer
    source String
    statistic String
    metricName string
    namespace string
    policyName string
    threshold number
    unit string
    actionType string
    adjustment number
    cooldown number
    dimensions ElastigroupScalingUpPolicyDimension[]
    evaluationPeriods number
    Amount of cooldown evaluation periods for scale down.
    operator string
    period number
    source string
    statistic string
    metricName String
    namespace String
    policyName String
    threshold Number
    unit String
    actionType String
    adjustment Number
    cooldown Number
    dimensions List<Property Map>
    evaluationPeriods Number
    Amount of cooldown evaluation periods for scale down.
    operator String
    period Number
    source String
    statistic String

    ElastigroupScalingUpPolicyDimension, ElastigroupScalingUpPolicyDimensionArgs

    Name string
    Value string
    Name string
    Value string
    name String
    value String
    name string
    value string
    name str
    value str
    name String
    value String

    Package Details

    Repository
    Spotinst pulumi/pulumi-spotinst
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the spotinst Terraform Provider.
    spotinst logo
    Spotinst v3.94.0 published on Friday, Sep 20, 2024 by Pulumi