spotinst.gke.Elastigroup
Explore with Pulumi AI
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
andcluster_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:
- Cluster
Zone stringName - Desired
Capacity int - Backend
Services List<Pulumi.Spot Inst. Gke. Inputs. Elastigroup Backend Service> - Cluster
Id string - Disks
List<Pulumi.
Spot Inst. Gke. Inputs. Elastigroup Disk> - Draining
Timeout int - Fallback
To boolOndemand - Gpu
List<Pulumi.
Spot Inst. Gke. Inputs. Elastigroup Gpu> - Instance
Name stringPrefix - Instance
Types List<Pulumi.Customs Spot Inst. Gke. Inputs. Elastigroup Instance Types Custom> - Instance
Types stringOndemand - Instance
Types List<string>Preemptibles - Integration
Docker Pulumi.Swarm Spot Inst. Gke. Inputs. Elastigroup Integration Docker Swarm - Integration
Gke Pulumi.Spot Inst. Gke. Inputs. Elastigroup Integration Gke - Ip
Forwarding bool - Labels
List<Pulumi.
Spot Inst. Gke. Inputs. Elastigroup Label> - Max
Size int - Metadatas
List<Pulumi.
Spot Inst. Gke. Inputs. Elastigroup Metadata> - Min
Size int - Name string
- Network
Interfaces List<Pulumi.Spot Inst. Gke. Inputs. Elastigroup Network Interface> - Node
Image string - Ondemand
Count int - Optimization
Windows List<string> - Preemptible
Percentage int - Provisioning
Model string - Revert
To List<Pulumi.Preemptibles Spot Inst. Gke. Inputs. Elastigroup Revert To Preemptible> - Scaling
Down List<Pulumi.Policies Spot Inst. Gke. Inputs. Elastigroup Scaling Down Policy> - Scaling
Up List<Pulumi.Policies Spot Inst. Gke. Inputs. Elastigroup Scaling Up Policy> - Service
Account string - Shutdown
Script string - Startup
Script string - List<string>
- Cluster
Zone stringName - Desired
Capacity int - Backend
Services []ElastigroupBackend Service Args - Cluster
Id string - Disks
[]Elastigroup
Disk Args - Draining
Timeout int - Fallback
To boolOndemand - Gpu
[]Elastigroup
Gpu Args - Instance
Name stringPrefix - Instance
Types []ElastigroupCustoms Instance Types Custom Args - Instance
Types stringOndemand - Instance
Types []stringPreemptibles - Integration
Docker ElastigroupSwarm Integration Docker Swarm Args - Integration
Gke ElastigroupIntegration Gke Args - Ip
Forwarding bool - Labels
[]Elastigroup
Label Args - Max
Size int - Metadatas
[]Elastigroup
Metadata Args - Min
Size int - Name string
- Network
Interfaces []ElastigroupNetwork Interface Args - Node
Image string - Ondemand
Count int - Optimization
Windows []string - Preemptible
Percentage int - Provisioning
Model string - Revert
To []ElastigroupPreemptibles Revert To Preemptible Args - Scaling
Down []ElastigroupPolicies Scaling Down Policy Args - Scaling
Up []ElastigroupPolicies Scaling Up Policy Args - Service
Account string - Shutdown
Script string - Startup
Script string - []string
- cluster
Zone StringName - desired
Capacity Integer - backend
Services List<ElastigroupBackend Service> - cluster
Id String - disks
List<Elastigroup
Disk> - draining
Timeout Integer - fallback
To BooleanOndemand - gpu
List<Elastigroup
Gpu> - instance
Name StringPrefix - instance
Types List<ElastigroupCustoms Instance Types Custom> - instance
Types StringOndemand - instance
Types List<String>Preemptibles - integration
Docker ElastigroupSwarm Integration Docker Swarm - integration
Gke ElastigroupIntegration Gke - ip
Forwarding Boolean - labels
List<Elastigroup
Label> - max
Size Integer - metadatas
List<Elastigroup
Metadata> - min
Size Integer - name String
- network
Interfaces List<ElastigroupNetwork Interface> - node
Image String - ondemand
Count Integer - optimization
Windows List<String> - preemptible
Percentage Integer - provisioning
Model String - revert
To List<ElastigroupPreemptibles Revert To Preemptible> - scaling
Down List<ElastigroupPolicies Scaling Down Policy> - scaling
Up List<ElastigroupPolicies Scaling Up Policy> - service
Account String - shutdown
Script String - startup
Script String - List<String>
- cluster
Zone stringName - desired
Capacity number - backend
Services ElastigroupBackend Service[] - cluster
Id string - disks
Elastigroup
Disk[] - draining
Timeout number - fallback
To booleanOndemand - gpu
Elastigroup
Gpu[] - instance
Name stringPrefix - instance
Types ElastigroupCustoms Instance Types Custom[] - instance
Types stringOndemand - instance
Types string[]Preemptibles - integration
Docker ElastigroupSwarm Integration Docker Swarm - integration
Gke ElastigroupIntegration Gke - ip
Forwarding boolean - labels
Elastigroup
Label[] - max
Size number - metadatas
Elastigroup
Metadata[] - min
Size number - name string
- network
Interfaces ElastigroupNetwork Interface[] - node
Image string - ondemand
Count number - optimization
Windows string[] - preemptible
Percentage number - provisioning
Model string - revert
To ElastigroupPreemptibles Revert To Preemptible[] - scaling
Down ElastigroupPolicies Scaling Down Policy[] - scaling
Up ElastigroupPolicies Scaling Up Policy[] - service
Account string - shutdown
Script string - startup
Script string - string[]
- cluster_
zone_ strname - desired_
capacity int - backend_
services Sequence[ElastigroupBackend Service Args] - cluster_
id str - disks
Sequence[Elastigroup
Disk Args] - draining_
timeout int - fallback_
to_ boolondemand - gpu
Sequence[Elastigroup
Gpu Args] - instance_
name_ strprefix - instance_
types_ Sequence[Elastigroupcustoms Instance Types Custom Args] - instance_
types_ strondemand - instance_
types_ Sequence[str]preemptibles - integration_
docker_ Elastigroupswarm Integration Docker Swarm Args - integration_
gke ElastigroupIntegration Gke Args - ip_
forwarding bool - labels
Sequence[Elastigroup
Label Args] - max_
size int - metadatas
Sequence[Elastigroup
Metadata Args] - min_
size int - name str
- network_
interfaces Sequence[ElastigroupNetwork Interface Args] - node_
image str - ondemand_
count int - optimization_
windows Sequence[str] - preemptible_
percentage int - provisioning_
model str - revert_
to_ Sequence[Elastigrouppreemptibles Revert To Preemptible Args] - scaling_
down_ Sequence[Elastigrouppolicies Scaling Down Policy Args] - scaling_
up_ Sequence[Elastigrouppolicies Scaling Up Policy Args] - service_
account str - shutdown_
script str - startup_
script str - Sequence[str]
- cluster
Zone StringName - desired
Capacity Number - backend
Services List<Property Map> - cluster
Id String - disks List<Property Map>
- draining
Timeout Number - fallback
To BooleanOndemand - gpu List<Property Map>
- instance
Name StringPrefix - instance
Types List<Property Map>Customs - instance
Types StringOndemand - instance
Types List<String>Preemptibles - integration
Docker Property MapSwarm - integration
Gke Property Map - ip
Forwarding Boolean - labels List<Property Map>
- max
Size Number - metadatas List<Property Map>
- min
Size Number - name String
- network
Interfaces List<Property Map> - node
Image String - ondemand
Count Number - optimization
Windows List<String> - preemptible
Percentage Number - provisioning
Model String - revert
To List<Property Map>Preemptibles - scaling
Down List<Property Map>Policies - scaling
Up List<Property Map>Policies - service
Account String - shutdown
Script String - startup
Script String - 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.
- Backend
Services List<Pulumi.Spot Inst. Gke. Inputs. Elastigroup Backend Service> - Cluster
Id string - Cluster
Zone stringName - Desired
Capacity int - Disks
List<Pulumi.
Spot Inst. Gke. Inputs. Elastigroup Disk> - Draining
Timeout int - Fallback
To boolOndemand - Gpu
List<Pulumi.
Spot Inst. Gke. Inputs. Elastigroup Gpu> - Instance
Name stringPrefix - Instance
Types List<Pulumi.Customs Spot Inst. Gke. Inputs. Elastigroup Instance Types Custom> - Instance
Types stringOndemand - Instance
Types List<string>Preemptibles - Integration
Docker Pulumi.Swarm Spot Inst. Gke. Inputs. Elastigroup Integration Docker Swarm - Integration
Gke Pulumi.Spot Inst. Gke. Inputs. Elastigroup Integration Gke - Ip
Forwarding bool - Labels
List<Pulumi.
Spot Inst. Gke. Inputs. Elastigroup Label> - Max
Size int - Metadatas
List<Pulumi.
Spot Inst. Gke. Inputs. Elastigroup Metadata> - Min
Size int - Name string
- Network
Interfaces List<Pulumi.Spot Inst. Gke. Inputs. Elastigroup Network Interface> - Node
Image string - Ondemand
Count int - Optimization
Windows List<string> - Preemptible
Percentage int - Provisioning
Model string - Revert
To List<Pulumi.Preemptibles Spot Inst. Gke. Inputs. Elastigroup Revert To Preemptible> - Scaling
Down List<Pulumi.Policies Spot Inst. Gke. Inputs. Elastigroup Scaling Down Policy> - Scaling
Up List<Pulumi.Policies Spot Inst. Gke. Inputs. Elastigroup Scaling Up Policy> - Service
Account string - Shutdown
Script string - Startup
Script string - List<string>
- Backend
Services []ElastigroupBackend Service Args - Cluster
Id string - Cluster
Zone stringName - Desired
Capacity int - Disks
[]Elastigroup
Disk Args - Draining
Timeout int - Fallback
To boolOndemand - Gpu
[]Elastigroup
Gpu Args - Instance
Name stringPrefix - Instance
Types []ElastigroupCustoms Instance Types Custom Args - Instance
Types stringOndemand - Instance
Types []stringPreemptibles - Integration
Docker ElastigroupSwarm Integration Docker Swarm Args - Integration
Gke ElastigroupIntegration Gke Args - Ip
Forwarding bool - Labels
[]Elastigroup
Label Args - Max
Size int - Metadatas
[]Elastigroup
Metadata Args - Min
Size int - Name string
- Network
Interfaces []ElastigroupNetwork Interface Args - Node
Image string - Ondemand
Count int - Optimization
Windows []string - Preemptible
Percentage int - Provisioning
Model string - Revert
To []ElastigroupPreemptibles Revert To Preemptible Args - Scaling
Down []ElastigroupPolicies Scaling Down Policy Args - Scaling
Up []ElastigroupPolicies Scaling Up Policy Args - Service
Account string - Shutdown
Script string - Startup
Script string - []string
- backend
Services List<ElastigroupBackend Service> - cluster
Id String - cluster
Zone StringName - desired
Capacity Integer - disks
List<Elastigroup
Disk> - draining
Timeout Integer - fallback
To BooleanOndemand - gpu
List<Elastigroup
Gpu> - instance
Name StringPrefix - instance
Types List<ElastigroupCustoms Instance Types Custom> - instance
Types StringOndemand - instance
Types List<String>Preemptibles - integration
Docker ElastigroupSwarm Integration Docker Swarm - integration
Gke ElastigroupIntegration Gke - ip
Forwarding Boolean - labels
List<Elastigroup
Label> - max
Size Integer - metadatas
List<Elastigroup
Metadata> - min
Size Integer - name String
- network
Interfaces List<ElastigroupNetwork Interface> - node
Image String - ondemand
Count Integer - optimization
Windows List<String> - preemptible
Percentage Integer - provisioning
Model String - revert
To List<ElastigroupPreemptibles Revert To Preemptible> - scaling
Down List<ElastigroupPolicies Scaling Down Policy> - scaling
Up List<ElastigroupPolicies Scaling Up Policy> - service
Account String - shutdown
Script String - startup
Script String - List<String>
- backend
Services ElastigroupBackend Service[] - cluster
Id string - cluster
Zone stringName - desired
Capacity number - disks
Elastigroup
Disk[] - draining
Timeout number - fallback
To booleanOndemand - gpu
Elastigroup
Gpu[] - instance
Name stringPrefix - instance
Types ElastigroupCustoms Instance Types Custom[] - instance
Types stringOndemand - instance
Types string[]Preemptibles - integration
Docker ElastigroupSwarm Integration Docker Swarm - integration
Gke ElastigroupIntegration Gke - ip
Forwarding boolean - labels
Elastigroup
Label[] - max
Size number - metadatas
Elastigroup
Metadata[] - min
Size number - name string
- network
Interfaces ElastigroupNetwork Interface[] - node
Image string - ondemand
Count number - optimization
Windows string[] - preemptible
Percentage number - provisioning
Model string - revert
To ElastigroupPreemptibles Revert To Preemptible[] - scaling
Down ElastigroupPolicies Scaling Down Policy[] - scaling
Up ElastigroupPolicies Scaling Up Policy[] - service
Account string - shutdown
Script string - startup
Script string - string[]
- backend_
services Sequence[ElastigroupBackend Service Args] - cluster_
id str - cluster_
zone_ strname - desired_
capacity int - disks
Sequence[Elastigroup
Disk Args] - draining_
timeout int - fallback_
to_ boolondemand - gpu
Sequence[Elastigroup
Gpu Args] - instance_
name_ strprefix - instance_
types_ Sequence[Elastigroupcustoms Instance Types Custom Args] - instance_
types_ strondemand - instance_
types_ Sequence[str]preemptibles - integration_
docker_ Elastigroupswarm Integration Docker Swarm Args - integration_
gke ElastigroupIntegration Gke Args - ip_
forwarding bool - labels
Sequence[Elastigroup
Label Args] - max_
size int - metadatas
Sequence[Elastigroup
Metadata Args] - min_
size int - name str
- network_
interfaces Sequence[ElastigroupNetwork Interface Args] - node_
image str - ondemand_
count int - optimization_
windows Sequence[str] - preemptible_
percentage int - provisioning_
model str - revert_
to_ Sequence[Elastigrouppreemptibles Revert To Preemptible Args] - scaling_
down_ Sequence[Elastigrouppolicies Scaling Down Policy Args] - scaling_
up_ Sequence[Elastigrouppolicies Scaling Up Policy Args] - service_
account str - shutdown_
script str - startup_
script str - Sequence[str]
- backend
Services List<Property Map> - cluster
Id String - cluster
Zone StringName - desired
Capacity Number - disks List<Property Map>
- draining
Timeout Number - fallback
To BooleanOndemand - gpu List<Property Map>
- instance
Name StringPrefix - instance
Types List<Property Map>Customs - instance
Types StringOndemand - instance
Types List<String>Preemptibles - integration
Docker Property MapSwarm - integration
Gke Property Map - ip
Forwarding Boolean - labels List<Property Map>
- max
Size Number - metadatas List<Property Map>
- min
Size Number - name String
- network
Interfaces List<Property Map> - node
Image String - ondemand
Count Number - optimization
Windows List<String> - preemptible
Percentage Number - provisioning
Model String - revert
To List<Property Map>Preemptibles - scaling
Down List<Property Map>Policies - scaling
Up List<Property Map>Policies - service
Account String - shutdown
Script String - startup
Script String - List<String>
Supporting Types
ElastigroupBackendService, ElastigroupBackendServiceArgs
- Service
Name string - Location
Type string - Named
Ports []ElastigroupBackend Service Named Port - Scheme string
- service
Name String - location
Type String - named
Ports List<ElastigroupBackend Service Named Port> - scheme String
- service
Name string - location
Type string - named
Ports ElastigroupBackend Service Named Port[] - scheme string
- service
Name String - location
Type String - named
Ports List<Property Map> - scheme String
ElastigroupBackendServiceNamedPort, ElastigroupBackendServiceNamedPortArgs
ElastigroupDisk, ElastigroupDiskArgs
- Auto
Delete bool - Boot bool
- Device
Name string - Initialize
Params List<Pulumi.Spot Inst. Gke. Inputs. Elastigroup Disk Initialize Param> - Interface string
- Mode string
- Source string
- Type string
- Auto
Delete bool - Boot bool
- Device
Name string - Initialize
Params []ElastigroupDisk Initialize Param - Interface string
- Mode string
- Source string
- Type string
- auto
Delete Boolean - boot Boolean
- device
Name String - initialize
Params List<ElastigroupDisk Initialize Param> - interface_ String
- mode String
- source String
- type String
- auto
Delete boolean - boot boolean
- device
Name string - initialize
Params ElastigroupDisk Initialize Param[] - interface string
- mode string
- source string
- type string
- auto_
delete bool - boot bool
- device_
name str - initialize_
params Sequence[ElastigroupDisk Initialize Param] - interface str
- mode str
- source str
- type str
- auto
Delete Boolean - boot Boolean
- device
Name String - initialize
Params List<Property Map> - interface String
- mode String
- source String
- type String
ElastigroupDiskInitializeParam, ElastigroupDiskInitializeParamArgs
- Source
Image string - Disk
Size stringGb - Disk
Type string
- Source
Image string - Disk
Size stringGb - Disk
Type string
- source
Image String - disk
Size StringGb - disk
Type String
- source
Image string - disk
Size stringGb - disk
Type string
- source_
image str - disk_
size_ strgb - disk_
type str
- source
Image String - disk
Size StringGb - disk
Type String
ElastigroupGpu, ElastigroupGpuArgs
ElastigroupInstanceTypesCustom, ElastigroupInstanceTypesCustomArgs
- memory_
gib int - vcpu int
ElastigroupIntegrationDockerSwarm, ElastigroupIntegrationDockerSwarmArgs
- Master
Host string - Master
Port int
- Master
Host string - Master
Port int
- master
Host String - master
Port Integer
- master
Host string - master
Port number
- master_
host str - master_
port int
- master
Host String - master
Port Number
ElastigroupIntegrationGke, ElastigroupIntegrationGkeArgs
- Auto
Update bool - Autoscale
Cooldown int - The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.
- Autoscale
Down Pulumi.Spot Inst. Gke. Inputs. Elastigroup Integration Gke Autoscale Down - Enabling scale down.
- Autoscale
Headroom Pulumi.Spot Inst. Gke. Inputs. Elastigroup Integration Gke Autoscale Headroom - Headroom for the cluster.
- Autoscale
Is boolAuto Config - Autoscale
Is boolEnabled - Specifies whether the auto scaling feature is enabled.
- Autoscale
Labels List<Pulumi.Spot Inst. Gke. Inputs. Elastigroup Integration Gke Autoscale Label> - Labels to assign to the resource.
- Cluster
Id 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 ElastigroupIntegration Gke Autoscale Down - Enabling scale down.
- Autoscale
Headroom ElastigroupIntegration Gke Autoscale Headroom - Headroom for the cluster.
- Autoscale
Is boolAuto Config - Autoscale
Is boolEnabled - Specifies whether the auto scaling feature is enabled.
- Autoscale
Labels []ElastigroupIntegration Gke Autoscale Label - Labels to assign to the resource.
- Cluster
Id string - Location string
- The location of your GKE cluster.
- auto
Update Boolean - autoscale
Cooldown Integer - The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.
- autoscale
Down ElastigroupIntegration Gke Autoscale Down - Enabling scale down.
- autoscale
Headroom ElastigroupIntegration Gke Autoscale Headroom - Headroom for the cluster.
- autoscale
Is BooleanAuto Config - autoscale
Is BooleanEnabled - Specifies whether the auto scaling feature is enabled.
- autoscale
Labels List<ElastigroupIntegration Gke Autoscale Label> - Labels to assign to the resource.
- cluster
Id String - location String
- The location of your GKE cluster.
- auto
Update boolean - autoscale
Cooldown number - The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.
- autoscale
Down ElastigroupIntegration Gke Autoscale Down - Enabling scale down.
- autoscale
Headroom ElastigroupIntegration Gke Autoscale Headroom - Headroom for the cluster.
- autoscale
Is booleanAuto Config - autoscale
Is booleanEnabled - Specifies whether the auto scaling feature is enabled.
- autoscale
Labels ElastigroupIntegration Gke Autoscale Label[] - Labels to assign to the resource.
- cluster
Id 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 ElastigroupIntegration Gke Autoscale Down - Enabling scale down.
- autoscale_
headroom ElastigroupIntegration Gke Autoscale Headroom - Headroom for the cluster.
- autoscale_
is_ boolauto_ config - autoscale_
is_ boolenabled - Specifies whether the auto scaling feature is enabled.
- autoscale_
labels Sequence[ElastigroupIntegration Gke Autoscale Label] - Labels to assign to the resource.
- cluster_
id str - location str
- The location of your GKE cluster.
- auto
Update Boolean - autoscale
Cooldown Number - The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.
- autoscale
Down Property Map - Enabling scale down.
- autoscale
Headroom Property Map - Headroom for the cluster.
- autoscale
Is BooleanAuto Config - autoscale
Is BooleanEnabled - Specifies whether the auto scaling feature is enabled.
- autoscale
Labels List<Property Map> - Labels to assign to the resource.
- cluster
Id String - location String
- The location of your GKE cluster.
ElastigroupIntegrationGkeAutoscaleDown, ElastigroupIntegrationGkeAutoscaleDownArgs
- Evaluation
Periods int - Amount of cooldown evaluation periods for scale down.
- Evaluation
Periods int - Amount of cooldown evaluation periods for scale down.
- evaluation
Periods Integer - Amount of cooldown evaluation periods for scale down.
- evaluation
Periods number - Amount of cooldown evaluation periods for scale down.
- evaluation_
periods int - Amount of cooldown evaluation periods for scale down.
- evaluation
Periods Number - Amount of cooldown evaluation periods for scale down.
ElastigroupIntegrationGkeAutoscaleHeadroom, ElastigroupIntegrationGkeAutoscaleHeadroomArgs
- Cpu
Per intUnit - Cpu units for compute.
- Memory
Per intUnit - RAM units for compute.
- Num
Of intUnits - Amount of units for compute.
- Cpu
Per intUnit - Cpu units for compute.
- Memory
Per intUnit - RAM units for compute.
- Num
Of intUnits - Amount of units for compute.
- cpu
Per IntegerUnit - Cpu units for compute.
- memory
Per IntegerUnit - RAM units for compute.
- num
Of IntegerUnits - Amount of units for compute.
- cpu
Per numberUnit - Cpu units for compute.
- memory
Per numberUnit - RAM units for compute.
- num
Of numberUnits - Amount of units for compute.
- cpu_
per_ intunit - Cpu units for compute.
- memory_
per_ intunit - RAM units for compute.
- num_
of_ intunits - Amount of units for compute.
- cpu
Per NumberUnit - Cpu units for compute.
- memory
Per NumberUnit - RAM units for compute.
- num
Of NumberUnits - Amount of units for compute.
ElastigroupIntegrationGkeAutoscaleLabel, ElastigroupIntegrationGkeAutoscaleLabelArgs
ElastigroupLabel, ElastigroupLabelArgs
ElastigroupMetadata, ElastigroupMetadataArgs
ElastigroupNetworkInterface, ElastigroupNetworkInterfaceArgs
ElastigroupNetworkInterfaceAccessConfig, ElastigroupNetworkInterfaceAccessConfigArgs
ElastigroupNetworkInterfaceAliasIpRange, ElastigroupNetworkInterfaceAliasIpRangeArgs
- Ip
Cidr stringRange - Subnetwork
Range stringName
- Ip
Cidr stringRange - Subnetwork
Range stringName
- ip
Cidr StringRange - subnetwork
Range StringName
- ip
Cidr stringRange - subnetwork
Range stringName
- ip
Cidr StringRange - subnetwork
Range StringName
ElastigroupRevertToPreemptible, ElastigroupRevertToPreemptibleArgs
- Perform
At string
- Perform
At string
- perform
At String
- perform
At string
- perform_
at str
- perform
At String
ElastigroupScalingDownPolicy, ElastigroupScalingDownPolicyArgs
- Metric
Name string - Namespace string
- Policy
Name string - Threshold double
- Unit string
- Action
Type string - Adjustment int
- Cooldown int
- Dimensions
List<Pulumi.
Spot Inst. Gke. Inputs. Elastigroup Scaling Down Policy Dimension> - Evaluation
Periods int - Amount of cooldown evaluation periods for scale down.
- Operator string
- Period int
- Source string
- Statistic string
- Metric
Name string - Namespace string
- Policy
Name string - Threshold float64
- Unit string
- Action
Type string - Adjustment int
- Cooldown int
- Dimensions
[]Elastigroup
Scaling Down Policy Dimension - Evaluation
Periods int - Amount of cooldown evaluation periods for scale down.
- Operator string
- Period int
- Source string
- Statistic string
- metric
Name String - namespace String
- policy
Name String - threshold Double
- unit String
- action
Type String - adjustment Integer
- cooldown Integer
- dimensions
List<Elastigroup
Scaling Down Policy Dimension> - evaluation
Periods Integer - Amount of cooldown evaluation periods for scale down.
- operator String
- period Integer
- source String
- statistic String
- metric
Name string - namespace string
- policy
Name string - threshold number
- unit string
- action
Type string - adjustment number
- cooldown number
- dimensions
Elastigroup
Scaling Down Policy Dimension[] - evaluation
Periods number - Amount of cooldown evaluation periods for scale down.
- operator string
- period number
- source string
- statistic string
- metric_
name str - namespace str
- policy_
name str - threshold float
- unit str
- action_
type str - adjustment int
- cooldown int
- dimensions
Sequence[Elastigroup
Scaling Down Policy Dimension] - evaluation_
periods int - Amount of cooldown evaluation periods for scale down.
- operator str
- period int
- source str
- statistic str
- metric
Name String - namespace String
- policy
Name String - threshold Number
- unit String
- action
Type String - adjustment Number
- cooldown Number
- dimensions List<Property Map>
- evaluation
Periods Number - Amount of cooldown evaluation periods for scale down.
- operator String
- period Number
- source String
- statistic String
ElastigroupScalingDownPolicyDimension, ElastigroupScalingDownPolicyDimensionArgs
ElastigroupScalingUpPolicy, ElastigroupScalingUpPolicyArgs
- Metric
Name string - Namespace string
- Policy
Name string - Threshold double
- Unit string
- Action
Type string - Adjustment int
- Cooldown int
- Dimensions
List<Pulumi.
Spot Inst. Gke. Inputs. Elastigroup Scaling Up Policy Dimension> - Evaluation
Periods int - Amount of cooldown evaluation periods for scale down.
- Operator string
- Period int
- Source string
- Statistic string
- Metric
Name string - Namespace string
- Policy
Name string - Threshold float64
- Unit string
- Action
Type string - Adjustment int
- Cooldown int
- Dimensions
[]Elastigroup
Scaling Up Policy Dimension - Evaluation
Periods int - Amount of cooldown evaluation periods for scale down.
- Operator string
- Period int
- Source string
- Statistic string
- metric
Name String - namespace String
- policy
Name String - threshold Double
- unit String
- action
Type String - adjustment Integer
- cooldown Integer
- dimensions
List<Elastigroup
Scaling Up Policy Dimension> - evaluation
Periods Integer - Amount of cooldown evaluation periods for scale down.
- operator String
- period Integer
- source String
- statistic String
- metric
Name string - namespace string
- policy
Name string - threshold number
- unit string
- action
Type string - adjustment number
- cooldown number
- dimensions
Elastigroup
Scaling Up Policy Dimension[] - evaluation
Periods number - Amount of cooldown evaluation periods for scale down.
- operator string
- period number
- source string
- statistic string
- metric_
name str - namespace str
- policy_
name str - threshold float
- unit str
- action_
type str - adjustment int
- cooldown int
- dimensions
Sequence[Elastigroup
Scaling Up Policy Dimension] - evaluation_
periods int - Amount of cooldown evaluation periods for scale down.
- operator str
- period int
- source str
- statistic str
- metric
Name String - namespace String
- policy
Name String - threshold Number
- unit String
- action
Type String - adjustment Number
- cooldown Number
- dimensions List<Property Map>
- evaluation
Periods Number - Amount of cooldown evaluation periods for scale down.
- operator String
- period Number
- source String
- statistic String
ElastigroupScalingUpPolicyDimension, ElastigroupScalingUpPolicyDimensionArgs
Package Details
- Repository
- Spotinst pulumi/pulumi-spotinst
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
spotinst
Terraform Provider.