1. Packages
  2. Spotinst
  3. API Docs
  4. ecs
  5. OceanLaunchSpec
Spotinst v3.74.1 published on Thursday, Apr 11, 2024 by Pulumi

spotinst.ecs.OceanLaunchSpec

Explore with Pulumi AI

spotinst logo
Spotinst v3.74.1 published on Thursday, Apr 11, 2024 by Pulumi

    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", {
        attributes: [{
            key: "fakeKey",
            value: "fakeValue",
        }],
        autoscaleHeadrooms: [{
            cpuPerUnit: 1000,
            memoryPerUnit: 2048,
            numOfUnits: 5,
        }],
        blockDeviceMappings: [{
            deviceName: "/dev/xvda1",
            ebs: {
                deleteOnTermination: true,
                dynamicVolumeSize: {
                    baseSize: 50,
                    resource: "CPU",
                    sizePerResourceUnit: 20,
                },
                encrypted: false,
                throughput: 500,
                volumeSize: 50,
                volumeType: "gp2",
            },
        }],
        iamInstanceProfile: "iam-profile",
        imageId: "ami-123456",
        images: [
            {
                imageId: "ami-12345",
            },
            {
                imageId: "ami-67890",
            },
        ],
        instanceMetadataOptions: {
            httpPutResponseHopLimit: 10,
            httpTokens: "required",
        },
        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",
        ],
        oceanId: "o-123456",
        preferredSpotTypes: [
            "m3.large",
            "m3.xlarge",
            "m3.2xlarge",
            "m4.large",
            "m4.xlarge",
        ],
        restrictScaleDown: true,
        schedulingTasks: [{
            cronExpression: "0 1 * * *",
            isEnabled: true,
            taskHeadrooms: [{
                cpuPerUnit: 1000,
                memoryPerUnit: 2048,
                numOfUnits: 5,
            }],
            taskType: "manualHeadroomUpdate",
        }],
        securityGroupIds: ["awseb-12345"],
        strategies: [{
            spotPercentage: 50,
        }],
        subnetIds: ["subnet-12345"],
        tags: [{
            key: "Env",
            value: "production",
        }],
        userData: "echo hello world",
    });
    
    import pulumi
    import pulumi_spotinst as spotinst
    
    example = spotinst.ecs.OceanLaunchSpec("example",
        attributes=[spotinst.ecs.OceanLaunchSpecAttributeArgs(
            key="fakeKey",
            value="fakeValue",
        )],
        autoscale_headrooms=[spotinst.ecs.OceanLaunchSpecAutoscaleHeadroomArgs(
            cpu_per_unit=1000,
            memory_per_unit=2048,
            num_of_units=5,
        )],
        block_device_mappings=[spotinst.ecs.OceanLaunchSpecBlockDeviceMappingArgs(
            device_name="/dev/xvda1",
            ebs=spotinst.ecs.OceanLaunchSpecBlockDeviceMappingEbsArgs(
                delete_on_termination=True,
                dynamic_volume_size=spotinst.ecs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs(
                    base_size=50,
                    resource="CPU",
                    size_per_resource_unit=20,
                ),
                encrypted=False,
                throughput=500,
                volume_size=50,
                volume_type="gp2",
            ),
        )],
        iam_instance_profile="iam-profile",
        image_id="ami-123456",
        images=[
            spotinst.ecs.OceanLaunchSpecImageArgs(
                image_id="ami-12345",
            ),
            spotinst.ecs.OceanLaunchSpecImageArgs(
                image_id="ami-67890",
            ),
        ],
        instance_metadata_options=spotinst.ecs.OceanLaunchSpecInstanceMetadataOptionsArgs(
            http_put_response_hop_limit=10,
            http_tokens="required",
        ),
        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",
        ],
        ocean_id="o-123456",
        preferred_spot_types=[
            "m3.large",
            "m3.xlarge",
            "m3.2xlarge",
            "m4.large",
            "m4.xlarge",
        ],
        restrict_scale_down=True,
        scheduling_tasks=[spotinst.ecs.OceanLaunchSpecSchedulingTaskArgs(
            cron_expression="0 1 * * *",
            is_enabled=True,
            task_headrooms=[spotinst.ecs.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs(
                cpu_per_unit=1000,
                memory_per_unit=2048,
                num_of_units=5,
            )],
            task_type="manualHeadroomUpdate",
        )],
        security_group_ids=["awseb-12345"],
        strategies=[spotinst.ecs.OceanLaunchSpecStrategyArgs(
            spot_percentage=50,
        )],
        subnet_ids=["subnet-12345"],
        tags=[spotinst.ecs.OceanLaunchSpecTagArgs(
            key="Env",
            value="production",
        )],
        user_data="echo hello world")
    
    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{
    			Attributes: ecs.OceanLaunchSpecAttributeArray{
    				&ecs.OceanLaunchSpecAttributeArgs{
    					Key:   pulumi.String("fakeKey"),
    					Value: pulumi.String("fakeValue"),
    				},
    			},
    			AutoscaleHeadrooms: ecs.OceanLaunchSpecAutoscaleHeadroomArray{
    				&ecs.OceanLaunchSpecAutoscaleHeadroomArgs{
    					CpuPerUnit:    pulumi.Int(1000),
    					MemoryPerUnit: pulumi.Int(2048),
    					NumOfUnits:    pulumi.Int(5),
    				},
    			},
    			BlockDeviceMappings: ecs.OceanLaunchSpecBlockDeviceMappingArray{
    				&ecs.OceanLaunchSpecBlockDeviceMappingArgs{
    					DeviceName: pulumi.String("/dev/xvda1"),
    					Ebs: &ecs.OceanLaunchSpecBlockDeviceMappingEbsArgs{
    						DeleteOnTermination: pulumi.Bool(true),
    						DynamicVolumeSize: &ecs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs{
    							BaseSize:            pulumi.Int(50),
    							Resource:            pulumi.String("CPU"),
    							SizePerResourceUnit: pulumi.Int(20),
    						},
    						Encrypted:  pulumi.Bool(false),
    						Throughput: pulumi.Int(500),
    						VolumeSize: pulumi.Int(50),
    						VolumeType: pulumi.String("gp2"),
    					},
    				},
    			},
    			IamInstanceProfile: pulumi.String("iam-profile"),
    			ImageId:            pulumi.String("ami-123456"),
    			Images: ecs.OceanLaunchSpecImageArray{
    				&ecs.OceanLaunchSpecImageArgs{
    					ImageId: pulumi.String("ami-12345"),
    				},
    				&ecs.OceanLaunchSpecImageArgs{
    					ImageId: pulumi.String("ami-67890"),
    				},
    			},
    			InstanceMetadataOptions: &ecs.OceanLaunchSpecInstanceMetadataOptionsArgs{
    				HttpPutResponseHopLimit: pulumi.Int(10),
    				HttpTokens:              pulumi.String("required"),
    			},
    			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"),
    			},
    			OceanId: pulumi.String("o-123456"),
    			PreferredSpotTypes: pulumi.StringArray{
    				pulumi.String("m3.large"),
    				pulumi.String("m3.xlarge"),
    				pulumi.String("m3.2xlarge"),
    				pulumi.String("m4.large"),
    				pulumi.String("m4.xlarge"),
    			},
    			RestrictScaleDown: pulumi.Bool(true),
    			SchedulingTasks: ecs.OceanLaunchSpecSchedulingTaskArray{
    				&ecs.OceanLaunchSpecSchedulingTaskArgs{
    					CronExpression: pulumi.String("0 1 * * *"),
    					IsEnabled:      pulumi.Bool(true),
    					TaskHeadrooms: ecs.OceanLaunchSpecSchedulingTaskTaskHeadroomArray{
    						&ecs.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs{
    							CpuPerUnit:    pulumi.Int(1000),
    							MemoryPerUnit: pulumi.Int(2048),
    							NumOfUnits:    pulumi.Int(5),
    						},
    					},
    					TaskType: pulumi.String("manualHeadroomUpdate"),
    				},
    			},
    			SecurityGroupIds: pulumi.StringArray{
    				pulumi.String("awseb-12345"),
    			},
    			Strategies: ecs.OceanLaunchSpecStrategyArray{
    				&ecs.OceanLaunchSpecStrategyArgs{
    					SpotPercentage: pulumi.Int(50),
    				},
    			},
    			SubnetIds: pulumi.StringArray{
    				pulumi.String("subnet-12345"),
    			},
    			Tags: ecs.OceanLaunchSpecTagArray{
    				&ecs.OceanLaunchSpecTagArgs{
    					Key:   pulumi.String("Env"),
    					Value: pulumi.String("production"),
    				},
    			},
    			UserData: pulumi.String("echo hello world"),
    		})
    		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()
        {
            Attributes = new[]
            {
                new SpotInst.Ecs.Inputs.OceanLaunchSpecAttributeArgs
                {
                    Key = "fakeKey",
                    Value = "fakeValue",
                },
            },
            AutoscaleHeadrooms = new[]
            {
                new SpotInst.Ecs.Inputs.OceanLaunchSpecAutoscaleHeadroomArgs
                {
                    CpuPerUnit = 1000,
                    MemoryPerUnit = 2048,
                    NumOfUnits = 5,
                },
            },
            BlockDeviceMappings = new[]
            {
                new SpotInst.Ecs.Inputs.OceanLaunchSpecBlockDeviceMappingArgs
                {
                    DeviceName = "/dev/xvda1",
                    Ebs = new SpotInst.Ecs.Inputs.OceanLaunchSpecBlockDeviceMappingEbsArgs
                    {
                        DeleteOnTermination = true,
                        DynamicVolumeSize = new SpotInst.Ecs.Inputs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs
                        {
                            BaseSize = 50,
                            Resource = "CPU",
                            SizePerResourceUnit = 20,
                        },
                        Encrypted = false,
                        Throughput = 500,
                        VolumeSize = 50,
                        VolumeType = "gp2",
                    },
                },
            },
            IamInstanceProfile = "iam-profile",
            ImageId = "ami-123456",
            Images = new[]
            {
                new SpotInst.Ecs.Inputs.OceanLaunchSpecImageArgs
                {
                    ImageId = "ami-12345",
                },
                new SpotInst.Ecs.Inputs.OceanLaunchSpecImageArgs
                {
                    ImageId = "ami-67890",
                },
            },
            InstanceMetadataOptions = new SpotInst.Ecs.Inputs.OceanLaunchSpecInstanceMetadataOptionsArgs
            {
                HttpPutResponseHopLimit = 10,
                HttpTokens = "required",
            },
            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",
            },
            OceanId = "o-123456",
            PreferredSpotTypes = new[]
            {
                "m3.large",
                "m3.xlarge",
                "m3.2xlarge",
                "m4.large",
                "m4.xlarge",
            },
            RestrictScaleDown = true,
            SchedulingTasks = new[]
            {
                new SpotInst.Ecs.Inputs.OceanLaunchSpecSchedulingTaskArgs
                {
                    CronExpression = "0 1 * * *",
                    IsEnabled = true,
                    TaskHeadrooms = new[]
                    {
                        new SpotInst.Ecs.Inputs.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs
                        {
                            CpuPerUnit = 1000,
                            MemoryPerUnit = 2048,
                            NumOfUnits = 5,
                        },
                    },
                    TaskType = "manualHeadroomUpdate",
                },
            },
            SecurityGroupIds = new[]
            {
                "awseb-12345",
            },
            Strategies = new[]
            {
                new SpotInst.Ecs.Inputs.OceanLaunchSpecStrategyArgs
                {
                    SpotPercentage = 50,
                },
            },
            SubnetIds = new[]
            {
                "subnet-12345",
            },
            Tags = new[]
            {
                new SpotInst.Ecs.Inputs.OceanLaunchSpecTagArgs
                {
                    Key = "Env",
                    Value = "production",
                },
            },
            UserData = "echo hello world",
        });
    
    });
    
    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.OceanLaunchSpecAttributeArgs;
    import com.pulumi.spotinst.ecs.inputs.OceanLaunchSpecAutoscaleHeadroomArgs;
    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.OceanLaunchSpecImageArgs;
    import com.pulumi.spotinst.ecs.inputs.OceanLaunchSpecInstanceMetadataOptionsArgs;
    import com.pulumi.spotinst.ecs.inputs.OceanLaunchSpecSchedulingTaskArgs;
    import com.pulumi.spotinst.ecs.inputs.OceanLaunchSpecStrategyArgs;
    import com.pulumi.spotinst.ecs.inputs.OceanLaunchSpecTagArgs;
    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()        
                .attributes(OceanLaunchSpecAttributeArgs.builder()
                    .key("fakeKey")
                    .value("fakeValue")
                    .build())
                .autoscaleHeadrooms(OceanLaunchSpecAutoscaleHeadroomArgs.builder()
                    .cpuPerUnit(1000)
                    .memoryPerUnit(2048)
                    .numOfUnits(5)
                    .build())
                .blockDeviceMappings(OceanLaunchSpecBlockDeviceMappingArgs.builder()
                    .deviceName("/dev/xvda1")
                    .ebs(OceanLaunchSpecBlockDeviceMappingEbsArgs.builder()
                        .deleteOnTermination("true")
                        .dynamicVolumeSize(OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs.builder()
                            .baseSize(50)
                            .resource("CPU")
                            .sizePerResourceUnit(20)
                            .build())
                        .encrypted("false")
                        .throughput(500)
                        .volumeSize(50)
                        .volumeType("gp2")
                        .build())
                    .build())
                .iamInstanceProfile("iam-profile")
                .imageId("ami-123456")
                .images(            
                    OceanLaunchSpecImageArgs.builder()
                        .imageId("ami-12345")
                        .build(),
                    OceanLaunchSpecImageArgs.builder()
                        .imageId("ami-67890")
                        .build())
                .instanceMetadataOptions(OceanLaunchSpecInstanceMetadataOptionsArgs.builder()
                    .httpPutResponseHopLimit(10)
                    .httpTokens("required")
                    .build())
                .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")
                .oceanId("o-123456")
                .preferredSpotTypes(            
                    "m3.large",
                    "m3.xlarge",
                    "m3.2xlarge",
                    "m4.large",
                    "m4.xlarge")
                .restrictScaleDown(true)
                .schedulingTasks(OceanLaunchSpecSchedulingTaskArgs.builder()
                    .cronExpression("0 1 * * *")
                    .isEnabled(true)
                    .taskHeadrooms(OceanLaunchSpecSchedulingTaskTaskHeadroomArgs.builder()
                        .cpuPerUnit(1000)
                        .memoryPerUnit(2048)
                        .numOfUnits(5)
                        .build())
                    .taskType("manualHeadroomUpdate")
                    .build())
                .securityGroupIds("awseb-12345")
                .strategies(OceanLaunchSpecStrategyArgs.builder()
                    .spotPercentage(50)
                    .build())
                .subnetIds("subnet-12345")
                .tags(OceanLaunchSpecTagArgs.builder()
                    .key("Env")
                    .value("production")
                    .build())
                .userData("echo hello world")
                .build());
    
        }
    }
    
    resources:
      example:
        type: spotinst:ecs:OceanLaunchSpec
        properties:
          attributes:
            - key: fakeKey
              value: fakeValue
          autoscaleHeadrooms:
            - cpuPerUnit: 1000
              memoryPerUnit: 2048
              numOfUnits: 5
          blockDeviceMappings:
            - deviceName: /dev/xvda1
              ebs:
                deleteOnTermination: 'true'
                dynamicVolumeSize:
                  baseSize: 50
                  resource: CPU
                  sizePerResourceUnit: 20
                encrypted: 'false'
                throughput: 500
                volumeSize: 50
                volumeType: gp2
          iamInstanceProfile: iam-profile
          imageId: ami-123456
          images:
            - imageId: ami-12345
            - imageId: ami-67890
          instanceMetadataOptions:
            httpPutResponseHopLimit: 10
            httpTokens: required
          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
          oceanId: o-123456
          preferredSpotTypes:
            - m3.large
            - m3.xlarge
            - m3.2xlarge
            - m4.large
            - m4.xlarge
          restrictScaleDown: true
          schedulingTasks:
            - cronExpression: 0 1 * * *
              isEnabled: true
              taskHeadrooms:
                - cpuPerUnit: 1000
                  memoryPerUnit: 2048
                  numOfUnits: 5
              taskType: manualHeadroomUpdate
          securityGroupIds:
            - awseb-12345
          strategies:
            - spotPercentage: 50
          subnetIds:
            - subnet-12345
          tags:
            - key: Env
              value: production
          userData: echo hello world
    
    output "ocean_launchspec_id" {
      value = spotinst_ocean_ecs_launch_spec.example.id
    }
    

    Block Devices

    • block_device_mappings- (Optional) Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
      • device_name - (Optional) String. Set device name. (Example: “/dev/xvda1”).
      • ebs- (Optional) Object. Set Elastic Block Store properties .
        • delete_on_termination- (Optional) Boolean. Flag to delete the EBS on instance termination.
        • encrypted- (Optional) Boolean. Enables EBS encryption on the volume.
        • iops- (Required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes) Int. The number of I/O operations per second (IOPS) that the volume supports.
        • kms_key_id- (Optional) 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- (Optional) (Optional) String. The Snapshot ID to mount by.
        • volume_type- (Optional, Default: "standard") String. The type of the volume (example: “gp2”).
        • volume_size- (Optional) Int. The size, in GB of the volume.
        • throughput- (Optional) 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.
        • dynamic_volume_size- (Optional) Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
          • base_size- (Required) Int. Initial size for volume. (Example: 50)
          • resource- (Required) String. Resource type to increase volume size dynamically by. (valid values: “CPU”)
          • size_per_resource_unit- (Required) 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)
        • no_device- (Optional) String. suppresses the specified device included in the block device mapping of the AMI.

    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.

    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.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>
    IamInstanceProfile string
    The ARN or name of an IAM instance profile to associate with launched instances.
    ImageId string
    Identifier of the image in AWS. Valid values: any string which is not empty or null.
    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 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
    IamInstanceProfile string
    The ARN or name of an IAM instance profile to associate with launched instances.
    ImageId string
    Identifier of the image in AWS. Valid values: any string which is not empty or null.
    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 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>
    iamInstanceProfile String
    The ARN or name of an IAM instance profile to associate with launched instances.
    imageId String
    Identifier of the image in AWS. Valid values: any string which is not empty or null.
    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 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[]
    iamInstanceProfile string
    The ARN or name of an IAM instance profile to associate with launched instances.
    imageId string
    Identifier of the image in AWS. Valid values: any string which is not empty or null.
    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 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]
    iam_instance_profile str
    The ARN or name of an IAM instance profile to associate with launched instances.
    image_id str
    Identifier of the image in AWS. Valid values: any string which is not empty or null.
    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 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>
    iamInstanceProfile String
    The ARN or name of an IAM instance profile to associate with launched instances.
    imageId String
    Identifier of the image in AWS. Valid values: any string which is not empty or null.
    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)
    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.
    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>
    IamInstanceProfile string
    The ARN or name of an IAM instance profile to associate with launched instances.
    ImageId string
    Identifier of the image in AWS. Valid values: any string which is not empty or null.
    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
    IamInstanceProfile string
    The ARN or name of an IAM instance profile to associate with launched instances.
    ImageId string
    Identifier of the image in AWS. Valid values: any string which is not empty or null.
    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>
    iamInstanceProfile String
    The ARN or name of an IAM instance profile to associate with launched instances.
    imageId String
    Identifier of the image in AWS. Valid values: any string which is not empty or null.
    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[]
    iamInstanceProfile string
    The ARN or name of an IAM instance profile to associate with launched instances.
    imageId string
    Identifier of the image in AWS. Valid values: any string which is not empty or null.
    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]
    iam_instance_profile str
    The ARN or name of an IAM instance profile to associate with launched instances.
    image_id str
    Identifier of the image in AWS. Valid values: any string which is not empty or null.
    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>
    iamInstanceProfile String
    The ARN or name of an IAM instance profile to associate with launched instances.
    imageId String
    Identifier of the image in AWS. Valid values: any string which is not empty or null.
    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 string
    The label key.
    Value string
    The label value.
    Key string
    The label key.
    Value string
    The label value.
    key String
    The label key.
    value String
    The label value.
    key string
    The label key.
    value string
    The label value.
    key str
    The label key.
    value str
    The label value.
    key String
    The label key.
    value String
    The label value.

    OceanLaunchSpecAutoscaleHeadroom, OceanLaunchSpecAutoscaleHeadroomArgs

    NumOfUnits 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 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 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 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 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 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.

    OceanLaunchSpecBlockDeviceMapping, OceanLaunchSpecBlockDeviceMappingArgs

    OceanLaunchSpecBlockDeviceMappingEbs, OceanLaunchSpecBlockDeviceMappingEbsArgs

    OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize, OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs

    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: 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 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 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 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 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 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 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.SpotInst.Ecs.Inputs.OceanLaunchSpecSchedulingTaskTaskHeadroom>
    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 []OceanLaunchSpecSchedulingTaskTaskHeadroom
    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<OceanLaunchSpecSchedulingTaskTaskHeadroom>
    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 OceanLaunchSpecSchedulingTaskTaskHeadroom[]
    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[OceanLaunchSpecSchedulingTaskTaskHeadroom]
    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

    NumOfUnits 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 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 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 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 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 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 string
    The label key.
    Value string
    The label value.
    Key string
    The label key.
    Value string
    The label value.
    key String
    The label key.
    value String
    The label value.
    key string
    The label key.
    value string
    The label value.
    key str
    The label key.
    value str
    The label value.
    key String
    The label key.
    value String
    The label value.

    Package Details

    Repository
    Spotinst pulumi/pulumi-spotinst
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the spotinst Terraform Provider.
    spotinst logo
    Spotinst v3.74.1 published on Thursday, Apr 11, 2024 by Pulumi