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,
        }],
    }],
});
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=[spotinst.ecs.OceanLaunchSpecBlockDeviceMappingArgs(
        device_name="/dev/xvda1",
        ebs=spotinst.ecs.OceanLaunchSpecBlockDeviceMappingEbsArgs(
            delete_on_termination=True,
            encrypted=False,
            volume_type="gp2",
            volume_size=50,
            throughput=500,
            dynamic_volume_size=spotinst.ecs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs(
                base_size=50,
                resource="CPU",
                size_per_resource_unit=20,
            ),
        ),
    )],
    attributes=[spotinst.ecs.OceanLaunchSpecAttributeArgs(
        key="fakeKey",
        value="fakeValue",
    )],
    instance_metadata_options=spotinst.ecs.OceanLaunchSpecInstanceMetadataOptionsArgs(
        http_tokens="required",
        http_put_response_hop_limit=10,
    ),
    autoscale_headrooms=[spotinst.ecs.OceanLaunchSpecAutoscaleHeadroomArgs(
        num_of_units=5,
        cpu_per_unit=1000,
        memory_per_unit=2048,
    )],
    strategies=[spotinst.ecs.OceanLaunchSpecStrategyArgs(
        spot_percentage=50,
    )],
    tags=[spotinst.ecs.OceanLaunchSpecTagArgs(
        key="Env",
        value="production",
    )],
    images=[
        spotinst.ecs.OceanLaunchSpecImageArgs(
            image_id="ami-12345",
        ),
        spotinst.ecs.OceanLaunchSpecImageArgs(
            image_id="ami-67890",
        ),
    ],
    scheduling_tasks=[spotinst.ecs.OceanLaunchSpecSchedulingTaskArgs(
        is_enabled=True,
        cron_expression="0 1 * * *",
        task_type="manualHeadroomUpdate",
        task_headrooms=[spotinst.ecs.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs(
            num_of_units=5,
            cpu_per_unit=1000,
            memory_per_unit=2048,
        )],
    )])
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
	})
}
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,
                    },
                },
            },
        },
    });
});
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());
    }
}
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
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,
                    images: Optional[Sequence[OceanLaunchSpecImageArgs]] = None,
                    autoscale_headrooms: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomArgs]] = None,
                    image_id: Optional[str] = None,
                    preferred_spot_types: Optional[Sequence[str]] = None,
                    instance_metadata_options: Optional[OceanLaunchSpecInstanceMetadataOptionsArgs] = None,
                    instance_types: Optional[Sequence[str]] = None,
                    restrict_scale_down: Optional[bool] = None,
                    iam_instance_profile: Optional[str] = None,
                    block_device_mappings: Optional[Sequence[OceanLaunchSpecBlockDeviceMappingArgs]] = None,
                    attributes: Optional[Sequence[OceanLaunchSpecAttributeArgs]] = 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 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.
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",
    Images = new[]
    {
        new SpotInst.Ecs.Inputs.OceanLaunchSpecImageArgs
        {
            ImageId = "string",
        },
    },
    AutoscaleHeadrooms = new[]
    {
        new SpotInst.Ecs.Inputs.OceanLaunchSpecAutoscaleHeadroomArgs
        {
            NumOfUnits = 0,
            CpuPerUnit = 0,
            MemoryPerUnit = 0,
        },
    },
    ImageId = "string",
    PreferredSpotTypes = new[]
    {
        "string",
    },
    InstanceMetadataOptions = new SpotInst.Ecs.Inputs.OceanLaunchSpecInstanceMetadataOptionsArgs
    {
        HttpTokens = "string",
        HttpPutResponseHopLimit = 0,
    },
    InstanceTypes = new[]
    {
        "string",
    },
    RestrictScaleDown = false,
    IamInstanceProfile = "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",
        },
    },
    Attributes = new[]
    {
        new SpotInst.Ecs.Inputs.OceanLaunchSpecAttributeArgs
        {
            Key = "string",
            Value = "string",
        },
    },
    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",
});
example, err := ecs.NewOceanLaunchSpec(ctx, "spotinstOceanLaunchSpecResource", &ecs.OceanLaunchSpecArgs{
	OceanId: pulumi.String("string"),
	Name:    pulumi.String("string"),
	Images: ecs.OceanLaunchSpecImageArray{
		&ecs.OceanLaunchSpecImageArgs{
			ImageId: pulumi.String("string"),
		},
	},
	AutoscaleHeadrooms: ecs.OceanLaunchSpecAutoscaleHeadroomArray{
		&ecs.OceanLaunchSpecAutoscaleHeadroomArgs{
			NumOfUnits:    pulumi.Int(0),
			CpuPerUnit:    pulumi.Int(0),
			MemoryPerUnit: pulumi.Int(0),
		},
	},
	ImageId: pulumi.String("string"),
	PreferredSpotTypes: pulumi.StringArray{
		pulumi.String("string"),
	},
	InstanceMetadataOptions: &ecs.OceanLaunchSpecInstanceMetadataOptionsArgs{
		HttpTokens:              pulumi.String("string"),
		HttpPutResponseHopLimit: pulumi.Int(0),
	},
	InstanceTypes: pulumi.StringArray{
		pulumi.String("string"),
	},
	RestrictScaleDown:  pulumi.Bool(false),
	IamInstanceProfile: 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"),
		},
	},
	Attributes: ecs.OceanLaunchSpecAttributeArray{
		&ecs.OceanLaunchSpecAttributeArgs{
			Key:   pulumi.String("string"),
			Value: pulumi.String("string"),
		},
	},
	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"),
})
var spotinstOceanLaunchSpecResource = new OceanLaunchSpec("spotinstOceanLaunchSpecResource", OceanLaunchSpecArgs.builder()
    .oceanId("string")
    .name("string")
    .images(OceanLaunchSpecImageArgs.builder()
        .imageId("string")
        .build())
    .autoscaleHeadrooms(OceanLaunchSpecAutoscaleHeadroomArgs.builder()
        .numOfUnits(0)
        .cpuPerUnit(0)
        .memoryPerUnit(0)
        .build())
    .imageId("string")
    .preferredSpotTypes("string")
    .instanceMetadataOptions(OceanLaunchSpecInstanceMetadataOptionsArgs.builder()
        .httpTokens("string")
        .httpPutResponseHopLimit(0)
        .build())
    .instanceTypes("string")
    .restrictScaleDown(false)
    .iamInstanceProfile("string")
    .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())
    .attributes(OceanLaunchSpecAttributeArgs.builder()
        .key("string")
        .value("string")
        .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());
spotinst_ocean_launch_spec_resource = spotinst.ecs.OceanLaunchSpec("spotinstOceanLaunchSpecResource",
    ocean_id="string",
    name="string",
    images=[spotinst.ecs.OceanLaunchSpecImageArgs(
        image_id="string",
    )],
    autoscale_headrooms=[spotinst.ecs.OceanLaunchSpecAutoscaleHeadroomArgs(
        num_of_units=0,
        cpu_per_unit=0,
        memory_per_unit=0,
    )],
    image_id="string",
    preferred_spot_types=["string"],
    instance_metadata_options=spotinst.ecs.OceanLaunchSpecInstanceMetadataOptionsArgs(
        http_tokens="string",
        http_put_response_hop_limit=0,
    ),
    instance_types=["string"],
    restrict_scale_down=False,
    iam_instance_profile="string",
    block_device_mappings=[spotinst.ecs.OceanLaunchSpecBlockDeviceMappingArgs(
        device_name="string",
        ebs=spotinst.ecs.OceanLaunchSpecBlockDeviceMappingEbsArgs(
            delete_on_termination=False,
            dynamic_volume_size=spotinst.ecs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs(
                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",
    )],
    attributes=[spotinst.ecs.OceanLaunchSpecAttributeArgs(
        key="string",
        value="string",
    )],
    scheduling_tasks=[spotinst.ecs.OceanLaunchSpecSchedulingTaskArgs(
        cron_expression="string",
        is_enabled=False,
        task_type="string",
        task_headrooms=[spotinst.ecs.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs(
            num_of_units=0,
            cpu_per_unit=0,
            memory_per_unit=0,
        )],
    )],
    security_group_ids=["string"],
    strategies=[spotinst.ecs.OceanLaunchSpecStrategyArgs(
        spot_percentage=0,
    )],
    subnet_ids=["string"],
    tags=[spotinst.ecs.OceanLaunchSpecTagArgs(
        key="string",
        value="string",
    )],
    user_data="string")
const spotinstOceanLaunchSpecResource = new spotinst.ecs.OceanLaunchSpec("spotinstOceanLaunchSpecResource", {
    oceanId: "string",
    name: "string",
    images: [{
        imageId: "string",
    }],
    autoscaleHeadrooms: [{
        numOfUnits: 0,
        cpuPerUnit: 0,
        memoryPerUnit: 0,
    }],
    imageId: "string",
    preferredSpotTypes: ["string"],
    instanceMetadataOptions: {
        httpTokens: "string",
        httpPutResponseHopLimit: 0,
    },
    instanceTypes: ["string"],
    restrictScaleDown: false,
    iamInstanceProfile: "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",
    }],
    attributes: [{
        key: "string",
        value: "string",
    }],
    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",
});
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
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:
- OceanId string
- The Ocean cluster ID .
- Attributes
List<Pulumi.Spot Inst. Ecs. Inputs. Ocean Launch Spec Attribute> 
- Optionally adds labels to instances launched in an Ocean cluster.
- AutoscaleHeadrooms List<Pulumi.Spot Inst. Ecs. Inputs. Ocean Launch Spec Autoscale Headroom> 
- Set custom headroom per launch spec. provide list of headrooms object.
- BlockDevice List<Pulumi.Mappings Spot Inst. Ecs. Inputs. Ocean Launch Spec Block Device Mapping> 
- Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- IamInstance stringProfile 
- 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.Spot Inst. Ecs. Inputs. Ocean Launch Spec Image> 
- 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
- InstanceMetadata Pulumi.Options Spot Inst. Ecs. Inputs. Ocean Launch Spec Instance Metadata Options 
- 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.
- PreferredSpot List<string>Types 
- When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- RestrictScale boolDown 
- 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.Spot Inst. Ecs. Inputs. Ocean Launch Spec Scheduling Task> 
- Used to define scheduled tasks such as a manual headroom update.
- SecurityGroup List<string>Ids 
- One or more security group ids.
- Strategies
List<Pulumi.Spot Inst. Ecs. Inputs. Ocean Launch Spec Strategy> 
- 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.
- 
List<Pulumi.Spot Inst. Ecs. Inputs. Ocean Launch Spec Tag> 
- 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 string
- The Ocean cluster ID .
- Attributes
[]OceanLaunch Spec Attribute Args 
- Optionally adds labels to instances launched in an Ocean cluster.
- AutoscaleHeadrooms []OceanLaunch Spec Autoscale Headroom Args 
- Set custom headroom per launch spec. provide list of headrooms object.
- BlockDevice []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.
- IamInstance stringProfile 
- 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
[]OceanLaunch Spec Image Args 
- 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
- InstanceMetadata OceanOptions Launch Spec Instance Metadata Options Args 
- 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.
- PreferredSpot []stringTypes 
- When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- RestrictScale boolDown 
- 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 []OceanLaunch Spec Scheduling Task Args 
- Used to define scheduled tasks such as a manual headroom update.
- SecurityGroup []stringIds 
- One or more security group ids.
- Strategies
[]OceanLaunch Spec Strategy Args 
- 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.
- 
[]OceanLaunch Spec Tag Args 
- 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 String
- The Ocean cluster ID .
- attributes
List<OceanLaunch Spec Attribute> 
- Optionally adds labels to instances launched in an Ocean cluster.
- autoscaleHeadrooms List<OceanLaunch Spec Autoscale Headroom> 
- Set custom headroom per launch spec. provide list of headrooms object.
- blockDevice List<OceanMappings Launch Spec Block Device Mapping> 
- Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- iamInstance StringProfile 
- 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<OceanLaunch Spec Image> 
- 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
- instanceMetadata OceanOptions Launch Spec Instance Metadata Options 
- 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.
- preferredSpot List<String>Types 
- When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- restrictScale BooleanDown 
- 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<OceanLaunch Spec Scheduling Task> 
- Used to define scheduled tasks such as a manual headroom update.
- securityGroup List<String>Ids 
- One or more security group ids.
- strategies
List<OceanLaunch Spec Strategy> 
- 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.
- 
List<OceanLaunch Spec Tag> 
- 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 string
- The Ocean cluster ID .
- attributes
OceanLaunch Spec Attribute[] 
- Optionally adds labels to instances launched in an Ocean cluster.
- autoscaleHeadrooms OceanLaunch Spec Autoscale Headroom[] 
- Set custom headroom per launch spec. provide list of headrooms object.
- blockDevice OceanMappings Launch Spec Block Device Mapping[] 
- Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- iamInstance stringProfile 
- 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
OceanLaunch Spec Image[] 
- 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
- instanceMetadata OceanOptions Launch Spec Instance Metadata Options 
- 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.
- preferredSpot string[]Types 
- When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- restrictScale booleanDown 
- 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 OceanLaunch Spec Scheduling Task[] 
- Used to define scheduled tasks such as a manual headroom update.
- securityGroup string[]Ids 
- One or more security group ids.
- strategies
OceanLaunch Spec Strategy[] 
- 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.
- 
OceanLaunch Spec Tag[] 
- 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 str
- The Ocean cluster ID .
- attributes
Sequence[OceanLaunch Spec Attribute Args] 
- Optionally adds labels to instances launched in an Ocean cluster.
- autoscale_headrooms Sequence[OceanLaunch Spec Autoscale Headroom Args] 
- Set custom headroom per launch spec. provide list of headrooms object.
- 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.
- 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.
- images
Sequence[OceanLaunch Spec Image Args] 
- 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_ Oceanoptions Launch Spec Instance Metadata Options Args 
- 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_ Sequence[str]types 
- 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_ booldown 
- 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[OceanLaunch Spec Scheduling Task Args] 
- Used to define scheduled tasks such as a manual headroom update.
- security_group_ Sequence[str]ids 
- One or more security group ids.
- strategies
Sequence[OceanLaunch Spec Strategy Args] 
- 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.
- 
Sequence[OceanLaunch Spec Tag Args] 
- 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 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.
- blockDevice List<Property Map>Mappings 
- Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- iamInstance StringProfile 
- 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
- instanceMetadata Property MapOptions 
- 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.
- preferredSpot List<String>Types 
- When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- restrictScale BooleanDown 
- 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.
- securityGroup List<String>Ids 
- 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.
- 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) -> OceanLaunchSpecfunc 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.
- Attributes
List<Pulumi.Spot Inst. Ecs. Inputs. Ocean Launch Spec Attribute> 
- Optionally adds labels to instances launched in an Ocean cluster.
- AutoscaleHeadrooms List<Pulumi.Spot Inst. Ecs. Inputs. Ocean Launch Spec Autoscale Headroom> 
- Set custom headroom per launch spec. provide list of headrooms object.
- BlockDevice List<Pulumi.Mappings Spot Inst. Ecs. Inputs. Ocean Launch Spec Block Device Mapping> 
- Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- IamInstance stringProfile 
- 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.Spot Inst. Ecs. Inputs. Ocean Launch Spec Image> 
- 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
- InstanceMetadata Pulumi.Options Spot Inst. Ecs. Inputs. Ocean Launch Spec Instance Metadata Options 
- 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 .
- PreferredSpot List<string>Types 
- When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- RestrictScale boolDown 
- 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.Spot Inst. Ecs. Inputs. Ocean Launch Spec Scheduling Task> 
- Used to define scheduled tasks such as a manual headroom update.
- SecurityGroup List<string>Ids 
- One or more security group ids.
- Strategies
List<Pulumi.Spot Inst. Ecs. Inputs. Ocean Launch Spec Strategy> 
- 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.
- 
List<Pulumi.Spot Inst. Ecs. Inputs. Ocean Launch Spec Tag> 
- 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
[]OceanLaunch Spec Attribute Args 
- Optionally adds labels to instances launched in an Ocean cluster.
- AutoscaleHeadrooms []OceanLaunch Spec Autoscale Headroom Args 
- Set custom headroom per launch spec. provide list of headrooms object.
- BlockDevice []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.
- IamInstance stringProfile 
- 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
[]OceanLaunch Spec Image Args 
- 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
- InstanceMetadata OceanOptions Launch Spec Instance Metadata Options Args 
- 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 .
- PreferredSpot []stringTypes 
- When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- RestrictScale boolDown 
- 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 []OceanLaunch Spec Scheduling Task Args 
- Used to define scheduled tasks such as a manual headroom update.
- SecurityGroup []stringIds 
- One or more security group ids.
- Strategies
[]OceanLaunch Spec Strategy Args 
- 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.
- 
[]OceanLaunch Spec Tag Args 
- 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<OceanLaunch Spec Attribute> 
- Optionally adds labels to instances launched in an Ocean cluster.
- autoscaleHeadrooms List<OceanLaunch Spec Autoscale Headroom> 
- Set custom headroom per launch spec. provide list of headrooms object.
- blockDevice List<OceanMappings Launch Spec Block Device Mapping> 
- Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- iamInstance StringProfile 
- 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<OceanLaunch Spec Image> 
- 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
- instanceMetadata OceanOptions Launch Spec Instance Metadata Options 
- 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 .
- preferredSpot List<String>Types 
- When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- restrictScale BooleanDown 
- 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<OceanLaunch Spec Scheduling Task> 
- Used to define scheduled tasks such as a manual headroom update.
- securityGroup List<String>Ids 
- One or more security group ids.
- strategies
List<OceanLaunch Spec Strategy> 
- 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.
- 
List<OceanLaunch Spec Tag> 
- 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
OceanLaunch Spec Attribute[] 
- Optionally adds labels to instances launched in an Ocean cluster.
- autoscaleHeadrooms OceanLaunch Spec Autoscale Headroom[] 
- Set custom headroom per launch spec. provide list of headrooms object.
- blockDevice OceanMappings Launch Spec Block Device Mapping[] 
- Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- iamInstance stringProfile 
- 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
OceanLaunch Spec Image[] 
- 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
- instanceMetadata OceanOptions Launch Spec Instance Metadata Options 
- 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 .
- preferredSpot string[]Types 
- When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- restrictScale booleanDown 
- 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 OceanLaunch Spec Scheduling Task[] 
- Used to define scheduled tasks such as a manual headroom update.
- securityGroup string[]Ids 
- One or more security group ids.
- strategies
OceanLaunch Spec Strategy[] 
- 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.
- 
OceanLaunch Spec Tag[] 
- 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[OceanLaunch Spec Attribute Args] 
- Optionally adds labels to instances launched in an Ocean cluster.
- autoscale_headrooms Sequence[OceanLaunch Spec Autoscale Headroom Args] 
- Set custom headroom per launch spec. provide list of headrooms object.
- 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.
- 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.
- images
Sequence[OceanLaunch Spec Image Args] 
- 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_ Oceanoptions Launch Spec Instance Metadata Options Args 
- 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_ Sequence[str]types 
- 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_ booldown 
- 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[OceanLaunch Spec Scheduling Task Args] 
- Used to define scheduled tasks such as a manual headroom update.
- security_group_ Sequence[str]ids 
- One or more security group ids.
- strategies
Sequence[OceanLaunch Spec Strategy Args] 
- 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.
- 
Sequence[OceanLaunch Spec Tag Args] 
- 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.
- blockDevice List<Property Map>Mappings 
- Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
- iamInstance StringProfile 
- 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
- instanceMetadata Property MapOptions 
- 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 .
- preferredSpot List<String>Types 
- When Ocean scales up instances, it takes your preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
- restrictScale BooleanDown 
- 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.
- securityGroup List<String>Ids 
- 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.
- 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        
OceanLaunchSpecAutoscaleHeadroom, OceanLaunchSpecAutoscaleHeadroomArgs          
- NumOf intUnits 
- The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
- CpuPer intUnit 
- Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in CPU units, where 1024 units = 1 vCPU.
- MemoryPer intUnit 
- Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- NumOf intUnits 
- The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
- CpuPer intUnit 
- Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in CPU units, where 1024 units = 1 vCPU.
- MemoryPer intUnit 
- Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- numOf IntegerUnits 
- The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
- cpuPer IntegerUnit 
- Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in CPU units, where 1024 units = 1 vCPU.
- memoryPer IntegerUnit 
- Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- numOf numberUnits 
- The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
- cpuPer numberUnit 
- Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in CPU units, where 1024 units = 1 vCPU.
- memoryPer 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 and memory.
- cpu_per_ intunit 
- 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_ intunit 
- Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- numOf NumberUnits 
- The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
- cpuPer NumberUnit 
- Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in CPU units, where 1024 units = 1 vCPU.
- memoryPer NumberUnit 
- Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
OceanLaunchSpecBlockDeviceMapping, OceanLaunchSpecBlockDeviceMappingArgs            
- DeviceName string
- String. Set device name. (Example: "/dev/xvda1").
- Ebs
Pulumi.Spot Inst. Ecs. Inputs. Ocean Launch Spec Block Device Mapping Ebs 
- Object. Set Elastic Block Store properties .
- NoDevice string
- VirtualName string
- DeviceName string
- String. Set device name. (Example: "/dev/xvda1").
- Ebs
OceanLaunch Spec Block Device Mapping Ebs 
- Object. Set Elastic Block Store properties .
- NoDevice string
- VirtualName string
- deviceName String
- String. Set device name. (Example: "/dev/xvda1").
- ebs
OceanLaunch Spec Block Device Mapping Ebs 
- Object. Set Elastic Block Store properties .
- noDevice String
- virtualName String
- deviceName string
- String. Set device name. (Example: "/dev/xvda1").
- ebs
OceanLaunch Spec Block Device Mapping Ebs 
- Object. Set Elastic Block Store properties .
- noDevice string
- virtualName string
- device_name str
- String. Set device name. (Example: "/dev/xvda1").
- ebs
OceanLaunch Spec Block Device Mapping Ebs 
- Object. Set Elastic Block Store properties .
- no_device str
- virtual_name str
- deviceName String
- String. Set device name. (Example: "/dev/xvda1").
- ebs Property Map
- Object. Set Elastic Block Store properties .
- noDevice String
- virtualName String
OceanLaunchSpecBlockDeviceMappingEbs, OceanLaunchSpecBlockDeviceMappingEbsArgs              
- DeleteOn boolTermination 
- Boolean. Flag to delete the EBS on instance termination.
- DynamicVolume Pulumi.Size Spot Inst. Ecs. 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.
- KmsKey stringId 
- 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").
- DeleteOn boolTermination 
- Boolean. Flag to delete the EBS on instance termination.
- DynamicVolume 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.
- KmsKey stringId 
- 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").
- deleteOn BooleanTermination 
- Boolean. Flag to delete the EBS on instance termination.
- dynamicVolume 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.
- kmsKey StringId 
- 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").
- deleteOn booleanTermination 
- Boolean. Flag to delete the EBS on instance termination.
- dynamicVolume 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.
- kmsKey stringId 
- 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_ 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").
- deleteOn BooleanTermination 
- Boolean. Flag to delete the EBS on instance termination.
- dynamicVolume 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.
- kmsKey StringId 
- 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 int
- Int. Initial size for volume. (Example: 50)
- Resource string
- String. Resource type to increase volume size dynamically by. (valid values: "CPU")
- SizePer 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)
- BaseSize int
- Int. Initial size for volume. (Example: 50)
- Resource string
- String. Resource type to increase volume size dynamically by. (valid values: "CPU")
- SizePer 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)
- baseSize Integer
- Int. Initial size for volume. (Example: 50)
- resource String
- String. Resource type to increase volume size dynamically by. (valid values: "CPU")
- sizePer 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)
- baseSize number
- Int. Initial size for volume. (Example: 50)
- resource string
- String. Resource type to increase volume size dynamically by. (valid values: "CPU")
- sizePer 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)
- baseSize Number
- Int. Initial size for volume. (Example: 50)
- resource String
- String. Resource type to increase volume size dynamically by. (valid values: "CPU")
- sizePer 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)
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 string
- Determines if a signed token is required or not. Valid values: optionalorrequired.
- HttpPut intResponse Hop Limit 
- 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 string
- Determines if a signed token is required or not. Valid values: optionalorrequired.
- HttpPut intResponse Hop Limit 
- 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 String
- Determines if a signed token is required or not. Valid values: optionalorrequired.
- httpPut IntegerResponse Hop Limit 
- 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 string
- Determines if a signed token is required or not. Valid values: optionalorrequired.
- httpPut numberResponse Hop Limit 
- 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 str
- Determines if a signed token is required or not. Valid values: optionalorrequired.
- http_put_ intresponse_ hop_ limit 
- 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 String
- Determines if a signed token is required or not. Valid values: optionalorrequired.
- httpPut NumberResponse Hop Limit 
- 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 string
- A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
- IsEnabled bool
- Describes whether the task is enabled. When True, the task runs. When False, it does not run.
- TaskType string
- The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
- TaskHeadrooms List<Pulumi.Spot Inst. Ecs. Inputs. Ocean Launch Spec Scheduling Task Task Headroom> 
- The config of this scheduled task. Depends on the value of taskType.
- CronExpression string
- A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
- IsEnabled bool
- Describes whether the task is enabled. When True, the task runs. When False, it does not run.
- TaskType string
- The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
- TaskHeadrooms []OceanLaunch Spec Scheduling Task Task Headroom 
- The config of this scheduled task. Depends on the value of taskType.
- cronExpression String
- A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
- isEnabled Boolean
- Describes whether the task is enabled. When True, the task runs. When False, it does not run.
- taskType String
- The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
- taskHeadrooms List<OceanLaunch Spec Scheduling Task Task Headroom> 
- The config of this scheduled task. Depends on the value of taskType.
- cronExpression string
- A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
- isEnabled boolean
- Describes whether the task is enabled. When True, the task runs. When False, it does not run.
- taskType string
- The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
- taskHeadrooms 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
- Describes whether the task is enabled. When True, the task runs. When False, it does not run.
- 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.
- cronExpression String
- A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
- isEnabled Boolean
- Describes whether the task is enabled. When True, the task runs. When False, it does not run.
- taskType 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              
- NumOf intUnits 
- The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- CpuPer intUnit 
- Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- MemoryPer intUnit 
- Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- NumOf intUnits 
- The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- CpuPer intUnit 
- Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- MemoryPer intUnit 
- Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- numOf IntegerUnits 
- The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- cpuPer IntegerUnit 
- Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- memoryPer IntegerUnit 
- Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- numOf numberUnits 
- The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- cpuPer numberUnit 
- Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- memoryPer 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.
- memory_per_ intunit 
- Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
- numOf NumberUnits 
- The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
- cpuPer NumberUnit 
- Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
- memoryPer NumberUnit 
- 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        
Package Details
- Repository
- Spotinst pulumi/pulumi-spotinst
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the spotinstTerraform Provider.