1. Packages
  2. Spotinst Provider
  3. API Docs
  4. ecs
  5. OceanLaunchSpec
Spotinst v3.116.1 published on Saturday, Apr 12, 2025 by Pulumi

spotinst.ecs.OceanLaunchSpec

Explore with Pulumi AI

Manages a custom Spotinst Ocean ECS Launch Spec resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as spotinst from "@pulumi/spotinst";

const example = new spotinst.ecs.OceanLaunchSpec("example", {
    oceanId: "o-123456",
    imageId: "ami-123456",
    userData: "echo hello world",
    iamInstanceProfile: "iam-profile",
    subnetIds: ["subnet-12345"],
    securityGroupIds: ["awseb-12345"],
    restrictScaleDown: true,
    instanceTypes: [
        "m3.large",
        "m3.xlarge",
        "m3.2xlarge",
        "m4.large",
        "m4.xlarge",
        "m4.4xlarge",
        "m4.2xlarge",
        "m4.10xlarge",
        "m4.16xlarge",
        "m5.large",
        "m5.xlarge",
        "m5.2xlarge",
        "m5.4xlarge",
        "m5.12xlarge",
        "m5.24xlarge",
    ],
    preferredSpotTypes: [
        "m3.large",
        "m3.xlarge",
        "m3.2xlarge",
        "m4.large",
        "m4.xlarge",
    ],
    blockDeviceMappings: [{
        deviceName: "/dev/xvda1",
        ebs: {
            deleteOnTermination: true,
            encrypted: false,
            volumeType: "gp2",
            volumeSize: 50,
            throughput: 500,
            dynamicVolumeSize: {
                baseSize: 50,
                resource: "CPU",
                sizePerResourceUnit: 20,
            },
        },
    }],
    attributes: [{
        key: "fakeKey",
        value: "fakeValue",
    }],
    instanceMetadataOptions: {
        httpTokens: "required",
        httpPutResponseHopLimit: 10,
    },
    autoscaleHeadrooms: [{
        numOfUnits: 5,
        cpuPerUnit: 1000,
        memoryPerUnit: 2048,
    }],
    strategies: [{
        spotPercentage: 50,
    }],
    tags: [{
        key: "Env",
        value: "production",
    }],
    images: [
        {
            imageId: "ami-12345",
        },
        {
            imageId: "ami-67890",
        },
    ],
    schedulingTasks: [{
        isEnabled: true,
        cronExpression: "0 1 * * *",
        taskType: "manualHeadroomUpdate",
        taskHeadrooms: [{
            numOfUnits: 5,
            cpuPerUnit: 1000,
            memoryPerUnit: 2048,
        }],
    }],
});
Copy
import pulumi
import pulumi_spotinst as spotinst

example = spotinst.ecs.OceanLaunchSpec("example",
    ocean_id="o-123456",
    image_id="ami-123456",
    user_data="echo hello world",
    iam_instance_profile="iam-profile",
    subnet_ids=["subnet-12345"],
    security_group_ids=["awseb-12345"],
    restrict_scale_down=True,
    instance_types=[
        "m3.large",
        "m3.xlarge",
        "m3.2xlarge",
        "m4.large",
        "m4.xlarge",
        "m4.4xlarge",
        "m4.2xlarge",
        "m4.10xlarge",
        "m4.16xlarge",
        "m5.large",
        "m5.xlarge",
        "m5.2xlarge",
        "m5.4xlarge",
        "m5.12xlarge",
        "m5.24xlarge",
    ],
    preferred_spot_types=[
        "m3.large",
        "m3.xlarge",
        "m3.2xlarge",
        "m4.large",
        "m4.xlarge",
    ],
    block_device_mappings=[{
        "device_name": "/dev/xvda1",
        "ebs": {
            "delete_on_termination": True,
            "encrypted": False,
            "volume_type": "gp2",
            "volume_size": 50,
            "throughput": 500,
            "dynamic_volume_size": {
                "base_size": 50,
                "resource": "CPU",
                "size_per_resource_unit": 20,
            },
        },
    }],
    attributes=[{
        "key": "fakeKey",
        "value": "fakeValue",
    }],
    instance_metadata_options={
        "http_tokens": "required",
        "http_put_response_hop_limit": 10,
    },
    autoscale_headrooms=[{
        "num_of_units": 5,
        "cpu_per_unit": 1000,
        "memory_per_unit": 2048,
    }],
    strategies=[{
        "spot_percentage": 50,
    }],
    tags=[{
        "key": "Env",
        "value": "production",
    }],
    images=[
        {
            "image_id": "ami-12345",
        },
        {
            "image_id": "ami-67890",
        },
    ],
    scheduling_tasks=[{
        "is_enabled": True,
        "cron_expression": "0 1 * * *",
        "task_type": "manualHeadroomUpdate",
        "task_headrooms": [{
            "num_of_units": 5,
            "cpu_per_unit": 1000,
            "memory_per_unit": 2048,
        }],
    }])
Copy
package main

import (
	"github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/ecs"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ecs.NewOceanLaunchSpec(ctx, "example", &ecs.OceanLaunchSpecArgs{
			OceanId:            pulumi.String("o-123456"),
			ImageId:            pulumi.String("ami-123456"),
			UserData:           pulumi.String("echo hello world"),
			IamInstanceProfile: pulumi.String("iam-profile"),
			SubnetIds: pulumi.StringArray{
				pulumi.String("subnet-12345"),
			},
			SecurityGroupIds: pulumi.StringArray{
				pulumi.String("awseb-12345"),
			},
			RestrictScaleDown: pulumi.Bool(true),
			InstanceTypes: pulumi.StringArray{
				pulumi.String("m3.large"),
				pulumi.String("m3.xlarge"),
				pulumi.String("m3.2xlarge"),
				pulumi.String("m4.large"),
				pulumi.String("m4.xlarge"),
				pulumi.String("m4.4xlarge"),
				pulumi.String("m4.2xlarge"),
				pulumi.String("m4.10xlarge"),
				pulumi.String("m4.16xlarge"),
				pulumi.String("m5.large"),
				pulumi.String("m5.xlarge"),
				pulumi.String("m5.2xlarge"),
				pulumi.String("m5.4xlarge"),
				pulumi.String("m5.12xlarge"),
				pulumi.String("m5.24xlarge"),
			},
			PreferredSpotTypes: pulumi.StringArray{
				pulumi.String("m3.large"),
				pulumi.String("m3.xlarge"),
				pulumi.String("m3.2xlarge"),
				pulumi.String("m4.large"),
				pulumi.String("m4.xlarge"),
			},
			BlockDeviceMappings: ecs.OceanLaunchSpecBlockDeviceMappingArray{
				&ecs.OceanLaunchSpecBlockDeviceMappingArgs{
					DeviceName: pulumi.String("/dev/xvda1"),
					Ebs: &ecs.OceanLaunchSpecBlockDeviceMappingEbsArgs{
						DeleteOnTermination: pulumi.Bool(true),
						Encrypted:           pulumi.Bool(false),
						VolumeType:          pulumi.String("gp2"),
						VolumeSize:          pulumi.Int(50),
						Throughput:          pulumi.Int(500),
						DynamicVolumeSize: &ecs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs{
							BaseSize:            pulumi.Int(50),
							Resource:            pulumi.String("CPU"),
							SizePerResourceUnit: pulumi.Int(20),
						},
					},
				},
			},
			Attributes: ecs.OceanLaunchSpecAttributeArray{
				&ecs.OceanLaunchSpecAttributeArgs{
					Key:   pulumi.String("fakeKey"),
					Value: pulumi.String("fakeValue"),
				},
			},
			InstanceMetadataOptions: &ecs.OceanLaunchSpecInstanceMetadataOptionsArgs{
				HttpTokens:              pulumi.String("required"),
				HttpPutResponseHopLimit: pulumi.Int(10),
			},
			AutoscaleHeadrooms: ecs.OceanLaunchSpecAutoscaleHeadroomArray{
				&ecs.OceanLaunchSpecAutoscaleHeadroomArgs{
					NumOfUnits:    pulumi.Int(5),
					CpuPerUnit:    pulumi.Int(1000),
					MemoryPerUnit: pulumi.Int(2048),
				},
			},
			Strategies: ecs.OceanLaunchSpecStrategyArray{
				&ecs.OceanLaunchSpecStrategyArgs{
					SpotPercentage: pulumi.Int(50),
				},
			},
			Tags: ecs.OceanLaunchSpecTagArray{
				&ecs.OceanLaunchSpecTagArgs{
					Key:   pulumi.String("Env"),
					Value: pulumi.String("production"),
				},
			},
			Images: ecs.OceanLaunchSpecImageArray{
				&ecs.OceanLaunchSpecImageArgs{
					ImageId: pulumi.String("ami-12345"),
				},
				&ecs.OceanLaunchSpecImageArgs{
					ImageId: pulumi.String("ami-67890"),
				},
			},
			SchedulingTasks: ecs.OceanLaunchSpecSchedulingTaskArray{
				&ecs.OceanLaunchSpecSchedulingTaskArgs{
					IsEnabled:      pulumi.Bool(true),
					CronExpression: pulumi.String("0 1 * * *"),
					TaskType:       pulumi.String("manualHeadroomUpdate"),
					TaskHeadrooms: ecs.OceanLaunchSpecSchedulingTaskTaskHeadroomArray{
						&ecs.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs{
							NumOfUnits:    pulumi.Int(5),
							CpuPerUnit:    pulumi.Int(1000),
							MemoryPerUnit: pulumi.Int(2048),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using SpotInst = Pulumi.SpotInst;

return await Deployment.RunAsync(() => 
{
    var example = new SpotInst.Ecs.OceanLaunchSpec("example", new()
    {
        OceanId = "o-123456",
        ImageId = "ami-123456",
        UserData = "echo hello world",
        IamInstanceProfile = "iam-profile",
        SubnetIds = new[]
        {
            "subnet-12345",
        },
        SecurityGroupIds = new[]
        {
            "awseb-12345",
        },
        RestrictScaleDown = true,
        InstanceTypes = new[]
        {
            "m3.large",
            "m3.xlarge",
            "m3.2xlarge",
            "m4.large",
            "m4.xlarge",
            "m4.4xlarge",
            "m4.2xlarge",
            "m4.10xlarge",
            "m4.16xlarge",
            "m5.large",
            "m5.xlarge",
            "m5.2xlarge",
            "m5.4xlarge",
            "m5.12xlarge",
            "m5.24xlarge",
        },
        PreferredSpotTypes = new[]
        {
            "m3.large",
            "m3.xlarge",
            "m3.2xlarge",
            "m4.large",
            "m4.xlarge",
        },
        BlockDeviceMappings = new[]
        {
            new SpotInst.Ecs.Inputs.OceanLaunchSpecBlockDeviceMappingArgs
            {
                DeviceName = "/dev/xvda1",
                Ebs = new SpotInst.Ecs.Inputs.OceanLaunchSpecBlockDeviceMappingEbsArgs
                {
                    DeleteOnTermination = true,
                    Encrypted = false,
                    VolumeType = "gp2",
                    VolumeSize = 50,
                    Throughput = 500,
                    DynamicVolumeSize = new SpotInst.Ecs.Inputs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs
                    {
                        BaseSize = 50,
                        Resource = "CPU",
                        SizePerResourceUnit = 20,
                    },
                },
            },
        },
        Attributes = new[]
        {
            new SpotInst.Ecs.Inputs.OceanLaunchSpecAttributeArgs
            {
                Key = "fakeKey",
                Value = "fakeValue",
            },
        },
        InstanceMetadataOptions = new SpotInst.Ecs.Inputs.OceanLaunchSpecInstanceMetadataOptionsArgs
        {
            HttpTokens = "required",
            HttpPutResponseHopLimit = 10,
        },
        AutoscaleHeadrooms = new[]
        {
            new SpotInst.Ecs.Inputs.OceanLaunchSpecAutoscaleHeadroomArgs
            {
                NumOfUnits = 5,
                CpuPerUnit = 1000,
                MemoryPerUnit = 2048,
            },
        },
        Strategies = new[]
        {
            new SpotInst.Ecs.Inputs.OceanLaunchSpecStrategyArgs
            {
                SpotPercentage = 50,
            },
        },
        Tags = new[]
        {
            new SpotInst.Ecs.Inputs.OceanLaunchSpecTagArgs
            {
                Key = "Env",
                Value = "production",
            },
        },
        Images = new[]
        {
            new SpotInst.Ecs.Inputs.OceanLaunchSpecImageArgs
            {
                ImageId = "ami-12345",
            },
            new SpotInst.Ecs.Inputs.OceanLaunchSpecImageArgs
            {
                ImageId = "ami-67890",
            },
        },
        SchedulingTasks = new[]
        {
            new SpotInst.Ecs.Inputs.OceanLaunchSpecSchedulingTaskArgs
            {
                IsEnabled = true,
                CronExpression = "0 1 * * *",
                TaskType = "manualHeadroomUpdate",
                TaskHeadrooms = new[]
                {
                    new SpotInst.Ecs.Inputs.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs
                    {
                        NumOfUnits = 5,
                        CpuPerUnit = 1000,
                        MemoryPerUnit = 2048,
                    },
                },
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.spotinst.ecs.OceanLaunchSpec;
import com.pulumi.spotinst.ecs.OceanLaunchSpecArgs;
import com.pulumi.spotinst.ecs.inputs.OceanLaunchSpecBlockDeviceMappingArgs;
import com.pulumi.spotinst.ecs.inputs.OceanLaunchSpecBlockDeviceMappingEbsArgs;
import com.pulumi.spotinst.ecs.inputs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs;
import com.pulumi.spotinst.ecs.inputs.OceanLaunchSpecAttributeArgs;
import com.pulumi.spotinst.ecs.inputs.OceanLaunchSpecInstanceMetadataOptionsArgs;
import com.pulumi.spotinst.ecs.inputs.OceanLaunchSpecAutoscaleHeadroomArgs;
import com.pulumi.spotinst.ecs.inputs.OceanLaunchSpecStrategyArgs;
import com.pulumi.spotinst.ecs.inputs.OceanLaunchSpecTagArgs;
import com.pulumi.spotinst.ecs.inputs.OceanLaunchSpecImageArgs;
import com.pulumi.spotinst.ecs.inputs.OceanLaunchSpecSchedulingTaskArgs;
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()
            .oceanId("o-123456")
            .imageId("ami-123456")
            .userData("echo hello world")
            .iamInstanceProfile("iam-profile")
            .subnetIds("subnet-12345")
            .securityGroupIds("awseb-12345")
            .restrictScaleDown(true)
            .instanceTypes(            
                "m3.large",
                "m3.xlarge",
                "m3.2xlarge",
                "m4.large",
                "m4.xlarge",
                "m4.4xlarge",
                "m4.2xlarge",
                "m4.10xlarge",
                "m4.16xlarge",
                "m5.large",
                "m5.xlarge",
                "m5.2xlarge",
                "m5.4xlarge",
                "m5.12xlarge",
                "m5.24xlarge")
            .preferredSpotTypes(            
                "m3.large",
                "m3.xlarge",
                "m3.2xlarge",
                "m4.large",
                "m4.xlarge")
            .blockDeviceMappings(OceanLaunchSpecBlockDeviceMappingArgs.builder()
                .deviceName("/dev/xvda1")
                .ebs(OceanLaunchSpecBlockDeviceMappingEbsArgs.builder()
                    .deleteOnTermination(true)
                    .encrypted(false)
                    .volumeType("gp2")
                    .volumeSize(50)
                    .throughput(500)
                    .dynamicVolumeSize(OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs.builder()
                        .baseSize(50)
                        .resource("CPU")
                        .sizePerResourceUnit(20)
                        .build())
                    .build())
                .build())
            .attributes(OceanLaunchSpecAttributeArgs.builder()
                .key("fakeKey")
                .value("fakeValue")
                .build())
            .instanceMetadataOptions(OceanLaunchSpecInstanceMetadataOptionsArgs.builder()
                .httpTokens("required")
                .httpPutResponseHopLimit(10)
                .build())
            .autoscaleHeadrooms(OceanLaunchSpecAutoscaleHeadroomArgs.builder()
                .numOfUnits(5)
                .cpuPerUnit(1000)
                .memoryPerUnit(2048)
                .build())
            .strategies(OceanLaunchSpecStrategyArgs.builder()
                .spotPercentage(50)
                .build())
            .tags(OceanLaunchSpecTagArgs.builder()
                .key("Env")
                .value("production")
                .build())
            .images(            
                OceanLaunchSpecImageArgs.builder()
                    .imageId("ami-12345")
                    .build(),
                OceanLaunchSpecImageArgs.builder()
                    .imageId("ami-67890")
                    .build())
            .schedulingTasks(OceanLaunchSpecSchedulingTaskArgs.builder()
                .isEnabled(true)
                .cronExpression("0 1 * * *")
                .taskType("manualHeadroomUpdate")
                .taskHeadrooms(OceanLaunchSpecSchedulingTaskTaskHeadroomArgs.builder()
                    .numOfUnits(5)
                    .cpuPerUnit(1000)
                    .memoryPerUnit(2048)
                    .build())
                .build())
            .build());

    }
}
Copy
resources:
  example:
    type: spotinst:ecs:OceanLaunchSpec
    properties:
      oceanId: o-123456
      imageId: ami-123456
      userData: echo hello world
      iamInstanceProfile: iam-profile
      subnetIds:
        - subnet-12345
      securityGroupIds:
        - awseb-12345
      restrictScaleDown: true
      instanceTypes:
        - m3.large
        - m3.xlarge
        - m3.2xlarge
        - m4.large
        - m4.xlarge
        - m4.4xlarge
        - m4.2xlarge
        - m4.10xlarge
        - m4.16xlarge
        - m5.large
        - m5.xlarge
        - m5.2xlarge
        - m5.4xlarge
        - m5.12xlarge
        - m5.24xlarge
      preferredSpotTypes:
        - m3.large
        - m3.xlarge
        - m3.2xlarge
        - m4.large
        - m4.xlarge
      blockDeviceMappings:
        - deviceName: /dev/xvda1
          ebs:
            deleteOnTermination: 'true'
            encrypted: 'false'
            volumeType: gp2
            volumeSize: 50
            throughput: 500
            dynamicVolumeSize:
              baseSize: 50
              resource: CPU
              sizePerResourceUnit: 20
      attributes:
        - key: fakeKey
          value: fakeValue
      instanceMetadataOptions:
        httpTokens: required
        httpPutResponseHopLimit: 10
      autoscaleHeadrooms:
        - numOfUnits: 5
          cpuPerUnit: 1000
          memoryPerUnit: 2048
      strategies:
        - spotPercentage: 50
      tags:
        - key: Env
          value: production
      images:
        - imageId: ami-12345
        - imageId: ami-67890
      schedulingTasks:
        - isEnabled: true
          cronExpression: 0 1 * * *
          taskType: manualHeadroomUpdate
          taskHeadrooms:
            - numOfUnits: 5
              cpuPerUnit: 1000
              memoryPerUnit: 2048
Copy
output "ocean_launchspec_id" {
  value = spotinst_ocean_ecs_launch_spec.example.id
}

Create OceanLaunchSpec Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new OceanLaunchSpec(name: string, args: OceanLaunchSpecArgs, opts?: CustomResourceOptions);
@overload
def OceanLaunchSpec(resource_name: str,
                    args: OceanLaunchSpecArgs,
                    opts: Optional[ResourceOptions] = None)

@overload
def OceanLaunchSpec(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    ocean_id: Optional[str] = None,
                    name: Optional[str] = None,
                    preferred_spot_types: Optional[Sequence[str]] = None,
                    iam_instance_profile: Optional[str] = None,
                    image_id: Optional[str] = None,
                    images: Optional[Sequence[OceanLaunchSpecImageArgs]] = None,
                    instance_metadata_options: Optional[OceanLaunchSpecInstanceMetadataOptionsArgs] = None,
                    instance_types: Optional[Sequence[str]] = None,
                    attributes: Optional[Sequence[OceanLaunchSpecAttributeArgs]] = None,
                    block_device_mappings: Optional[Sequence[OceanLaunchSpecBlockDeviceMappingArgs]] = None,
                    restrict_scale_down: Optional[bool] = None,
                    autoscale_headrooms: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomArgs]] = None,
                    scheduling_tasks: Optional[Sequence[OceanLaunchSpecSchedulingTaskArgs]] = None,
                    security_group_ids: Optional[Sequence[str]] = None,
                    strategies: Optional[Sequence[OceanLaunchSpecStrategyArgs]] = None,
                    subnet_ids: Optional[Sequence[str]] = None,
                    tags: Optional[Sequence[OceanLaunchSpecTagArgs]] = None,
                    user_data: Optional[str] = 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:ecs:OceanLaunchSpec
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. OceanLaunchSpecArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. OceanLaunchSpecArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. OceanLaunchSpecArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. OceanLaunchSpecArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

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

var spotinstOceanLaunchSpecResource = new SpotInst.Ecs.OceanLaunchSpec("spotinstOceanLaunchSpecResource", new()
{
    OceanId = "string",
    Name = "string",
    PreferredSpotTypes = new[]
    {
        "string",
    },
    IamInstanceProfile = "string",
    ImageId = "string",
    Images = new[]
    {
        new SpotInst.Ecs.Inputs.OceanLaunchSpecImageArgs
        {
            ImageId = "string",
        },
    },
    InstanceMetadataOptions = new SpotInst.Ecs.Inputs.OceanLaunchSpecInstanceMetadataOptionsArgs
    {
        HttpTokens = "string",
        HttpPutResponseHopLimit = 0,
    },
    InstanceTypes = new[]
    {
        "string",
    },
    Attributes = new[]
    {
        new SpotInst.Ecs.Inputs.OceanLaunchSpecAttributeArgs
        {
            Key = "string",
            Value = "string",
        },
    },
    BlockDeviceMappings = new[]
    {
        new SpotInst.Ecs.Inputs.OceanLaunchSpecBlockDeviceMappingArgs
        {
            DeviceName = "string",
            Ebs = new SpotInst.Ecs.Inputs.OceanLaunchSpecBlockDeviceMappingEbsArgs
            {
                DeleteOnTermination = false,
                DynamicVolumeSize = new SpotInst.Ecs.Inputs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs
                {
                    BaseSize = 0,
                    Resource = "string",
                    SizePerResourceUnit = 0,
                },
                Encrypted = false,
                Iops = 0,
                KmsKeyId = "string",
                SnapshotId = "string",
                Throughput = 0,
                VolumeSize = 0,
                VolumeType = "string",
            },
            NoDevice = "string",
            VirtualName = "string",
        },
    },
    RestrictScaleDown = false,
    AutoscaleHeadrooms = new[]
    {
        new SpotInst.Ecs.Inputs.OceanLaunchSpecAutoscaleHeadroomArgs
        {
            NumOfUnits = 0,
            CpuPerUnit = 0,
            MemoryPerUnit = 0,
        },
    },
    SchedulingTasks = new[]
    {
        new SpotInst.Ecs.Inputs.OceanLaunchSpecSchedulingTaskArgs
        {
            CronExpression = "string",
            IsEnabled = false,
            TaskType = "string",
            TaskHeadrooms = new[]
            {
                new SpotInst.Ecs.Inputs.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs
                {
                    NumOfUnits = 0,
                    CpuPerUnit = 0,
                    MemoryPerUnit = 0,
                },
            },
        },
    },
    SecurityGroupIds = new[]
    {
        "string",
    },
    Strategies = new[]
    {
        new SpotInst.Ecs.Inputs.OceanLaunchSpecStrategyArgs
        {
            SpotPercentage = 0,
        },
    },
    SubnetIds = new[]
    {
        "string",
    },
    Tags = new[]
    {
        new SpotInst.Ecs.Inputs.OceanLaunchSpecTagArgs
        {
            Key = "string",
            Value = "string",
        },
    },
    UserData = "string",
});
Copy
example, err := ecs.NewOceanLaunchSpec(ctx, "spotinstOceanLaunchSpecResource", &ecs.OceanLaunchSpecArgs{
	OceanId: pulumi.String("string"),
	Name:    pulumi.String("string"),
	PreferredSpotTypes: pulumi.StringArray{
		pulumi.String("string"),
	},
	IamInstanceProfile: pulumi.String("string"),
	ImageId:            pulumi.String("string"),
	Images: ecs.OceanLaunchSpecImageArray{
		&ecs.OceanLaunchSpecImageArgs{
			ImageId: pulumi.String("string"),
		},
	},
	InstanceMetadataOptions: &ecs.OceanLaunchSpecInstanceMetadataOptionsArgs{
		HttpTokens:              pulumi.String("string"),
		HttpPutResponseHopLimit: pulumi.Int(0),
	},
	InstanceTypes: pulumi.StringArray{
		pulumi.String("string"),
	},
	Attributes: ecs.OceanLaunchSpecAttributeArray{
		&ecs.OceanLaunchSpecAttributeArgs{
			Key:   pulumi.String("string"),
			Value: pulumi.String("string"),
		},
	},
	BlockDeviceMappings: ecs.OceanLaunchSpecBlockDeviceMappingArray{
		&ecs.OceanLaunchSpecBlockDeviceMappingArgs{
			DeviceName: pulumi.String("string"),
			Ebs: &ecs.OceanLaunchSpecBlockDeviceMappingEbsArgs{
				DeleteOnTermination: pulumi.Bool(false),
				DynamicVolumeSize: &ecs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs{
					BaseSize:            pulumi.Int(0),
					Resource:            pulumi.String("string"),
					SizePerResourceUnit: pulumi.Int(0),
				},
				Encrypted:  pulumi.Bool(false),
				Iops:       pulumi.Int(0),
				KmsKeyId:   pulumi.String("string"),
				SnapshotId: pulumi.String("string"),
				Throughput: pulumi.Int(0),
				VolumeSize: pulumi.Int(0),
				VolumeType: pulumi.String("string"),
			},
			NoDevice:    pulumi.String("string"),
			VirtualName: pulumi.String("string"),
		},
	},
	RestrictScaleDown: pulumi.Bool(false),
	AutoscaleHeadrooms: ecs.OceanLaunchSpecAutoscaleHeadroomArray{
		&ecs.OceanLaunchSpecAutoscaleHeadroomArgs{
			NumOfUnits:    pulumi.Int(0),
			CpuPerUnit:    pulumi.Int(0),
			MemoryPerUnit: pulumi.Int(0),
		},
	},
	SchedulingTasks: ecs.OceanLaunchSpecSchedulingTaskArray{
		&ecs.OceanLaunchSpecSchedulingTaskArgs{
			CronExpression: pulumi.String("string"),
			IsEnabled:      pulumi.Bool(false),
			TaskType:       pulumi.String("string"),
			TaskHeadrooms: ecs.OceanLaunchSpecSchedulingTaskTaskHeadroomArray{
				&ecs.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs{
					NumOfUnits:    pulumi.Int(0),
					CpuPerUnit:    pulumi.Int(0),
					MemoryPerUnit: pulumi.Int(0),
				},
			},
		},
	},
	SecurityGroupIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	Strategies: ecs.OceanLaunchSpecStrategyArray{
		&ecs.OceanLaunchSpecStrategyArgs{
			SpotPercentage: pulumi.Int(0),
		},
	},
	SubnetIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	Tags: ecs.OceanLaunchSpecTagArray{
		&ecs.OceanLaunchSpecTagArgs{
			Key:   pulumi.String("string"),
			Value: pulumi.String("string"),
		},
	},
	UserData: pulumi.String("string"),
})
Copy
var spotinstOceanLaunchSpecResource = new OceanLaunchSpec("spotinstOceanLaunchSpecResource", OceanLaunchSpecArgs.builder()
    .oceanId("string")
    .name("string")
    .preferredSpotTypes("string")
    .iamInstanceProfile("string")
    .imageId("string")
    .images(OceanLaunchSpecImageArgs.builder()
        .imageId("string")
        .build())
    .instanceMetadataOptions(OceanLaunchSpecInstanceMetadataOptionsArgs.builder()
        .httpTokens("string")
        .httpPutResponseHopLimit(0)
        .build())
    .instanceTypes("string")
    .attributes(OceanLaunchSpecAttributeArgs.builder()
        .key("string")
        .value("string")
        .build())
    .blockDeviceMappings(OceanLaunchSpecBlockDeviceMappingArgs.builder()
        .deviceName("string")
        .ebs(OceanLaunchSpecBlockDeviceMappingEbsArgs.builder()
            .deleteOnTermination(false)
            .dynamicVolumeSize(OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs.builder()
                .baseSize(0)
                .resource("string")
                .sizePerResourceUnit(0)
                .build())
            .encrypted(false)
            .iops(0)
            .kmsKeyId("string")
            .snapshotId("string")
            .throughput(0)
            .volumeSize(0)
            .volumeType("string")
            .build())
        .noDevice("string")
        .virtualName("string")
        .build())
    .restrictScaleDown(false)
    .autoscaleHeadrooms(OceanLaunchSpecAutoscaleHeadroomArgs.builder()
        .numOfUnits(0)
        .cpuPerUnit(0)
        .memoryPerUnit(0)
        .build())
    .schedulingTasks(OceanLaunchSpecSchedulingTaskArgs.builder()
        .cronExpression("string")
        .isEnabled(false)
        .taskType("string")
        .taskHeadrooms(OceanLaunchSpecSchedulingTaskTaskHeadroomArgs.builder()
            .numOfUnits(0)
            .cpuPerUnit(0)
            .memoryPerUnit(0)
            .build())
        .build())
    .securityGroupIds("string")
    .strategies(OceanLaunchSpecStrategyArgs.builder()
        .spotPercentage(0)
        .build())
    .subnetIds("string")
    .tags(OceanLaunchSpecTagArgs.builder()
        .key("string")
        .value("string")
        .build())
    .userData("string")
    .build());
Copy
spotinst_ocean_launch_spec_resource = spotinst.ecs.OceanLaunchSpec("spotinstOceanLaunchSpecResource",
    ocean_id="string",
    name="string",
    preferred_spot_types=["string"],
    iam_instance_profile="string",
    image_id="string",
    images=[{
        "image_id": "string",
    }],
    instance_metadata_options={
        "http_tokens": "string",
        "http_put_response_hop_limit": 0,
    },
    instance_types=["string"],
    attributes=[{
        "key": "string",
        "value": "string",
    }],
    block_device_mappings=[{
        "device_name": "string",
        "ebs": {
            "delete_on_termination": False,
            "dynamic_volume_size": {
                "base_size": 0,
                "resource": "string",
                "size_per_resource_unit": 0,
            },
            "encrypted": False,
            "iops": 0,
            "kms_key_id": "string",
            "snapshot_id": "string",
            "throughput": 0,
            "volume_size": 0,
            "volume_type": "string",
        },
        "no_device": "string",
        "virtual_name": "string",
    }],
    restrict_scale_down=False,
    autoscale_headrooms=[{
        "num_of_units": 0,
        "cpu_per_unit": 0,
        "memory_per_unit": 0,
    }],
    scheduling_tasks=[{
        "cron_expression": "string",
        "is_enabled": False,
        "task_type": "string",
        "task_headrooms": [{
            "num_of_units": 0,
            "cpu_per_unit": 0,
            "memory_per_unit": 0,
        }],
    }],
    security_group_ids=["string"],
    strategies=[{
        "spot_percentage": 0,
    }],
    subnet_ids=["string"],
    tags=[{
        "key": "string",
        "value": "string",
    }],
    user_data="string")
Copy
const spotinstOceanLaunchSpecResource = new spotinst.ecs.OceanLaunchSpec("spotinstOceanLaunchSpecResource", {
    oceanId: "string",
    name: "string",
    preferredSpotTypes: ["string"],
    iamInstanceProfile: "string",
    imageId: "string",
    images: [{
        imageId: "string",
    }],
    instanceMetadataOptions: {
        httpTokens: "string",
        httpPutResponseHopLimit: 0,
    },
    instanceTypes: ["string"],
    attributes: [{
        key: "string",
        value: "string",
    }],
    blockDeviceMappings: [{
        deviceName: "string",
        ebs: {
            deleteOnTermination: false,
            dynamicVolumeSize: {
                baseSize: 0,
                resource: "string",
                sizePerResourceUnit: 0,
            },
            encrypted: false,
            iops: 0,
            kmsKeyId: "string",
            snapshotId: "string",
            throughput: 0,
            volumeSize: 0,
            volumeType: "string",
        },
        noDevice: "string",
        virtualName: "string",
    }],
    restrictScaleDown: false,
    autoscaleHeadrooms: [{
        numOfUnits: 0,
        cpuPerUnit: 0,
        memoryPerUnit: 0,
    }],
    schedulingTasks: [{
        cronExpression: "string",
        isEnabled: false,
        taskType: "string",
        taskHeadrooms: [{
            numOfUnits: 0,
            cpuPerUnit: 0,
            memoryPerUnit: 0,
        }],
    }],
    securityGroupIds: ["string"],
    strategies: [{
        spotPercentage: 0,
    }],
    subnetIds: ["string"],
    tags: [{
        key: "string",
        value: "string",
    }],
    userData: "string",
});
Copy
type: spotinst:ecs:OceanLaunchSpec
properties:
    attributes:
        - key: string
          value: string
    autoscaleHeadrooms:
        - cpuPerUnit: 0
          memoryPerUnit: 0
          numOfUnits: 0
    blockDeviceMappings:
        - deviceName: string
          ebs:
            deleteOnTermination: false
            dynamicVolumeSize:
                baseSize: 0
                resource: string
                sizePerResourceUnit: 0
            encrypted: false
            iops: 0
            kmsKeyId: string
            snapshotId: string
            throughput: 0
            volumeSize: 0
            volumeType: string
          noDevice: string
          virtualName: string
    iamInstanceProfile: string
    imageId: string
    images:
        - imageId: string
    instanceMetadataOptions:
        httpPutResponseHopLimit: 0
        httpTokens: string
    instanceTypes:
        - string
    name: string
    oceanId: string
    preferredSpotTypes:
        - string
    restrictScaleDown: false
    schedulingTasks:
        - cronExpression: string
          isEnabled: false
          taskHeadrooms:
            - cpuPerUnit: 0
              memoryPerUnit: 0
              numOfUnits: 0
          taskType: string
    securityGroupIds:
        - string
    strategies:
        - spotPercentage: 0
    subnetIds:
        - string
    tags:
        - key: string
          value: string
    userData: string
Copy

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

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The OceanLaunchSpec resource accepts the following input properties:

OceanId This property is required. string
The Ocean cluster ID .
Attributes List<Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecAttribute>
Optionally adds labels to instances launched in an Ocean cluster.
AutoscaleHeadrooms List<Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecAutoscaleHeadroom>
Set custom headroom per launch spec. provide list of headrooms object.
BlockDeviceMappings List<Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecBlockDeviceMapping>
Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
IamInstanceProfile string
The ARN or name of an IAM instance profile to associate with launched instances.
ImageId string
ID of the image used to launch the instances.
Images List<Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecImage>
You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
InstanceMetadataOptions Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecInstanceMetadataOptions
Ocean instance metadata options object for IMDSv2.
InstanceTypes 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 Ocean cluster.
Name string
The Ocean Launch Specification name.
PreferredSpotTypes List<string>
When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
RestrictScaleDown bool
Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
SchedulingTasks List<Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecSchedulingTask>
Used to define scheduled tasks such as a manual headroom update.
SecurityGroupIds List<string>
One or more security group ids.
Strategies List<Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecStrategy>
Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
SubnetIds List<string>
Set subnets in launchSpec. Each element in the array should be a subnet ID.
Tags List<Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecTag>
A key/value mapping of tags to assign to the resource.
UserData string
Base64-encoded MIME user data to make available to the instances.
OceanId This property is required. string
The Ocean cluster ID .
Attributes []OceanLaunchSpecAttributeArgs
Optionally adds labels to instances launched in an Ocean cluster.
AutoscaleHeadrooms []OceanLaunchSpecAutoscaleHeadroomArgs
Set custom headroom per launch spec. provide list of headrooms object.
BlockDeviceMappings []OceanLaunchSpecBlockDeviceMappingArgs
Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
IamInstanceProfile string
The ARN or name of an IAM instance profile to associate with launched instances.
ImageId string
ID of the image used to launch the instances.
Images []OceanLaunchSpecImageArgs
You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
InstanceMetadataOptions OceanLaunchSpecInstanceMetadataOptionsArgs
Ocean instance metadata options object for IMDSv2.
InstanceTypes []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 Ocean cluster.
Name string
The Ocean Launch Specification name.
PreferredSpotTypes []string
When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
RestrictScaleDown bool
Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
SchedulingTasks []OceanLaunchSpecSchedulingTaskArgs
Used to define scheduled tasks such as a manual headroom update.
SecurityGroupIds []string
One or more security group ids.
Strategies []OceanLaunchSpecStrategyArgs
Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
SubnetIds []string
Set subnets in launchSpec. Each element in the array should be a subnet ID.
Tags []OceanLaunchSpecTagArgs
A key/value mapping of tags to assign to the resource.
UserData string
Base64-encoded MIME user data to make available to the instances.
oceanId This property is required. String
The Ocean cluster ID .
attributes List<OceanLaunchSpecAttribute>
Optionally adds labels to instances launched in an Ocean cluster.
autoscaleHeadrooms List<OceanLaunchSpecAutoscaleHeadroom>
Set custom headroom per launch spec. provide list of headrooms object.
blockDeviceMappings List<OceanLaunchSpecBlockDeviceMapping>
Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
iamInstanceProfile String
The ARN or name of an IAM instance profile to associate with launched instances.
imageId String
ID of the image used to launch the instances.
images List<OceanLaunchSpecImage>
You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
instanceMetadataOptions OceanLaunchSpecInstanceMetadataOptions
Ocean instance metadata options object for IMDSv2.
instanceTypes 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 Ocean cluster.
name String
The Ocean Launch Specification name.
preferredSpotTypes List<String>
When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
restrictScaleDown Boolean
Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
schedulingTasks List<OceanLaunchSpecSchedulingTask>
Used to define scheduled tasks such as a manual headroom update.
securityGroupIds List<String>
One or more security group ids.
strategies List<OceanLaunchSpecStrategy>
Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
subnetIds List<String>
Set subnets in launchSpec. Each element in the array should be a subnet ID.
tags List<OceanLaunchSpecTag>
A key/value mapping of tags to assign to the resource.
userData String
Base64-encoded MIME user data to make available to the instances.
oceanId This property is required. string
The Ocean cluster ID .
attributes OceanLaunchSpecAttribute[]
Optionally adds labels to instances launched in an Ocean cluster.
autoscaleHeadrooms OceanLaunchSpecAutoscaleHeadroom[]
Set custom headroom per launch spec. provide list of headrooms object.
blockDeviceMappings OceanLaunchSpecBlockDeviceMapping[]
Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
iamInstanceProfile string
The ARN or name of an IAM instance profile to associate with launched instances.
imageId string
ID of the image used to launch the instances.
images OceanLaunchSpecImage[]
You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
instanceMetadataOptions OceanLaunchSpecInstanceMetadataOptions
Ocean instance metadata options object for IMDSv2.
instanceTypes 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 Ocean cluster.
name string
The Ocean Launch Specification name.
preferredSpotTypes string[]
When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
restrictScaleDown boolean
Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
schedulingTasks OceanLaunchSpecSchedulingTask[]
Used to define scheduled tasks such as a manual headroom update.
securityGroupIds string[]
One or more security group ids.
strategies OceanLaunchSpecStrategy[]
Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
subnetIds string[]
Set subnets in launchSpec. Each element in the array should be a subnet ID.
tags OceanLaunchSpecTag[]
A key/value mapping of tags to assign to the resource.
userData string
Base64-encoded MIME user data to make available to the instances.
ocean_id This property is required. str
The Ocean cluster ID .
attributes Sequence[OceanLaunchSpecAttributeArgs]
Optionally adds labels to instances launched in an Ocean cluster.
autoscale_headrooms Sequence[OceanLaunchSpecAutoscaleHeadroomArgs]
Set custom headroom per launch spec. provide list of headrooms object.
block_device_mappings Sequence[OceanLaunchSpecBlockDeviceMappingArgs]
Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
iam_instance_profile str
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.
images Sequence[OceanLaunchSpecImageArgs]
You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
instance_metadata_options OceanLaunchSpecInstanceMetadataOptionsArgs
Ocean instance metadata options object for IMDSv2.
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 Ocean cluster.
name str
The Ocean Launch Specification name.
preferred_spot_types Sequence[str]
When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
restrict_scale_down bool
Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
scheduling_tasks Sequence[OceanLaunchSpecSchedulingTaskArgs]
Used to define scheduled tasks such as a manual headroom update.
security_group_ids Sequence[str]
One or more security group ids.
strategies Sequence[OceanLaunchSpecStrategyArgs]
Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
subnet_ids Sequence[str]
Set subnets in launchSpec. Each element in the array should be a subnet ID.
tags Sequence[OceanLaunchSpecTagArgs]
A key/value mapping of tags to assign to the resource.
user_data str
Base64-encoded MIME user data to make available to the instances.
oceanId This property is required. String
The Ocean cluster ID .
attributes List<Property Map>
Optionally adds labels to instances launched in an Ocean cluster.
autoscaleHeadrooms List<Property Map>
Set custom headroom per launch spec. provide list of headrooms object.
blockDeviceMappings List<Property Map>
Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
iamInstanceProfile String
The ARN or name of an IAM instance profile to associate with launched instances.
imageId String
ID of the image used to launch the instances.
images List<Property Map>
You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
instanceMetadataOptions Property Map
Ocean instance metadata options object for IMDSv2.
instanceTypes 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 Ocean cluster.
name String
The Ocean Launch Specification name.
preferredSpotTypes List<String>
When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
restrictScaleDown Boolean
Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
schedulingTasks List<Property Map>
Used to define scheduled tasks such as a manual headroom update.
securityGroupIds List<String>
One or more security group ids.
strategies List<Property Map>
Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
subnetIds List<String>
Set subnets in launchSpec. Each element in the array should be a subnet ID.
tags List<Property Map>
A key/value mapping of tags to assign to the resource.
userData 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,
        attributes: Optional[Sequence[OceanLaunchSpecAttributeArgs]] = None,
        autoscale_headrooms: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomArgs]] = None,
        block_device_mappings: Optional[Sequence[OceanLaunchSpecBlockDeviceMappingArgs]] = None,
        iam_instance_profile: Optional[str] = None,
        image_id: Optional[str] = None,
        images: Optional[Sequence[OceanLaunchSpecImageArgs]] = None,
        instance_metadata_options: Optional[OceanLaunchSpecInstanceMetadataOptionsArgs] = None,
        instance_types: Optional[Sequence[str]] = None,
        name: Optional[str] = None,
        ocean_id: Optional[str] = None,
        preferred_spot_types: Optional[Sequence[str]] = None,
        restrict_scale_down: Optional[bool] = None,
        scheduling_tasks: Optional[Sequence[OceanLaunchSpecSchedulingTaskArgs]] = None,
        security_group_ids: Optional[Sequence[str]] = None,
        strategies: Optional[Sequence[OceanLaunchSpecStrategyArgs]] = None,
        subnet_ids: Optional[Sequence[str]] = None,
        tags: Optional[Sequence[OceanLaunchSpecTagArgs]] = 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)
resources:  _:    type: spotinst:ecs:OceanLaunchSpec    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Attributes List<Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecAttribute>
Optionally adds labels to instances launched in an Ocean cluster.
AutoscaleHeadrooms List<Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecAutoscaleHeadroom>
Set custom headroom per launch spec. provide list of headrooms object.
BlockDeviceMappings List<Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecBlockDeviceMapping>
Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
IamInstanceProfile string
The ARN or name of an IAM instance profile to associate with launched instances.
ImageId string
ID of the image used to launch the instances.
Images List<Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecImage>
You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
InstanceMetadataOptions Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecInstanceMetadataOptions
Ocean instance metadata options object for IMDSv2.
InstanceTypes 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 Ocean cluster.
Name string
The Ocean Launch Specification name.
OceanId string
The Ocean cluster ID .
PreferredSpotTypes List<string>
When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
RestrictScaleDown bool
Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
SchedulingTasks List<Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecSchedulingTask>
Used to define scheduled tasks such as a manual headroom update.
SecurityGroupIds List<string>
One or more security group ids.
Strategies List<Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecStrategy>
Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
SubnetIds List<string>
Set subnets in launchSpec. Each element in the array should be a subnet ID.
Tags List<Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecTag>
A key/value mapping of tags to assign to the resource.
UserData string
Base64-encoded MIME user data to make available to the instances.
Attributes []OceanLaunchSpecAttributeArgs
Optionally adds labels to instances launched in an Ocean cluster.
AutoscaleHeadrooms []OceanLaunchSpecAutoscaleHeadroomArgs
Set custom headroom per launch spec. provide list of headrooms object.
BlockDeviceMappings []OceanLaunchSpecBlockDeviceMappingArgs
Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
IamInstanceProfile string
The ARN or name of an IAM instance profile to associate with launched instances.
ImageId string
ID of the image used to launch the instances.
Images []OceanLaunchSpecImageArgs
You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
InstanceMetadataOptions OceanLaunchSpecInstanceMetadataOptionsArgs
Ocean instance metadata options object for IMDSv2.
InstanceTypes []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 Ocean cluster.
Name string
The Ocean Launch Specification name.
OceanId string
The Ocean cluster ID .
PreferredSpotTypes []string
When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
RestrictScaleDown bool
Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
SchedulingTasks []OceanLaunchSpecSchedulingTaskArgs
Used to define scheduled tasks such as a manual headroom update.
SecurityGroupIds []string
One or more security group ids.
Strategies []OceanLaunchSpecStrategyArgs
Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
SubnetIds []string
Set subnets in launchSpec. Each element in the array should be a subnet ID.
Tags []OceanLaunchSpecTagArgs
A key/value mapping of tags to assign to the resource.
UserData string
Base64-encoded MIME user data to make available to the instances.
attributes List<OceanLaunchSpecAttribute>
Optionally adds labels to instances launched in an Ocean cluster.
autoscaleHeadrooms List<OceanLaunchSpecAutoscaleHeadroom>
Set custom headroom per launch spec. provide list of headrooms object.
blockDeviceMappings List<OceanLaunchSpecBlockDeviceMapping>
Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
iamInstanceProfile String
The ARN or name of an IAM instance profile to associate with launched instances.
imageId String
ID of the image used to launch the instances.
images List<OceanLaunchSpecImage>
You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
instanceMetadataOptions OceanLaunchSpecInstanceMetadataOptions
Ocean instance metadata options object for IMDSv2.
instanceTypes 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 Ocean cluster.
name String
The Ocean Launch Specification name.
oceanId String
The Ocean cluster ID .
preferredSpotTypes List<String>
When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
restrictScaleDown Boolean
Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
schedulingTasks List<OceanLaunchSpecSchedulingTask>
Used to define scheduled tasks such as a manual headroom update.
securityGroupIds List<String>
One or more security group ids.
strategies List<OceanLaunchSpecStrategy>
Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
subnetIds List<String>
Set subnets in launchSpec. Each element in the array should be a subnet ID.
tags List<OceanLaunchSpecTag>
A key/value mapping of tags to assign to the resource.
userData String
Base64-encoded MIME user data to make available to the instances.
attributes OceanLaunchSpecAttribute[]
Optionally adds labels to instances launched in an Ocean cluster.
autoscaleHeadrooms OceanLaunchSpecAutoscaleHeadroom[]
Set custom headroom per launch spec. provide list of headrooms object.
blockDeviceMappings OceanLaunchSpecBlockDeviceMapping[]
Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
iamInstanceProfile string
The ARN or name of an IAM instance profile to associate with launched instances.
imageId string
ID of the image used to launch the instances.
images OceanLaunchSpecImage[]
You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
instanceMetadataOptions OceanLaunchSpecInstanceMetadataOptions
Ocean instance metadata options object for IMDSv2.
instanceTypes 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 Ocean cluster.
name string
The Ocean Launch Specification name.
oceanId string
The Ocean cluster ID .
preferredSpotTypes string[]
When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
restrictScaleDown boolean
Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
schedulingTasks OceanLaunchSpecSchedulingTask[]
Used to define scheduled tasks such as a manual headroom update.
securityGroupIds string[]
One or more security group ids.
strategies OceanLaunchSpecStrategy[]
Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
subnetIds string[]
Set subnets in launchSpec. Each element in the array should be a subnet ID.
tags OceanLaunchSpecTag[]
A key/value mapping of tags to assign to the resource.
userData string
Base64-encoded MIME user data to make available to the instances.
attributes Sequence[OceanLaunchSpecAttributeArgs]
Optionally adds labels to instances launched in an Ocean cluster.
autoscale_headrooms Sequence[OceanLaunchSpecAutoscaleHeadroomArgs]
Set custom headroom per launch spec. provide list of headrooms object.
block_device_mappings Sequence[OceanLaunchSpecBlockDeviceMappingArgs]
Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
iam_instance_profile str
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.
images Sequence[OceanLaunchSpecImageArgs]
You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
instance_metadata_options OceanLaunchSpecInstanceMetadataOptionsArgs
Ocean instance metadata options object for IMDSv2.
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 Ocean cluster.
name str
The Ocean Launch Specification name.
ocean_id str
The Ocean cluster ID .
preferred_spot_types Sequence[str]
When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
restrict_scale_down bool
Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
scheduling_tasks Sequence[OceanLaunchSpecSchedulingTaskArgs]
Used to define scheduled tasks such as a manual headroom update.
security_group_ids Sequence[str]
One or more security group ids.
strategies Sequence[OceanLaunchSpecStrategyArgs]
Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
subnet_ids Sequence[str]
Set subnets in launchSpec. Each element in the array should be a subnet ID.
tags Sequence[OceanLaunchSpecTagArgs]
A key/value mapping of tags to assign to the resource.
user_data str
Base64-encoded MIME user data to make available to the instances.
attributes List<Property Map>
Optionally adds labels to instances launched in an Ocean cluster.
autoscaleHeadrooms List<Property Map>
Set custom headroom per launch spec. provide list of headrooms object.
blockDeviceMappings List<Property Map>
Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
iamInstanceProfile String
The ARN or name of an IAM instance profile to associate with launched instances.
imageId String
ID of the image used to launch the instances.
images List<Property Map>
You can configure VNG with either the imageId or images objects, but not both simultaneously. For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element
instanceMetadataOptions Property Map
Ocean instance metadata options object for IMDSv2.
instanceTypes 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 Ocean cluster.
name String
The Ocean Launch Specification name.
oceanId String
The Ocean cluster ID .
preferredSpotTypes List<String>
When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
restrictScaleDown Boolean
Boolean. When set to true, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
schedulingTasks List<Property Map>
Used to define scheduled tasks such as a manual headroom update.
securityGroupIds List<String>
One or more security group ids.
strategies List<Property Map>
Similar to a strategy for an Ocean cluster, but applying only to a virtual node group.
subnetIds List<String>
Set subnets in launchSpec. Each element in the array should be a subnet ID.
tags List<Property Map>
A key/value mapping of tags to assign to the resource.
userData String
Base64-encoded MIME user data to make available to the instances.

Supporting Types

OceanLaunchSpecAttribute
, OceanLaunchSpecAttributeArgs

Key This property is required. string
The label key.
Value This property is required. string
The label value.
Key This property is required. string
The label key.
Value This property is required. string
The label value.
key This property is required. String
The label key.
value This property is required. String
The label value.
key This property is required. string
The label key.
value This property is required. string
The label value.
key This property is required. str
The label key.
value This property is required. str
The label value.
key This property is required. String
The label key.
value This property is required. String
The label value.

OceanLaunchSpecAutoscaleHeadroom
, OceanLaunchSpecAutoscaleHeadroomArgs

NumOfUnits This property is required. int
The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
CpuPerUnit int
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in CPU units, where 1024 units = 1 vCPU.
MemoryPerUnit int
Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
NumOfUnits This property is required. int
The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
CpuPerUnit int
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in CPU units, where 1024 units = 1 vCPU.
MemoryPerUnit int
Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
numOfUnits This property is required. Integer
The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
cpuPerUnit Integer
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in CPU units, where 1024 units = 1 vCPU.
memoryPerUnit Integer
Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
numOfUnits This property is required. number
The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
cpuPerUnit number
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in CPU units, where 1024 units = 1 vCPU.
memoryPerUnit number
Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
num_of_units This property is required. int
The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
cpu_per_unit int
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in CPU units, where 1024 units = 1 vCPU.
memory_per_unit int
Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
numOfUnits This property is required. Number
The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
cpuPerUnit Number
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in CPU units, where 1024 units = 1 vCPU.
memoryPerUnit Number
Optionally configure the amount of memory (MiB) to allocate for each headroom unit.

OceanLaunchSpecBlockDeviceMapping
, OceanLaunchSpecBlockDeviceMappingArgs

DeviceName This property is required. string
String. Set device name. (Example: "/dev/xvda1").
Ebs Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecBlockDeviceMappingEbs
Object. Set Elastic Block Store properties .
NoDevice string
String. suppresses the specified device included in the block device mapping of the AMI.
VirtualName string
DeviceName This property is required. string
String. Set device name. (Example: "/dev/xvda1").
Ebs OceanLaunchSpecBlockDeviceMappingEbs
Object. Set Elastic Block Store properties .
NoDevice string
String. suppresses the specified device included in the block device mapping of the AMI.
VirtualName string
deviceName This property is required. String
String. Set device name. (Example: "/dev/xvda1").
ebs OceanLaunchSpecBlockDeviceMappingEbs
Object. Set Elastic Block Store properties .
noDevice String
String. suppresses the specified device included in the block device mapping of the AMI.
virtualName String
deviceName This property is required. string
String. Set device name. (Example: "/dev/xvda1").
ebs OceanLaunchSpecBlockDeviceMappingEbs
Object. Set Elastic Block Store properties .
noDevice string
String. suppresses the specified device included in the block device mapping of the AMI.
virtualName string
device_name This property is required. str
String. Set device name. (Example: "/dev/xvda1").
ebs OceanLaunchSpecBlockDeviceMappingEbs
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
deviceName This property is required. String
String. Set device name. (Example: "/dev/xvda1").
ebs Property Map
Object. Set Elastic Block Store properties .
noDevice String
String. suppresses the specified device included in the block device mapping of the AMI.
virtualName String

OceanLaunchSpecBlockDeviceMappingEbs
, OceanLaunchSpecBlockDeviceMappingEbsArgs

DeleteOnTermination bool
Boolean. Flag to delete the EBS on instance termination.
DynamicVolumeSize Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize
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.
KmsKeyId string
String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
SnapshotId 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.
VolumeSize int
Int. The size, in GB of the volume.
VolumeType string
String. The type of the volume (example: "gp2").
DeleteOnTermination bool
Boolean. Flag to delete the EBS on instance termination.
DynamicVolumeSize OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize
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.
KmsKeyId string
String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
SnapshotId 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.
VolumeSize int
Int. The size, in GB of the volume.
VolumeType string
String. The type of the volume (example: "gp2").
deleteOnTermination Boolean
Boolean. Flag to delete the EBS on instance termination.
dynamicVolumeSize OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize
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.
kmsKeyId String
String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
snapshotId 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.
volumeSize Integer
Int. The size, in GB of the volume.
volumeType String
String. The type of the volume (example: "gp2").
deleteOnTermination boolean
Boolean. Flag to delete the EBS on instance termination.
dynamicVolumeSize OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize
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.
kmsKeyId string
String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
snapshotId 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.
volumeSize number
Int. The size, in GB of the volume.
volumeType string
String. The type of the volume (example: "gp2").
delete_on_termination bool
Boolean. Flag to delete the EBS on instance termination.
dynamic_volume_size OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize
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_id str
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").
deleteOnTermination Boolean
Boolean. Flag to delete the EBS on instance termination.
dynamicVolumeSize Property Map
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.
kmsKeyId String
String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
snapshotId 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.
volumeSize Number
Int. The size, in GB of the volume.
volumeType String
String. The type of the volume (example: "gp2").

OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize
, OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs

BaseSize This property is required. int
Int. Initial size for volume. (Example: 50)
Resource This property is required. string
String. Resource type to increase volume size dynamically by. (valid values: "CPU")
SizePerResourceUnit This property is required. int
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)
BaseSize This property is required. int
Int. Initial size for volume. (Example: 50)
Resource This property is required. string
String. Resource type to increase volume size dynamically by. (valid values: "CPU")
SizePerResourceUnit This property is required. int
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)
baseSize This property is required. Integer
Int. Initial size for volume. (Example: 50)
resource This property is required. String
String. Resource type to increase volume size dynamically by. (valid values: "CPU")
sizePerResourceUnit This property is required. Integer
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)
baseSize This property is required. number
Int. Initial size for volume. (Example: 50)
resource This property is required. string
String. Resource type to increase volume size dynamically by. (valid values: "CPU")
sizePerResourceUnit This property is required. number
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 This property is required. int
Int. Initial size for volume. (Example: 50)
resource This property is required. str
String. Resource type to increase volume size dynamically by. (valid values: "CPU")
size_per_resource_unit This property is required. int
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)
baseSize This property is required. Number
Int. Initial size for volume. (Example: 50)
resource This property is required. String
String. Resource type to increase volume size dynamically by. (valid values: "CPU")
sizePerResourceUnit This property is required. Number
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)

OceanLaunchSpecImage
, OceanLaunchSpecImageArgs

ImageId string
Identifier of the image in AWS. Valid values: any string which is not empty or null.
ImageId string
Identifier of the image in AWS. Valid values: any string which is not empty or null.
imageId String
Identifier of the image in AWS. Valid values: any string which is not empty or null.
imageId string
Identifier of the image in AWS. Valid values: any string which is not empty or null.
image_id str
Identifier of the image in AWS. Valid values: any string which is not empty or null.
imageId String
Identifier of the image in AWS. Valid values: any string which is not empty or null.

OceanLaunchSpecInstanceMetadataOptions
, OceanLaunchSpecInstanceMetadataOptionsArgs

HttpTokens This property is required. string
Determines if a signed token is required or not. Valid values: optional or required.
HttpPutResponseHopLimit int
An integer from 1 through 64. The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further the instance metadata requests can travel.
HttpTokens This property is required. string
Determines if a signed token is required or not. Valid values: optional or required.
HttpPutResponseHopLimit int
An integer from 1 through 64. The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further the instance metadata requests can travel.
httpTokens This property is required. String
Determines if a signed token is required or not. Valid values: optional or required.
httpPutResponseHopLimit Integer
An integer from 1 through 64. The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further the instance metadata requests can travel.
httpTokens This property is required. string
Determines if a signed token is required or not. Valid values: optional or required.
httpPutResponseHopLimit number
An integer from 1 through 64. The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further the instance metadata requests can travel.
http_tokens This property is required. str
Determines if a signed token is required or not. Valid values: optional or required.
http_put_response_hop_limit int
An integer from 1 through 64. The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further the instance metadata requests can travel.
httpTokens This property is required. String
Determines if a signed token is required or not. Valid values: optional or required.
httpPutResponseHopLimit Number
An integer from 1 through 64. The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further the instance metadata requests can travel.

OceanLaunchSpecSchedulingTask
, OceanLaunchSpecSchedulingTaskArgs

CronExpression This property is required. string
A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
IsEnabled This property is required. bool
Describes whether the task is enabled. When true, the task runs. When false, it does not run.
TaskType This property is required. string
The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
TaskHeadrooms List<Pulumi.SpotInst.Ecs.Inputs.OceanLaunchSpecSchedulingTaskTaskHeadroom>
The config of this scheduled task. Depends on the value of taskType.
CronExpression This property is required. string
A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
IsEnabled This property is required. bool
Describes whether the task is enabled. When true, the task runs. When false, it does not run.
TaskType This property is required. string
The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
TaskHeadrooms []OceanLaunchSpecSchedulingTaskTaskHeadroom
The config of this scheduled task. Depends on the value of taskType.
cronExpression This property is required. String
A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
isEnabled This property is required. Boolean
Describes whether the task is enabled. When true, the task runs. When false, it does not run.
taskType This property is required. String
The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
taskHeadrooms List<OceanLaunchSpecSchedulingTaskTaskHeadroom>
The config of this scheduled task. Depends on the value of taskType.
cronExpression This property is required. string
A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
isEnabled This property is required. boolean
Describes whether the task is enabled. When true, the task runs. When false, it does not run.
taskType This property is required. string
The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
taskHeadrooms OceanLaunchSpecSchedulingTaskTaskHeadroom[]
The config of this scheduled task. Depends on the value of taskType.
cron_expression This property is required. str
A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
is_enabled This property is required. bool
Describes whether the task is enabled. When true, the task runs. When false, it does not run.
task_type This property is required. str
The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
task_headrooms Sequence[OceanLaunchSpecSchedulingTaskTaskHeadroom]
The config of this scheduled task. Depends on the value of taskType.
cronExpression This property is required. String
A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
isEnabled This property is required. Boolean
Describes whether the task is enabled. When true, the task runs. When false, it does not run.
taskType This property is required. String
The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
taskHeadrooms List<Property Map>
The config of this scheduled task. Depends on the value of taskType.

OceanLaunchSpecSchedulingTaskTaskHeadroom
, OceanLaunchSpecSchedulingTaskTaskHeadroomArgs

NumOfUnits This property is required. int
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
CpuPerUnit int
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
MemoryPerUnit int
Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
NumOfUnits This property is required. int
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
CpuPerUnit int
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
MemoryPerUnit int
Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
numOfUnits This property is required. Integer
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
cpuPerUnit Integer
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
memoryPerUnit Integer
Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
numOfUnits This property is required. number
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
cpuPerUnit number
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
memoryPerUnit number
Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
num_of_units This property is required. int
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
cpu_per_unit int
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
memory_per_unit int
Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
numOfUnits This property is required. Number
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
cpuPerUnit Number
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
memoryPerUnit Number
Optionally configure the amount of memory (MiB) to allocate for each headroom unit.

OceanLaunchSpecStrategy
, OceanLaunchSpecStrategyArgs

SpotPercentage 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.
SpotPercentage 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.
spotPercentage 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.
spotPercentage 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.
spotPercentage 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
, OceanLaunchSpecTagArgs

Key This property is required. string
The label key.
Value This property is required. string
The label value.
Key This property is required. string
The label key.
Value This property is required. string
The label value.
key This property is required. String
The label key.
value This property is required. String
The label value.
key This property is required. string
The label key.
value This property is required. string
The label value.
key This property is required. str
The label key.
value This property is required. str
The label value.
key This property is required. String
The label key.
value This property is required. String
The label value.

Import

Launch_Specs can be imported using the Launch_Spec id, e.g.,

hcl

$ pulumi import spotinst:ecs/oceanLaunchSpec:OceanLaunchSpec nameOfTheResource ols-1a2345
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
Spotinst pulumi/pulumi-spotinst
License
Apache-2.0
Notes
This Pulumi package is based on the spotinst Terraform Provider.