1. Packages
  2. Spotinst
  3. API Docs
  4. gke
  5. Elastigroup
Spotinst v3.76.0 published on Wednesday, Apr 24, 2024 by Pulumi

spotinst.gke.Elastigroup

Explore with Pulumi AI

spotinst logo
Spotinst v3.76.0 published on Wednesday, Apr 24, 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=spotinst.gke.ElastigroupIntegrationGkeArgs(
            location="us-central1-a",
            cluster_id="example-cluster-id",
            autoscale_is_enabled=True,
            autoscale_is_auto_config=False,
            autoscale_cooldown=300,
            autoscale_headroom=spotinst.gke.ElastigroupIntegrationGkeAutoscaleHeadroomArgs(
                cpu_per_unit=1024,
                memory_per_unit=512,
                num_of_units=2,
            ),
            autoscale_down=spotinst.gke.ElastigroupIntegrationGkeAutoscaleDownArgs(
                evaluation_periods=300,
            ),
            autoscale_labels=[spotinst.gke.ElastigroupIntegrationGkeAutoscaleLabelArgs(
                key="label_key",
                value="label_value",
            )],
        ),
        backend_services=[spotinst.gke.ElastigroupBackendServiceArgs(
            service_name="backend-service",
            location_type="global",
            named_ports=[spotinst.gke.ElastigroupBackendServiceNamedPortArgs(
                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,
                    ip_forwarding: Optional[bool] = None,
                    fallback_to_ondemand: Optional[bool] = None,
                    max_size: Optional[int] = None,
                    draining_timeout: Optional[int] = None,
                    metadatas: Optional[Sequence[ElastigroupMetadataArgs]] = 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,
                    min_size: Optional[int] = None,
                    backend_services: Optional[Sequence[ElastigroupBackendServiceArgs]] = None,
                    labels: Optional[Sequence[ElastigroupLabelArgs]] = None,
                    disks: Optional[Sequence[ElastigroupDiskArgs]] = None,
                    cluster_id: Optional[str] = None,
                    integration_gke: Optional[ElastigroupIntegrationGkeArgs] = None,
                    name: Optional[str] = None,
                    network_interfaces: Optional[Sequence[ElastigroupNetworkInterfaceArgs]] = None,
                    node_image: Optional[str] = None,
                    ondemand_count: Optional[int] = None,
                    preemptible_percentage: Optional[int] = None,
                    provisioning_model: Optional[str] = None,
                    scaling_down_policies: Optional[Sequence[ElastigroupScalingDownPolicyArgs]] = None,
                    scaling_up_policies: Optional[Sequence[ElastigroupScalingUpPolicyArgs]] = None,
                    service_account: Optional[str] = None,
                    shutdown_script: Optional[str] = None,
                    startup_script: Optional[str] = None,
                    tags: Optional[Sequence[str]] = None)
    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.

    Example

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

    var exampleelastigroupResourceResourceFromGkeelastigroup = new SpotInst.Gke.Elastigroup("exampleelastigroupResourceResourceFromGkeelastigroup", new()
    {
        ClusterZoneName = "string",
        DesiredCapacity = 0,
        IpForwarding = false,
        FallbackToOndemand = false,
        MaxSize = 0,
        DrainingTimeout = 0,
        Metadatas = new[]
        {
            new SpotInst.Gke.Inputs.ElastigroupMetadataArgs
            {
                Key = "string",
                Value = "string",
            },
        },
        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,
        },
        MinSize = 0,
        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",
            },
        },
        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",
            },
        },
        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",
        },
        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,
        PreemptiblePercentage = 0,
        ProvisioningModel = "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",
        Tags = new[]
        {
            "string",
        },
    });
    
    example, err := gke.NewElastigroup(ctx, "exampleelastigroupResourceResourceFromGkeelastigroup", &gke.ElastigroupArgs{
    	ClusterZoneName:    pulumi.String("string"),
    	DesiredCapacity:    pulumi.Int(0),
    	IpForwarding:       pulumi.Bool(false),
    	FallbackToOndemand: pulumi.Bool(false),
    	MaxSize:            pulumi.Int(0),
    	DrainingTimeout:    pulumi.Int(0),
    	Metadatas: gke.ElastigroupMetadataArray{
    		&gke.ElastigroupMetadataArgs{
    			Key:   pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    	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),
    	},
    	MinSize: pulumi.Int(0),
    	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"),
    		},
    	},
    	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"),
    		},
    	},
    	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"),
    	},
    	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),
    	PreemptiblePercentage: pulumi.Int(0),
    	ProvisioningModel:     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"),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var exampleelastigroupResourceResourceFromGkeelastigroup = new Elastigroup("exampleelastigroupResourceResourceFromGkeelastigroup", ElastigroupArgs.builder()        
        .clusterZoneName("string")
        .desiredCapacity(0)
        .ipForwarding(false)
        .fallbackToOndemand(false)
        .maxSize(0)
        .drainingTimeout(0)
        .metadatas(ElastigroupMetadataArgs.builder()
            .key("string")
            .value("string")
            .build())
        .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())
        .minSize(0)
        .backendServices(ElastigroupBackendServiceArgs.builder()
            .serviceName("string")
            .locationType("string")
            .namedPorts(ElastigroupBackendServiceNamedPortArgs.builder()
                .name("string")
                .ports("string")
                .build())
            .scheme("string")
            .build())
        .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())
        .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())
        .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)
        .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())
        .serviceAccount("string")
        .shutdownScript("string")
        .startupScript("string")
        .tags("string")
        .build());
    
    exampleelastigroup_resource_resource_from_gkeelastigroup = spotinst.gke.Elastigroup("exampleelastigroupResourceResourceFromGkeelastigroup",
        cluster_zone_name="string",
        desired_capacity=0,
        ip_forwarding=False,
        fallback_to_ondemand=False,
        max_size=0,
        draining_timeout=0,
        metadatas=[spotinst.gke.ElastigroupMetadataArgs(
            key="string",
            value="string",
        )],
        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,
        ),
        min_size=0,
        backend_services=[spotinst.gke.ElastigroupBackendServiceArgs(
            service_name="string",
            location_type="string",
            named_ports=[spotinst.gke.ElastigroupBackendServiceNamedPortArgs(
                name="string",
                ports=["string"],
            )],
            scheme="string",
        )],
        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",
        )],
        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",
        ),
        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,
        preemptible_percentage=0,
        provisioning_model="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",
        tags=["string"])
    
    const exampleelastigroupResourceResourceFromGkeelastigroup = new spotinst.gke.Elastigroup("exampleelastigroupResourceResourceFromGkeelastigroup", {
        clusterZoneName: "string",
        desiredCapacity: 0,
        ipForwarding: false,
        fallbackToOndemand: false,
        maxSize: 0,
        drainingTimeout: 0,
        metadatas: [{
            key: "string",
            value: "string",
        }],
        gpu: [{
            count: 0,
            type: "string",
        }],
        instanceNamePrefix: "string",
        instanceTypesCustoms: [{
            memoryGib: 0,
            vcpu: 0,
        }],
        instanceTypesOndemand: "string",
        instanceTypesPreemptibles: ["string"],
        integrationDockerSwarm: {
            masterHost: "string",
            masterPort: 0,
        },
        minSize: 0,
        backendServices: [{
            serviceName: "string",
            locationType: "string",
            namedPorts: [{
                name: "string",
                ports: ["string"],
            }],
            scheme: "string",
        }],
        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",
        }],
        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",
        },
        name: "string",
        networkInterfaces: [{
            network: "string",
            accessConfigs: [{
                name: "string",
                type: "string",
            }],
            aliasIpRanges: [{
                ipCidrRange: "string",
                subnetworkRangeName: "string",
            }],
        }],
        nodeImage: "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,
        }],
        serviceAccount: "string",
        shutdownScript: "string",
        startupScript: "string",
        tags: ["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
        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
        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
    PreemptiblePercentage int
    ProvisioningModel string
    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
    PreemptiblePercentage int
    ProvisioningModel string
    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
    preemptiblePercentage Integer
    provisioningModel String
    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
    preemptiblePercentage number
    provisioningModel string
    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
    preemptible_percentage int
    provisioning_model str
    scaling_down_policies Sequence[ElastigroupScalingDownPolicyArgs]
    scaling_up_policies Sequence[ElastigroupScalingUpPolicyArgs]
    service_account str
    shutdown_script str
    startup_script str
    tags Sequence[str]
    clusterZoneName String
    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
    preemptiblePercentage Number
    provisioningModel String
    scalingDownPolicies List<Property Map>
    scalingUpPolicies List<Property Map>
    serviceAccount String
    shutdownScript String
    startupScript String
    tags List<String>

    Outputs

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

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

    Look up Existing Elastigroup Resource

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

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

    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
    preemptiblePercentage Number
    provisioningModel String
    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

    ElastigroupIntegrationGkeAutoscaleDown, ElastigroupIntegrationGkeAutoscaleDownArgs

    ElastigroupIntegrationGkeAutoscaleHeadroom, ElastigroupIntegrationGkeAutoscaleHeadroomArgs

    cpuPerUnit Integer
    memoryPerUnit Integer
    numOfUnits Integer

    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

    ElastigroupScalingDownPolicy, ElastigroupScalingDownPolicyArgs

    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

    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.76.0 published on Wednesday, Apr 24, 2024 by Pulumi