spotinst.aws.OceanLaunchSpec
Manages a Spotinst Ocean AWS Virtual Node Group resource.
Update Policy
update_policy
- (Optional)should_roll
- (Required) Enables the roll.roll_config
- (Required) Holds the roll configuration.batch_size_percentage
- (Required) Sets the percentage of the instances to deploy in each batch.
import * as pulumi from "@pulumi/pulumi";
import pulumi
using System.Collections.Generic;
using Pulumi;
return await Deployment.RunAsync(() =>
{
});
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
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) {
}
}
{}
Example Usage
using System.Collections.Generic;
using Pulumi;
using SpotInst = Pulumi.SpotInst;
return await Deployment.RunAsync(() =>
{
var example = new SpotInst.Aws.OceanLaunchSpec("example", new()
{
AssociatePublicIpAddress = true,
AutoscaleDowns = new[]
{
new SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleDownArgs
{
MaxScaleDownPercentage = 20,
},
},
AutoscaleHeadrooms = new[]
{
new SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleHeadroomArgs
{
CpuPerUnit = 1000,
GpuPerUnit = 0,
MemoryPerUnit = 2048,
NumOfUnits = 5,
},
},
AutoscaleHeadroomsAutomatics = new[]
{
new SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs
{
AutoHeadroomPercentage = 5,
},
},
BlockDeviceMappings = new[]
{
new SpotInst.Aws.Inputs.OceanLaunchSpecBlockDeviceMappingArgs
{
DeviceName = "/dev/xvda",
Ebs = new SpotInst.Aws.Inputs.OceanLaunchSpecBlockDeviceMappingEbsArgs
{
DeleteOnTermination = true,
DynamicVolumeSize = new SpotInst.Aws.Inputs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs
{
BaseSize = 50,
Resource = "CPU",
SizePerResourceUnit = 20,
},
Encrypted = false,
Throughput = 500,
VolumeSize = 50,
VolumeType = "gp2",
},
},
},
CreateOptions = new SpotInst.Aws.Inputs.OceanLaunchSpecCreateOptionsArgs
{
InitialNodes = 1,
},
DeleteOptions = new SpotInst.Aws.Inputs.OceanLaunchSpecDeleteOptionsArgs
{
DeleteNodes = true,
ForceDelete = true,
},
ElasticIpPools = new[]
{
new SpotInst.Aws.Inputs.OceanLaunchSpecElasticIpPoolArgs
{
TagSelector = new SpotInst.Aws.Inputs.OceanLaunchSpecElasticIpPoolTagSelectorArgs
{
TagKey = "key",
TagValue = "value",
},
},
},
IamInstanceProfile = "iam-profile",
ImageId = "ami-123456",
InstanceTypes = new[]
{
"m4.large",
"m4.xlarge",
"m4.2xlarge",
"m4.4xlarge",
},
Labels = new[]
{
new SpotInst.Aws.Inputs.OceanLaunchSpecLabelArgs
{
Key = "key1",
Value = "value1",
},
},
OceanId = "o-123456",
PreferredSpotTypes = new[]
{
"m4.large",
"m4.xlarge",
},
ResourceLimits = new[]
{
new SpotInst.Aws.Inputs.OceanLaunchSpecResourceLimitArgs
{
MaxInstanceCount = 4,
MinInstanceCount = 0,
},
},
RestrictScaleDown = true,
RootVolumeSize = 30,
SchedulingShutdownHours = new SpotInst.Aws.Inputs.OceanLaunchSpecSchedulingShutdownHoursArgs
{
IsEnabled = true,
TimeWindows = new[]
{
"Sat:08:00-Sat:08:30",
"Sun:08:00-Sun:08:30",
},
},
SchedulingTasks = new[]
{
new SpotInst.Aws.Inputs.OceanLaunchSpecSchedulingTaskArgs
{
CronExpression = "0 1 * * *",
IsEnabled = true,
TaskHeadrooms = new[]
{
new SpotInst.Aws.Inputs.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs
{
CpuPerUnit = 1000,
GpuPerUnit = 0,
MemoryPerUnit = 2048,
NumOfUnits = 5,
},
},
TaskType = "manualHeadroomUpdate",
},
},
SecurityGroups = new[]
{
"sg-987654321",
},
Strategies = new[]
{
new SpotInst.Aws.Inputs.OceanLaunchSpecStrategyArgs
{
SpotPercentage = 70,
},
},
SubnetIds = new[]
{
"subnet-1234",
},
Tags = new[]
{
new SpotInst.Aws.Inputs.OceanLaunchSpecTagArgs
{
Key = "Env",
Value = "production",
},
},
Taints = new[]
{
new SpotInst.Aws.Inputs.OceanLaunchSpecTaintArgs
{
Effect = "NoExecute",
Key = "key1",
Value = "value1",
},
},
UserData = "echo Hello, world!",
});
});
package main
import (
"github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/aws"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := aws.NewOceanLaunchSpec(ctx, "example", &aws.OceanLaunchSpecArgs{
AssociatePublicIpAddress: pulumi.Bool(true),
AutoscaleDowns: aws.OceanLaunchSpecAutoscaleDownArray{
&aws.OceanLaunchSpecAutoscaleDownArgs{
MaxScaleDownPercentage: pulumi.Float64(20),
},
},
AutoscaleHeadrooms: aws.OceanLaunchSpecAutoscaleHeadroomArray{
&aws.OceanLaunchSpecAutoscaleHeadroomArgs{
CpuPerUnit: pulumi.Int(1000),
GpuPerUnit: pulumi.Int(0),
MemoryPerUnit: pulumi.Int(2048),
NumOfUnits: pulumi.Int(5),
},
},
AutoscaleHeadroomsAutomatics: aws.OceanLaunchSpecAutoscaleHeadroomsAutomaticArray{
&aws.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs{
AutoHeadroomPercentage: pulumi.Int(5),
},
},
BlockDeviceMappings: aws.OceanLaunchSpecBlockDeviceMappingArray{
&aws.OceanLaunchSpecBlockDeviceMappingArgs{
DeviceName: pulumi.String("/dev/xvda"),
Ebs: &aws.OceanLaunchSpecBlockDeviceMappingEbsArgs{
DeleteOnTermination: pulumi.Bool(true),
DynamicVolumeSize: &aws.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs{
BaseSize: pulumi.Int(50),
Resource: pulumi.String("CPU"),
SizePerResourceUnit: pulumi.Int(20),
},
Encrypted: pulumi.Bool(false),
Throughput: pulumi.Int(500),
VolumeSize: pulumi.Int(50),
VolumeType: pulumi.String("gp2"),
},
},
},
CreateOptions: &aws.OceanLaunchSpecCreateOptionsArgs{
InitialNodes: pulumi.Int(1),
},
DeleteOptions: &aws.OceanLaunchSpecDeleteOptionsArgs{
DeleteNodes: pulumi.Bool(true),
ForceDelete: pulumi.Bool(true),
},
ElasticIpPools: aws.OceanLaunchSpecElasticIpPoolArray{
&aws.OceanLaunchSpecElasticIpPoolArgs{
TagSelector: &aws.OceanLaunchSpecElasticIpPoolTagSelectorArgs{
TagKey: pulumi.String("key"),
TagValue: pulumi.String("value"),
},
},
},
IamInstanceProfile: pulumi.String("iam-profile"),
ImageId: pulumi.String("ami-123456"),
InstanceTypes: pulumi.StringArray{
pulumi.String("m4.large"),
pulumi.String("m4.xlarge"),
pulumi.String("m4.2xlarge"),
pulumi.String("m4.4xlarge"),
},
Labels: aws.OceanLaunchSpecLabelArray{
&aws.OceanLaunchSpecLabelArgs{
Key: pulumi.String("key1"),
Value: pulumi.String("value1"),
},
},
OceanId: pulumi.String("o-123456"),
PreferredSpotTypes: pulumi.StringArray{
pulumi.String("m4.large"),
pulumi.String("m4.xlarge"),
},
ResourceLimits: aws.OceanLaunchSpecResourceLimitArray{
&aws.OceanLaunchSpecResourceLimitArgs{
MaxInstanceCount: pulumi.Int(4),
MinInstanceCount: pulumi.Int(0),
},
},
RestrictScaleDown: pulumi.Bool(true),
RootVolumeSize: pulumi.Int(30),
SchedulingShutdownHours: &aws.OceanLaunchSpecSchedulingShutdownHoursArgs{
IsEnabled: pulumi.Bool(true),
TimeWindows: pulumi.StringArray{
pulumi.String("Sat:08:00-Sat:08:30"),
pulumi.String("Sun:08:00-Sun:08:30"),
},
},
SchedulingTasks: aws.OceanLaunchSpecSchedulingTaskArray{
&aws.OceanLaunchSpecSchedulingTaskArgs{
CronExpression: pulumi.String("0 1 * * *"),
IsEnabled: pulumi.Bool(true),
TaskHeadrooms: aws.OceanLaunchSpecSchedulingTaskTaskHeadroomArray{
&aws.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs{
CpuPerUnit: pulumi.Int(1000),
GpuPerUnit: pulumi.Int(0),
MemoryPerUnit: pulumi.Int(2048),
NumOfUnits: pulumi.Int(5),
},
},
TaskType: pulumi.String("manualHeadroomUpdate"),
},
},
SecurityGroups: pulumi.StringArray{
pulumi.String("sg-987654321"),
},
Strategies: aws.OceanLaunchSpecStrategyArray{
&aws.OceanLaunchSpecStrategyArgs{
SpotPercentage: pulumi.Int(70),
},
},
SubnetIds: pulumi.StringArray{
pulumi.String("subnet-1234"),
},
Tags: aws.OceanLaunchSpecTagArray{
&aws.OceanLaunchSpecTagArgs{
Key: pulumi.String("Env"),
Value: pulumi.String("production"),
},
},
Taints: aws.OceanLaunchSpecTaintArray{
&aws.OceanLaunchSpecTaintArgs{
Effect: pulumi.String("NoExecute"),
Key: pulumi.String("key1"),
Value: pulumi.String("value1"),
},
},
UserData: pulumi.String("echo Hello, world!"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.spotinst.aws.OceanLaunchSpec;
import com.pulumi.spotinst.aws.OceanLaunchSpecArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecAutoscaleDownArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecAutoscaleHeadroomArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecBlockDeviceMappingArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecBlockDeviceMappingEbsArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecCreateOptionsArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecDeleteOptionsArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecElasticIpPoolArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecElasticIpPoolTagSelectorArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecLabelArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecResourceLimitArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecSchedulingShutdownHoursArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecSchedulingTaskArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecStrategyArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecTagArgs;
import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecTaintArgs;
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 OceanLaunchSpec("example", OceanLaunchSpecArgs.builder()
.associatePublicIpAddress(true)
.autoscaleDowns(OceanLaunchSpecAutoscaleDownArgs.builder()
.maxScaleDownPercentage(20)
.build())
.autoscaleHeadrooms(OceanLaunchSpecAutoscaleHeadroomArgs.builder()
.cpuPerUnit(1000)
.gpuPerUnit(0)
.memoryPerUnit(2048)
.numOfUnits(5)
.build())
.autoscaleHeadroomsAutomatics(OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs.builder()
.autoHeadroomPercentage(5)
.build())
.blockDeviceMappings(OceanLaunchSpecBlockDeviceMappingArgs.builder()
.deviceName("/dev/xvda")
.ebs(OceanLaunchSpecBlockDeviceMappingEbsArgs.builder()
.deleteOnTermination("true")
.dynamicVolumeSize(OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs.builder()
.baseSize(50)
.resource("CPU")
.sizePerResourceUnit(20)
.build())
.encrypted("false")
.throughput(500)
.volumeSize(50)
.volumeType("gp2")
.build())
.build())
.createOptions(OceanLaunchSpecCreateOptionsArgs.builder()
.initialNodes(1)
.build())
.deleteOptions(OceanLaunchSpecDeleteOptionsArgs.builder()
.deleteNodes(true)
.forceDelete(true)
.build())
.elasticIpPools(OceanLaunchSpecElasticIpPoolArgs.builder()
.tagSelector(OceanLaunchSpecElasticIpPoolTagSelectorArgs.builder()
.tagKey("key")
.tagValue("value")
.build())
.build())
.iamInstanceProfile("iam-profile")
.imageId("ami-123456")
.instanceTypes(
"m4.large",
"m4.xlarge",
"m4.2xlarge",
"m4.4xlarge")
.labels(OceanLaunchSpecLabelArgs.builder()
.key("key1")
.value("value1")
.build())
.oceanId("o-123456")
.preferredSpotTypes(
"m4.large",
"m4.xlarge")
.resourceLimits(OceanLaunchSpecResourceLimitArgs.builder()
.maxInstanceCount(4)
.minInstanceCount(0)
.build())
.restrictScaleDown(true)
.rootVolumeSize(30)
.schedulingShutdownHours(OceanLaunchSpecSchedulingShutdownHoursArgs.builder()
.isEnabled(true)
.timeWindows(
"Sat:08:00-Sat:08:30",
"Sun:08:00-Sun:08:30")
.build())
.schedulingTasks(OceanLaunchSpecSchedulingTaskArgs.builder()
.cronExpression("0 1 * * *")
.isEnabled(true)
.taskHeadrooms(OceanLaunchSpecSchedulingTaskTaskHeadroomArgs.builder()
.cpuPerUnit(1000)
.gpuPerUnit(0)
.memoryPerUnit(2048)
.numOfUnits(5)
.build())
.taskType("manualHeadroomUpdate")
.build())
.securityGroups("sg-987654321")
.strategies(OceanLaunchSpecStrategyArgs.builder()
.spotPercentage(70)
.build())
.subnetIds("subnet-1234")
.tags(OceanLaunchSpecTagArgs.builder()
.key("Env")
.value("production")
.build())
.taints(OceanLaunchSpecTaintArgs.builder()
.effect("NoExecute")
.key("key1")
.value("value1")
.build())
.userData("echo Hello, world!")
.build());
}
}
import pulumi
import pulumi_spotinst as spotinst
example = spotinst.aws.OceanLaunchSpec("example",
associate_public_ip_address=True,
autoscale_downs=[spotinst.aws.OceanLaunchSpecAutoscaleDownArgs(
max_scale_down_percentage=20,
)],
autoscale_headrooms=[spotinst.aws.OceanLaunchSpecAutoscaleHeadroomArgs(
cpu_per_unit=1000,
gpu_per_unit=0,
memory_per_unit=2048,
num_of_units=5,
)],
autoscale_headrooms_automatics=[spotinst.aws.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs(
auto_headroom_percentage=5,
)],
block_device_mappings=[spotinst.aws.OceanLaunchSpecBlockDeviceMappingArgs(
device_name="/dev/xvda",
ebs=spotinst.aws.OceanLaunchSpecBlockDeviceMappingEbsArgs(
delete_on_termination=True,
dynamic_volume_size=spotinst.aws.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs(
base_size=50,
resource="CPU",
size_per_resource_unit=20,
),
encrypted=False,
throughput=500,
volume_size=50,
volume_type="gp2",
),
)],
create_options=spotinst.aws.OceanLaunchSpecCreateOptionsArgs(
initial_nodes=1,
),
delete_options=spotinst.aws.OceanLaunchSpecDeleteOptionsArgs(
delete_nodes=True,
force_delete=True,
),
elastic_ip_pools=[spotinst.aws.OceanLaunchSpecElasticIpPoolArgs(
tag_selector=spotinst.aws.OceanLaunchSpecElasticIpPoolTagSelectorArgs(
tag_key="key",
tag_value="value",
),
)],
iam_instance_profile="iam-profile",
image_id="ami-123456",
instance_types=[
"m4.large",
"m4.xlarge",
"m4.2xlarge",
"m4.4xlarge",
],
labels=[spotinst.aws.OceanLaunchSpecLabelArgs(
key="key1",
value="value1",
)],
ocean_id="o-123456",
preferred_spot_types=[
"m4.large",
"m4.xlarge",
],
resource_limits=[spotinst.aws.OceanLaunchSpecResourceLimitArgs(
max_instance_count=4,
min_instance_count=0,
)],
restrict_scale_down=True,
root_volume_size=30,
scheduling_shutdown_hours=spotinst.aws.OceanLaunchSpecSchedulingShutdownHoursArgs(
is_enabled=True,
time_windows=[
"Sat:08:00-Sat:08:30",
"Sun:08:00-Sun:08:30",
],
),
scheduling_tasks=[spotinst.aws.OceanLaunchSpecSchedulingTaskArgs(
cron_expression="0 1 * * *",
is_enabled=True,
task_headrooms=[spotinst.aws.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs(
cpu_per_unit=1000,
gpu_per_unit=0,
memory_per_unit=2048,
num_of_units=5,
)],
task_type="manualHeadroomUpdate",
)],
security_groups=["sg-987654321"],
strategies=[spotinst.aws.OceanLaunchSpecStrategyArgs(
spot_percentage=70,
)],
subnet_ids=["subnet-1234"],
tags=[spotinst.aws.OceanLaunchSpecTagArgs(
key="Env",
value="production",
)],
taints=[spotinst.aws.OceanLaunchSpecTaintArgs(
effect="NoExecute",
key="key1",
value="value1",
)],
user_data="echo Hello, world!")
import * as pulumi from "@pulumi/pulumi";
import * as spotinst from "@pulumi/spotinst";
const example = new spotinst.aws.OceanLaunchSpec("example", {
associatePublicIpAddress: true,
autoscaleDowns: [{
maxScaleDownPercentage: 20,
}],
autoscaleHeadrooms: [{
cpuPerUnit: 1000,
gpuPerUnit: 0,
memoryPerUnit: 2048,
numOfUnits: 5,
}],
autoscaleHeadroomsAutomatics: [{
autoHeadroomPercentage: 5,
}],
blockDeviceMappings: [{
deviceName: "/dev/xvda",
ebs: {
deleteOnTermination: true,
dynamicVolumeSize: {
baseSize: 50,
resource: "CPU",
sizePerResourceUnit: 20,
},
encrypted: false,
throughput: 500,
volumeSize: 50,
volumeType: "gp2",
},
}],
createOptions: {
initialNodes: 1,
},
deleteOptions: {
deleteNodes: true,
forceDelete: true,
},
elasticIpPools: [{
tagSelector: {
tagKey: "key",
tagValue: "value",
},
}],
iamInstanceProfile: "iam-profile",
imageId: "ami-123456",
instanceTypes: [
"m4.large",
"m4.xlarge",
"m4.2xlarge",
"m4.4xlarge",
],
labels: [{
key: "key1",
value: "value1",
}],
oceanId: "o-123456",
preferredSpotTypes: [
"m4.large",
"m4.xlarge",
],
resourceLimits: [{
maxInstanceCount: 4,
minInstanceCount: 0,
}],
restrictScaleDown: true,
rootVolumeSize: 30,
schedulingShutdownHours: {
isEnabled: true,
timeWindows: [
"Sat:08:00-Sat:08:30",
"Sun:08:00-Sun:08:30",
],
},
schedulingTasks: [{
cronExpression: "0 1 * * *",
isEnabled: true,
taskHeadrooms: [{
cpuPerUnit: 1000,
gpuPerUnit: 0,
memoryPerUnit: 2048,
numOfUnits: 5,
}],
taskType: "manualHeadroomUpdate",
}],
securityGroups: ["sg-987654321"],
strategies: [{
spotPercentage: 70,
}],
subnetIds: ["subnet-1234"],
tags: [{
key: "Env",
value: "production",
}],
taints: [{
effect: "NoExecute",
key: "key1",
value: "value1",
}],
userData: "echo Hello, world!",
});
resources:
example:
type: spotinst:aws:OceanLaunchSpec
properties:
associatePublicIpAddress: true
autoscaleDowns:
- maxScaleDownPercentage: 20
autoscaleHeadrooms:
- cpuPerUnit: 1000
gpuPerUnit: 0
memoryPerUnit: 2048
numOfUnits: 5
autoscaleHeadroomsAutomatics:
- autoHeadroomPercentage: 5
blockDeviceMappings:
- deviceName: /dev/xvda
ebs:
deleteOnTermination: 'true'
dynamicVolumeSize:
baseSize: 50
resource: CPU
sizePerResourceUnit: 20
encrypted: 'false'
throughput: 500
volumeSize: 50
volumeType: gp2
createOptions:
initialNodes: 1
deleteOptions:
deleteNodes: true
forceDelete: true
elasticIpPools:
- tagSelector:
tagKey: key
tagValue: value
iamInstanceProfile: iam-profile
imageId: ami-123456
instanceTypes:
- m4.large
- m4.xlarge
- m4.2xlarge
- m4.4xlarge
labels:
- key: key1
value: value1
oceanId: o-123456
preferredSpotTypes:
- m4.large
- m4.xlarge
resourceLimits:
- maxInstanceCount: 4
minInstanceCount: 0
restrictScaleDown: true
rootVolumeSize: 30
schedulingShutdownHours:
isEnabled: true
timeWindows:
- Sat:08:00-Sat:08:30
- Sun:08:00-Sun:08:30
schedulingTasks:
- cronExpression: 0 1 * * *
isEnabled: true
taskHeadrooms:
- cpuPerUnit: 1000
gpuPerUnit: 0
memoryPerUnit: 2048
numOfUnits: 5
taskType: manualHeadroomUpdate
securityGroups:
- sg-987654321
strategies:
- spotPercentage: 70
subnetIds:
- subnet-1234
tags:
- key: Env
value: production
taints:
- effect: NoExecute
key: key1
value: value1
userData: echo Hello, world!
using System.Collections.Generic;
using Pulumi;
return await Deployment.RunAsync(() =>
{
return new Dictionary<string, object?>
{
["oceanLaunchspecId"] = spotinst_ocean_aws_launch_spec.Example.Id,
};
});
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
ctx.Export("oceanLaunchspecId", spotinst_ocean_aws_launch_spec.Example.Id)
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
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) {
ctx.export("oceanLaunchspecId", spotinst_ocean_aws_launch_spec.example().id());
}
}
import pulumi
pulumi.export("oceanLaunchspecId", spotinst_ocean_aws_launch_spec["example"]["id"])
import * as pulumi from "@pulumi/pulumi";
export const oceanLaunchspecId = spotinst_ocean_aws_launch_spec.example.id;
outputs:
oceanLaunchspecId: ${spotinst_ocean_aws_launch_spec.example.id}
- (Required) Sets the percentage of the instances to deploy in each batch.
using System.Collections.Generic;
using Pulumi;
return await Deployment.RunAsync(() =>
{
});
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
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) {
}
}
import pulumi
import * as pulumi from "@pulumi/pulumi";
{}
Create OceanLaunchSpec Resource
new OceanLaunchSpec(name: string, args: OceanLaunchSpecArgs, opts?: CustomResourceOptions);
@overload
def OceanLaunchSpec(resource_name: str,
opts: Optional[ResourceOptions] = None,
associate_public_ip_address: Optional[bool] = None,
autoscale_downs: Optional[Sequence[OceanLaunchSpecAutoscaleDownArgs]] = None,
autoscale_headrooms: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomArgs]] = None,
autoscale_headrooms_automatics: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs]] = None,
block_device_mappings: Optional[Sequence[OceanLaunchSpecBlockDeviceMappingArgs]] = None,
create_options: Optional[OceanLaunchSpecCreateOptionsArgs] = None,
delete_options: Optional[OceanLaunchSpecDeleteOptionsArgs] = None,
elastic_ip_pools: Optional[Sequence[OceanLaunchSpecElasticIpPoolArgs]] = None,
iam_instance_profile: Optional[str] = None,
image_id: Optional[str] = None,
instance_types: Optional[Sequence[str]] = None,
labels: Optional[Sequence[OceanLaunchSpecLabelArgs]] = None,
name: Optional[str] = None,
ocean_id: Optional[str] = None,
preferred_spot_types: Optional[Sequence[str]] = None,
resource_limits: Optional[Sequence[OceanLaunchSpecResourceLimitArgs]] = None,
restrict_scale_down: Optional[bool] = None,
root_volume_size: Optional[int] = None,
scheduling_shutdown_hours: Optional[OceanLaunchSpecSchedulingShutdownHoursArgs] = None,
scheduling_tasks: Optional[Sequence[OceanLaunchSpecSchedulingTaskArgs]] = None,
security_groups: Optional[Sequence[str]] = None,
strategies: Optional[Sequence[OceanLaunchSpecStrategyArgs]] = None,
subnet_ids: Optional[Sequence[str]] = None,
tags: Optional[Sequence[OceanLaunchSpecTagArgs]] = None,
taints: Optional[Sequence[OceanLaunchSpecTaintArgs]] = None,
update_policy: Optional[OceanLaunchSpecUpdatePolicyArgs] = None,
user_data: Optional[str] = None)
@overload
def OceanLaunchSpec(resource_name: str,
args: OceanLaunchSpecArgs,
opts: Optional[ResourceOptions] = None)
func NewOceanLaunchSpec(ctx *Context, name string, args OceanLaunchSpecArgs, opts ...ResourceOption) (*OceanLaunchSpec, error)
public OceanLaunchSpec(string name, OceanLaunchSpecArgs args, CustomResourceOptions? opts = null)
public OceanLaunchSpec(String name, OceanLaunchSpecArgs args)
public OceanLaunchSpec(String name, OceanLaunchSpecArgs args, CustomResourceOptions options)
type: spotinst:aws:OceanLaunchSpec
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args OceanLaunchSpecArgs
- 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 OceanLaunchSpecArgs
- 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 OceanLaunchSpecArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args OceanLaunchSpecArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args OceanLaunchSpecArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
OceanLaunchSpec 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 OceanLaunchSpec resource accepts the following input properties:
- Ocean
Id string The ID of the Ocean cluster.
- Associate
Public boolIp Address Configure public IP address allocation.
- Autoscale
Downs List<Pulumi.Spot Inst. Aws. Inputs. Ocean Launch Spec Autoscale Down Args> Auto Scaling scale down operations.
- Autoscale
Headrooms List<Pulumi.Spot Inst. Aws. Inputs. Ocean Launch Spec Autoscale Headroom Args> Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
- Autoscale
Headrooms List<Pulumi.Automatics Spot Inst. Aws. Inputs. Ocean Launch Spec Autoscale Headrooms Automatic Args> Set automatic headroom per launch spec.
- Block
Device List<Pulumi.Mappings Spot Inst. Aws. Inputs. Ocean Launch Spec Block Device Mapping Args> Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- Create
Options Pulumi.Spot Inst. Aws. Inputs. Ocean Launch Spec Create Options Args - Delete
Options Pulumi.Spot Inst. Aws. Inputs. Ocean Launch Spec Delete Options Args - Elastic
Ip List<Pulumi.Pools Spot Inst. Aws. Inputs. Ocean Launch Spec Elastic Ip Pool Args> Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
- Iam
Instance stringProfile The ARN or name of an IAM instance profile to associate with launched instances.
- Image
Id string ID of the image used to launch the instances.
- Instance
Types List<string> A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
- Labels
List<Pulumi.
Spot Inst. Aws. Inputs. Ocean Launch Spec Label Args> Optionally adds labels to instances launched in the cluster.
- Name string
The name of the Virtual Node Group.
- Preferred
Spot List<string>Types A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- Resource
Limits List<Pulumi.Spot Inst. Aws. Inputs. Ocean Launch Spec Resource Limit Args> - Restrict
Scale boolDown Boolean. When set to
True
, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.- Root
Volume intSize Set root volume size (in GB).
- Scheduling
Shutdown Pulumi.Hours Spot Inst. Aws. Inputs. Ocean Launch Spec Scheduling Shutdown Hours Args Used to specify times that the nodes in the virtual node group will be taken down.
- Scheduling
Tasks List<Pulumi.Spot Inst. Aws. Inputs. Ocean Launch Spec Scheduling Task Args> Used to define scheduled tasks such as a manual headroom update.
- Security
Groups List<string> Optionally adds security group IDs.
- Strategies
List<Pulumi.
Spot Inst. Aws. Inputs. Ocean Launch Spec Strategy Args> - Subnet
Ids List<string> A list of subnet IDs.
- List<Pulumi.
Spot Inst. Aws. Inputs. Ocean Launch Spec Tag Args> A key/value mapping of tags to assign to the resource.
- Taints
List<Pulumi.
Spot Inst. Aws. Inputs. Ocean Launch Spec Taint Args> Optionally adds labels to instances launched in the cluster.
- Update
Policy Pulumi.Spot Inst. Aws. Inputs. Ocean Launch Spec Update Policy Args - User
Data string Base64-encoded MIME user data to make available to the instances.
- Ocean
Id string The ID of the Ocean cluster.
- Associate
Public boolIp Address Configure public IP address allocation.
- Autoscale
Downs []OceanLaunch Spec Autoscale Down Args Auto Scaling scale down operations.
- Autoscale
Headrooms []OceanLaunch Spec Autoscale Headroom Args Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
- Autoscale
Headrooms []OceanAutomatics Launch Spec Autoscale Headrooms Automatic Args Set automatic headroom per launch spec.
- Block
Device []OceanMappings Launch Spec Block Device Mapping Args Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- Create
Options OceanLaunch Spec Create Options Args - Delete
Options OceanLaunch Spec Delete Options Args - Elastic
Ip []OceanPools Launch Spec Elastic Ip Pool Args Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
- Iam
Instance stringProfile The ARN or name of an IAM instance profile to associate with launched instances.
- Image
Id string ID of the image used to launch the instances.
- Instance
Types []string A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
- Labels
[]Ocean
Launch Spec Label Args Optionally adds labels to instances launched in the cluster.
- Name string
The name of the Virtual Node Group.
- Preferred
Spot []stringTypes A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- Resource
Limits []OceanLaunch Spec Resource Limit Args - Restrict
Scale boolDown Boolean. When set to
True
, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.- Root
Volume intSize Set root volume size (in GB).
- Scheduling
Shutdown OceanHours Launch Spec Scheduling Shutdown Hours Args Used to specify times that the nodes in the virtual node group will be taken down.
- Scheduling
Tasks []OceanLaunch Spec Scheduling Task Args Used to define scheduled tasks such as a manual headroom update.
- Security
Groups []string Optionally adds security group IDs.
- Strategies
[]Ocean
Launch Spec Strategy Args - Subnet
Ids []string A list of subnet IDs.
- []Ocean
Launch Spec Tag Args A key/value mapping of tags to assign to the resource.
- Taints
[]Ocean
Launch Spec Taint Args Optionally adds labels to instances launched in the cluster.
- Update
Policy OceanLaunch Spec Update Policy Args - User
Data string Base64-encoded MIME user data to make available to the instances.
- ocean
Id String The ID of the Ocean cluster.
- associate
Public BooleanIp Address Configure public IP address allocation.
- autoscale
Downs List<OceanLaunch Spec Autoscale Down Args> Auto Scaling scale down operations.
- autoscale
Headrooms List<OceanLaunch Spec Autoscale Headroom Args> Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
- autoscale
Headrooms List<OceanAutomatics Launch Spec Autoscale Headrooms Automatic Args> Set automatic headroom per launch spec.
- block
Device List<OceanMappings Launch Spec Block Device Mapping Args> Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- create
Options OceanLaunch Spec Create Options Args - delete
Options OceanLaunch Spec Delete Options Args - elastic
Ip List<OceanPools Launch Spec Elastic Ip Pool Args> Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
- iam
Instance StringProfile The ARN or name of an IAM instance profile to associate with launched instances.
- image
Id String ID of the image used to launch the instances.
- instance
Types List<String> A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
- labels
List<Ocean
Launch Spec Label Args> Optionally adds labels to instances launched in the cluster.
- name String
The name of the Virtual Node Group.
- preferred
Spot List<String>Types A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- resource
Limits List<OceanLaunch Spec Resource Limit Args> - restrict
Scale BooleanDown Boolean. When set to
True
, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.- root
Volume IntegerSize Set root volume size (in GB).
- scheduling
Shutdown OceanHours Launch Spec Scheduling Shutdown Hours Args Used to specify times that the nodes in the virtual node group will be taken down.
- scheduling
Tasks List<OceanLaunch Spec Scheduling Task Args> Used to define scheduled tasks such as a manual headroom update.
- security
Groups List<String> Optionally adds security group IDs.
- strategies
List<Ocean
Launch Spec Strategy Args> - subnet
Ids List<String> A list of subnet IDs.
- List<Ocean
Launch Spec Tag Args> A key/value mapping of tags to assign to the resource.
- taints
List<Ocean
Launch Spec Taint Args> Optionally adds labels to instances launched in the cluster.
- update
Policy OceanLaunch Spec Update Policy Args - user
Data String Base64-encoded MIME user data to make available to the instances.
- ocean
Id string The ID of the Ocean cluster.
- associate
Public booleanIp Address Configure public IP address allocation.
- autoscale
Downs OceanLaunch Spec Autoscale Down Args[] Auto Scaling scale down operations.
- autoscale
Headrooms OceanLaunch Spec Autoscale Headroom Args[] Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
- autoscale
Headrooms OceanAutomatics Launch Spec Autoscale Headrooms Automatic Args[] Set automatic headroom per launch spec.
- block
Device OceanMappings Launch Spec Block Device Mapping Args[] Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- create
Options OceanLaunch Spec Create Options Args - delete
Options OceanLaunch Spec Delete Options Args - elastic
Ip OceanPools Launch Spec Elastic Ip Pool Args[] Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
- iam
Instance stringProfile The ARN or name of an IAM instance profile to associate with launched instances.
- image
Id string ID of the image used to launch the instances.
- instance
Types string[] A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
- labels
Ocean
Launch Spec Label Args[] Optionally adds labels to instances launched in the cluster.
- name string
The name of the Virtual Node Group.
- preferred
Spot string[]Types A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- resource
Limits OceanLaunch Spec Resource Limit Args[] - restrict
Scale booleanDown Boolean. When set to
True
, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.- root
Volume numberSize Set root volume size (in GB).
- scheduling
Shutdown OceanHours Launch Spec Scheduling Shutdown Hours Args Used to specify times that the nodes in the virtual node group will be taken down.
- scheduling
Tasks OceanLaunch Spec Scheduling Task Args[] Used to define scheduled tasks such as a manual headroom update.
- security
Groups string[] Optionally adds security group IDs.
- strategies
Ocean
Launch Spec Strategy Args[] - subnet
Ids string[] A list of subnet IDs.
- Ocean
Launch Spec Tag Args[] A key/value mapping of tags to assign to the resource.
- taints
Ocean
Launch Spec Taint Args[] Optionally adds labels to instances launched in the cluster.
- update
Policy OceanLaunch Spec Update Policy Args - user
Data string Base64-encoded MIME user data to make available to the instances.
- ocean_
id str The ID of the Ocean cluster.
- associate_
public_ boolip_ address Configure public IP address allocation.
- autoscale_
downs Sequence[OceanLaunch Spec Autoscale Down Args] Auto Scaling scale down operations.
- autoscale_
headrooms Sequence[OceanLaunch Spec Autoscale Headroom Args] Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
- autoscale_
headrooms_ Sequence[Oceanautomatics Launch Spec Autoscale Headrooms Automatic Args] Set automatic headroom per launch spec.
- block_
device_ Sequence[Oceanmappings Launch Spec Block Device Mapping Args] Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- create_
options OceanLaunch Spec Create Options Args - delete_
options OceanLaunch Spec Delete Options Args - elastic_
ip_ Sequence[Oceanpools Launch Spec Elastic Ip Pool Args] Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
- iam_
instance_ strprofile The ARN or name of an IAM instance profile to associate with launched instances.
- image_
id str ID of the image used to launch the instances.
- instance_
types Sequence[str] A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
- labels
Sequence[Ocean
Launch Spec Label Args] Optionally adds labels to instances launched in the cluster.
- name str
The name of the Virtual Node Group.
- preferred_
spot_ Sequence[str]types A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- resource_
limits Sequence[OceanLaunch Spec Resource Limit Args] - restrict_
scale_ booldown Boolean. When set to
True
, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.- root_
volume_ intsize Set root volume size (in GB).
- scheduling_
shutdown_ Oceanhours Launch Spec Scheduling Shutdown Hours Args Used to specify times that the nodes in the virtual node group will be taken down.
- scheduling_
tasks Sequence[OceanLaunch Spec Scheduling Task Args] Used to define scheduled tasks such as a manual headroom update.
- security_
groups Sequence[str] Optionally adds security group IDs.
- strategies
Sequence[Ocean
Launch Spec Strategy Args] - subnet_
ids Sequence[str] A list of subnet IDs.
- Sequence[Ocean
Launch Spec Tag Args] A key/value mapping of tags to assign to the resource.
- taints
Sequence[Ocean
Launch Spec Taint Args] Optionally adds labels to instances launched in the cluster.
- update_
policy OceanLaunch Spec Update Policy Args - user_
data str Base64-encoded MIME user data to make available to the instances.
- ocean
Id String The ID of the Ocean cluster.
- associate
Public BooleanIp Address Configure public IP address allocation.
- autoscale
Downs List<Property Map> Auto Scaling scale down operations.
- autoscale
Headrooms List<Property Map> Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
- autoscale
Headrooms List<Property Map>Automatics Set automatic headroom per launch spec.
- block
Device List<Property Map>Mappings Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- create
Options Property Map - delete
Options Property Map - elastic
Ip List<Property Map>Pools Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
- iam
Instance StringProfile The ARN or name of an IAM instance profile to associate with launched instances.
- image
Id String ID of the image used to launch the instances.
- instance
Types List<String> A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
- labels List<Property Map>
Optionally adds labels to instances launched in the cluster.
- name String
The name of the Virtual Node Group.
- preferred
Spot List<String>Types A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- resource
Limits List<Property Map> - restrict
Scale BooleanDown Boolean. When set to
True
, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.- root
Volume NumberSize Set root volume size (in GB).
- scheduling
Shutdown Property MapHours Used to specify times that the nodes in the virtual node group will be taken down.
- scheduling
Tasks List<Property Map> Used to define scheduled tasks such as a manual headroom update.
- security
Groups List<String> Optionally adds security group IDs.
- strategies List<Property Map>
- subnet
Ids List<String> A list of subnet IDs.
- List<Property Map>
A key/value mapping of tags to assign to the resource.
- taints List<Property Map>
Optionally adds labels to instances launched in the cluster.
- update
Policy Property Map - user
Data String Base64-encoded MIME user data to make available to the instances.
Outputs
All input properties are implicitly available as output properties. Additionally, the OceanLaunchSpec 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 OceanLaunchSpec Resource
Get an existing OceanLaunchSpec 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?: OceanLaunchSpecState, opts?: CustomResourceOptions): OceanLaunchSpec
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
associate_public_ip_address: Optional[bool] = None,
autoscale_downs: Optional[Sequence[OceanLaunchSpecAutoscaleDownArgs]] = None,
autoscale_headrooms: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomArgs]] = None,
autoscale_headrooms_automatics: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs]] = None,
block_device_mappings: Optional[Sequence[OceanLaunchSpecBlockDeviceMappingArgs]] = None,
create_options: Optional[OceanLaunchSpecCreateOptionsArgs] = None,
delete_options: Optional[OceanLaunchSpecDeleteOptionsArgs] = None,
elastic_ip_pools: Optional[Sequence[OceanLaunchSpecElasticIpPoolArgs]] = None,
iam_instance_profile: Optional[str] = None,
image_id: Optional[str] = None,
instance_types: Optional[Sequence[str]] = None,
labels: Optional[Sequence[OceanLaunchSpecLabelArgs]] = None,
name: Optional[str] = None,
ocean_id: Optional[str] = None,
preferred_spot_types: Optional[Sequence[str]] = None,
resource_limits: Optional[Sequence[OceanLaunchSpecResourceLimitArgs]] = None,
restrict_scale_down: Optional[bool] = None,
root_volume_size: Optional[int] = None,
scheduling_shutdown_hours: Optional[OceanLaunchSpecSchedulingShutdownHoursArgs] = None,
scheduling_tasks: Optional[Sequence[OceanLaunchSpecSchedulingTaskArgs]] = None,
security_groups: Optional[Sequence[str]] = None,
strategies: Optional[Sequence[OceanLaunchSpecStrategyArgs]] = None,
subnet_ids: Optional[Sequence[str]] = None,
tags: Optional[Sequence[OceanLaunchSpecTagArgs]] = None,
taints: Optional[Sequence[OceanLaunchSpecTaintArgs]] = None,
update_policy: Optional[OceanLaunchSpecUpdatePolicyArgs] = None,
user_data: Optional[str] = None) -> OceanLaunchSpec
func GetOceanLaunchSpec(ctx *Context, name string, id IDInput, state *OceanLaunchSpecState, opts ...ResourceOption) (*OceanLaunchSpec, error)
public static OceanLaunchSpec Get(string name, Input<string> id, OceanLaunchSpecState? state, CustomResourceOptions? opts = null)
public static OceanLaunchSpec get(String name, Output<String> id, OceanLaunchSpecState 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.
- Associate
Public boolIp Address Configure public IP address allocation.
- Autoscale
Downs List<Pulumi.Spot Inst. Aws. Inputs. Ocean Launch Spec Autoscale Down Args> Auto Scaling scale down operations.
- Autoscale
Headrooms List<Pulumi.Spot Inst. Aws. Inputs. Ocean Launch Spec Autoscale Headroom Args> Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
- Autoscale
Headrooms List<Pulumi.Automatics Spot Inst. Aws. Inputs. Ocean Launch Spec Autoscale Headrooms Automatic Args> Set automatic headroom per launch spec.
- Block
Device List<Pulumi.Mappings Spot Inst. Aws. Inputs. Ocean Launch Spec Block Device Mapping Args> Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- Create
Options Pulumi.Spot Inst. Aws. Inputs. Ocean Launch Spec Create Options Args - Delete
Options Pulumi.Spot Inst. Aws. Inputs. Ocean Launch Spec Delete Options Args - Elastic
Ip List<Pulumi.Pools Spot Inst. Aws. Inputs. Ocean Launch Spec Elastic Ip Pool Args> Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
- Iam
Instance stringProfile The ARN or name of an IAM instance profile to associate with launched instances.
- Image
Id string ID of the image used to launch the instances.
- Instance
Types List<string> A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
- Labels
List<Pulumi.
Spot Inst. Aws. Inputs. Ocean Launch Spec Label Args> Optionally adds labels to instances launched in the cluster.
- Name string
The name of the Virtual Node Group.
- Ocean
Id string The ID of the Ocean cluster.
- Preferred
Spot List<string>Types A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- Resource
Limits List<Pulumi.Spot Inst. Aws. Inputs. Ocean Launch Spec Resource Limit Args> - Restrict
Scale boolDown Boolean. When set to
True
, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.- Root
Volume intSize Set root volume size (in GB).
- Scheduling
Shutdown Pulumi.Hours Spot Inst. Aws. Inputs. Ocean Launch Spec Scheduling Shutdown Hours Args Used to specify times that the nodes in the virtual node group will be taken down.
- Scheduling
Tasks List<Pulumi.Spot Inst. Aws. Inputs. Ocean Launch Spec Scheduling Task Args> Used to define scheduled tasks such as a manual headroom update.
- Security
Groups List<string> Optionally adds security group IDs.
- Strategies
List<Pulumi.
Spot Inst. Aws. Inputs. Ocean Launch Spec Strategy Args> - Subnet
Ids List<string> A list of subnet IDs.
- List<Pulumi.
Spot Inst. Aws. Inputs. Ocean Launch Spec Tag Args> A key/value mapping of tags to assign to the resource.
- Taints
List<Pulumi.
Spot Inst. Aws. Inputs. Ocean Launch Spec Taint Args> Optionally adds labels to instances launched in the cluster.
- Update
Policy Pulumi.Spot Inst. Aws. Inputs. Ocean Launch Spec Update Policy Args - User
Data string Base64-encoded MIME user data to make available to the instances.
- Associate
Public boolIp Address Configure public IP address allocation.
- Autoscale
Downs []OceanLaunch Spec Autoscale Down Args Auto Scaling scale down operations.
- Autoscale
Headrooms []OceanLaunch Spec Autoscale Headroom Args Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
- Autoscale
Headrooms []OceanAutomatics Launch Spec Autoscale Headrooms Automatic Args Set automatic headroom per launch spec.
- Block
Device []OceanMappings Launch Spec Block Device Mapping Args Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- Create
Options OceanLaunch Spec Create Options Args - Delete
Options OceanLaunch Spec Delete Options Args - Elastic
Ip []OceanPools Launch Spec Elastic Ip Pool Args Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
- Iam
Instance stringProfile The ARN or name of an IAM instance profile to associate with launched instances.
- Image
Id string ID of the image used to launch the instances.
- Instance
Types []string A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
- Labels
[]Ocean
Launch Spec Label Args Optionally adds labels to instances launched in the cluster.
- Name string
The name of the Virtual Node Group.
- Ocean
Id string The ID of the Ocean cluster.
- Preferred
Spot []stringTypes A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- Resource
Limits []OceanLaunch Spec Resource Limit Args - Restrict
Scale boolDown Boolean. When set to
True
, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.- Root
Volume intSize Set root volume size (in GB).
- Scheduling
Shutdown OceanHours Launch Spec Scheduling Shutdown Hours Args Used to specify times that the nodes in the virtual node group will be taken down.
- Scheduling
Tasks []OceanLaunch Spec Scheduling Task Args Used to define scheduled tasks such as a manual headroom update.
- Security
Groups []string Optionally adds security group IDs.
- Strategies
[]Ocean
Launch Spec Strategy Args - Subnet
Ids []string A list of subnet IDs.
- []Ocean
Launch Spec Tag Args A key/value mapping of tags to assign to the resource.
- Taints
[]Ocean
Launch Spec Taint Args Optionally adds labels to instances launched in the cluster.
- Update
Policy OceanLaunch Spec Update Policy Args - User
Data string Base64-encoded MIME user data to make available to the instances.
- associate
Public BooleanIp Address Configure public IP address allocation.
- autoscale
Downs List<OceanLaunch Spec Autoscale Down Args> Auto Scaling scale down operations.
- autoscale
Headrooms List<OceanLaunch Spec Autoscale Headroom Args> Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
- autoscale
Headrooms List<OceanAutomatics Launch Spec Autoscale Headrooms Automatic Args> Set automatic headroom per launch spec.
- block
Device List<OceanMappings Launch Spec Block Device Mapping Args> Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- create
Options OceanLaunch Spec Create Options Args - delete
Options OceanLaunch Spec Delete Options Args - elastic
Ip List<OceanPools Launch Spec Elastic Ip Pool Args> Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
- iam
Instance StringProfile The ARN or name of an IAM instance profile to associate with launched instances.
- image
Id String ID of the image used to launch the instances.
- instance
Types List<String> A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
- labels
List<Ocean
Launch Spec Label Args> Optionally adds labels to instances launched in the cluster.
- name String
The name of the Virtual Node Group.
- ocean
Id String The ID of the Ocean cluster.
- preferred
Spot List<String>Types A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- resource
Limits List<OceanLaunch Spec Resource Limit Args> - restrict
Scale BooleanDown Boolean. When set to
True
, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.- root
Volume IntegerSize Set root volume size (in GB).
- scheduling
Shutdown OceanHours Launch Spec Scheduling Shutdown Hours Args Used to specify times that the nodes in the virtual node group will be taken down.
- scheduling
Tasks List<OceanLaunch Spec Scheduling Task Args> Used to define scheduled tasks such as a manual headroom update.
- security
Groups List<String> Optionally adds security group IDs.
- strategies
List<Ocean
Launch Spec Strategy Args> - subnet
Ids List<String> A list of subnet IDs.
- List<Ocean
Launch Spec Tag Args> A key/value mapping of tags to assign to the resource.
- taints
List<Ocean
Launch Spec Taint Args> Optionally adds labels to instances launched in the cluster.
- update
Policy OceanLaunch Spec Update Policy Args - user
Data String Base64-encoded MIME user data to make available to the instances.
- associate
Public booleanIp Address Configure public IP address allocation.
- autoscale
Downs OceanLaunch Spec Autoscale Down Args[] Auto Scaling scale down operations.
- autoscale
Headrooms OceanLaunch Spec Autoscale Headroom Args[] Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
- autoscale
Headrooms OceanAutomatics Launch Spec Autoscale Headrooms Automatic Args[] Set automatic headroom per launch spec.
- block
Device OceanMappings Launch Spec Block Device Mapping Args[] Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- create
Options OceanLaunch Spec Create Options Args - delete
Options OceanLaunch Spec Delete Options Args - elastic
Ip OceanPools Launch Spec Elastic Ip Pool Args[] Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
- iam
Instance stringProfile The ARN or name of an IAM instance profile to associate with launched instances.
- image
Id string ID of the image used to launch the instances.
- instance
Types string[] A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
- labels
Ocean
Launch Spec Label Args[] Optionally adds labels to instances launched in the cluster.
- name string
The name of the Virtual Node Group.
- ocean
Id string The ID of the Ocean cluster.
- preferred
Spot string[]Types A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- resource
Limits OceanLaunch Spec Resource Limit Args[] - restrict
Scale booleanDown Boolean. When set to
True
, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.- root
Volume numberSize Set root volume size (in GB).
- scheduling
Shutdown OceanHours Launch Spec Scheduling Shutdown Hours Args Used to specify times that the nodes in the virtual node group will be taken down.
- scheduling
Tasks OceanLaunch Spec Scheduling Task Args[] Used to define scheduled tasks such as a manual headroom update.
- security
Groups string[] Optionally adds security group IDs.
- strategies
Ocean
Launch Spec Strategy Args[] - subnet
Ids string[] A list of subnet IDs.
- Ocean
Launch Spec Tag Args[] A key/value mapping of tags to assign to the resource.
- taints
Ocean
Launch Spec Taint Args[] Optionally adds labels to instances launched in the cluster.
- update
Policy OceanLaunch Spec Update Policy Args - user
Data string Base64-encoded MIME user data to make available to the instances.
- associate_
public_ boolip_ address Configure public IP address allocation.
- autoscale_
downs Sequence[OceanLaunch Spec Autoscale Down Args] Auto Scaling scale down operations.
- autoscale_
headrooms Sequence[OceanLaunch Spec Autoscale Headroom Args] Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
- autoscale_
headrooms_ Sequence[Oceanautomatics Launch Spec Autoscale Headrooms Automatic Args] Set automatic headroom per launch spec.
- block_
device_ Sequence[Oceanmappings Launch Spec Block Device Mapping Args] Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- create_
options OceanLaunch Spec Create Options Args - delete_
options OceanLaunch Spec Delete Options Args - elastic_
ip_ Sequence[Oceanpools Launch Spec Elastic Ip Pool Args] Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
- iam_
instance_ strprofile The ARN or name of an IAM instance profile to associate with launched instances.
- image_
id str ID of the image used to launch the instances.
- instance_
types Sequence[str] A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
- labels
Sequence[Ocean
Launch Spec Label Args] Optionally adds labels to instances launched in the cluster.
- name str
The name of the Virtual Node Group.
- ocean_
id str The ID of the Ocean cluster.
- preferred_
spot_ Sequence[str]types A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- resource_
limits Sequence[OceanLaunch Spec Resource Limit Args] - restrict_
scale_ booldown Boolean. When set to
True
, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.- root_
volume_ intsize Set root volume size (in GB).
- scheduling_
shutdown_ Oceanhours Launch Spec Scheduling Shutdown Hours Args Used to specify times that the nodes in the virtual node group will be taken down.
- scheduling_
tasks Sequence[OceanLaunch Spec Scheduling Task Args] Used to define scheduled tasks such as a manual headroom update.
- security_
groups Sequence[str] Optionally adds security group IDs.
- strategies
Sequence[Ocean
Launch Spec Strategy Args] - subnet_
ids Sequence[str] A list of subnet IDs.
- Sequence[Ocean
Launch Spec Tag Args] A key/value mapping of tags to assign to the resource.
- taints
Sequence[Ocean
Launch Spec Taint Args] Optionally adds labels to instances launched in the cluster.
- update_
policy OceanLaunch Spec Update Policy Args - user_
data str Base64-encoded MIME user data to make available to the instances.
- associate
Public BooleanIp Address Configure public IP address allocation.
- autoscale
Downs List<Property Map> Auto Scaling scale down operations.
- autoscale
Headrooms List<Property Map> Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
- autoscale
Headrooms List<Property Map>Automatics Set automatic headroom per launch spec.
- block
Device List<Property Map>Mappings Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- create
Options Property Map - delete
Options Property Map - elastic
Ip List<Property Map>Pools Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
- iam
Instance StringProfile The ARN or name of an IAM instance profile to associate with launched instances.
- image
Id String ID of the image used to launch the instances.
- instance
Types List<String> A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
- labels List<Property Map>
Optionally adds labels to instances launched in the cluster.
- name String
The name of the Virtual Node Group.
- ocean
Id String The ID of the Ocean cluster.
- preferred
Spot List<String>Types A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- resource
Limits List<Property Map> - restrict
Scale BooleanDown Boolean. When set to
True
, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.- root
Volume NumberSize Set root volume size (in GB).
- scheduling
Shutdown Property MapHours Used to specify times that the nodes in the virtual node group will be taken down.
- scheduling
Tasks List<Property Map> Used to define scheduled tasks such as a manual headroom update.
- security
Groups List<String> Optionally adds security group IDs.
- strategies List<Property Map>
- subnet
Ids List<String> A list of subnet IDs.
- List<Property Map>
A key/value mapping of tags to assign to the resource.
- taints List<Property Map>
Optionally adds labels to instances launched in the cluster.
- update
Policy Property Map - user
Data String Base64-encoded MIME user data to make available to the instances.
Supporting Types
OceanLaunchSpecAutoscaleDown
- Max
Scale doubleDown Percentage The maximum percentage allowed to scale down in a single scaling action on the nodes running in a specific VNG. Allowed only if maxScaleDownPercentage is set to null at the cluster level. Number between [0.1-100].
- Max
Scale float64Down Percentage The maximum percentage allowed to scale down in a single scaling action on the nodes running in a specific VNG. Allowed only if maxScaleDownPercentage is set to null at the cluster level. Number between [0.1-100].
- max
Scale DoubleDown Percentage The maximum percentage allowed to scale down in a single scaling action on the nodes running in a specific VNG. Allowed only if maxScaleDownPercentage is set to null at the cluster level. Number between [0.1-100].
- max
Scale numberDown Percentage The maximum percentage allowed to scale down in a single scaling action on the nodes running in a specific VNG. Allowed only if maxScaleDownPercentage is set to null at the cluster level. Number between [0.1-100].
- max_
scale_ floatdown_ percentage The maximum percentage allowed to scale down in a single scaling action on the nodes running in a specific VNG. Allowed only if maxScaleDownPercentage is set to null at the cluster level. Number between [0.1-100].
- max
Scale NumberDown Percentage The maximum percentage allowed to scale down in a single scaling action on the nodes running in a specific VNG. Allowed only if maxScaleDownPercentage is set to null at the cluster level. Number between [0.1-100].
OceanLaunchSpecAutoscaleHeadroom
- Num
Of intUnits The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- Cpu
Per intUnit Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- Gpu
Per intUnit Optionally configure the number of GPUS to allocate for each headroom unit.
- Memory
Per intUnit Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- Num
Of intUnits The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- Cpu
Per intUnit Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- Gpu
Per intUnit Optionally configure the number of GPUS to allocate for each headroom unit.
- Memory
Per intUnit Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- num
Of IntegerUnits The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- cpu
Per IntegerUnit Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- gpu
Per IntegerUnit Optionally configure the number of GPUS to allocate for each headroom unit.
- memory
Per IntegerUnit Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- num
Of numberUnits The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- cpu
Per numberUnit Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- gpu
Per numberUnit Optionally configure the number of GPUS to allocate for each headroom unit.
- memory
Per numberUnit Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- num_
of_ intunits The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- cpu_
per_ intunit Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- gpu_
per_ intunit Optionally configure the number of GPUS to allocate for each headroom unit.
- memory_
per_ intunit Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- num
Of NumberUnits The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- cpu
Per NumberUnit Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- gpu
Per NumberUnit Optionally configure the number of GPUS to allocate for each headroom unit.
- memory
Per NumberUnit Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
OceanLaunchSpecAutoscaleHeadroomsAutomatic
- Auto
Headroom intPercentage Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.
is_enabled
= true is set on the Ocean cluster.
- Auto
Headroom intPercentage Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.
is_enabled
= true is set on the Ocean cluster.
- auto
Headroom IntegerPercentage Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.
is_enabled
= true is set on the Ocean cluster.
- auto
Headroom numberPercentage Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.
is_enabled
= true is set on the Ocean cluster.
- auto_
headroom_ intpercentage Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.
is_enabled
= true is set on the Ocean cluster.
- auto
Headroom NumberPercentage Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.
is_enabled
= true is set on the Ocean cluster.
OceanLaunchSpecBlockDeviceMapping
- Device
Name string String. Set device name. (Example:
/dev/xvda
).- Ebs
Pulumi.
Spot Inst. Aws. Inputs. Ocean Launch Spec Block Device Mapping Ebs Object. Set Elastic Block Store properties .
- No
Device string String. Suppresses the specified device included in the block device mapping of the AMI.
- Virtual
Name string
- Device
Name string String. Set device name. (Example:
/dev/xvda
).- Ebs
Ocean
Launch Spec Block Device Mapping Ebs Object. Set Elastic Block Store properties .
- No
Device string String. Suppresses the specified device included in the block device mapping of the AMI.
- Virtual
Name string
- device
Name String String. Set device name. (Example:
/dev/xvda
).- ebs
Ocean
Launch Spec Block Device Mapping Ebs Object. Set Elastic Block Store properties .
- no
Device String String. Suppresses the specified device included in the block device mapping of the AMI.
- virtual
Name String
- device
Name string String. Set device name. (Example:
/dev/xvda
).- ebs
Ocean
Launch Spec Block Device Mapping Ebs Object. Set Elastic Block Store properties .
- no
Device string String. Suppresses the specified device included in the block device mapping of the AMI.
- virtual
Name string
- device_
name str String. Set device name. (Example:
/dev/xvda
).- ebs
Ocean
Launch Spec Block Device Mapping Ebs Object. Set Elastic Block Store properties .
- no_
device str String. Suppresses the specified device included in the block device mapping of the AMI.
- virtual_
name str
- device
Name String String. Set device name. (Example:
/dev/xvda
).- ebs Property Map
Object. Set Elastic Block Store properties .
- no
Device String String. Suppresses the specified device included in the block device mapping of the AMI.
- virtual
Name String
OceanLaunchSpecBlockDeviceMappingEbs
- Delete
On boolTermination Boolean. Flag to delete the EBS on instance termination.
- Dynamic
Volume Pulumi.Size Spot Inst. Aws. Inputs. Ocean Launch Spec Block Device Mapping Ebs Dynamic Volume Size Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
- Encrypted bool
Boolean. Enables EBS encryption on the volume.
- Iops int
Int. The number of I/O operations per second (IOPS) that the volume supports.
- Kms
Key stringId String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
- Snapshot
Id string (Optional) String. The Snapshot ID to mount by.
- Throughput int
The amount of data transferred to or from a storage device per second, you can use this param just in a case that
volume_type
=gp3
.- Volume
Size int Int. The size, in GB of the volume.
- Volume
Type string String. The type of the volume. (Example:
gp2
).
- Delete
On boolTermination Boolean. Flag to delete the EBS on instance termination.
- Dynamic
Volume OceanSize Launch Spec Block Device Mapping Ebs Dynamic Volume Size Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
- Encrypted bool
Boolean. Enables EBS encryption on the volume.
- Iops int
Int. The number of I/O operations per second (IOPS) that the volume supports.
- Kms
Key stringId String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
- Snapshot
Id string (Optional) String. The Snapshot ID to mount by.
- Throughput int
The amount of data transferred to or from a storage device per second, you can use this param just in a case that
volume_type
=gp3
.- Volume
Size int Int. The size, in GB of the volume.
- Volume
Type string String. The type of the volume. (Example:
gp2
).
- delete
On BooleanTermination Boolean. Flag to delete the EBS on instance termination.
- dynamic
Volume OceanSize Launch Spec Block Device Mapping Ebs Dynamic Volume Size Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
- encrypted Boolean
Boolean. Enables EBS encryption on the volume.
- iops Integer
Int. The number of I/O operations per second (IOPS) that the volume supports.
- kms
Key StringId String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
- snapshot
Id String (Optional) String. The Snapshot ID to mount by.
- throughput Integer
The amount of data transferred to or from a storage device per second, you can use this param just in a case that
volume_type
=gp3
.- volume
Size Integer Int. The size, in GB of the volume.
- volume
Type String String. The type of the volume. (Example:
gp2
).
- delete
On booleanTermination Boolean. Flag to delete the EBS on instance termination.
- dynamic
Volume OceanSize Launch Spec Block Device Mapping Ebs Dynamic Volume Size Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
- encrypted boolean
Boolean. Enables EBS encryption on the volume.
- iops number
Int. The number of I/O operations per second (IOPS) that the volume supports.
- kms
Key stringId String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
- snapshot
Id string (Optional) String. The Snapshot ID to mount by.
- throughput number
The amount of data transferred to or from a storage device per second, you can use this param just in a case that
volume_type
=gp3
.- volume
Size number Int. The size, in GB of the volume.
- volume
Type string String. The type of the volume. (Example:
gp2
).
- delete_
on_ booltermination Boolean. Flag to delete the EBS on instance termination.
- dynamic_
volume_ Oceansize Launch Spec Block Device Mapping Ebs Dynamic Volume Size Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
- encrypted bool
Boolean. Enables EBS encryption on the volume.
- iops int
Int. The number of I/O operations per second (IOPS) that the volume supports.
- kms_
key_ strid String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
- snapshot_
id str (Optional) String. The Snapshot ID to mount by.
- throughput int
The amount of data transferred to or from a storage device per second, you can use this param just in a case that
volume_type
=gp3
.- volume_
size int Int. The size, in GB of the volume.
- volume_
type str String. The type of the volume. (Example:
gp2
).
- delete
On BooleanTermination Boolean. Flag to delete the EBS on instance termination.
- dynamic
Volume Property MapSize Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
- encrypted Boolean
Boolean. Enables EBS encryption on the volume.
- iops Number
Int. The number of I/O operations per second (IOPS) that the volume supports.
- kms
Key StringId String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
- snapshot
Id String (Optional) String. The Snapshot ID to mount by.
- throughput Number
The amount of data transferred to or from a storage device per second, you can use this param just in a case that
volume_type
=gp3
.- volume
Size Number Int. The size, in GB of the volume.
- volume
Type String String. The type of the volume. (Example:
gp2
).
OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize
- Base
Size int Int. Initial size for volume. (Example: 50)
- Resource string
String. Resource type to increase volume size dynamically by. (Valid values:
CPU
)- Size
Per intResource Unit Int. Additional size (in GB) per resource unit. (Example:
baseSize=50
,sizePerResourceUnit=20
, and instance with 2 CPU is launched; its total disk size will be: 90GB)
- Base
Size int Int. Initial size for volume. (Example: 50)
- Resource string
String. Resource type to increase volume size dynamically by. (Valid values:
CPU
)- Size
Per intResource Unit Int. Additional size (in GB) per resource unit. (Example:
baseSize=50
,sizePerResourceUnit=20
, and instance with 2 CPU is launched; its total disk size will be: 90GB)
- base
Size Integer Int. Initial size for volume. (Example: 50)
- resource String
String. Resource type to increase volume size dynamically by. (Valid values:
CPU
)- size
Per IntegerResource Unit Int. Additional size (in GB) per resource unit. (Example:
baseSize=50
,sizePerResourceUnit=20
, and instance with 2 CPU is launched; its total disk size will be: 90GB)
- base
Size number Int. Initial size for volume. (Example: 50)
- resource string
String. Resource type to increase volume size dynamically by. (Valid values:
CPU
)- size
Per numberResource Unit Int. Additional size (in GB) per resource unit. (Example:
baseSize=50
,sizePerResourceUnit=20
, and instance with 2 CPU is launched; its total disk size will be: 90GB)
- base_
size int Int. Initial size for volume. (Example: 50)
- resource str
String. Resource type to increase volume size dynamically by. (Valid values:
CPU
)- size_
per_ intresource_ unit Int. Additional size (in GB) per resource unit. (Example:
baseSize=50
,sizePerResourceUnit=20
, and instance with 2 CPU is launched; its total disk size will be: 90GB)
- base
Size Number Int. Initial size for volume. (Example: 50)
- resource String
String. Resource type to increase volume size dynamically by. (Valid values:
CPU
)- size
Per NumberResource Unit Int. Additional size (in GB) per resource unit. (Example:
baseSize=50
,sizePerResourceUnit=20
, and instance with 2 CPU is launched; its total disk size will be: 90GB)
OceanLaunchSpecCreateOptions
- Initial
Nodes int When set to an integer greater than 0, a corresponding amount of nodes will be launched from the created Virtual Node Group. The parameter is recommended in case the use_as_template_only (in spotinst.aws.Ocean resource) is set to true during Ocean resource creation.
- Initial
Nodes int When set to an integer greater than 0, a corresponding amount of nodes will be launched from the created Virtual Node Group. The parameter is recommended in case the use_as_template_only (in spotinst.aws.Ocean resource) is set to true during Ocean resource creation.
- initial
Nodes Integer When set to an integer greater than 0, a corresponding amount of nodes will be launched from the created Virtual Node Group. The parameter is recommended in case the use_as_template_only (in spotinst.aws.Ocean resource) is set to true during Ocean resource creation.
- initial
Nodes number When set to an integer greater than 0, a corresponding amount of nodes will be launched from the created Virtual Node Group. The parameter is recommended in case the use_as_template_only (in spotinst.aws.Ocean resource) is set to true during Ocean resource creation.
- initial_
nodes int When set to an integer greater than 0, a corresponding amount of nodes will be launched from the created Virtual Node Group. The parameter is recommended in case the use_as_template_only (in spotinst.aws.Ocean resource) is set to true during Ocean resource creation.
- initial
Nodes Number When set to an integer greater than 0, a corresponding amount of nodes will be launched from the created Virtual Node Group. The parameter is recommended in case the use_as_template_only (in spotinst.aws.Ocean resource) is set to true during Ocean resource creation.
OceanLaunchSpecDeleteOptions
- Force
Delete bool When set to
true
, delete even if it is the last Virtual Node Group (also, the default Virtual Node Group must be configured withuseAsTemlateOnly = true
). Should be set at creation or update, but will be used only at deletion.- Delete
Nodes bool When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated.
- Force
Delete bool When set to
true
, delete even if it is the last Virtual Node Group (also, the default Virtual Node Group must be configured withuseAsTemlateOnly = true
). Should be set at creation or update, but will be used only at deletion.- Delete
Nodes bool When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated.
- force
Delete Boolean When set to
true
, delete even if it is the last Virtual Node Group (also, the default Virtual Node Group must be configured withuseAsTemlateOnly = true
). Should be set at creation or update, but will be used only at deletion.- delete
Nodes Boolean When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated.
- force
Delete boolean When set to
true
, delete even if it is the last Virtual Node Group (also, the default Virtual Node Group must be configured withuseAsTemlateOnly = true
). Should be set at creation or update, but will be used only at deletion.- delete
Nodes boolean When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated.
- force_
delete bool When set to
true
, delete even if it is the last Virtual Node Group (also, the default Virtual Node Group must be configured withuseAsTemlateOnly = true
). Should be set at creation or update, but will be used only at deletion.- delete_
nodes bool When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated.
- force
Delete Boolean When set to
true
, delete even if it is the last Virtual Node Group (also, the default Virtual Node Group must be configured withuseAsTemlateOnly = true
). Should be set at creation or update, but will be used only at deletion.- delete
Nodes Boolean When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated.
OceanLaunchSpecElasticIpPool
- Pulumi.
Spot Inst. Aws. Inputs. Ocean Launch Spec Elastic Ip Pool Tag Selector A key-value pair, which defines an Elastic IP from the customer pool. Can be null.
- Ocean
Launch Spec Elastic Ip Pool Tag Selector A key-value pair, which defines an Elastic IP from the customer pool. Can be null.
- Ocean
Launch Spec Elastic Ip Pool Tag Selector A key-value pair, which defines an Elastic IP from the customer pool. Can be null.
- Ocean
Launch Spec Elastic Ip Pool Tag Selector A key-value pair, which defines an Elastic IP from the customer pool. Can be null.
- tag_
selector OceanLaunch Spec Elastic Ip Pool Tag Selector A key-value pair, which defines an Elastic IP from the customer pool. Can be null.
- Property Map
A key-value pair, which defines an Elastic IP from the customer pool. Can be null.
OceanLaunchSpecElasticIpPoolTagSelector
OceanLaunchSpecLabel
OceanLaunchSpecResourceLimit
- Max
Instance intCount Set a maximum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
- Min
Instance intCount Set a minimum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
- Max
Instance intCount Set a maximum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
- Min
Instance intCount Set a minimum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
- max
Instance IntegerCount Set a maximum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
- min
Instance IntegerCount Set a minimum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
- max
Instance numberCount Set a maximum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
- min
Instance numberCount Set a minimum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
- max_
instance_ intcount Set a maximum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
- min_
instance_ intcount Set a minimum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
- max
Instance NumberCount Set a maximum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
- min
Instance NumberCount Set a minimum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
OceanLaunchSpecSchedulingShutdownHours
- Time
Windows List<string> The times that the shutdown hours will apply.
- Is
Enabled bool Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
- Time
Windows []string The times that the shutdown hours will apply.
- Is
Enabled bool Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
- time
Windows List<String> The times that the shutdown hours will apply.
- is
Enabled Boolean Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
- time
Windows string[] The times that the shutdown hours will apply.
- is
Enabled boolean Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
- time_
windows Sequence[str] The times that the shutdown hours will apply.
- is_
enabled bool Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
- time
Windows List<String> The times that the shutdown hours will apply.
- is
Enabled Boolean Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
OceanLaunchSpecSchedulingTask
- Cron
Expression string A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
- Is
Enabled bool Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
- Task
Type string The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
- Task
Headrooms List<Pulumi.Spot Inst. Aws. Inputs. Ocean Launch Spec Scheduling Task Task Headroom> The config of this scheduled task. Depends on the value of taskType.
- Cron
Expression string A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
- Is
Enabled bool Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
- Task
Type string The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
- Task
Headrooms []OceanLaunch Spec Scheduling Task Task Headroom The config of this scheduled task. Depends on the value of taskType.
- cron
Expression String A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
- is
Enabled Boolean Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
- task
Type String The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
- task
Headrooms List<OceanLaunch Spec Scheduling Task Task Headroom> The config of this scheduled task. Depends on the value of taskType.
- cron
Expression string A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
- is
Enabled boolean Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
- task
Type string The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
- task
Headrooms OceanLaunch Spec Scheduling Task Task Headroom[] The config of this scheduled task. Depends on the value of taskType.
- cron_
expression str A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
- is_
enabled bool Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
- task_
type str The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
- task_
headrooms Sequence[OceanLaunch Spec Scheduling Task Task Headroom] The config of this scheduled task. Depends on the value of taskType.
- cron
Expression String A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
- is
Enabled Boolean Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
- task
Type String The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
- task
Headrooms List<Property Map> The config of this scheduled task. Depends on the value of taskType.
OceanLaunchSpecSchedulingTaskTaskHeadroom
- Num
Of intUnits The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- Cpu
Per intUnit Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- Gpu
Per intUnit Optionally configure the number of GPUS to allocate for each headroom unit.
- Memory
Per intUnit Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- Num
Of intUnits The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- Cpu
Per intUnit Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- Gpu
Per intUnit Optionally configure the number of GPUS to allocate for each headroom unit.
- Memory
Per intUnit Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- num
Of IntegerUnits The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- cpu
Per IntegerUnit Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- gpu
Per IntegerUnit Optionally configure the number of GPUS to allocate for each headroom unit.
- memory
Per IntegerUnit Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- num
Of numberUnits The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- cpu
Per numberUnit Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- gpu
Per numberUnit Optionally configure the number of GPUS to allocate for each headroom unit.
- memory
Per numberUnit Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- num_
of_ intunits The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- cpu_
per_ intunit Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- gpu_
per_ intunit Optionally configure the number of GPUS to allocate for each headroom unit.
- memory_
per_ intunit Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- num
Of NumberUnits The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- cpu
Per NumberUnit Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- gpu
Per NumberUnit Optionally configure the number of GPUS to allocate for each headroom unit.
- memory
Per NumberUnit Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
OceanLaunchSpecStrategy
- Spot
Percentage int When set, Ocean will proactively try to maintain as close as possible to the percentage of Spot instances out of all the Virtual Node Group instances.
- Spot
Percentage int When set, Ocean will proactively try to maintain as close as possible to the percentage of Spot instances out of all the Virtual Node Group instances.
- spot
Percentage Integer When set, Ocean will proactively try to maintain as close as possible to the percentage of Spot instances out of all the Virtual Node Group instances.
- spot
Percentage number When set, Ocean will proactively try to maintain as close as possible to the percentage of Spot instances out of all the Virtual Node Group instances.
- spot_
percentage int When set, Ocean will proactively try to maintain as close as possible to the percentage of Spot instances out of all the Virtual Node Group instances.
- spot
Percentage Number When set, Ocean will proactively try to maintain as close as possible to the percentage of Spot instances out of all the Virtual Node Group instances.
OceanLaunchSpecTag
OceanLaunchSpecTaint
OceanLaunchSpecUpdatePolicy
- should
Roll Boolean - roll
Config Property Map
OceanLaunchSpecUpdatePolicyRollConfig
- batch
Size IntegerPercentage
- batch
Size numberPercentage
- batch
Size NumberPercentage
Package Details
- Repository
- Spotinst pulumi/pulumi-spotinst
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
spotinst
Terraform Provider.