spotinst.gcp.Elastigroup
Explore with Pulumi AI
Provides a Spotinst elastigroup GCP resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as spotinst from "@pulumi/spotinst";
const example = new spotinst.gcp.Elastigroup("example", {
name: "example-gcp",
description: "spotinst gcp group",
serviceAccount: "example@myProject.iam.gservicecct.com",
startupScript: "",
instanceNamePrefix: "test-123a",
minSize: 0,
maxSize: 1,
desiredCapacity: 1,
availabilityZones: [
"asia-east1-c",
"us-central1-a",
],
preemptiblePercentage: 50,
fallbackToOndemand: true,
drainingTimeout: 180,
provisioningModel: "SPOT",
labels: [{
key: "test_key",
value: "test_value",
}],
tags: [
"http",
"https",
],
backendServices: [{
serviceName: "spotinst-elb-backend-service",
locationType: "regional",
scheme: "INTERNAL",
namedPorts: [{
name: "port-name",
ports: [
"8000",
"6000",
],
}],
}],
disks: [{
deviceName: "device",
mode: "READ_WRITE",
type: "PERSISTENT",
autoDelete: true,
boot: true,
"interface": "SCSI",
initializeParams: [{
diskSizeGb: "10",
diskType: "pd-standard",
sourceImage: "",
}],
}],
networkInterfaces: [{
network: "spot-network",
}],
instanceTypesOndemand: "n1-standard-1",
instanceTypesPreemptibles: [
"n1-standard-1",
"n1-standard-2",
],
instanceTypesCustoms: [{
vcpu: 2,
memoryGib: 7,
}],
subnets: [{
region: "asia-east1",
subnetNames: ["default"],
}],
scalingUpPolicies: [{
policyName: "scale_up_1",
source: "stackdriver",
metricName: "instance/disk/read_ops_count",
namespace: "compute",
statistic: "average",
unit: "percent",
threshold: 10000,
period: 300,
cooldown: 300,
operator: "gte",
evaluationPeriods: 1,
actionType: "adjustment",
adjustment: 1,
dimensions: [{
name: "storage_type",
value: "pd-ssd",
}],
}],
});
import pulumi
import pulumi_spotinst as spotinst
example = spotinst.gcp.Elastigroup("example",
name="example-gcp",
description="spotinst gcp group",
service_account="example@myProject.iam.gservicecct.com",
startup_script="",
instance_name_prefix="test-123a",
min_size=0,
max_size=1,
desired_capacity=1,
availability_zones=[
"asia-east1-c",
"us-central1-a",
],
preemptible_percentage=50,
fallback_to_ondemand=True,
draining_timeout=180,
provisioning_model="SPOT",
labels=[spotinst.gcp.ElastigroupLabelArgs(
key="test_key",
value="test_value",
)],
tags=[
"http",
"https",
],
backend_services=[spotinst.gcp.ElastigroupBackendServiceArgs(
service_name="spotinst-elb-backend-service",
location_type="regional",
scheme="INTERNAL",
named_ports=[spotinst.gcp.ElastigroupBackendServiceNamedPortArgs(
name="port-name",
ports=[
"8000",
"6000",
],
)],
)],
disks=[spotinst.gcp.ElastigroupDiskArgs(
device_name="device",
mode="READ_WRITE",
type="PERSISTENT",
auto_delete=True,
boot=True,
interface="SCSI",
initialize_params=[spotinst.gcp.ElastigroupDiskInitializeParamArgs(
disk_size_gb="10",
disk_type="pd-standard",
source_image="",
)],
)],
network_interfaces=[spotinst.gcp.ElastigroupNetworkInterfaceArgs(
network="spot-network",
)],
instance_types_ondemand="n1-standard-1",
instance_types_preemptibles=[
"n1-standard-1",
"n1-standard-2",
],
instance_types_customs=[spotinst.gcp.ElastigroupInstanceTypesCustomArgs(
vcpu=2,
memory_gib=7,
)],
subnets=[spotinst.gcp.ElastigroupSubnetArgs(
region="asia-east1",
subnet_names=["default"],
)],
scaling_up_policies=[spotinst.gcp.ElastigroupScalingUpPolicyArgs(
policy_name="scale_up_1",
source="stackdriver",
metric_name="instance/disk/read_ops_count",
namespace="compute",
statistic="average",
unit="percent",
threshold=10000,
period=300,
cooldown=300,
operator="gte",
evaluation_periods=1,
action_type="adjustment",
adjustment=1,
dimensions=[spotinst.gcp.ElastigroupScalingUpPolicyDimensionArgs(
name="storage_type",
value="pd-ssd",
)],
)])
package main
import (
"github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/gcp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := gcp.NewElastigroup(ctx, "example", &gcp.ElastigroupArgs{
Name: pulumi.String("example-gcp"),
Description: pulumi.String("spotinst gcp group"),
ServiceAccount: pulumi.String("example@myProject.iam.gservicecct.com"),
StartupScript: pulumi.String(""),
InstanceNamePrefix: pulumi.String("test-123a"),
MinSize: pulumi.Int(0),
MaxSize: pulumi.Int(1),
DesiredCapacity: pulumi.Int(1),
AvailabilityZones: pulumi.StringArray{
pulumi.String("asia-east1-c"),
pulumi.String("us-central1-a"),
},
PreemptiblePercentage: pulumi.Int(50),
FallbackToOndemand: pulumi.Bool(true),
DrainingTimeout: pulumi.Int(180),
ProvisioningModel: pulumi.String("SPOT"),
Labels: gcp.ElastigroupLabelArray{
&gcp.ElastigroupLabelArgs{
Key: pulumi.String("test_key"),
Value: pulumi.String("test_value"),
},
},
Tags: pulumi.StringArray{
pulumi.String("http"),
pulumi.String("https"),
},
BackendServices: gcp.ElastigroupBackendServiceArray{
&gcp.ElastigroupBackendServiceArgs{
ServiceName: pulumi.String("spotinst-elb-backend-service"),
LocationType: pulumi.String("regional"),
Scheme: pulumi.String("INTERNAL"),
NamedPorts: gcp.ElastigroupBackendServiceNamedPortArray{
&gcp.ElastigroupBackendServiceNamedPortArgs{
Name: pulumi.String("port-name"),
Ports: pulumi.StringArray{
pulumi.String("8000"),
pulumi.String("6000"),
},
},
},
},
},
Disks: gcp.ElastigroupDiskArray{
&gcp.ElastigroupDiskArgs{
DeviceName: pulumi.String("device"),
Mode: pulumi.String("READ_WRITE"),
Type: pulumi.String("PERSISTENT"),
AutoDelete: pulumi.Bool(true),
Boot: pulumi.Bool(true),
Interface: pulumi.String("SCSI"),
InitializeParams: gcp.ElastigroupDiskInitializeParamArray{
&gcp.ElastigroupDiskInitializeParamArgs{
DiskSizeGb: pulumi.String("10"),
DiskType: pulumi.String("pd-standard"),
SourceImage: pulumi.String(""),
},
},
},
},
NetworkInterfaces: gcp.ElastigroupNetworkInterfaceArray{
&gcp.ElastigroupNetworkInterfaceArgs{
Network: pulumi.String("spot-network"),
},
},
InstanceTypesOndemand: pulumi.String("n1-standard-1"),
InstanceTypesPreemptibles: pulumi.StringArray{
pulumi.String("n1-standard-1"),
pulumi.String("n1-standard-2"),
},
InstanceTypesCustoms: gcp.ElastigroupInstanceTypesCustomArray{
&gcp.ElastigroupInstanceTypesCustomArgs{
Vcpu: pulumi.Int(2),
MemoryGib: pulumi.Int(7),
},
},
Subnets: gcp.ElastigroupSubnetArray{
&gcp.ElastigroupSubnetArgs{
Region: pulumi.String("asia-east1"),
SubnetNames: pulumi.StringArray{
pulumi.String("default"),
},
},
},
ScalingUpPolicies: gcp.ElastigroupScalingUpPolicyArray{
&gcp.ElastigroupScalingUpPolicyArgs{
PolicyName: pulumi.String("scale_up_1"),
Source: pulumi.String("stackdriver"),
MetricName: pulumi.String("instance/disk/read_ops_count"),
Namespace: pulumi.String("compute"),
Statistic: pulumi.String("average"),
Unit: pulumi.String("percent"),
Threshold: pulumi.Float64(10000),
Period: pulumi.Int(300),
Cooldown: pulumi.Int(300),
Operator: pulumi.String("gte"),
EvaluationPeriods: pulumi.Int(1),
ActionType: pulumi.String("adjustment"),
Adjustment: pulumi.Int(1),
Dimensions: gcp.ElastigroupScalingUpPolicyDimensionArray{
&gcp.ElastigroupScalingUpPolicyDimensionArgs{
Name: pulumi.String("storage_type"),
Value: pulumi.String("pd-ssd"),
},
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using SpotInst = Pulumi.SpotInst;
return await Deployment.RunAsync(() =>
{
var example = new SpotInst.Gcp.Elastigroup("example", new()
{
Name = "example-gcp",
Description = "spotinst gcp group",
ServiceAccount = "example@myProject.iam.gservicecct.com",
StartupScript = "",
InstanceNamePrefix = "test-123a",
MinSize = 0,
MaxSize = 1,
DesiredCapacity = 1,
AvailabilityZones = new[]
{
"asia-east1-c",
"us-central1-a",
},
PreemptiblePercentage = 50,
FallbackToOndemand = true,
DrainingTimeout = 180,
ProvisioningModel = "SPOT",
Labels = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupLabelArgs
{
Key = "test_key",
Value = "test_value",
},
},
Tags = new[]
{
"http",
"https",
},
BackendServices = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupBackendServiceArgs
{
ServiceName = "spotinst-elb-backend-service",
LocationType = "regional",
Scheme = "INTERNAL",
NamedPorts = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupBackendServiceNamedPortArgs
{
Name = "port-name",
Ports = new[]
{
"8000",
"6000",
},
},
},
},
},
Disks = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupDiskArgs
{
DeviceName = "device",
Mode = "READ_WRITE",
Type = "PERSISTENT",
AutoDelete = true,
Boot = true,
Interface = "SCSI",
InitializeParams = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupDiskInitializeParamArgs
{
DiskSizeGb = "10",
DiskType = "pd-standard",
SourceImage = "",
},
},
},
},
NetworkInterfaces = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupNetworkInterfaceArgs
{
Network = "spot-network",
},
},
InstanceTypesOndemand = "n1-standard-1",
InstanceTypesPreemptibles = new[]
{
"n1-standard-1",
"n1-standard-2",
},
InstanceTypesCustoms = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupInstanceTypesCustomArgs
{
Vcpu = 2,
MemoryGib = 7,
},
},
Subnets = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupSubnetArgs
{
Region = "asia-east1",
SubnetNames = new[]
{
"default",
},
},
},
ScalingUpPolicies = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupScalingUpPolicyArgs
{
PolicyName = "scale_up_1",
Source = "stackdriver",
MetricName = "instance/disk/read_ops_count",
Namespace = "compute",
Statistic = "average",
Unit = "percent",
Threshold = 10000,
Period = 300,
Cooldown = 300,
Operator = "gte",
EvaluationPeriods = 1,
ActionType = "adjustment",
Adjustment = 1,
Dimensions = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupScalingUpPolicyDimensionArgs
{
Name = "storage_type",
Value = "pd-ssd",
},
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.spotinst.gcp.Elastigroup;
import com.pulumi.spotinst.gcp.ElastigroupArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupLabelArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupBackendServiceArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupDiskArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupNetworkInterfaceArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupInstanceTypesCustomArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupSubnetArgs;
import com.pulumi.spotinst.gcp.inputs.ElastigroupScalingUpPolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Elastigroup("example", ElastigroupArgs.builder()
.name("example-gcp")
.description("spotinst gcp group")
.serviceAccount("example@myProject.iam.gservicecct.com")
.startupScript("")
.instanceNamePrefix("test-123a")
.minSize(0)
.maxSize(1)
.desiredCapacity(1)
.availabilityZones(
"asia-east1-c",
"us-central1-a")
.preemptiblePercentage(50)
.fallbackToOndemand(true)
.drainingTimeout(180)
.provisioningModel("SPOT")
.labels(ElastigroupLabelArgs.builder()
.key("test_key")
.value("test_value")
.build())
.tags(
"http",
"https")
.backendServices(ElastigroupBackendServiceArgs.builder()
.serviceName("spotinst-elb-backend-service")
.locationType("regional")
.scheme("INTERNAL")
.namedPorts(ElastigroupBackendServiceNamedPortArgs.builder()
.name("port-name")
.ports(
8000,
6000)
.build())
.build())
.disks(ElastigroupDiskArgs.builder()
.deviceName("device")
.mode("READ_WRITE")
.type("PERSISTENT")
.autoDelete(true)
.boot(true)
.interface_("SCSI")
.initializeParams(ElastigroupDiskInitializeParamArgs.builder()
.diskSizeGb(10)
.diskType("pd-standard")
.sourceImage("")
.build())
.build())
.networkInterfaces(ElastigroupNetworkInterfaceArgs.builder()
.network("spot-network")
.build())
.instanceTypesOndemand("n1-standard-1")
.instanceTypesPreemptibles(
"n1-standard-1",
"n1-standard-2")
.instanceTypesCustoms(ElastigroupInstanceTypesCustomArgs.builder()
.vcpu(2)
.memoryGib(7)
.build())
.subnets(ElastigroupSubnetArgs.builder()
.region("asia-east1")
.subnetNames("default")
.build())
.scalingUpPolicies(ElastigroupScalingUpPolicyArgs.builder()
.policyName("scale_up_1")
.source("stackdriver")
.metricName("instance/disk/read_ops_count")
.namespace("compute")
.statistic("average")
.unit("percent")
.threshold(10000)
.period(300)
.cooldown(300)
.operator("gte")
.evaluationPeriods(1)
.actionType("adjustment")
.adjustment(1)
.dimensions(ElastigroupScalingUpPolicyDimensionArgs.builder()
.name("storage_type")
.value("pd-ssd")
.build())
.build())
.build());
}
}
resources:
example:
type: spotinst:gcp:Elastigroup
properties:
name: example-gcp
description: spotinst gcp group
serviceAccount: example@myProject.iam.gservicecct.com
startupScript:
instanceNamePrefix: test-123a
minSize: 0
maxSize: 1
desiredCapacity: 1
availabilityZones:
- asia-east1-c
- us-central1-a
preemptiblePercentage: 50 # on_demand_count = 2
fallbackToOndemand: true
drainingTimeout: 180
provisioningModel: SPOT
labels:
- key: test_key
value: test_value
tags:
- http
- https
backendServices:
- serviceName: spotinst-elb-backend-service
locationType: regional
scheme: INTERNAL
namedPorts:
- name: port-name
ports:
- 8000
- 6000
disks:
- deviceName: device
mode: READ_WRITE
type: PERSISTENT
autoDelete: true
boot: true
interface: SCSI
initializeParams:
- diskSizeGb: 10
diskType: pd-standard
sourceImage:
networkInterfaces:
- network: spot-network
instanceTypesOndemand: n1-standard-1
instanceTypesPreemptibles:
- n1-standard-1
- n1-standard-2
instanceTypesCustoms:
- vcpu: 2
memoryGib: 7
subnets:
- region: asia-east1
subnetNames:
- default
scalingUpPolicies:
- policyName: scale_up_1
source: stackdriver
metricName: instance/disk/read_ops_count
namespace: compute
statistic: average
unit: percent
threshold: 10000
period: 300
cooldown: 300
operator: gte
evaluationPeriods: 1
actionType: adjustment
adjustment: 1
dimensions:
- name: storage_type
value: pd-ssd
Create Elastigroup Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Elastigroup(name: string, args: ElastigroupArgs, opts?: CustomResourceOptions);
@overload
def Elastigroup(resource_name: str,
args: ElastigroupArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Elastigroup(resource_name: str,
opts: Optional[ResourceOptions] = None,
desired_capacity: Optional[int] = None,
labels: Optional[Sequence[ElastigroupLabelArgs]] = None,
availability_zones: Optional[Sequence[str]] = None,
description: Optional[str] = None,
auto_healing: Optional[bool] = None,
disks: Optional[Sequence[ElastigroupDiskArgs]] = None,
max_size: Optional[int] = None,
fallback_to_ondemand: Optional[bool] = None,
gpu: Optional[Sequence[ElastigroupGpuArgs]] = None,
health_check_grace_period: Optional[int] = None,
health_check_type: Optional[str] = None,
instance_name_prefix: Optional[str] = None,
instance_types_customs: Optional[Sequence[ElastigroupInstanceTypesCustomArgs]] = None,
instance_types_ondemand: Optional[str] = None,
instance_types_preemptibles: Optional[Sequence[str]] = None,
integration_docker_swarm: Optional[ElastigroupIntegrationDockerSwarmArgs] = None,
integration_gke: Optional[ElastigroupIntegrationGkeArgs] = None,
tags: Optional[Sequence[str]] = None,
backend_services: Optional[Sequence[ElastigroupBackendServiceArgs]] = None,
draining_timeout: Optional[int] = None,
metadatas: Optional[Sequence[ElastigroupMetadataArgs]] = None,
min_size: Optional[int] = None,
name: Optional[str] = None,
network_interfaces: Optional[Sequence[ElastigroupNetworkInterfaceArgs]] = None,
ondemand_count: Optional[int] = None,
preemptible_percentage: Optional[int] = None,
provisioning_model: Optional[str] = None,
scaling_down_policies: Optional[Sequence[ElastigroupScalingDownPolicyArgs]] = None,
scaling_up_policies: Optional[Sequence[ElastigroupScalingUpPolicyArgs]] = None,
scheduled_tasks: Optional[Sequence[ElastigroupScheduledTaskArgs]] = None,
service_account: Optional[str] = None,
shutdown_script: Optional[str] = None,
startup_script: Optional[str] = None,
subnets: Optional[Sequence[ElastigroupSubnetArgs]] = None,
ip_forwarding: Optional[bool] = None,
unhealthy_duration: Optional[int] = None)
func NewElastigroup(ctx *Context, name string, args ElastigroupArgs, opts ...ResourceOption) (*Elastigroup, error)
public Elastigroup(string name, ElastigroupArgs args, CustomResourceOptions? opts = null)
public Elastigroup(String name, ElastigroupArgs args)
public Elastigroup(String name, ElastigroupArgs args, CustomResourceOptions options)
type: spotinst:gcp:Elastigroup
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ElastigroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ElastigroupArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ElastigroupArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ElastigroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ElastigroupArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var spotinstElastigroupResource = new SpotInst.Gcp.Elastigroup("spotinstElastigroupResource", new()
{
DesiredCapacity = 0,
Labels = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupLabelArgs
{
Key = "string",
Value = "string",
},
},
Description = "string",
AutoHealing = false,
Disks = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupDiskArgs
{
AutoDelete = false,
Boot = false,
DeviceName = "string",
InitializeParams = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupDiskInitializeParamArgs
{
SourceImage = "string",
DiskSizeGb = "string",
DiskType = "string",
},
},
Interface = "string",
Mode = "string",
Source = "string",
Type = "string",
},
},
MaxSize = 0,
FallbackToOndemand = false,
Gpu = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupGpuArgs
{
Count = 0,
Type = "string",
},
},
HealthCheckGracePeriod = 0,
HealthCheckType = "string",
InstanceNamePrefix = "string",
InstanceTypesCustoms = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupInstanceTypesCustomArgs
{
MemoryGib = 0,
Vcpu = 0,
},
},
InstanceTypesOndemand = "string",
InstanceTypesPreemptibles = new[]
{
"string",
},
IntegrationDockerSwarm = new SpotInst.Gcp.Inputs.ElastigroupIntegrationDockerSwarmArgs
{
MasterHost = "string",
MasterPort = 0,
},
IntegrationGke = new SpotInst.Gcp.Inputs.ElastigroupIntegrationGkeArgs
{
AutoUpdate = false,
AutoscaleCooldown = 0,
AutoscaleDown = new SpotInst.Gcp.Inputs.ElastigroupIntegrationGkeAutoscaleDownArgs
{
EvaluationPeriods = 0,
},
AutoscaleHeadroom = new SpotInst.Gcp.Inputs.ElastigroupIntegrationGkeAutoscaleHeadroomArgs
{
CpuPerUnit = 0,
MemoryPerUnit = 0,
NumOfUnits = 0,
},
AutoscaleIsAutoConfig = false,
AutoscaleIsEnabled = false,
AutoscaleLabels = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupIntegrationGkeAutoscaleLabelArgs
{
Key = "string",
Value = "string",
},
},
ClusterId = "string",
Location = "string",
},
Tags = new[]
{
"string",
},
BackendServices = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupBackendServiceArgs
{
ServiceName = "string",
LocationType = "string",
NamedPorts = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupBackendServiceNamedPortArgs
{
Name = "string",
Ports = new[]
{
"string",
},
},
},
Scheme = "string",
},
},
DrainingTimeout = 0,
Metadatas = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupMetadataArgs
{
Key = "string",
Value = "string",
},
},
MinSize = 0,
Name = "string",
NetworkInterfaces = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupNetworkInterfaceArgs
{
Network = "string",
AccessConfigs = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupNetworkInterfaceAccessConfigArgs
{
Name = "string",
Type = "string",
},
},
AliasIpRanges = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupNetworkInterfaceAliasIpRangeArgs
{
IpCidrRange = "string",
SubnetworkRangeName = "string",
},
},
},
},
OndemandCount = 0,
PreemptiblePercentage = 0,
ProvisioningModel = "string",
ScalingDownPolicies = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupScalingDownPolicyArgs
{
PolicyName = "string",
MetricName = "string",
Unit = "string",
Threshold = 0,
Namespace = "string",
EvaluationPeriods = 0,
Adjustment = 0,
Operator = "string",
Source = "string",
ActionType = "string",
Period = 0,
Statistic = "string",
Dimensions = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupScalingDownPolicyDimensionArgs
{
Name = "string",
Value = "string",
},
},
Cooldown = 0,
},
},
ScalingUpPolicies = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupScalingUpPolicyArgs
{
PolicyName = "string",
MetricName = "string",
Unit = "string",
Threshold = 0,
Namespace = "string",
EvaluationPeriods = 0,
Adjustment = 0,
Operator = "string",
Source = "string",
ActionType = "string",
Period = 0,
Statistic = "string",
Dimensions = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupScalingUpPolicyDimensionArgs
{
Name = "string",
Value = "string",
},
},
Cooldown = 0,
},
},
ScheduledTasks = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupScheduledTaskArgs
{
TaskType = "string",
CronExpression = "string",
IsEnabled = false,
MaxCapacity = "string",
MinCapacity = "string",
TargetCapacity = "string",
},
},
ServiceAccount = "string",
ShutdownScript = "string",
StartupScript = "string",
Subnets = new[]
{
new SpotInst.Gcp.Inputs.ElastigroupSubnetArgs
{
Region = "string",
SubnetNames = new[]
{
"string",
},
},
},
IpForwarding = false,
UnhealthyDuration = 0,
});
example, err := gcp.NewElastigroup(ctx, "spotinstElastigroupResource", &gcp.ElastigroupArgs{
DesiredCapacity: pulumi.Int(0),
Labels: gcp.ElastigroupLabelArray{
&gcp.ElastigroupLabelArgs{
Key: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
Description: pulumi.String("string"),
AutoHealing: pulumi.Bool(false),
Disks: gcp.ElastigroupDiskArray{
&gcp.ElastigroupDiskArgs{
AutoDelete: pulumi.Bool(false),
Boot: pulumi.Bool(false),
DeviceName: pulumi.String("string"),
InitializeParams: gcp.ElastigroupDiskInitializeParamArray{
&gcp.ElastigroupDiskInitializeParamArgs{
SourceImage: pulumi.String("string"),
DiskSizeGb: pulumi.String("string"),
DiskType: pulumi.String("string"),
},
},
Interface: pulumi.String("string"),
Mode: pulumi.String("string"),
Source: pulumi.String("string"),
Type: pulumi.String("string"),
},
},
MaxSize: pulumi.Int(0),
FallbackToOndemand: pulumi.Bool(false),
Gpu: gcp.ElastigroupGpuArray{
&gcp.ElastigroupGpuArgs{
Count: pulumi.Int(0),
Type: pulumi.String("string"),
},
},
HealthCheckGracePeriod: pulumi.Int(0),
HealthCheckType: pulumi.String("string"),
InstanceNamePrefix: pulumi.String("string"),
InstanceTypesCustoms: gcp.ElastigroupInstanceTypesCustomArray{
&gcp.ElastigroupInstanceTypesCustomArgs{
MemoryGib: pulumi.Int(0),
Vcpu: pulumi.Int(0),
},
},
InstanceTypesOndemand: pulumi.String("string"),
InstanceTypesPreemptibles: pulumi.StringArray{
pulumi.String("string"),
},
IntegrationDockerSwarm: &gcp.ElastigroupIntegrationDockerSwarmArgs{
MasterHost: pulumi.String("string"),
MasterPort: pulumi.Int(0),
},
IntegrationGke: &gcp.ElastigroupIntegrationGkeArgs{
AutoUpdate: pulumi.Bool(false),
AutoscaleCooldown: pulumi.Int(0),
AutoscaleDown: &gcp.ElastigroupIntegrationGkeAutoscaleDownArgs{
EvaluationPeriods: pulumi.Int(0),
},
AutoscaleHeadroom: &gcp.ElastigroupIntegrationGkeAutoscaleHeadroomArgs{
CpuPerUnit: pulumi.Int(0),
MemoryPerUnit: pulumi.Int(0),
NumOfUnits: pulumi.Int(0),
},
AutoscaleIsAutoConfig: pulumi.Bool(false),
AutoscaleIsEnabled: pulumi.Bool(false),
AutoscaleLabels: gcp.ElastigroupIntegrationGkeAutoscaleLabelArray{
&gcp.ElastigroupIntegrationGkeAutoscaleLabelArgs{
Key: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
ClusterId: pulumi.String("string"),
Location: pulumi.String("string"),
},
Tags: pulumi.StringArray{
pulumi.String("string"),
},
BackendServices: gcp.ElastigroupBackendServiceArray{
&gcp.ElastigroupBackendServiceArgs{
ServiceName: pulumi.String("string"),
LocationType: pulumi.String("string"),
NamedPorts: gcp.ElastigroupBackendServiceNamedPortArray{
&gcp.ElastigroupBackendServiceNamedPortArgs{
Name: pulumi.String("string"),
Ports: pulumi.StringArray{
pulumi.String("string"),
},
},
},
Scheme: pulumi.String("string"),
},
},
DrainingTimeout: pulumi.Int(0),
Metadatas: gcp.ElastigroupMetadataArray{
&gcp.ElastigroupMetadataArgs{
Key: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
MinSize: pulumi.Int(0),
Name: pulumi.String("string"),
NetworkInterfaces: gcp.ElastigroupNetworkInterfaceArray{
&gcp.ElastigroupNetworkInterfaceArgs{
Network: pulumi.String("string"),
AccessConfigs: gcp.ElastigroupNetworkInterfaceAccessConfigArray{
&gcp.ElastigroupNetworkInterfaceAccessConfigArgs{
Name: pulumi.String("string"),
Type: pulumi.String("string"),
},
},
AliasIpRanges: gcp.ElastigroupNetworkInterfaceAliasIpRangeArray{
&gcp.ElastigroupNetworkInterfaceAliasIpRangeArgs{
IpCidrRange: pulumi.String("string"),
SubnetworkRangeName: pulumi.String("string"),
},
},
},
},
OndemandCount: pulumi.Int(0),
PreemptiblePercentage: pulumi.Int(0),
ProvisioningModel: pulumi.String("string"),
ScalingDownPolicies: gcp.ElastigroupScalingDownPolicyArray{
&gcp.ElastigroupScalingDownPolicyArgs{
PolicyName: pulumi.String("string"),
MetricName: pulumi.String("string"),
Unit: pulumi.String("string"),
Threshold: pulumi.Float64(0),
Namespace: pulumi.String("string"),
EvaluationPeriods: pulumi.Int(0),
Adjustment: pulumi.Int(0),
Operator: pulumi.String("string"),
Source: pulumi.String("string"),
ActionType: pulumi.String("string"),
Period: pulumi.Int(0),
Statistic: pulumi.String("string"),
Dimensions: gcp.ElastigroupScalingDownPolicyDimensionArray{
&gcp.ElastigroupScalingDownPolicyDimensionArgs{
Name: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
Cooldown: pulumi.Int(0),
},
},
ScalingUpPolicies: gcp.ElastigroupScalingUpPolicyArray{
&gcp.ElastigroupScalingUpPolicyArgs{
PolicyName: pulumi.String("string"),
MetricName: pulumi.String("string"),
Unit: pulumi.String("string"),
Threshold: pulumi.Float64(0),
Namespace: pulumi.String("string"),
EvaluationPeriods: pulumi.Int(0),
Adjustment: pulumi.Int(0),
Operator: pulumi.String("string"),
Source: pulumi.String("string"),
ActionType: pulumi.String("string"),
Period: pulumi.Int(0),
Statistic: pulumi.String("string"),
Dimensions: gcp.ElastigroupScalingUpPolicyDimensionArray{
&gcp.ElastigroupScalingUpPolicyDimensionArgs{
Name: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
Cooldown: pulumi.Int(0),
},
},
ScheduledTasks: gcp.ElastigroupScheduledTaskArray{
&gcp.ElastigroupScheduledTaskArgs{
TaskType: pulumi.String("string"),
CronExpression: pulumi.String("string"),
IsEnabled: pulumi.Bool(false),
MaxCapacity: pulumi.String("string"),
MinCapacity: pulumi.String("string"),
TargetCapacity: pulumi.String("string"),
},
},
ServiceAccount: pulumi.String("string"),
ShutdownScript: pulumi.String("string"),
StartupScript: pulumi.String("string"),
Subnets: gcp.ElastigroupSubnetArray{
&gcp.ElastigroupSubnetArgs{
Region: pulumi.String("string"),
SubnetNames: pulumi.StringArray{
pulumi.String("string"),
},
},
},
IpForwarding: pulumi.Bool(false),
UnhealthyDuration: pulumi.Int(0),
})
var spotinstElastigroupResource = new Elastigroup("spotinstElastigroupResource", ElastigroupArgs.builder()
.desiredCapacity(0)
.labels(ElastigroupLabelArgs.builder()
.key("string")
.value("string")
.build())
.description("string")
.autoHealing(false)
.disks(ElastigroupDiskArgs.builder()
.autoDelete(false)
.boot(false)
.deviceName("string")
.initializeParams(ElastigroupDiskInitializeParamArgs.builder()
.sourceImage("string")
.diskSizeGb("string")
.diskType("string")
.build())
.interface_("string")
.mode("string")
.source("string")
.type("string")
.build())
.maxSize(0)
.fallbackToOndemand(false)
.gpu(ElastigroupGpuArgs.builder()
.count(0)
.type("string")
.build())
.healthCheckGracePeriod(0)
.healthCheckType("string")
.instanceNamePrefix("string")
.instanceTypesCustoms(ElastigroupInstanceTypesCustomArgs.builder()
.memoryGib(0)
.vcpu(0)
.build())
.instanceTypesOndemand("string")
.instanceTypesPreemptibles("string")
.integrationDockerSwarm(ElastigroupIntegrationDockerSwarmArgs.builder()
.masterHost("string")
.masterPort(0)
.build())
.integrationGke(ElastigroupIntegrationGkeArgs.builder()
.autoUpdate(false)
.autoscaleCooldown(0)
.autoscaleDown(ElastigroupIntegrationGkeAutoscaleDownArgs.builder()
.evaluationPeriods(0)
.build())
.autoscaleHeadroom(ElastigroupIntegrationGkeAutoscaleHeadroomArgs.builder()
.cpuPerUnit(0)
.memoryPerUnit(0)
.numOfUnits(0)
.build())
.autoscaleIsAutoConfig(false)
.autoscaleIsEnabled(false)
.autoscaleLabels(ElastigroupIntegrationGkeAutoscaleLabelArgs.builder()
.key("string")
.value("string")
.build())
.clusterId("string")
.location("string")
.build())
.tags("string")
.backendServices(ElastigroupBackendServiceArgs.builder()
.serviceName("string")
.locationType("string")
.namedPorts(ElastigroupBackendServiceNamedPortArgs.builder()
.name("string")
.ports("string")
.build())
.scheme("string")
.build())
.drainingTimeout(0)
.metadatas(ElastigroupMetadataArgs.builder()
.key("string")
.value("string")
.build())
.minSize(0)
.name("string")
.networkInterfaces(ElastigroupNetworkInterfaceArgs.builder()
.network("string")
.accessConfigs(ElastigroupNetworkInterfaceAccessConfigArgs.builder()
.name("string")
.type("string")
.build())
.aliasIpRanges(ElastigroupNetworkInterfaceAliasIpRangeArgs.builder()
.ipCidrRange("string")
.subnetworkRangeName("string")
.build())
.build())
.ondemandCount(0)
.preemptiblePercentage(0)
.provisioningModel("string")
.scalingDownPolicies(ElastigroupScalingDownPolicyArgs.builder()
.policyName("string")
.metricName("string")
.unit("string")
.threshold(0)
.namespace("string")
.evaluationPeriods(0)
.adjustment(0)
.operator("string")
.source("string")
.actionType("string")
.period(0)
.statistic("string")
.dimensions(ElastigroupScalingDownPolicyDimensionArgs.builder()
.name("string")
.value("string")
.build())
.cooldown(0)
.build())
.scalingUpPolicies(ElastigroupScalingUpPolicyArgs.builder()
.policyName("string")
.metricName("string")
.unit("string")
.threshold(0)
.namespace("string")
.evaluationPeriods(0)
.adjustment(0)
.operator("string")
.source("string")
.actionType("string")
.period(0)
.statistic("string")
.dimensions(ElastigroupScalingUpPolicyDimensionArgs.builder()
.name("string")
.value("string")
.build())
.cooldown(0)
.build())
.scheduledTasks(ElastigroupScheduledTaskArgs.builder()
.taskType("string")
.cronExpression("string")
.isEnabled(false)
.maxCapacity("string")
.minCapacity("string")
.targetCapacity("string")
.build())
.serviceAccount("string")
.shutdownScript("string")
.startupScript("string")
.subnets(ElastigroupSubnetArgs.builder()
.region("string")
.subnetNames("string")
.build())
.ipForwarding(false)
.unhealthyDuration(0)
.build());
spotinst_elastigroup_resource = spotinst.gcp.Elastigroup("spotinstElastigroupResource",
desired_capacity=0,
labels=[spotinst.gcp.ElastigroupLabelArgs(
key="string",
value="string",
)],
description="string",
auto_healing=False,
disks=[spotinst.gcp.ElastigroupDiskArgs(
auto_delete=False,
boot=False,
device_name="string",
initialize_params=[spotinst.gcp.ElastigroupDiskInitializeParamArgs(
source_image="string",
disk_size_gb="string",
disk_type="string",
)],
interface="string",
mode="string",
source="string",
type="string",
)],
max_size=0,
fallback_to_ondemand=False,
gpu=[spotinst.gcp.ElastigroupGpuArgs(
count=0,
type="string",
)],
health_check_grace_period=0,
health_check_type="string",
instance_name_prefix="string",
instance_types_customs=[spotinst.gcp.ElastigroupInstanceTypesCustomArgs(
memory_gib=0,
vcpu=0,
)],
instance_types_ondemand="string",
instance_types_preemptibles=["string"],
integration_docker_swarm=spotinst.gcp.ElastigroupIntegrationDockerSwarmArgs(
master_host="string",
master_port=0,
),
integration_gke=spotinst.gcp.ElastigroupIntegrationGkeArgs(
auto_update=False,
autoscale_cooldown=0,
autoscale_down=spotinst.gcp.ElastigroupIntegrationGkeAutoscaleDownArgs(
evaluation_periods=0,
),
autoscale_headroom=spotinst.gcp.ElastigroupIntegrationGkeAutoscaleHeadroomArgs(
cpu_per_unit=0,
memory_per_unit=0,
num_of_units=0,
),
autoscale_is_auto_config=False,
autoscale_is_enabled=False,
autoscale_labels=[spotinst.gcp.ElastigroupIntegrationGkeAutoscaleLabelArgs(
key="string",
value="string",
)],
cluster_id="string",
location="string",
),
tags=["string"],
backend_services=[spotinst.gcp.ElastigroupBackendServiceArgs(
service_name="string",
location_type="string",
named_ports=[spotinst.gcp.ElastigroupBackendServiceNamedPortArgs(
name="string",
ports=["string"],
)],
scheme="string",
)],
draining_timeout=0,
metadatas=[spotinst.gcp.ElastigroupMetadataArgs(
key="string",
value="string",
)],
min_size=0,
name="string",
network_interfaces=[spotinst.gcp.ElastigroupNetworkInterfaceArgs(
network="string",
access_configs=[spotinst.gcp.ElastigroupNetworkInterfaceAccessConfigArgs(
name="string",
type="string",
)],
alias_ip_ranges=[spotinst.gcp.ElastigroupNetworkInterfaceAliasIpRangeArgs(
ip_cidr_range="string",
subnetwork_range_name="string",
)],
)],
ondemand_count=0,
preemptible_percentage=0,
provisioning_model="string",
scaling_down_policies=[spotinst.gcp.ElastigroupScalingDownPolicyArgs(
policy_name="string",
metric_name="string",
unit="string",
threshold=0,
namespace="string",
evaluation_periods=0,
adjustment=0,
operator="string",
source="string",
action_type="string",
period=0,
statistic="string",
dimensions=[spotinst.gcp.ElastigroupScalingDownPolicyDimensionArgs(
name="string",
value="string",
)],
cooldown=0,
)],
scaling_up_policies=[spotinst.gcp.ElastigroupScalingUpPolicyArgs(
policy_name="string",
metric_name="string",
unit="string",
threshold=0,
namespace="string",
evaluation_periods=0,
adjustment=0,
operator="string",
source="string",
action_type="string",
period=0,
statistic="string",
dimensions=[spotinst.gcp.ElastigroupScalingUpPolicyDimensionArgs(
name="string",
value="string",
)],
cooldown=0,
)],
scheduled_tasks=[spotinst.gcp.ElastigroupScheduledTaskArgs(
task_type="string",
cron_expression="string",
is_enabled=False,
max_capacity="string",
min_capacity="string",
target_capacity="string",
)],
service_account="string",
shutdown_script="string",
startup_script="string",
subnets=[spotinst.gcp.ElastigroupSubnetArgs(
region="string",
subnet_names=["string"],
)],
ip_forwarding=False,
unhealthy_duration=0)
const spotinstElastigroupResource = new spotinst.gcp.Elastigroup("spotinstElastigroupResource", {
desiredCapacity: 0,
labels: [{
key: "string",
value: "string",
}],
description: "string",
autoHealing: false,
disks: [{
autoDelete: false,
boot: false,
deviceName: "string",
initializeParams: [{
sourceImage: "string",
diskSizeGb: "string",
diskType: "string",
}],
"interface": "string",
mode: "string",
source: "string",
type: "string",
}],
maxSize: 0,
fallbackToOndemand: false,
gpu: [{
count: 0,
type: "string",
}],
healthCheckGracePeriod: 0,
healthCheckType: "string",
instanceNamePrefix: "string",
instanceTypesCustoms: [{
memoryGib: 0,
vcpu: 0,
}],
instanceTypesOndemand: "string",
instanceTypesPreemptibles: ["string"],
integrationDockerSwarm: {
masterHost: "string",
masterPort: 0,
},
integrationGke: {
autoUpdate: false,
autoscaleCooldown: 0,
autoscaleDown: {
evaluationPeriods: 0,
},
autoscaleHeadroom: {
cpuPerUnit: 0,
memoryPerUnit: 0,
numOfUnits: 0,
},
autoscaleIsAutoConfig: false,
autoscaleIsEnabled: false,
autoscaleLabels: [{
key: "string",
value: "string",
}],
clusterId: "string",
location: "string",
},
tags: ["string"],
backendServices: [{
serviceName: "string",
locationType: "string",
namedPorts: [{
name: "string",
ports: ["string"],
}],
scheme: "string",
}],
drainingTimeout: 0,
metadatas: [{
key: "string",
value: "string",
}],
minSize: 0,
name: "string",
networkInterfaces: [{
network: "string",
accessConfigs: [{
name: "string",
type: "string",
}],
aliasIpRanges: [{
ipCidrRange: "string",
subnetworkRangeName: "string",
}],
}],
ondemandCount: 0,
preemptiblePercentage: 0,
provisioningModel: "string",
scalingDownPolicies: [{
policyName: "string",
metricName: "string",
unit: "string",
threshold: 0,
namespace: "string",
evaluationPeriods: 0,
adjustment: 0,
operator: "string",
source: "string",
actionType: "string",
period: 0,
statistic: "string",
dimensions: [{
name: "string",
value: "string",
}],
cooldown: 0,
}],
scalingUpPolicies: [{
policyName: "string",
metricName: "string",
unit: "string",
threshold: 0,
namespace: "string",
evaluationPeriods: 0,
adjustment: 0,
operator: "string",
source: "string",
actionType: "string",
period: 0,
statistic: "string",
dimensions: [{
name: "string",
value: "string",
}],
cooldown: 0,
}],
scheduledTasks: [{
taskType: "string",
cronExpression: "string",
isEnabled: false,
maxCapacity: "string",
minCapacity: "string",
targetCapacity: "string",
}],
serviceAccount: "string",
shutdownScript: "string",
startupScript: "string",
subnets: [{
region: "string",
subnetNames: ["string"],
}],
ipForwarding: false,
unhealthyDuration: 0,
});
type: spotinst:gcp:Elastigroup
properties:
autoHealing: false
backendServices:
- locationType: string
namedPorts:
- name: string
ports:
- string
scheme: string
serviceName: string
description: string
desiredCapacity: 0
disks:
- autoDelete: false
boot: false
deviceName: string
initializeParams:
- diskSizeGb: string
diskType: string
sourceImage: string
interface: string
mode: string
source: string
type: string
drainingTimeout: 0
fallbackToOndemand: false
gpu:
- count: 0
type: string
healthCheckGracePeriod: 0
healthCheckType: string
instanceNamePrefix: string
instanceTypesCustoms:
- memoryGib: 0
vcpu: 0
instanceTypesOndemand: string
instanceTypesPreemptibles:
- string
integrationDockerSwarm:
masterHost: string
masterPort: 0
integrationGke:
autoUpdate: false
autoscaleCooldown: 0
autoscaleDown:
evaluationPeriods: 0
autoscaleHeadroom:
cpuPerUnit: 0
memoryPerUnit: 0
numOfUnits: 0
autoscaleIsAutoConfig: false
autoscaleIsEnabled: false
autoscaleLabels:
- key: string
value: string
clusterId: string
location: string
ipForwarding: false
labels:
- key: string
value: string
maxSize: 0
metadatas:
- key: string
value: string
minSize: 0
name: string
networkInterfaces:
- accessConfigs:
- name: string
type: string
aliasIpRanges:
- ipCidrRange: string
subnetworkRangeName: string
network: string
ondemandCount: 0
preemptiblePercentage: 0
provisioningModel: string
scalingDownPolicies:
- actionType: string
adjustment: 0
cooldown: 0
dimensions:
- name: string
value: string
evaluationPeriods: 0
metricName: string
namespace: string
operator: string
period: 0
policyName: string
source: string
statistic: string
threshold: 0
unit: string
scalingUpPolicies:
- actionType: string
adjustment: 0
cooldown: 0
dimensions:
- name: string
value: string
evaluationPeriods: 0
metricName: string
namespace: string
operator: string
period: 0
policyName: string
source: string
statistic: string
threshold: 0
unit: string
scheduledTasks:
- cronExpression: string
isEnabled: false
maxCapacity: string
minCapacity: string
targetCapacity: string
taskType: string
serviceAccount: string
shutdownScript: string
startupScript: string
subnets:
- region: string
subnetNames:
- string
tags:
- string
unhealthyDuration: 0
Elastigroup Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The Elastigroup resource accepts the following input properties:
- Desired
Capacity int - The desired number of instances the group should have at any time.
- Auto
Healing bool - Availability
Zones List<string> - List of availability zones for the group.
- Backend
Services List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Backend Service> - Description string
- The region your GCP group will be created in.
- Disks
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Disk> - Draining
Timeout int - Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
- Fallback
To boolOndemand - Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
- Gpu
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Gpu> - Health
Check intGrace Period - Health
Check stringType - Instance
Name stringPrefix - Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:
- A maximal length of 25 characters.
- The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
- Instance
Types List<Pulumi.Customs Spot Inst. Gcp. Inputs. Elastigroup Instance Types Custom> - Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.
vCPU
- (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
- Instance
Types stringOndemand - The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
- Instance
Types List<string>Preemptibles - The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
- Integration
Docker Pulumi.Swarm Spot Inst. Gcp. Inputs. Elastigroup Integration Docker Swarm - Integration
Gke Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Integration Gke - Ip
Forwarding bool - Labels
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Label> - Array of objects with key-value pairs.
- Max
Size int - The maximum number of instances the group should have at any time.
- Metadatas
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Metadata> - Array of objects with key-value pairs.
- Min
Size int - The minimum number of instances the group should have at any time.
- Name string
- The group name.
- Network
Interfaces List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Network Interface> - Ondemand
Count int - Preemptible
Percentage int - Percentage of Preemptible VMs to spin up from the "desired_capacity".
- Provisioning
Model string - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
- Scaling
Down List<Pulumi.Policies Spot Inst. Gcp. Inputs. Elastigroup Scaling Down Policy> - Scaling
Up List<Pulumi.Policies Spot Inst. Gcp. Inputs. Elastigroup Scaling Up Policy> - Scheduled
Tasks List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Scheduled Task> - Service
Account string - The email of the service account in which the group instances will be launched.
- Shutdown
Script string - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
- Startup
Script string - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
- Subnets
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Subnet> - A list of regions and subnets.
- List<string>
- Tags to mark created instances.
- Unhealthy
Duration int
- Desired
Capacity int - The desired number of instances the group should have at any time.
- Auto
Healing bool - Availability
Zones []string - List of availability zones for the group.
- Backend
Services []ElastigroupBackend Service Args - Description string
- The region your GCP group will be created in.
- Disks
[]Elastigroup
Disk Args - Draining
Timeout int - Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
- Fallback
To boolOndemand - Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
- Gpu
[]Elastigroup
Gpu Args - Health
Check intGrace Period - Health
Check stringType - Instance
Name stringPrefix - Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:
- A maximal length of 25 characters.
- The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
- Instance
Types []ElastigroupCustoms Instance Types Custom Args - Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.
vCPU
- (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
- Instance
Types stringOndemand - The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
- Instance
Types []stringPreemptibles - The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
- Integration
Docker ElastigroupSwarm Integration Docker Swarm Args - Integration
Gke ElastigroupIntegration Gke Args - Ip
Forwarding bool - Labels
[]Elastigroup
Label Args - Array of objects with key-value pairs.
- Max
Size int - The maximum number of instances the group should have at any time.
- Metadatas
[]Elastigroup
Metadata Args - Array of objects with key-value pairs.
- Min
Size int - The minimum number of instances the group should have at any time.
- Name string
- The group name.
- Network
Interfaces []ElastigroupNetwork Interface Args - Ondemand
Count int - Preemptible
Percentage int - Percentage of Preemptible VMs to spin up from the "desired_capacity".
- Provisioning
Model string - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
- Scaling
Down []ElastigroupPolicies Scaling Down Policy Args - Scaling
Up []ElastigroupPolicies Scaling Up Policy Args - Scheduled
Tasks []ElastigroupScheduled Task Args - Service
Account string - The email of the service account in which the group instances will be launched.
- Shutdown
Script string - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
- Startup
Script string - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
- Subnets
[]Elastigroup
Subnet Args - A list of regions and subnets.
- []string
- Tags to mark created instances.
- Unhealthy
Duration int
- desired
Capacity Integer - The desired number of instances the group should have at any time.
- auto
Healing Boolean - availability
Zones List<String> - List of availability zones for the group.
- backend
Services List<ElastigroupBackend Service> - description String
- The region your GCP group will be created in.
- disks
List<Elastigroup
Disk> - draining
Timeout Integer - Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
- fallback
To BooleanOndemand - Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
- gpu
List<Elastigroup
Gpu> - health
Check IntegerGrace Period - health
Check StringType - instance
Name StringPrefix - Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:
- A maximal length of 25 characters.
- The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
- instance
Types List<ElastigroupCustoms Instance Types Custom> - Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.
vCPU
- (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
- instance
Types StringOndemand - The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
- instance
Types List<String>Preemptibles - The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
- integration
Docker ElastigroupSwarm Integration Docker Swarm - integration
Gke ElastigroupIntegration Gke - ip
Forwarding Boolean - labels
List<Elastigroup
Label> - Array of objects with key-value pairs.
- max
Size Integer - The maximum number of instances the group should have at any time.
- metadatas
List<Elastigroup
Metadata> - Array of objects with key-value pairs.
- min
Size Integer - The minimum number of instances the group should have at any time.
- name String
- The group name.
- network
Interfaces List<ElastigroupNetwork Interface> - ondemand
Count Integer - preemptible
Percentage Integer - Percentage of Preemptible VMs to spin up from the "desired_capacity".
- provisioning
Model String - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
- scaling
Down List<ElastigroupPolicies Scaling Down Policy> - scaling
Up List<ElastigroupPolicies Scaling Up Policy> - scheduled
Tasks List<ElastigroupScheduled Task> - service
Account String - The email of the service account in which the group instances will be launched.
- shutdown
Script String - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
- startup
Script String - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
- subnets
List<Elastigroup
Subnet> - A list of regions and subnets.
- List<String>
- Tags to mark created instances.
- unhealthy
Duration Integer
- desired
Capacity number - The desired number of instances the group should have at any time.
- auto
Healing boolean - availability
Zones string[] - List of availability zones for the group.
- backend
Services ElastigroupBackend Service[] - description string
- The region your GCP group will be created in.
- disks
Elastigroup
Disk[] - draining
Timeout number - Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
- fallback
To booleanOndemand - Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
- gpu
Elastigroup
Gpu[] - health
Check numberGrace Period - health
Check stringType - instance
Name stringPrefix - Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:
- A maximal length of 25 characters.
- The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
- instance
Types ElastigroupCustoms Instance Types Custom[] - Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.
vCPU
- (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
- instance
Types stringOndemand - The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
- instance
Types string[]Preemptibles - The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
- integration
Docker ElastigroupSwarm Integration Docker Swarm - integration
Gke ElastigroupIntegration Gke - ip
Forwarding boolean - labels
Elastigroup
Label[] - Array of objects with key-value pairs.
- max
Size number - The maximum number of instances the group should have at any time.
- metadatas
Elastigroup
Metadata[] - Array of objects with key-value pairs.
- min
Size number - The minimum number of instances the group should have at any time.
- name string
- The group name.
- network
Interfaces ElastigroupNetwork Interface[] - ondemand
Count number - preemptible
Percentage number - Percentage of Preemptible VMs to spin up from the "desired_capacity".
- provisioning
Model string - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
- scaling
Down ElastigroupPolicies Scaling Down Policy[] - scaling
Up ElastigroupPolicies Scaling Up Policy[] - scheduled
Tasks ElastigroupScheduled Task[] - service
Account string - The email of the service account in which the group instances will be launched.
- shutdown
Script string - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
- startup
Script string - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
- subnets
Elastigroup
Subnet[] - A list of regions and subnets.
- string[]
- Tags to mark created instances.
- unhealthy
Duration number
- desired_
capacity int - The desired number of instances the group should have at any time.
- auto_
healing bool - availability_
zones Sequence[str] - List of availability zones for the group.
- backend_
services Sequence[ElastigroupBackend Service Args] - description str
- The region your GCP group will be created in.
- disks
Sequence[Elastigroup
Disk Args] - draining_
timeout int - Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
- fallback_
to_ boolondemand - Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
- gpu
Sequence[Elastigroup
Gpu Args] - health_
check_ intgrace_ period - health_
check_ strtype - instance_
name_ strprefix - Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:
- A maximal length of 25 characters.
- The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
- instance_
types_ Sequence[Elastigroupcustoms Instance Types Custom Args] - Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.
vCPU
- (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
- instance_
types_ strondemand - The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
- instance_
types_ Sequence[str]preemptibles - The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
- integration_
docker_ Elastigroupswarm Integration Docker Swarm Args - integration_
gke ElastigroupIntegration Gke Args - ip_
forwarding bool - labels
Sequence[Elastigroup
Label Args] - Array of objects with key-value pairs.
- max_
size int - The maximum number of instances the group should have at any time.
- metadatas
Sequence[Elastigroup
Metadata Args] - Array of objects with key-value pairs.
- min_
size int - The minimum number of instances the group should have at any time.
- name str
- The group name.
- network_
interfaces Sequence[ElastigroupNetwork Interface Args] - ondemand_
count int - preemptible_
percentage int - Percentage of Preemptible VMs to spin up from the "desired_capacity".
- provisioning_
model str - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
- scaling_
down_ Sequence[Elastigrouppolicies Scaling Down Policy Args] - scaling_
up_ Sequence[Elastigrouppolicies Scaling Up Policy Args] - scheduled_
tasks Sequence[ElastigroupScheduled Task Args] - service_
account str - The email of the service account in which the group instances will be launched.
- shutdown_
script str - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
- startup_
script str - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
- subnets
Sequence[Elastigroup
Subnet Args] - A list of regions and subnets.
- Sequence[str]
- Tags to mark created instances.
- unhealthy_
duration int
- desired
Capacity Number - The desired number of instances the group should have at any time.
- auto
Healing Boolean - availability
Zones List<String> - List of availability zones for the group.
- backend
Services List<Property Map> - description String
- The region your GCP group will be created in.
- disks List<Property Map>
- draining
Timeout Number - Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
- fallback
To BooleanOndemand - Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
- gpu List<Property Map>
- health
Check NumberGrace Period - health
Check StringType - instance
Name StringPrefix - Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:
- A maximal length of 25 characters.
- The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
- instance
Types List<Property Map>Customs - Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.
vCPU
- (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
- instance
Types StringOndemand - The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
- instance
Types List<String>Preemptibles - The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
- integration
Docker Property MapSwarm - integration
Gke Property Map - ip
Forwarding Boolean - labels List<Property Map>
- Array of objects with key-value pairs.
- max
Size Number - The maximum number of instances the group should have at any time.
- metadatas List<Property Map>
- Array of objects with key-value pairs.
- min
Size Number - The minimum number of instances the group should have at any time.
- name String
- The group name.
- network
Interfaces List<Property Map> - ondemand
Count Number - preemptible
Percentage Number - Percentage of Preemptible VMs to spin up from the "desired_capacity".
- provisioning
Model String - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
- scaling
Down List<Property Map>Policies - scaling
Up List<Property Map>Policies - scheduled
Tasks List<Property Map> - service
Account String - The email of the service account in which the group instances will be launched.
- shutdown
Script String - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
- startup
Script String - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
- subnets List<Property Map>
- A list of regions and subnets.
- List<String>
- Tags to mark created instances.
- unhealthy
Duration Number
Outputs
All input properties are implicitly available as output properties. Additionally, the Elastigroup resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing Elastigroup Resource
Get an existing Elastigroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ElastigroupState, opts?: CustomResourceOptions): Elastigroup
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
auto_healing: Optional[bool] = None,
availability_zones: Optional[Sequence[str]] = None,
backend_services: Optional[Sequence[ElastigroupBackendServiceArgs]] = None,
description: Optional[str] = None,
desired_capacity: Optional[int] = None,
disks: Optional[Sequence[ElastigroupDiskArgs]] = None,
draining_timeout: Optional[int] = None,
fallback_to_ondemand: Optional[bool] = None,
gpu: Optional[Sequence[ElastigroupGpuArgs]] = None,
health_check_grace_period: Optional[int] = None,
health_check_type: Optional[str] = None,
instance_name_prefix: Optional[str] = None,
instance_types_customs: Optional[Sequence[ElastigroupInstanceTypesCustomArgs]] = None,
instance_types_ondemand: Optional[str] = None,
instance_types_preemptibles: Optional[Sequence[str]] = None,
integration_docker_swarm: Optional[ElastigroupIntegrationDockerSwarmArgs] = None,
integration_gke: Optional[ElastigroupIntegrationGkeArgs] = None,
ip_forwarding: Optional[bool] = None,
labels: Optional[Sequence[ElastigroupLabelArgs]] = None,
max_size: Optional[int] = None,
metadatas: Optional[Sequence[ElastigroupMetadataArgs]] = None,
min_size: Optional[int] = None,
name: Optional[str] = None,
network_interfaces: Optional[Sequence[ElastigroupNetworkInterfaceArgs]] = None,
ondemand_count: Optional[int] = None,
preemptible_percentage: Optional[int] = None,
provisioning_model: Optional[str] = None,
scaling_down_policies: Optional[Sequence[ElastigroupScalingDownPolicyArgs]] = None,
scaling_up_policies: Optional[Sequence[ElastigroupScalingUpPolicyArgs]] = None,
scheduled_tasks: Optional[Sequence[ElastigroupScheduledTaskArgs]] = None,
service_account: Optional[str] = None,
shutdown_script: Optional[str] = None,
startup_script: Optional[str] = None,
subnets: Optional[Sequence[ElastigroupSubnetArgs]] = None,
tags: Optional[Sequence[str]] = None,
unhealthy_duration: Optional[int] = None) -> 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.
- Auto
Healing bool - Availability
Zones List<string> - List of availability zones for the group.
- Backend
Services List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Backend Service> - Description string
- The region your GCP group will be created in.
- Desired
Capacity int - The desired number of instances the group should have at any time.
- Disks
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Disk> - Draining
Timeout int - Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
- Fallback
To boolOndemand - Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
- Gpu
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Gpu> - Health
Check intGrace Period - Health
Check stringType - Instance
Name stringPrefix - Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:
- A maximal length of 25 characters.
- The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
- Instance
Types List<Pulumi.Customs Spot Inst. Gcp. Inputs. Elastigroup Instance Types Custom> - Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.
vCPU
- (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
- Instance
Types stringOndemand - The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
- Instance
Types List<string>Preemptibles - The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
- Integration
Docker Pulumi.Swarm Spot Inst. Gcp. Inputs. Elastigroup Integration Docker Swarm - Integration
Gke Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Integration Gke - Ip
Forwarding bool - Labels
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Label> - Array of objects with key-value pairs.
- Max
Size int - The maximum number of instances the group should have at any time.
- Metadatas
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Metadata> - Array of objects with key-value pairs.
- Min
Size int - The minimum number of instances the group should have at any time.
- Name string
- The group name.
- Network
Interfaces List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Network Interface> - Ondemand
Count int - Preemptible
Percentage int - Percentage of Preemptible VMs to spin up from the "desired_capacity".
- Provisioning
Model string - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
- Scaling
Down List<Pulumi.Policies Spot Inst. Gcp. Inputs. Elastigroup Scaling Down Policy> - Scaling
Up List<Pulumi.Policies Spot Inst. Gcp. Inputs. Elastigroup Scaling Up Policy> - Scheduled
Tasks List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Scheduled Task> - Service
Account string - The email of the service account in which the group instances will be launched.
- Shutdown
Script string - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
- Startup
Script string - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
- Subnets
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Subnet> - A list of regions and subnets.
- List<string>
- Tags to mark created instances.
- Unhealthy
Duration int
- Auto
Healing bool - Availability
Zones []string - List of availability zones for the group.
- Backend
Services []ElastigroupBackend Service Args - Description string
- The region your GCP group will be created in.
- Desired
Capacity int - The desired number of instances the group should have at any time.
- Disks
[]Elastigroup
Disk Args - Draining
Timeout int - Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
- Fallback
To boolOndemand - Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
- Gpu
[]Elastigroup
Gpu Args - Health
Check intGrace Period - Health
Check stringType - Instance
Name stringPrefix - Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:
- A maximal length of 25 characters.
- The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
- Instance
Types []ElastigroupCustoms Instance Types Custom Args - Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.
vCPU
- (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
- Instance
Types stringOndemand - The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
- Instance
Types []stringPreemptibles - The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
- Integration
Docker ElastigroupSwarm Integration Docker Swarm Args - Integration
Gke ElastigroupIntegration Gke Args - Ip
Forwarding bool - Labels
[]Elastigroup
Label Args - Array of objects with key-value pairs.
- Max
Size int - The maximum number of instances the group should have at any time.
- Metadatas
[]Elastigroup
Metadata Args - Array of objects with key-value pairs.
- Min
Size int - The minimum number of instances the group should have at any time.
- Name string
- The group name.
- Network
Interfaces []ElastigroupNetwork Interface Args - Ondemand
Count int - Preemptible
Percentage int - Percentage of Preemptible VMs to spin up from the "desired_capacity".
- Provisioning
Model string - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
- Scaling
Down []ElastigroupPolicies Scaling Down Policy Args - Scaling
Up []ElastigroupPolicies Scaling Up Policy Args - Scheduled
Tasks []ElastigroupScheduled Task Args - Service
Account string - The email of the service account in which the group instances will be launched.
- Shutdown
Script string - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
- Startup
Script string - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
- Subnets
[]Elastigroup
Subnet Args - A list of regions and subnets.
- []string
- Tags to mark created instances.
- Unhealthy
Duration int
- auto
Healing Boolean - availability
Zones List<String> - List of availability zones for the group.
- backend
Services List<ElastigroupBackend Service> - description String
- The region your GCP group will be created in.
- desired
Capacity Integer - The desired number of instances the group should have at any time.
- disks
List<Elastigroup
Disk> - draining
Timeout Integer - Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
- fallback
To BooleanOndemand - Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
- gpu
List<Elastigroup
Gpu> - health
Check IntegerGrace Period - health
Check StringType - instance
Name StringPrefix - Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:
- A maximal length of 25 characters.
- The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
- instance
Types List<ElastigroupCustoms Instance Types Custom> - Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.
vCPU
- (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
- instance
Types StringOndemand - The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
- instance
Types List<String>Preemptibles - The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
- integration
Docker ElastigroupSwarm Integration Docker Swarm - integration
Gke ElastigroupIntegration Gke - ip
Forwarding Boolean - labels
List<Elastigroup
Label> - Array of objects with key-value pairs.
- max
Size Integer - The maximum number of instances the group should have at any time.
- metadatas
List<Elastigroup
Metadata> - Array of objects with key-value pairs.
- min
Size Integer - The minimum number of instances the group should have at any time.
- name String
- The group name.
- network
Interfaces List<ElastigroupNetwork Interface> - ondemand
Count Integer - preemptible
Percentage Integer - Percentage of Preemptible VMs to spin up from the "desired_capacity".
- provisioning
Model String - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
- scaling
Down List<ElastigroupPolicies Scaling Down Policy> - scaling
Up List<ElastigroupPolicies Scaling Up Policy> - scheduled
Tasks List<ElastigroupScheduled Task> - service
Account String - The email of the service account in which the group instances will be launched.
- shutdown
Script String - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
- startup
Script String - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
- subnets
List<Elastigroup
Subnet> - A list of regions and subnets.
- List<String>
- Tags to mark created instances.
- unhealthy
Duration Integer
- auto
Healing boolean - availability
Zones string[] - List of availability zones for the group.
- backend
Services ElastigroupBackend Service[] - description string
- The region your GCP group will be created in.
- desired
Capacity number - The desired number of instances the group should have at any time.
- disks
Elastigroup
Disk[] - draining
Timeout number - Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
- fallback
To booleanOndemand - Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
- gpu
Elastigroup
Gpu[] - health
Check numberGrace Period - health
Check stringType - instance
Name stringPrefix - Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:
- A maximal length of 25 characters.
- The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
- instance
Types ElastigroupCustoms Instance Types Custom[] - Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.
vCPU
- (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
- instance
Types stringOndemand - The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
- instance
Types string[]Preemptibles - The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
- integration
Docker ElastigroupSwarm Integration Docker Swarm - integration
Gke ElastigroupIntegration Gke - ip
Forwarding boolean - labels
Elastigroup
Label[] - Array of objects with key-value pairs.
- max
Size number - The maximum number of instances the group should have at any time.
- metadatas
Elastigroup
Metadata[] - Array of objects with key-value pairs.
- min
Size number - The minimum number of instances the group should have at any time.
- name string
- The group name.
- network
Interfaces ElastigroupNetwork Interface[] - ondemand
Count number - preemptible
Percentage number - Percentage of Preemptible VMs to spin up from the "desired_capacity".
- provisioning
Model string - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
- scaling
Down ElastigroupPolicies Scaling Down Policy[] - scaling
Up ElastigroupPolicies Scaling Up Policy[] - scheduled
Tasks ElastigroupScheduled Task[] - service
Account string - The email of the service account in which the group instances will be launched.
- shutdown
Script string - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
- startup
Script string - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
- subnets
Elastigroup
Subnet[] - A list of regions and subnets.
- string[]
- Tags to mark created instances.
- unhealthy
Duration number
- auto_
healing bool - availability_
zones Sequence[str] - List of availability zones for the group.
- backend_
services Sequence[ElastigroupBackend Service Args] - description str
- The region your GCP group will be created in.
- desired_
capacity int - The desired number of instances the group should have at any time.
- disks
Sequence[Elastigroup
Disk Args] - draining_
timeout int - Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
- fallback_
to_ boolondemand - Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
- gpu
Sequence[Elastigroup
Gpu Args] - health_
check_ intgrace_ period - health_
check_ strtype - instance_
name_ strprefix - Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:
- A maximal length of 25 characters.
- The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
- instance_
types_ Sequence[Elastigroupcustoms Instance Types Custom Args] - Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.
vCPU
- (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
- instance_
types_ strondemand - The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
- instance_
types_ Sequence[str]preemptibles - The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
- integration_
docker_ Elastigroupswarm Integration Docker Swarm Args - integration_
gke ElastigroupIntegration Gke Args - ip_
forwarding bool - labels
Sequence[Elastigroup
Label Args] - Array of objects with key-value pairs.
- max_
size int - The maximum number of instances the group should have at any time.
- metadatas
Sequence[Elastigroup
Metadata Args] - Array of objects with key-value pairs.
- min_
size int - The minimum number of instances the group should have at any time.
- name str
- The group name.
- network_
interfaces Sequence[ElastigroupNetwork Interface Args] - ondemand_
count int - preemptible_
percentage int - Percentage of Preemptible VMs to spin up from the "desired_capacity".
- provisioning_
model str - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
- scaling_
down_ Sequence[Elastigrouppolicies Scaling Down Policy Args] - scaling_
up_ Sequence[Elastigrouppolicies Scaling Up Policy Args] - scheduled_
tasks Sequence[ElastigroupScheduled Task Args] - service_
account str - The email of the service account in which the group instances will be launched.
- shutdown_
script str - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
- startup_
script str - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
- subnets
Sequence[Elastigroup
Subnet Args] - A list of regions and subnets.
- Sequence[str]
- Tags to mark created instances.
- unhealthy_
duration int
- auto
Healing Boolean - availability
Zones List<String> - List of availability zones for the group.
- backend
Services List<Property Map> - description String
- The region your GCP group will be created in.
- desired
Capacity Number - The desired number of instances the group should have at any time.
- disks List<Property Map>
- draining
Timeout Number - Time (seconds) the instance is allowed to run after it is detached from the group. This is to allow the instance time to drain all the current TCP connections before terminating it.
- fallback
To BooleanOndemand - Activate fallback-to-on-demand. When provisioning an instance, if no Preemptible market is available, fallback-to-on-demand will provision an On-Demand instance to maintain the group capacity.
- gpu List<Property Map>
- health
Check NumberGrace Period - health
Check StringType - instance
Name StringPrefix - Set an instance name prefix to be used for all launched instances and their boot disk. The prefix value should comply with the following limitations:
- A maximal length of 25 characters.
- The first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
- instance
Types List<Property Map>Customs - Defines a set of custom instance types. Required if instance_types_preemptible and instance_types_ondemand are not set.
vCPU
- (Optional) The number of vCPUs in the custom instance type. GCP has a number of limitations on accepted vCPU values. For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
- instance
Types StringOndemand - The regular VM instance type to use for mixed-type groups and when falling back to on-demand. Required if instance_types_preemptible is not set.
- instance
Types List<String>Preemptibles - The preemptible VMs instance type. To maximize cost savings and market availability, select as many types as possible. Required if instance_types_ondemand is not set.
- integration
Docker Property MapSwarm - integration
Gke Property Map - ip
Forwarding Boolean - labels List<Property Map>
- Array of objects with key-value pairs.
- max
Size Number - The maximum number of instances the group should have at any time.
- metadatas List<Property Map>
- Array of objects with key-value pairs.
- min
Size Number - The minimum number of instances the group should have at any time.
- name String
- The group name.
- network
Interfaces List<Property Map> - ondemand
Count Number - preemptible
Percentage Number - Percentage of Preemptible VMs to spin up from the "desired_capacity".
- provisioning
Model String - Valid values: "SPOT", "PREEMPTIBLE". Define the provisioning model of the launched instances. Default value is "PREEMPTIBLE".
- scaling
Down List<Property Map>Policies - scaling
Up List<Property Map>Policies - scheduled
Tasks List<Property Map> - service
Account String - The email of the service account in which the group instances will be launched.
- shutdown
Script String - The Base64-encoded shutdown script that executes prior to instance termination, for more information please see: Shutdown Script
- startup
Script String - Create and run your own startup scripts on your virtual machines to perform automated tasks every time your instance boots up.
- subnets List<Property Map>
- A list of regions and subnets.
- List<String>
- Tags to mark created instances.
- unhealthy
Duration Number
Supporting Types
ElastigroupBackendService, ElastigroupBackendServiceArgs
- Service
Name string - The name of the backend service.
- Location
Type string - Sets which location the backend services will be active. Valid values:
regional
,global
. - Named
Ports List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Backend Service Named Port> - Describes a named port and a list of ports.
- Scheme string
- Use when
location_type
is "regional". Set the traffic for the backend service to either between the instances in the vpc or to traffic from the internet. Valid values:INTERNAL
,EXTERNAL
.
- Service
Name string - The name of the backend service.
- Location
Type string - Sets which location the backend services will be active. Valid values:
regional
,global
. - Named
Ports []ElastigroupBackend Service Named Port - Describes a named port and a list of ports.
- Scheme string
- Use when
location_type
is "regional". Set the traffic for the backend service to either between the instances in the vpc or to traffic from the internet. Valid values:INTERNAL
,EXTERNAL
.
- service
Name String - The name of the backend service.
- location
Type String - Sets which location the backend services will be active. Valid values:
regional
,global
. - named
Ports List<ElastigroupBackend Service Named Port> - Describes a named port and a list of ports.
- scheme String
- Use when
location_type
is "regional". Set the traffic for the backend service to either between the instances in the vpc or to traffic from the internet. Valid values:INTERNAL
,EXTERNAL
.
- service
Name string - The name of the backend service.
- location
Type string - Sets which location the backend services will be active. Valid values:
regional
,global
. - named
Ports ElastigroupBackend Service Named Port[] - Describes a named port and a list of ports.
- scheme string
- Use when
location_type
is "regional". Set the traffic for the backend service to either between the instances in the vpc or to traffic from the internet. Valid values:INTERNAL
,EXTERNAL
.
- service_
name str - The name of the backend service.
- location_
type str - Sets which location the backend services will be active. Valid values:
regional
,global
. - named_
ports Sequence[ElastigroupBackend Service Named Port] - Describes a named port and a list of ports.
- scheme str
- Use when
location_type
is "regional". Set the traffic for the backend service to either between the instances in the vpc or to traffic from the internet. Valid values:INTERNAL
,EXTERNAL
.
- service
Name String - The name of the backend service.
- location
Type String - Sets which location the backend services will be active. Valid values:
regional
,global
. - named
Ports List<Property Map> - Describes a named port and a list of ports.
- scheme String
- Use when
location_type
is "regional". Set the traffic for the backend service to either between the instances in the vpc or to traffic from the internet. Valid values:INTERNAL
,EXTERNAL
.
ElastigroupBackendServiceNamedPort, ElastigroupBackendServiceNamedPortArgs
ElastigroupDisk, ElastigroupDiskArgs
- Auto
Delete bool - Specifies whether the disk will be auto-deleted when the instance is deleted.
- Boot bool
- Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.
- Device
Name string - Specifies a unique device name of your choice.
- Initialize
Params List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Disk Initialize Param> - Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance.
- Interface string
- Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.
- Mode string
- The mode in which to attach this disk, either READ_WRITE or READ_ONLY.
- Source string
- Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
- Type string
- Specifies the type of disk, either SCRATCH or PERSISTENT.
- Auto
Delete bool - Specifies whether the disk will be auto-deleted when the instance is deleted.
- Boot bool
- Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.
- Device
Name string - Specifies a unique device name of your choice.
- Initialize
Params []ElastigroupDisk Initialize Param - Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance.
- Interface string
- Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.
- Mode string
- The mode in which to attach this disk, either READ_WRITE or READ_ONLY.
- Source string
- Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
- Type string
- Specifies the type of disk, either SCRATCH or PERSISTENT.
- auto
Delete Boolean - Specifies whether the disk will be auto-deleted when the instance is deleted.
- boot Boolean
- Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.
- device
Name String - Specifies a unique device name of your choice.
- initialize
Params List<ElastigroupDisk Initialize Param> - Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance.
- interface_ String
- Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.
- mode String
- The mode in which to attach this disk, either READ_WRITE or READ_ONLY.
- source String
- Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
- type String
- Specifies the type of disk, either SCRATCH or PERSISTENT.
- auto
Delete boolean - Specifies whether the disk will be auto-deleted when the instance is deleted.
- boot boolean
- Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.
- device
Name string - Specifies a unique device name of your choice.
- initialize
Params ElastigroupDisk Initialize Param[] - Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance.
- interface string
- Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.
- mode string
- The mode in which to attach this disk, either READ_WRITE or READ_ONLY.
- source string
- Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
- type string
- Specifies the type of disk, either SCRATCH or PERSISTENT.
- auto_
delete bool - Specifies whether the disk will be auto-deleted when the instance is deleted.
- boot bool
- Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.
- device_
name str - Specifies a unique device name of your choice.
- initialize_
params Sequence[ElastigroupDisk Initialize Param] - Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance.
- interface str
- Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.
- mode str
- The mode in which to attach this disk, either READ_WRITE or READ_ONLY.
- source str
- Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
- type str
- Specifies the type of disk, either SCRATCH or PERSISTENT.
- auto
Delete Boolean - Specifies whether the disk will be auto-deleted when the instance is deleted.
- boot Boolean
- Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.
- device
Name String - Specifies a unique device name of your choice.
- initialize
Params List<Property Map> - Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance.
- interface String
- Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.
- mode String
- The mode in which to attach this disk, either READ_WRITE or READ_ONLY.
- source String
- Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks.
- type String
- Specifies the type of disk, either SCRATCH or PERSISTENT.
ElastigroupDiskInitializeParam, ElastigroupDiskInitializeParamArgs
- Source
Image string A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project.
Usage:
- Disk
Size stringGb - Specifies disk size in gigabytes. Must be in increments of 2.
- Disk
Type string - Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
- Source
Image string A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project.
Usage:
- Disk
Size stringGb - Specifies disk size in gigabytes. Must be in increments of 2.
- Disk
Type string - Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
- source
Image String A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project.
Usage:
- disk
Size StringGb - Specifies disk size in gigabytes. Must be in increments of 2.
- disk
Type String - Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
- source
Image string A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project.
Usage:
- disk
Size stringGb - Specifies disk size in gigabytes. Must be in increments of 2.
- disk
Type string - Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
- source_
image str A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project.
Usage:
- disk_
size_ strgb - Specifies disk size in gigabytes. Must be in increments of 2.
- disk_
type str - Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
- source
Image String A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project.
Usage:
- disk
Size StringGb - Specifies disk size in gigabytes. Must be in increments of 2.
- disk
Type String - Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
ElastigroupGpu, ElastigroupGpuArgs
ElastigroupInstanceTypesCustom, ElastigroupInstanceTypesCustomArgs
- memory_
gib int - The memory (in GiB) in the custom instance types. GCP has a number of limitations on accepted memory values.For more information, see the GCP documentation (here.)[https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#specifications]
- vcpu int
ElastigroupIntegrationDockerSwarm, ElastigroupIntegrationDockerSwarmArgs
- Master
Host string - Master
Port int
- Master
Host string - Master
Port int
- master
Host String - master
Port Integer
- master
Host string - master
Port number
- master_
host str - master_
port int
- master
Host String - master
Port Number
ElastigroupIntegrationGke, ElastigroupIntegrationGkeArgs
- Auto
Update bool - Autoscale
Cooldown int - Autoscale
Down Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Integration Gke Autoscale Down - Autoscale
Headroom Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Integration Gke Autoscale Headroom - Autoscale
Is boolAuto Config - Autoscale
Is boolEnabled - Autoscale
Labels List<Pulumi.Spot Inst. Gcp. Inputs. Elastigroup Integration Gke Autoscale Label> - Cluster
Id string - Location string
- auto
Update Boolean - autoscale
Cooldown Integer - autoscale
Down ElastigroupIntegration Gke Autoscale Down - autoscale
Headroom ElastigroupIntegration Gke Autoscale Headroom - autoscale
Is BooleanAuto Config - autoscale
Is BooleanEnabled - autoscale
Labels List<ElastigroupIntegration Gke Autoscale Label> - cluster
Id String - location String
- auto
Update Boolean - autoscale
Cooldown Number - autoscale
Down Property Map - autoscale
Headroom Property Map - autoscale
Is BooleanAuto Config - autoscale
Is BooleanEnabled - autoscale
Labels List<Property Map> - cluster
Id String - location String
ElastigroupIntegrationGkeAutoscaleDown, ElastigroupIntegrationGkeAutoscaleDownArgs
- evaluation
Periods Integer
- evaluation
Periods number
- evaluation
Periods Number
ElastigroupIntegrationGkeAutoscaleHeadroom, ElastigroupIntegrationGkeAutoscaleHeadroomArgs
- Cpu
Per intUnit - Memory
Per intUnit - Num
Of intUnits
- Cpu
Per intUnit - Memory
Per intUnit - Num
Of intUnits
- cpu
Per IntegerUnit - memory
Per IntegerUnit - num
Of IntegerUnits
- cpu
Per numberUnit - memory
Per numberUnit - num
Of numberUnits
- cpu_
per_ intunit - memory_
per_ intunit - num_
of_ intunits
- cpu
Per NumberUnit - memory
Per NumberUnit - num
Of NumberUnits
ElastigroupIntegrationGkeAutoscaleLabel, ElastigroupIntegrationGkeAutoscaleLabelArgs
ElastigroupLabel, ElastigroupLabelArgs
ElastigroupMetadata, ElastigroupMetadataArgs
ElastigroupNetworkInterface, ElastigroupNetworkInterfaceArgs
ElastigroupNetworkInterfaceAccessConfig, ElastigroupNetworkInterfaceAccessConfigArgs
ElastigroupNetworkInterfaceAliasIpRange, ElastigroupNetworkInterfaceAliasIpRangeArgs
- Ip
Cidr stringRange - Subnetwork
Range stringName
- Ip
Cidr stringRange - Subnetwork
Range stringName
- ip
Cidr StringRange - subnetwork
Range StringName
- ip
Cidr stringRange - subnetwork
Range stringName
- ip
Cidr StringRange - subnetwork
Range StringName
ElastigroupScalingDownPolicy, ElastigroupScalingDownPolicyArgs
- Metric
Name string - Namespace string
- Policy
Name string - Threshold double
- Unit string
- Action
Type string - Adjustment int
- Cooldown int
- Dimensions
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Scaling Down Policy Dimension> - Evaluation
Periods int - Operator string
- Period int
- Source string
- Statistic string
- Metric
Name string - Namespace string
- Policy
Name string - Threshold float64
- Unit string
- Action
Type string - Adjustment int
- Cooldown int
- Dimensions
[]Elastigroup
Scaling Down Policy Dimension - Evaluation
Periods int - Operator string
- Period int
- Source string
- Statistic string
- metric
Name String - namespace String
- policy
Name String - threshold Double
- unit String
- action
Type String - adjustment Integer
- cooldown Integer
- dimensions
List<Elastigroup
Scaling Down Policy Dimension> - evaluation
Periods Integer - operator String
- period Integer
- source String
- statistic String
- metric
Name string - namespace string
- policy
Name string - threshold number
- unit string
- action
Type string - adjustment number
- cooldown number
- dimensions
Elastigroup
Scaling Down Policy Dimension[] - evaluation
Periods number - operator string
- period number
- source string
- statistic string
- metric_
name str - namespace str
- policy_
name str - threshold float
- unit str
- action_
type str - adjustment int
- cooldown int
- dimensions
Sequence[Elastigroup
Scaling Down Policy Dimension] - evaluation_
periods int - operator str
- period int
- source str
- statistic str
- metric
Name String - namespace String
- policy
Name String - threshold Number
- unit String
- action
Type String - adjustment Number
- cooldown Number
- dimensions List<Property Map>
- evaluation
Periods Number - operator String
- period Number
- source String
- statistic String
ElastigroupScalingDownPolicyDimension, ElastigroupScalingDownPolicyDimensionArgs
ElastigroupScalingUpPolicy, ElastigroupScalingUpPolicyArgs
- Metric
Name string - Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
- Namespace string
- Policy
Name string - Name of scaling policy.
- Threshold double
- The value at which the scaling action is triggered.
- Unit string
- Action
Type string - Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
- Adjustment int
- Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
- Cooldown int
- Time (seconds) to wait after a scaling action before resuming monitoring.
- Dimensions
List<Pulumi.
Spot Inst. Gcp. Inputs. Elastigroup Scaling Up Policy Dimension> - A list of dimensions describing qualities of the metric.
- Evaluation
Periods int - Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
- Operator string
- The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
- Period int
- Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
- Source string
- Statistic string
- Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
- Metric
Name string - Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
- Namespace string
- Policy
Name string - Name of scaling policy.
- Threshold float64
- The value at which the scaling action is triggered.
- Unit string
- Action
Type string - Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
- Adjustment int
- Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
- Cooldown int
- Time (seconds) to wait after a scaling action before resuming monitoring.
- Dimensions
[]Elastigroup
Scaling Up Policy Dimension - A list of dimensions describing qualities of the metric.
- Evaluation
Periods int - Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
- Operator string
- The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
- Period int
- Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
- Source string
- Statistic string
- Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
- metric
Name String - Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
- namespace String
- policy
Name String - Name of scaling policy.
- threshold Double
- The value at which the scaling action is triggered.
- unit String
- action
Type String - Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
- adjustment Integer
- Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
- cooldown Integer
- Time (seconds) to wait after a scaling action before resuming monitoring.
- dimensions
List<Elastigroup
Scaling Up Policy Dimension> - A list of dimensions describing qualities of the metric.
- evaluation
Periods Integer - Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
- operator String
- The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
- period Integer
- Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
- source String
- statistic String
- Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
- metric
Name string - Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
- namespace string
- policy
Name string - Name of scaling policy.
- threshold number
- The value at which the scaling action is triggered.
- unit string
- action
Type string - Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
- adjustment number
- Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
- cooldown number
- Time (seconds) to wait after a scaling action before resuming monitoring.
- dimensions
Elastigroup
Scaling Up Policy Dimension[] - A list of dimensions describing qualities of the metric.
- evaluation
Periods number - Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
- operator string
- The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
- period number
- Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
- source string
- statistic string
- Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
- metric_
name str - Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
- namespace str
- policy_
name str - Name of scaling policy.
- threshold float
- The value at which the scaling action is triggered.
- unit str
- action_
type str - Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
- adjustment int
- Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
- cooldown int
- Time (seconds) to wait after a scaling action before resuming monitoring.
- dimensions
Sequence[Elastigroup
Scaling Up Policy Dimension] - A list of dimensions describing qualities of the metric.
- evaluation_
periods int - Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
- operator str
- The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
- period int
- Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
- source str
- statistic str
- Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
- metric
Name String - Metric to monitor. Valid values: "Percentage CPU", "Network In", "Network Out", "Disk Read Bytes", "Disk Write Bytes", "Disk Write Operations/Sec", "Disk Read Operations/Sec".
- namespace String
- policy
Name String - Name of scaling policy.
- threshold Number
- The value at which the scaling action is triggered.
- unit String
- action
Type String - Type of scaling action to take when the scaling policy is triggered. Valid values: "adjustment", "setMinTarget", "updateCapacity", "percentageAdjustment"
- adjustment Number
- Value to which the action type will be adjusted. Required if using "numeric" or "percentageAdjustment" action types.
- cooldown Number
- Time (seconds) to wait after a scaling action before resuming monitoring.
- dimensions List<Property Map>
- A list of dimensions describing qualities of the metric.
- evaluation
Periods Number - Number of consecutive periods in which the threshold must be met in order to trigger a scaling action.
- operator String
- The operator used to evaluate the threshold against the current metric value. Valid values: "gt" (greater than), "get" (greater-than or equal), "lt" (less than), "lte" (less than or equal).
- period Number
- Amount of time (seconds) for which the threshold must be met in order to trigger the scaling action.
- source String
- statistic String
- Statistic by which to evaluate the selected metric. Valid values: "AVERAGE", "SAMPLE_COUNT", "SUM", "MINIMUM", "MAXIMUM", "PERCENTILE", "COUNT".
ElastigroupScalingUpPolicyDimension, ElastigroupScalingUpPolicyDimensionArgs
ElastigroupScheduledTask, ElastigroupScheduledTaskArgs
- Task
Type string - The task type to run. Valid values:
"setCapacity"
. - Cron
Expression string - A valid cron expression. The cron is running in UTC time zone and is in Unix cron format.
- Is
Enabled bool - Setting the task to being enabled or disabled.
- Max
Capacity string The maximum number of instances the group should have.
Usage:
- Min
Capacity string - The minimum number of instances the group should have.
- Target
Capacity string - The desired number of instances the group should have.
- Task
Type string - The task type to run. Valid values:
"setCapacity"
. - Cron
Expression string - A valid cron expression. The cron is running in UTC time zone and is in Unix cron format.
- Is
Enabled bool - Setting the task to being enabled or disabled.
- Max
Capacity string The maximum number of instances the group should have.
Usage:
- Min
Capacity string - The minimum number of instances the group should have.
- Target
Capacity string - The desired number of instances the group should have.
- task
Type String - The task type to run. Valid values:
"setCapacity"
. - cron
Expression String - A valid cron expression. The cron is running in UTC time zone and is in Unix cron format.
- is
Enabled Boolean - Setting the task to being enabled or disabled.
- max
Capacity String The maximum number of instances the group should have.
Usage:
- min
Capacity String - The minimum number of instances the group should have.
- target
Capacity String - The desired number of instances the group should have.
- task
Type string - The task type to run. Valid values:
"setCapacity"
. - cron
Expression string - A valid cron expression. The cron is running in UTC time zone and is in Unix cron format.
- is
Enabled boolean - Setting the task to being enabled or disabled.
- max
Capacity string The maximum number of instances the group should have.
Usage:
- min
Capacity string - The minimum number of instances the group should have.
- target
Capacity string - The desired number of instances the group should have.
- task_
type str - The task type to run. Valid values:
"setCapacity"
. - cron_
expression str - A valid cron expression. The cron is running in UTC time zone and is in Unix cron format.
- is_
enabled bool - Setting the task to being enabled or disabled.
- max_
capacity str The maximum number of instances the group should have.
Usage:
- min_
capacity str - The minimum number of instances the group should have.
- target_
capacity str - The desired number of instances the group should have.
- task
Type String - The task type to run. Valid values:
"setCapacity"
. - cron
Expression String - A valid cron expression. The cron is running in UTC time zone and is in Unix cron format.
- is
Enabled Boolean - Setting the task to being enabled or disabled.
- max
Capacity String The maximum number of instances the group should have.
Usage:
- min
Capacity String - The minimum number of instances the group should have.
- target
Capacity String - The desired number of instances the group should have.
ElastigroupSubnet, ElastigroupSubnetArgs
- Region string
- The region for the group of subnets.
- Subnet
Names List<string> - The names of the subnets in the region.
- Region string
- The region for the group of subnets.
- Subnet
Names []string - The names of the subnets in the region.
- region String
- The region for the group of subnets.
- subnet
Names List<String> - The names of the subnets in the region.
- region string
- The region for the group of subnets.
- subnet
Names string[] - The names of the subnets in the region.
- region str
- The region for the group of subnets.
- subnet_
names Sequence[str] - The names of the subnets in the region.
- region String
- The region for the group of subnets.
- subnet
Names List<String> - The names of the subnets in the region.
Package Details
- Repository
- Spotinst pulumi/pulumi-spotinst
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
spotinst
Terraform Provider.