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

spotinst.aws.OceanLaunchSpec

Explore with Pulumi AI

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

    Manages a Spotinst Ocean AWS Virtual Node Group resource.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as spotinst from "@pulumi/spotinst";
    
    const example = new spotinst.aws.OceanLaunchSpec("example", {
        associatePublicIpAddress: true,
        autoscaleDowns: [{
            maxScaleDownPercentage: 20,
        }],
        autoscaleHeadrooms: [{
            cpuPerUnit: 1000,
            gpuPerUnit: 0,
            memoryPerUnit: 2048,
            numOfUnits: 5,
        }],
        autoscaleHeadroomsAutomatics: [{
            autoHeadroomPercentage: 5,
        }],
        blockDeviceMappings: [{
            deviceName: "/dev/xvda",
            ebs: {
                deleteOnTermination: true,
                dynamicVolumeSize: {
                    baseSize: 50,
                    resource: "CPU",
                    sizePerResourceUnit: 20,
                },
                encrypted: false,
                throughput: 500,
                volumeSize: 50,
                volumeType: "gp2",
            },
        }],
        createOptions: {
            initialNodes: 1,
        },
        deleteOptions: {
            deleteNodes: true,
            forceDelete: true,
        },
        elasticIpPools: [{
            tagSelector: {
                tagKey: "key",
                tagValue: "value",
            },
        }],
        ephemeralStorages: [{
            ephemeralStorageDeviceName: "/dev/xvda",
        }],
        iamInstanceProfile: "iam-profile",
        imageId: "ami-123456",
        images: [
            {
                imageId: "ami-id1",
            },
            {
                imageId: "ami-id2",
            },
        ],
        instanceMetadataOptions: {
            httpPutResponseHopLimit: 10,
            httpTokens: "required",
        },
        instanceTypes: [
            "m4.large",
            "m4.xlarge",
            "m4.2xlarge",
            "m4.4xlarge",
        ],
        labels: [{
            key: "key1",
            value: "value1",
        }],
        oceanId: "o-123456",
        preferredSpotTypes: [
            "m4.large",
            "m4.xlarge",
        ],
        resourceLimits: [{
            maxInstanceCount: 4,
            minInstanceCount: 0,
        }],
        restrictScaleDown: true,
        rootVolumeSize: 30,
        schedulingShutdownHours: {
            isEnabled: true,
            timeWindows: [
                "Sat:08:00-Sat:08:30",
                "Sun:08:00-Sun:08:30",
            ],
        },
        schedulingTasks: [{
            cronExpression: "0 1 * * *",
            isEnabled: true,
            taskHeadrooms: [{
                cpuPerUnit: 1000,
                gpuPerUnit: 0,
                memoryPerUnit: 2048,
                numOfUnits: 5,
            }],
            taskType: "manualHeadroomUpdate",
        }],
        securityGroups: ["sg-987654321"],
        strategies: [{
            spotPercentage: 70,
        }],
        subnetIds: ["subnet-1234"],
        tags: [{
            key: "Env",
            value: "production",
        }],
        taints: [{
            effect: "NoExecute",
            key: "key1",
            value: "value1",
        }],
        userData: "echo Hello, world!",
    });
    
    import pulumi
    import pulumi_spotinst as spotinst
    
    example = spotinst.aws.OceanLaunchSpec("example",
        associate_public_ip_address=True,
        autoscale_downs=[spotinst.aws.OceanLaunchSpecAutoscaleDownArgs(
            max_scale_down_percentage=20,
        )],
        autoscale_headrooms=[spotinst.aws.OceanLaunchSpecAutoscaleHeadroomArgs(
            cpu_per_unit=1000,
            gpu_per_unit=0,
            memory_per_unit=2048,
            num_of_units=5,
        )],
        autoscale_headrooms_automatics=[spotinst.aws.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs(
            auto_headroom_percentage=5,
        )],
        block_device_mappings=[spotinst.aws.OceanLaunchSpecBlockDeviceMappingArgs(
            device_name="/dev/xvda",
            ebs=spotinst.aws.OceanLaunchSpecBlockDeviceMappingEbsArgs(
                delete_on_termination=True,
                dynamic_volume_size=spotinst.aws.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs(
                    base_size=50,
                    resource="CPU",
                    size_per_resource_unit=20,
                ),
                encrypted=False,
                throughput=500,
                volume_size=50,
                volume_type="gp2",
            ),
        )],
        create_options=spotinst.aws.OceanLaunchSpecCreateOptionsArgs(
            initial_nodes=1,
        ),
        delete_options=spotinst.aws.OceanLaunchSpecDeleteOptionsArgs(
            delete_nodes=True,
            force_delete=True,
        ),
        elastic_ip_pools=[spotinst.aws.OceanLaunchSpecElasticIpPoolArgs(
            tag_selector=spotinst.aws.OceanLaunchSpecElasticIpPoolTagSelectorArgs(
                tag_key="key",
                tag_value="value",
            ),
        )],
        ephemeral_storages=[spotinst.aws.OceanLaunchSpecEphemeralStorageArgs(
            ephemeral_storage_device_name="/dev/xvda",
        )],
        iam_instance_profile="iam-profile",
        image_id="ami-123456",
        images=[
            spotinst.aws.OceanLaunchSpecImageArgs(
                image_id="ami-id1",
            ),
            spotinst.aws.OceanLaunchSpecImageArgs(
                image_id="ami-id2",
            ),
        ],
        instance_metadata_options=spotinst.aws.OceanLaunchSpecInstanceMetadataOptionsArgs(
            http_put_response_hop_limit=10,
            http_tokens="required",
        ),
        instance_types=[
            "m4.large",
            "m4.xlarge",
            "m4.2xlarge",
            "m4.4xlarge",
        ],
        labels=[spotinst.aws.OceanLaunchSpecLabelArgs(
            key="key1",
            value="value1",
        )],
        ocean_id="o-123456",
        preferred_spot_types=[
            "m4.large",
            "m4.xlarge",
        ],
        resource_limits=[spotinst.aws.OceanLaunchSpecResourceLimitArgs(
            max_instance_count=4,
            min_instance_count=0,
        )],
        restrict_scale_down=True,
        root_volume_size=30,
        scheduling_shutdown_hours=spotinst.aws.OceanLaunchSpecSchedulingShutdownHoursArgs(
            is_enabled=True,
            time_windows=[
                "Sat:08:00-Sat:08:30",
                "Sun:08:00-Sun:08:30",
            ],
        ),
        scheduling_tasks=[spotinst.aws.OceanLaunchSpecSchedulingTaskArgs(
            cron_expression="0 1 * * *",
            is_enabled=True,
            task_headrooms=[spotinst.aws.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs(
                cpu_per_unit=1000,
                gpu_per_unit=0,
                memory_per_unit=2048,
                num_of_units=5,
            )],
            task_type="manualHeadroomUpdate",
        )],
        security_groups=["sg-987654321"],
        strategies=[spotinst.aws.OceanLaunchSpecStrategyArgs(
            spot_percentage=70,
        )],
        subnet_ids=["subnet-1234"],
        tags=[spotinst.aws.OceanLaunchSpecTagArgs(
            key="Env",
            value="production",
        )],
        taints=[spotinst.aws.OceanLaunchSpecTaintArgs(
            effect="NoExecute",
            key="key1",
            value="value1",
        )],
        user_data="echo Hello, world!")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/aws"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := aws.NewOceanLaunchSpec(ctx, "example", &aws.OceanLaunchSpecArgs{
    			AssociatePublicIpAddress: pulumi.Bool(true),
    			AutoscaleDowns: aws.OceanLaunchSpecAutoscaleDownArray{
    				&aws.OceanLaunchSpecAutoscaleDownArgs{
    					MaxScaleDownPercentage: pulumi.Float64(20),
    				},
    			},
    			AutoscaleHeadrooms: aws.OceanLaunchSpecAutoscaleHeadroomArray{
    				&aws.OceanLaunchSpecAutoscaleHeadroomArgs{
    					CpuPerUnit:    pulumi.Int(1000),
    					GpuPerUnit:    pulumi.Int(0),
    					MemoryPerUnit: pulumi.Int(2048),
    					NumOfUnits:    pulumi.Int(5),
    				},
    			},
    			AutoscaleHeadroomsAutomatics: aws.OceanLaunchSpecAutoscaleHeadroomsAutomaticArray{
    				&aws.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs{
    					AutoHeadroomPercentage: pulumi.Int(5),
    				},
    			},
    			BlockDeviceMappings: aws.OceanLaunchSpecBlockDeviceMappingArray{
    				&aws.OceanLaunchSpecBlockDeviceMappingArgs{
    					DeviceName: pulumi.String("/dev/xvda"),
    					Ebs: &aws.OceanLaunchSpecBlockDeviceMappingEbsArgs{
    						DeleteOnTermination: pulumi.Bool(true),
    						DynamicVolumeSize: &aws.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs{
    							BaseSize:            pulumi.Int(50),
    							Resource:            pulumi.String("CPU"),
    							SizePerResourceUnit: pulumi.Int(20),
    						},
    						Encrypted:  pulumi.Bool(false),
    						Throughput: pulumi.Int(500),
    						VolumeSize: pulumi.Int(50),
    						VolumeType: pulumi.String("gp2"),
    					},
    				},
    			},
    			CreateOptions: &aws.OceanLaunchSpecCreateOptionsArgs{
    				InitialNodes: pulumi.Int(1),
    			},
    			DeleteOptions: &aws.OceanLaunchSpecDeleteOptionsArgs{
    				DeleteNodes: pulumi.Bool(true),
    				ForceDelete: pulumi.Bool(true),
    			},
    			ElasticIpPools: aws.OceanLaunchSpecElasticIpPoolArray{
    				&aws.OceanLaunchSpecElasticIpPoolArgs{
    					TagSelector: &aws.OceanLaunchSpecElasticIpPoolTagSelectorArgs{
    						TagKey:   pulumi.String("key"),
    						TagValue: pulumi.String("value"),
    					},
    				},
    			},
    			EphemeralStorages: aws.OceanLaunchSpecEphemeralStorageArray{
    				&aws.OceanLaunchSpecEphemeralStorageArgs{
    					EphemeralStorageDeviceName: pulumi.String("/dev/xvda"),
    				},
    			},
    			IamInstanceProfile: pulumi.String("iam-profile"),
    			ImageId:            pulumi.String("ami-123456"),
    			Images: aws.OceanLaunchSpecImageArray{
    				&aws.OceanLaunchSpecImageArgs{
    					ImageId: pulumi.String("ami-id1"),
    				},
    				&aws.OceanLaunchSpecImageArgs{
    					ImageId: pulumi.String("ami-id2"),
    				},
    			},
    			InstanceMetadataOptions: &aws.OceanLaunchSpecInstanceMetadataOptionsArgs{
    				HttpPutResponseHopLimit: pulumi.Int(10),
    				HttpTokens:              pulumi.String("required"),
    			},
    			InstanceTypes: pulumi.StringArray{
    				pulumi.String("m4.large"),
    				pulumi.String("m4.xlarge"),
    				pulumi.String("m4.2xlarge"),
    				pulumi.String("m4.4xlarge"),
    			},
    			Labels: aws.OceanLaunchSpecLabelArray{
    				&aws.OceanLaunchSpecLabelArgs{
    					Key:   pulumi.String("key1"),
    					Value: pulumi.String("value1"),
    				},
    			},
    			OceanId: pulumi.String("o-123456"),
    			PreferredSpotTypes: pulumi.StringArray{
    				pulumi.String("m4.large"),
    				pulumi.String("m4.xlarge"),
    			},
    			ResourceLimits: aws.OceanLaunchSpecResourceLimitArray{
    				&aws.OceanLaunchSpecResourceLimitArgs{
    					MaxInstanceCount: pulumi.Int(4),
    					MinInstanceCount: pulumi.Int(0),
    				},
    			},
    			RestrictScaleDown: pulumi.Bool(true),
    			RootVolumeSize:    pulumi.Int(30),
    			SchedulingShutdownHours: &aws.OceanLaunchSpecSchedulingShutdownHoursArgs{
    				IsEnabled: pulumi.Bool(true),
    				TimeWindows: pulumi.StringArray{
    					pulumi.String("Sat:08:00-Sat:08:30"),
    					pulumi.String("Sun:08:00-Sun:08:30"),
    				},
    			},
    			SchedulingTasks: aws.OceanLaunchSpecSchedulingTaskArray{
    				&aws.OceanLaunchSpecSchedulingTaskArgs{
    					CronExpression: pulumi.String("0 1 * * *"),
    					IsEnabled:      pulumi.Bool(true),
    					TaskHeadrooms: aws.OceanLaunchSpecSchedulingTaskTaskHeadroomArray{
    						&aws.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs{
    							CpuPerUnit:    pulumi.Int(1000),
    							GpuPerUnit:    pulumi.Int(0),
    							MemoryPerUnit: pulumi.Int(2048),
    							NumOfUnits:    pulumi.Int(5),
    						},
    					},
    					TaskType: pulumi.String("manualHeadroomUpdate"),
    				},
    			},
    			SecurityGroups: pulumi.StringArray{
    				pulumi.String("sg-987654321"),
    			},
    			Strategies: aws.OceanLaunchSpecStrategyArray{
    				&aws.OceanLaunchSpecStrategyArgs{
    					SpotPercentage: pulumi.Int(70),
    				},
    			},
    			SubnetIds: pulumi.StringArray{
    				pulumi.String("subnet-1234"),
    			},
    			Tags: aws.OceanLaunchSpecTagArray{
    				&aws.OceanLaunchSpecTagArgs{
    					Key:   pulumi.String("Env"),
    					Value: pulumi.String("production"),
    				},
    			},
    			Taints: aws.OceanLaunchSpecTaintArray{
    				&aws.OceanLaunchSpecTaintArgs{
    					Effect: pulumi.String("NoExecute"),
    					Key:    pulumi.String("key1"),
    					Value:  pulumi.String("value1"),
    				},
    			},
    			UserData: pulumi.String("echo Hello, world!"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using SpotInst = Pulumi.SpotInst;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new SpotInst.Aws.OceanLaunchSpec("example", new()
        {
            AssociatePublicIpAddress = true,
            AutoscaleDowns = new[]
            {
                new SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleDownArgs
                {
                    MaxScaleDownPercentage = 20,
                },
            },
            AutoscaleHeadrooms = new[]
            {
                new SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleHeadroomArgs
                {
                    CpuPerUnit = 1000,
                    GpuPerUnit = 0,
                    MemoryPerUnit = 2048,
                    NumOfUnits = 5,
                },
            },
            AutoscaleHeadroomsAutomatics = new[]
            {
                new SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs
                {
                    AutoHeadroomPercentage = 5,
                },
            },
            BlockDeviceMappings = new[]
            {
                new SpotInst.Aws.Inputs.OceanLaunchSpecBlockDeviceMappingArgs
                {
                    DeviceName = "/dev/xvda",
                    Ebs = new SpotInst.Aws.Inputs.OceanLaunchSpecBlockDeviceMappingEbsArgs
                    {
                        DeleteOnTermination = true,
                        DynamicVolumeSize = new SpotInst.Aws.Inputs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs
                        {
                            BaseSize = 50,
                            Resource = "CPU",
                            SizePerResourceUnit = 20,
                        },
                        Encrypted = false,
                        Throughput = 500,
                        VolumeSize = 50,
                        VolumeType = "gp2",
                    },
                },
            },
            CreateOptions = new SpotInst.Aws.Inputs.OceanLaunchSpecCreateOptionsArgs
            {
                InitialNodes = 1,
            },
            DeleteOptions = new SpotInst.Aws.Inputs.OceanLaunchSpecDeleteOptionsArgs
            {
                DeleteNodes = true,
                ForceDelete = true,
            },
            ElasticIpPools = new[]
            {
                new SpotInst.Aws.Inputs.OceanLaunchSpecElasticIpPoolArgs
                {
                    TagSelector = new SpotInst.Aws.Inputs.OceanLaunchSpecElasticIpPoolTagSelectorArgs
                    {
                        TagKey = "key",
                        TagValue = "value",
                    },
                },
            },
            EphemeralStorages = new[]
            {
                new SpotInst.Aws.Inputs.OceanLaunchSpecEphemeralStorageArgs
                {
                    EphemeralStorageDeviceName = "/dev/xvda",
                },
            },
            IamInstanceProfile = "iam-profile",
            ImageId = "ami-123456",
            Images = new[]
            {
                new SpotInst.Aws.Inputs.OceanLaunchSpecImageArgs
                {
                    ImageId = "ami-id1",
                },
                new SpotInst.Aws.Inputs.OceanLaunchSpecImageArgs
                {
                    ImageId = "ami-id2",
                },
            },
            InstanceMetadataOptions = new SpotInst.Aws.Inputs.OceanLaunchSpecInstanceMetadataOptionsArgs
            {
                HttpPutResponseHopLimit = 10,
                HttpTokens = "required",
            },
            InstanceTypes = new[]
            {
                "m4.large",
                "m4.xlarge",
                "m4.2xlarge",
                "m4.4xlarge",
            },
            Labels = new[]
            {
                new SpotInst.Aws.Inputs.OceanLaunchSpecLabelArgs
                {
                    Key = "key1",
                    Value = "value1",
                },
            },
            OceanId = "o-123456",
            PreferredSpotTypes = new[]
            {
                "m4.large",
                "m4.xlarge",
            },
            ResourceLimits = new[]
            {
                new SpotInst.Aws.Inputs.OceanLaunchSpecResourceLimitArgs
                {
                    MaxInstanceCount = 4,
                    MinInstanceCount = 0,
                },
            },
            RestrictScaleDown = true,
            RootVolumeSize = 30,
            SchedulingShutdownHours = new SpotInst.Aws.Inputs.OceanLaunchSpecSchedulingShutdownHoursArgs
            {
                IsEnabled = true,
                TimeWindows = new[]
                {
                    "Sat:08:00-Sat:08:30",
                    "Sun:08:00-Sun:08:30",
                },
            },
            SchedulingTasks = new[]
            {
                new SpotInst.Aws.Inputs.OceanLaunchSpecSchedulingTaskArgs
                {
                    CronExpression = "0 1 * * *",
                    IsEnabled = true,
                    TaskHeadrooms = new[]
                    {
                        new SpotInst.Aws.Inputs.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs
                        {
                            CpuPerUnit = 1000,
                            GpuPerUnit = 0,
                            MemoryPerUnit = 2048,
                            NumOfUnits = 5,
                        },
                    },
                    TaskType = "manualHeadroomUpdate",
                },
            },
            SecurityGroups = new[]
            {
                "sg-987654321",
            },
            Strategies = new[]
            {
                new SpotInst.Aws.Inputs.OceanLaunchSpecStrategyArgs
                {
                    SpotPercentage = 70,
                },
            },
            SubnetIds = new[]
            {
                "subnet-1234",
            },
            Tags = new[]
            {
                new SpotInst.Aws.Inputs.OceanLaunchSpecTagArgs
                {
                    Key = "Env",
                    Value = "production",
                },
            },
            Taints = new[]
            {
                new SpotInst.Aws.Inputs.OceanLaunchSpecTaintArgs
                {
                    Effect = "NoExecute",
                    Key = "key1",
                    Value = "value1",
                },
            },
            UserData = "echo Hello, world!",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spotinst.aws.OceanLaunchSpec;
    import com.pulumi.spotinst.aws.OceanLaunchSpecArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecAutoscaleDownArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecAutoscaleHeadroomArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecBlockDeviceMappingArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecBlockDeviceMappingEbsArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecCreateOptionsArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecDeleteOptionsArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecElasticIpPoolArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecElasticIpPoolTagSelectorArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecEphemeralStorageArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecImageArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecInstanceMetadataOptionsArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecLabelArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecResourceLimitArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecSchedulingShutdownHoursArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecSchedulingTaskArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecStrategyArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecTagArgs;
    import com.pulumi.spotinst.aws.inputs.OceanLaunchSpecTaintArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new OceanLaunchSpec("example", OceanLaunchSpecArgs.builder()        
                .associatePublicIpAddress(true)
                .autoscaleDowns(OceanLaunchSpecAutoscaleDownArgs.builder()
                    .maxScaleDownPercentage(20)
                    .build())
                .autoscaleHeadrooms(OceanLaunchSpecAutoscaleHeadroomArgs.builder()
                    .cpuPerUnit(1000)
                    .gpuPerUnit(0)
                    .memoryPerUnit(2048)
                    .numOfUnits(5)
                    .build())
                .autoscaleHeadroomsAutomatics(OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs.builder()
                    .autoHeadroomPercentage(5)
                    .build())
                .blockDeviceMappings(OceanLaunchSpecBlockDeviceMappingArgs.builder()
                    .deviceName("/dev/xvda")
                    .ebs(OceanLaunchSpecBlockDeviceMappingEbsArgs.builder()
                        .deleteOnTermination("true")
                        .dynamicVolumeSize(OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs.builder()
                            .baseSize(50)
                            .resource("CPU")
                            .sizePerResourceUnit(20)
                            .build())
                        .encrypted("false")
                        .throughput(500)
                        .volumeSize(50)
                        .volumeType("gp2")
                        .build())
                    .build())
                .createOptions(OceanLaunchSpecCreateOptionsArgs.builder()
                    .initialNodes(1)
                    .build())
                .deleteOptions(OceanLaunchSpecDeleteOptionsArgs.builder()
                    .deleteNodes(true)
                    .forceDelete(true)
                    .build())
                .elasticIpPools(OceanLaunchSpecElasticIpPoolArgs.builder()
                    .tagSelector(OceanLaunchSpecElasticIpPoolTagSelectorArgs.builder()
                        .tagKey("key")
                        .tagValue("value")
                        .build())
                    .build())
                .ephemeralStorages(OceanLaunchSpecEphemeralStorageArgs.builder()
                    .ephemeralStorageDeviceName("/dev/xvda")
                    .build())
                .iamInstanceProfile("iam-profile")
                .imageId("ami-123456")
                .images(            
                    OceanLaunchSpecImageArgs.builder()
                        .imageId("ami-id1")
                        .build(),
                    OceanLaunchSpecImageArgs.builder()
                        .imageId("ami-id2")
                        .build())
                .instanceMetadataOptions(OceanLaunchSpecInstanceMetadataOptionsArgs.builder()
                    .httpPutResponseHopLimit(10)
                    .httpTokens("required")
                    .build())
                .instanceTypes(            
                    "m4.large",
                    "m4.xlarge",
                    "m4.2xlarge",
                    "m4.4xlarge")
                .labels(OceanLaunchSpecLabelArgs.builder()
                    .key("key1")
                    .value("value1")
                    .build())
                .oceanId("o-123456")
                .preferredSpotTypes(            
                    "m4.large",
                    "m4.xlarge")
                .resourceLimits(OceanLaunchSpecResourceLimitArgs.builder()
                    .maxInstanceCount(4)
                    .minInstanceCount(0)
                    .build())
                .restrictScaleDown(true)
                .rootVolumeSize(30)
                .schedulingShutdownHours(OceanLaunchSpecSchedulingShutdownHoursArgs.builder()
                    .isEnabled(true)
                    .timeWindows(                
                        "Sat:08:00-Sat:08:30",
                        "Sun:08:00-Sun:08:30")
                    .build())
                .schedulingTasks(OceanLaunchSpecSchedulingTaskArgs.builder()
                    .cronExpression("0 1 * * *")
                    .isEnabled(true)
                    .taskHeadrooms(OceanLaunchSpecSchedulingTaskTaskHeadroomArgs.builder()
                        .cpuPerUnit(1000)
                        .gpuPerUnit(0)
                        .memoryPerUnit(2048)
                        .numOfUnits(5)
                        .build())
                    .taskType("manualHeadroomUpdate")
                    .build())
                .securityGroups("sg-987654321")
                .strategies(OceanLaunchSpecStrategyArgs.builder()
                    .spotPercentage(70)
                    .build())
                .subnetIds("subnet-1234")
                .tags(OceanLaunchSpecTagArgs.builder()
                    .key("Env")
                    .value("production")
                    .build())
                .taints(OceanLaunchSpecTaintArgs.builder()
                    .effect("NoExecute")
                    .key("key1")
                    .value("value1")
                    .build())
                .userData("echo Hello, world!")
                .build());
    
        }
    }
    
    resources:
      example:
        type: spotinst:aws:OceanLaunchSpec
        properties:
          associatePublicIpAddress: true
          autoscaleDowns:
            - maxScaleDownPercentage: 20
          autoscaleHeadrooms:
            - cpuPerUnit: 1000
              gpuPerUnit: 0
              memoryPerUnit: 2048
              numOfUnits: 5
          autoscaleHeadroomsAutomatics:
            - autoHeadroomPercentage: 5
          blockDeviceMappings:
            - deviceName: /dev/xvda
              ebs:
                deleteOnTermination: 'true'
                dynamicVolumeSize:
                  baseSize: 50
                  resource: CPU
                  sizePerResourceUnit: 20
                encrypted: 'false'
                throughput: 500
                volumeSize: 50
                volumeType: gp2
          createOptions:
            initialNodes: 1
          deleteOptions:
            deleteNodes: true
            forceDelete: true
          elasticIpPools:
            - tagSelector:
                tagKey: key
                tagValue: value
          ephemeralStorages:
            - ephemeralStorageDeviceName: /dev/xvda
          iamInstanceProfile: iam-profile
          imageId: ami-123456
          images:
            - imageId: ami-id1
            - imageId: ami-id2
          instanceMetadataOptions:
            httpPutResponseHopLimit: 10
            httpTokens: required
          instanceTypes:
            - m4.large
            - m4.xlarge
            - m4.2xlarge
            - m4.4xlarge
          labels:
            - key: key1
              value: value1
          oceanId: o-123456
          preferredSpotTypes:
            - m4.large
            - m4.xlarge
          resourceLimits:
            - maxInstanceCount: 4
              minInstanceCount: 0
          restrictScaleDown: true
          rootVolumeSize: 30
          schedulingShutdownHours:
            isEnabled: true
            timeWindows:
              - Sat:08:00-Sat:08:30
              - Sun:08:00-Sun:08:30
          schedulingTasks:
            - cronExpression: 0 1 * * *
              isEnabled: true
              taskHeadrooms:
                - cpuPerUnit: 1000
                  gpuPerUnit: 0
                  memoryPerUnit: 2048
                  numOfUnits: 5
              taskType: manualHeadroomUpdate
          securityGroups:
            - sg-987654321
          strategies:
            - spotPercentage: 70
          subnetIds:
            - subnet-1234
          tags:
            - key: Env
              value: production
          taints:
            - effect: NoExecute
              key: key1
              value: value1
          userData: echo Hello, world!
    
    output "ocean_launchspec_id" {
      value = spotinst_ocean_aws_launch_spec.example.id
    }
    

    Update Policy

    • update_policy - (Optional)
      • should_roll - (Required) Enables the roll.
      • roll_config - (Required) Holds the roll configuration.
        • batch_size_percentage - (Required) Sets the percentage of the instances to deploy in each batch.
    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
        }
    }
    
    {}
    

    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,
                        instance_types_filters: Optional[OceanLaunchSpecInstanceTypesFiltersArgs] = None,
                        autoscale_headrooms_automatics: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs]] = None,
                        name: Optional[str] = None,
                        block_device_mappings: Optional[Sequence[OceanLaunchSpecBlockDeviceMappingArgs]] = None,
                        create_options: Optional[OceanLaunchSpecCreateOptionsArgs] = None,
                        delete_options: Optional[OceanLaunchSpecDeleteOptionsArgs] = None,
                        elastic_ip_pools: Optional[Sequence[OceanLaunchSpecElasticIpPoolArgs]] = None,
                        ephemeral_storages: Optional[Sequence[OceanLaunchSpecEphemeralStorageArgs]] = 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,
                        associate_public_ip_address: Optional[bool] = None,
                        user_data: Optional[str] = None,
                        autoscale_headrooms: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomArgs]] = None,
                        autoscale_downs: Optional[Sequence[OceanLaunchSpecAutoscaleDownArgs]] = None,
                        preferred_spot_types: Optional[Sequence[str]] = None,
                        resource_limits: Optional[Sequence[OceanLaunchSpecResourceLimitArgs]] = None,
                        restrict_scale_down: Optional[bool] = None,
                        root_volume_size: Optional[int] = None,
                        scheduling_shutdown_hours: Optional[OceanLaunchSpecSchedulingShutdownHoursArgs] = None,
                        scheduling_tasks: Optional[Sequence[OceanLaunchSpecSchedulingTaskArgs]] = None,
                        security_groups: Optional[Sequence[str]] = None,
                        strategies: Optional[Sequence[OceanLaunchSpecStrategyArgs]] = None,
                        subnet_ids: Optional[Sequence[str]] = None,
                        tags: Optional[Sequence[OceanLaunchSpecTagArgs]] = None,
                        taints: Optional[Sequence[OceanLaunchSpecTaintArgs]] = None,
                        update_policy: Optional[OceanLaunchSpecUpdatePolicyArgs] = None,
                        labels: Optional[Sequence[OceanLaunchSpecLabelArgs]] = None)
    func NewOceanLaunchSpec(ctx *Context, name string, args OceanLaunchSpecArgs, opts ...ResourceOption) (*OceanLaunchSpec, error)
    public OceanLaunchSpec(string name, OceanLaunchSpecArgs args, CustomResourceOptions? opts = null)
    public OceanLaunchSpec(String name, OceanLaunchSpecArgs args)
    public OceanLaunchSpec(String name, OceanLaunchSpecArgs args, CustomResourceOptions options)
    
    type: spotinst:aws:OceanLaunchSpec
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    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 oceanLaunchSpecResource = new SpotInst.Aws.OceanLaunchSpec("oceanLaunchSpecResource", new()
    {
        OceanId = "string",
        InstanceTypesFilters = new SpotInst.Aws.Inputs.OceanLaunchSpecInstanceTypesFiltersArgs
        {
            Categories = new[]
            {
                "string",
            },
            DiskTypes = new[]
            {
                "string",
            },
            ExcludeFamilies = new[]
            {
                "string",
            },
            ExcludeMetal = false,
            Hypervisors = new[]
            {
                "string",
            },
            IncludeFamilies = new[]
            {
                "string",
            },
            IsEnaSupported = "string",
            MaxGpu = 0,
            MaxMemoryGib = 0,
            MaxNetworkPerformance = 0,
            MaxVcpu = 0,
            MinEnis = 0,
            MinGpu = 0,
            MinMemoryGib = 0,
            MinNetworkPerformance = 0,
            MinVcpu = 0,
            RootDeviceTypes = new[]
            {
                "string",
            },
            VirtualizationTypes = new[]
            {
                "string",
            },
        },
        AutoscaleHeadroomsAutomatics = new[]
        {
            new SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs
            {
                AutoHeadroomPercentage = 0,
            },
        },
        Name = "string",
        BlockDeviceMappings = new[]
        {
            new SpotInst.Aws.Inputs.OceanLaunchSpecBlockDeviceMappingArgs
            {
                DeviceName = "string",
                Ebs = new SpotInst.Aws.Inputs.OceanLaunchSpecBlockDeviceMappingEbsArgs
                {
                    DeleteOnTermination = false,
                    DynamicVolumeSize = new SpotInst.Aws.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",
            },
        },
        CreateOptions = new SpotInst.Aws.Inputs.OceanLaunchSpecCreateOptionsArgs
        {
            InitialNodes = 0,
        },
        DeleteOptions = new SpotInst.Aws.Inputs.OceanLaunchSpecDeleteOptionsArgs
        {
            ForceDelete = false,
            DeleteNodes = false,
        },
        ElasticIpPools = new[]
        {
            new SpotInst.Aws.Inputs.OceanLaunchSpecElasticIpPoolArgs
            {
                TagSelector = new SpotInst.Aws.Inputs.OceanLaunchSpecElasticIpPoolTagSelectorArgs
                {
                    TagKey = "string",
                    TagValue = "string",
                },
            },
        },
        EphemeralStorages = new[]
        {
            new SpotInst.Aws.Inputs.OceanLaunchSpecEphemeralStorageArgs
            {
                EphemeralStorageDeviceName = "string",
            },
        },
        IamInstanceProfile = "string",
        ImageId = "string",
        Images = new[]
        {
            new SpotInst.Aws.Inputs.OceanLaunchSpecImageArgs
            {
                ImageId = "string",
            },
        },
        InstanceMetadataOptions = new SpotInst.Aws.Inputs.OceanLaunchSpecInstanceMetadataOptionsArgs
        {
            HttpTokens = "string",
            HttpPutResponseHopLimit = 0,
        },
        InstanceTypes = new[]
        {
            "string",
        },
        AssociatePublicIpAddress = false,
        UserData = "string",
        AutoscaleHeadrooms = new[]
        {
            new SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleHeadroomArgs
            {
                NumOfUnits = 0,
                CpuPerUnit = 0,
                GpuPerUnit = 0,
                MemoryPerUnit = 0,
            },
        },
        AutoscaleDowns = new[]
        {
            new SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleDownArgs
            {
                MaxScaleDownPercentage = 0,
            },
        },
        PreferredSpotTypes = new[]
        {
            "string",
        },
        ResourceLimits = new[]
        {
            new SpotInst.Aws.Inputs.OceanLaunchSpecResourceLimitArgs
            {
                MaxInstanceCount = 0,
                MinInstanceCount = 0,
            },
        },
        RestrictScaleDown = false,
        RootVolumeSize = 0,
        SchedulingShutdownHours = new SpotInst.Aws.Inputs.OceanLaunchSpecSchedulingShutdownHoursArgs
        {
            TimeWindows = new[]
            {
                "string",
            },
            IsEnabled = false,
        },
        SchedulingTasks = new[]
        {
            new SpotInst.Aws.Inputs.OceanLaunchSpecSchedulingTaskArgs
            {
                CronExpression = "string",
                IsEnabled = false,
                TaskType = "string",
                TaskHeadrooms = new[]
                {
                    new SpotInst.Aws.Inputs.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs
                    {
                        NumOfUnits = 0,
                        CpuPerUnit = 0,
                        GpuPerUnit = 0,
                        MemoryPerUnit = 0,
                    },
                },
            },
        },
        SecurityGroups = new[]
        {
            "string",
        },
        Strategies = new[]
        {
            new SpotInst.Aws.Inputs.OceanLaunchSpecStrategyArgs
            {
                SpotPercentage = 0,
            },
        },
        SubnetIds = new[]
        {
            "string",
        },
        Tags = new[]
        {
            new SpotInst.Aws.Inputs.OceanLaunchSpecTagArgs
            {
                Key = "string",
                Value = "string",
            },
        },
        Taints = new[]
        {
            new SpotInst.Aws.Inputs.OceanLaunchSpecTaintArgs
            {
                Effect = "string",
                Key = "string",
                Value = "string",
            },
        },
        UpdatePolicy = new SpotInst.Aws.Inputs.OceanLaunchSpecUpdatePolicyArgs
        {
            ShouldRoll = false,
            RollConfig = new SpotInst.Aws.Inputs.OceanLaunchSpecUpdatePolicyRollConfigArgs
            {
                BatchSizePercentage = 0,
            },
        },
        Labels = new[]
        {
            new SpotInst.Aws.Inputs.OceanLaunchSpecLabelArgs
            {
                Key = "string",
                Value = "string",
            },
        },
    });
    
    example, err := aws.NewOceanLaunchSpec(ctx, "oceanLaunchSpecResource", &aws.OceanLaunchSpecArgs{
    	OceanId: pulumi.String("string"),
    	InstanceTypesFilters: &aws.OceanLaunchSpecInstanceTypesFiltersArgs{
    		Categories: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		DiskTypes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		ExcludeFamilies: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		ExcludeMetal: pulumi.Bool(false),
    		Hypervisors: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		IncludeFamilies: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		IsEnaSupported:        pulumi.String("string"),
    		MaxGpu:                pulumi.Int(0),
    		MaxMemoryGib:          pulumi.Float64(0),
    		MaxNetworkPerformance: pulumi.Int(0),
    		MaxVcpu:               pulumi.Int(0),
    		MinEnis:               pulumi.Int(0),
    		MinGpu:                pulumi.Int(0),
    		MinMemoryGib:          pulumi.Float64(0),
    		MinNetworkPerformance: pulumi.Int(0),
    		MinVcpu:               pulumi.Int(0),
    		RootDeviceTypes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		VirtualizationTypes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	AutoscaleHeadroomsAutomatics: aws.OceanLaunchSpecAutoscaleHeadroomsAutomaticArray{
    		&aws.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs{
    			AutoHeadroomPercentage: pulumi.Int(0),
    		},
    	},
    	Name: pulumi.String("string"),
    	BlockDeviceMappings: aws.OceanLaunchSpecBlockDeviceMappingArray{
    		&aws.OceanLaunchSpecBlockDeviceMappingArgs{
    			DeviceName: pulumi.String("string"),
    			Ebs: &aws.OceanLaunchSpecBlockDeviceMappingEbsArgs{
    				DeleteOnTermination: pulumi.Bool(false),
    				DynamicVolumeSize: &aws.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"),
    		},
    	},
    	CreateOptions: &aws.OceanLaunchSpecCreateOptionsArgs{
    		InitialNodes: pulumi.Int(0),
    	},
    	DeleteOptions: &aws.OceanLaunchSpecDeleteOptionsArgs{
    		ForceDelete: pulumi.Bool(false),
    		DeleteNodes: pulumi.Bool(false),
    	},
    	ElasticIpPools: aws.OceanLaunchSpecElasticIpPoolArray{
    		&aws.OceanLaunchSpecElasticIpPoolArgs{
    			TagSelector: &aws.OceanLaunchSpecElasticIpPoolTagSelectorArgs{
    				TagKey:   pulumi.String("string"),
    				TagValue: pulumi.String("string"),
    			},
    		},
    	},
    	EphemeralStorages: aws.OceanLaunchSpecEphemeralStorageArray{
    		&aws.OceanLaunchSpecEphemeralStorageArgs{
    			EphemeralStorageDeviceName: pulumi.String("string"),
    		},
    	},
    	IamInstanceProfile: pulumi.String("string"),
    	ImageId:            pulumi.String("string"),
    	Images: aws.OceanLaunchSpecImageArray{
    		&aws.OceanLaunchSpecImageArgs{
    			ImageId: pulumi.String("string"),
    		},
    	},
    	InstanceMetadataOptions: &aws.OceanLaunchSpecInstanceMetadataOptionsArgs{
    		HttpTokens:              pulumi.String("string"),
    		HttpPutResponseHopLimit: pulumi.Int(0),
    	},
    	InstanceTypes: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	AssociatePublicIpAddress: pulumi.Bool(false),
    	UserData:                 pulumi.String("string"),
    	AutoscaleHeadrooms: aws.OceanLaunchSpecAutoscaleHeadroomArray{
    		&aws.OceanLaunchSpecAutoscaleHeadroomArgs{
    			NumOfUnits:    pulumi.Int(0),
    			CpuPerUnit:    pulumi.Int(0),
    			GpuPerUnit:    pulumi.Int(0),
    			MemoryPerUnit: pulumi.Int(0),
    		},
    	},
    	AutoscaleDowns: aws.OceanLaunchSpecAutoscaleDownArray{
    		&aws.OceanLaunchSpecAutoscaleDownArgs{
    			MaxScaleDownPercentage: pulumi.Float64(0),
    		},
    	},
    	PreferredSpotTypes: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	ResourceLimits: aws.OceanLaunchSpecResourceLimitArray{
    		&aws.OceanLaunchSpecResourceLimitArgs{
    			MaxInstanceCount: pulumi.Int(0),
    			MinInstanceCount: pulumi.Int(0),
    		},
    	},
    	RestrictScaleDown: pulumi.Bool(false),
    	RootVolumeSize:    pulumi.Int(0),
    	SchedulingShutdownHours: &aws.OceanLaunchSpecSchedulingShutdownHoursArgs{
    		TimeWindows: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		IsEnabled: pulumi.Bool(false),
    	},
    	SchedulingTasks: aws.OceanLaunchSpecSchedulingTaskArray{
    		&aws.OceanLaunchSpecSchedulingTaskArgs{
    			CronExpression: pulumi.String("string"),
    			IsEnabled:      pulumi.Bool(false),
    			TaskType:       pulumi.String("string"),
    			TaskHeadrooms: aws.OceanLaunchSpecSchedulingTaskTaskHeadroomArray{
    				&aws.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs{
    					NumOfUnits:    pulumi.Int(0),
    					CpuPerUnit:    pulumi.Int(0),
    					GpuPerUnit:    pulumi.Int(0),
    					MemoryPerUnit: pulumi.Int(0),
    				},
    			},
    		},
    	},
    	SecurityGroups: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Strategies: aws.OceanLaunchSpecStrategyArray{
    		&aws.OceanLaunchSpecStrategyArgs{
    			SpotPercentage: pulumi.Int(0),
    		},
    	},
    	SubnetIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Tags: aws.OceanLaunchSpecTagArray{
    		&aws.OceanLaunchSpecTagArgs{
    			Key:   pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    	Taints: aws.OceanLaunchSpecTaintArray{
    		&aws.OceanLaunchSpecTaintArgs{
    			Effect: pulumi.String("string"),
    			Key:    pulumi.String("string"),
    			Value:  pulumi.String("string"),
    		},
    	},
    	UpdatePolicy: &aws.OceanLaunchSpecUpdatePolicyArgs{
    		ShouldRoll: pulumi.Bool(false),
    		RollConfig: &aws.OceanLaunchSpecUpdatePolicyRollConfigArgs{
    			BatchSizePercentage: pulumi.Int(0),
    		},
    	},
    	Labels: aws.OceanLaunchSpecLabelArray{
    		&aws.OceanLaunchSpecLabelArgs{
    			Key:   pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    })
    
    var oceanLaunchSpecResource = new OceanLaunchSpec("oceanLaunchSpecResource", OceanLaunchSpecArgs.builder()        
        .oceanId("string")
        .instanceTypesFilters(OceanLaunchSpecInstanceTypesFiltersArgs.builder()
            .categories("string")
            .diskTypes("string")
            .excludeFamilies("string")
            .excludeMetal(false)
            .hypervisors("string")
            .includeFamilies("string")
            .isEnaSupported("string")
            .maxGpu(0)
            .maxMemoryGib(0)
            .maxNetworkPerformance(0)
            .maxVcpu(0)
            .minEnis(0)
            .minGpu(0)
            .minMemoryGib(0)
            .minNetworkPerformance(0)
            .minVcpu(0)
            .rootDeviceTypes("string")
            .virtualizationTypes("string")
            .build())
        .autoscaleHeadroomsAutomatics(OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs.builder()
            .autoHeadroomPercentage(0)
            .build())
        .name("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())
        .createOptions(OceanLaunchSpecCreateOptionsArgs.builder()
            .initialNodes(0)
            .build())
        .deleteOptions(OceanLaunchSpecDeleteOptionsArgs.builder()
            .forceDelete(false)
            .deleteNodes(false)
            .build())
        .elasticIpPools(OceanLaunchSpecElasticIpPoolArgs.builder()
            .tagSelector(OceanLaunchSpecElasticIpPoolTagSelectorArgs.builder()
                .tagKey("string")
                .tagValue("string")
                .build())
            .build())
        .ephemeralStorages(OceanLaunchSpecEphemeralStorageArgs.builder()
            .ephemeralStorageDeviceName("string")
            .build())
        .iamInstanceProfile("string")
        .imageId("string")
        .images(OceanLaunchSpecImageArgs.builder()
            .imageId("string")
            .build())
        .instanceMetadataOptions(OceanLaunchSpecInstanceMetadataOptionsArgs.builder()
            .httpTokens("string")
            .httpPutResponseHopLimit(0)
            .build())
        .instanceTypes("string")
        .associatePublicIpAddress(false)
        .userData("string")
        .autoscaleHeadrooms(OceanLaunchSpecAutoscaleHeadroomArgs.builder()
            .numOfUnits(0)
            .cpuPerUnit(0)
            .gpuPerUnit(0)
            .memoryPerUnit(0)
            .build())
        .autoscaleDowns(OceanLaunchSpecAutoscaleDownArgs.builder()
            .maxScaleDownPercentage(0)
            .build())
        .preferredSpotTypes("string")
        .resourceLimits(OceanLaunchSpecResourceLimitArgs.builder()
            .maxInstanceCount(0)
            .minInstanceCount(0)
            .build())
        .restrictScaleDown(false)
        .rootVolumeSize(0)
        .schedulingShutdownHours(OceanLaunchSpecSchedulingShutdownHoursArgs.builder()
            .timeWindows("string")
            .isEnabled(false)
            .build())
        .schedulingTasks(OceanLaunchSpecSchedulingTaskArgs.builder()
            .cronExpression("string")
            .isEnabled(false)
            .taskType("string")
            .taskHeadrooms(OceanLaunchSpecSchedulingTaskTaskHeadroomArgs.builder()
                .numOfUnits(0)
                .cpuPerUnit(0)
                .gpuPerUnit(0)
                .memoryPerUnit(0)
                .build())
            .build())
        .securityGroups("string")
        .strategies(OceanLaunchSpecStrategyArgs.builder()
            .spotPercentage(0)
            .build())
        .subnetIds("string")
        .tags(OceanLaunchSpecTagArgs.builder()
            .key("string")
            .value("string")
            .build())
        .taints(OceanLaunchSpecTaintArgs.builder()
            .effect("string")
            .key("string")
            .value("string")
            .build())
        .updatePolicy(OceanLaunchSpecUpdatePolicyArgs.builder()
            .shouldRoll(false)
            .rollConfig(OceanLaunchSpecUpdatePolicyRollConfigArgs.builder()
                .batchSizePercentage(0)
                .build())
            .build())
        .labels(OceanLaunchSpecLabelArgs.builder()
            .key("string")
            .value("string")
            .build())
        .build());
    
    ocean_launch_spec_resource = spotinst.aws.OceanLaunchSpec("oceanLaunchSpecResource",
        ocean_id="string",
        instance_types_filters=spotinst.aws.OceanLaunchSpecInstanceTypesFiltersArgs(
            categories=["string"],
            disk_types=["string"],
            exclude_families=["string"],
            exclude_metal=False,
            hypervisors=["string"],
            include_families=["string"],
            is_ena_supported="string",
            max_gpu=0,
            max_memory_gib=0,
            max_network_performance=0,
            max_vcpu=0,
            min_enis=0,
            min_gpu=0,
            min_memory_gib=0,
            min_network_performance=0,
            min_vcpu=0,
            root_device_types=["string"],
            virtualization_types=["string"],
        ),
        autoscale_headrooms_automatics=[spotinst.aws.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs(
            auto_headroom_percentage=0,
        )],
        name="string",
        block_device_mappings=[spotinst.aws.OceanLaunchSpecBlockDeviceMappingArgs(
            device_name="string",
            ebs=spotinst.aws.OceanLaunchSpecBlockDeviceMappingEbsArgs(
                delete_on_termination=False,
                dynamic_volume_size=spotinst.aws.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",
        )],
        create_options=spotinst.aws.OceanLaunchSpecCreateOptionsArgs(
            initial_nodes=0,
        ),
        delete_options=spotinst.aws.OceanLaunchSpecDeleteOptionsArgs(
            force_delete=False,
            delete_nodes=False,
        ),
        elastic_ip_pools=[spotinst.aws.OceanLaunchSpecElasticIpPoolArgs(
            tag_selector=spotinst.aws.OceanLaunchSpecElasticIpPoolTagSelectorArgs(
                tag_key="string",
                tag_value="string",
            ),
        )],
        ephemeral_storages=[spotinst.aws.OceanLaunchSpecEphemeralStorageArgs(
            ephemeral_storage_device_name="string",
        )],
        iam_instance_profile="string",
        image_id="string",
        images=[spotinst.aws.OceanLaunchSpecImageArgs(
            image_id="string",
        )],
        instance_metadata_options=spotinst.aws.OceanLaunchSpecInstanceMetadataOptionsArgs(
            http_tokens="string",
            http_put_response_hop_limit=0,
        ),
        instance_types=["string"],
        associate_public_ip_address=False,
        user_data="string",
        autoscale_headrooms=[spotinst.aws.OceanLaunchSpecAutoscaleHeadroomArgs(
            num_of_units=0,
            cpu_per_unit=0,
            gpu_per_unit=0,
            memory_per_unit=0,
        )],
        autoscale_downs=[spotinst.aws.OceanLaunchSpecAutoscaleDownArgs(
            max_scale_down_percentage=0,
        )],
        preferred_spot_types=["string"],
        resource_limits=[spotinst.aws.OceanLaunchSpecResourceLimitArgs(
            max_instance_count=0,
            min_instance_count=0,
        )],
        restrict_scale_down=False,
        root_volume_size=0,
        scheduling_shutdown_hours=spotinst.aws.OceanLaunchSpecSchedulingShutdownHoursArgs(
            time_windows=["string"],
            is_enabled=False,
        ),
        scheduling_tasks=[spotinst.aws.OceanLaunchSpecSchedulingTaskArgs(
            cron_expression="string",
            is_enabled=False,
            task_type="string",
            task_headrooms=[spotinst.aws.OceanLaunchSpecSchedulingTaskTaskHeadroomArgs(
                num_of_units=0,
                cpu_per_unit=0,
                gpu_per_unit=0,
                memory_per_unit=0,
            )],
        )],
        security_groups=["string"],
        strategies=[spotinst.aws.OceanLaunchSpecStrategyArgs(
            spot_percentage=0,
        )],
        subnet_ids=["string"],
        tags=[spotinst.aws.OceanLaunchSpecTagArgs(
            key="string",
            value="string",
        )],
        taints=[spotinst.aws.OceanLaunchSpecTaintArgs(
            effect="string",
            key="string",
            value="string",
        )],
        update_policy=spotinst.aws.OceanLaunchSpecUpdatePolicyArgs(
            should_roll=False,
            roll_config=spotinst.aws.OceanLaunchSpecUpdatePolicyRollConfigArgs(
                batch_size_percentage=0,
            ),
        ),
        labels=[spotinst.aws.OceanLaunchSpecLabelArgs(
            key="string",
            value="string",
        )])
    
    const oceanLaunchSpecResource = new spotinst.aws.OceanLaunchSpec("oceanLaunchSpecResource", {
        oceanId: "string",
        instanceTypesFilters: {
            categories: ["string"],
            diskTypes: ["string"],
            excludeFamilies: ["string"],
            excludeMetal: false,
            hypervisors: ["string"],
            includeFamilies: ["string"],
            isEnaSupported: "string",
            maxGpu: 0,
            maxMemoryGib: 0,
            maxNetworkPerformance: 0,
            maxVcpu: 0,
            minEnis: 0,
            minGpu: 0,
            minMemoryGib: 0,
            minNetworkPerformance: 0,
            minVcpu: 0,
            rootDeviceTypes: ["string"],
            virtualizationTypes: ["string"],
        },
        autoscaleHeadroomsAutomatics: [{
            autoHeadroomPercentage: 0,
        }],
        name: "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",
        }],
        createOptions: {
            initialNodes: 0,
        },
        deleteOptions: {
            forceDelete: false,
            deleteNodes: false,
        },
        elasticIpPools: [{
            tagSelector: {
                tagKey: "string",
                tagValue: "string",
            },
        }],
        ephemeralStorages: [{
            ephemeralStorageDeviceName: "string",
        }],
        iamInstanceProfile: "string",
        imageId: "string",
        images: [{
            imageId: "string",
        }],
        instanceMetadataOptions: {
            httpTokens: "string",
            httpPutResponseHopLimit: 0,
        },
        instanceTypes: ["string"],
        associatePublicIpAddress: false,
        userData: "string",
        autoscaleHeadrooms: [{
            numOfUnits: 0,
            cpuPerUnit: 0,
            gpuPerUnit: 0,
            memoryPerUnit: 0,
        }],
        autoscaleDowns: [{
            maxScaleDownPercentage: 0,
        }],
        preferredSpotTypes: ["string"],
        resourceLimits: [{
            maxInstanceCount: 0,
            minInstanceCount: 0,
        }],
        restrictScaleDown: false,
        rootVolumeSize: 0,
        schedulingShutdownHours: {
            timeWindows: ["string"],
            isEnabled: false,
        },
        schedulingTasks: [{
            cronExpression: "string",
            isEnabled: false,
            taskType: "string",
            taskHeadrooms: [{
                numOfUnits: 0,
                cpuPerUnit: 0,
                gpuPerUnit: 0,
                memoryPerUnit: 0,
            }],
        }],
        securityGroups: ["string"],
        strategies: [{
            spotPercentage: 0,
        }],
        subnetIds: ["string"],
        tags: [{
            key: "string",
            value: "string",
        }],
        taints: [{
            effect: "string",
            key: "string",
            value: "string",
        }],
        updatePolicy: {
            shouldRoll: false,
            rollConfig: {
                batchSizePercentage: 0,
            },
        },
        labels: [{
            key: "string",
            value: "string",
        }],
    });
    
    type: spotinst:aws:OceanLaunchSpec
    properties:
        associatePublicIpAddress: false
        autoscaleDowns:
            - maxScaleDownPercentage: 0
        autoscaleHeadrooms:
            - cpuPerUnit: 0
              gpuPerUnit: 0
              memoryPerUnit: 0
              numOfUnits: 0
        autoscaleHeadroomsAutomatics:
            - autoHeadroomPercentage: 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
        createOptions:
            initialNodes: 0
        deleteOptions:
            deleteNodes: false
            forceDelete: false
        elasticIpPools:
            - tagSelector:
                tagKey: string
                tagValue: string
        ephemeralStorages:
            - ephemeralStorageDeviceName: string
        iamInstanceProfile: string
        imageId: string
        images:
            - imageId: string
        instanceMetadataOptions:
            httpPutResponseHopLimit: 0
            httpTokens: string
        instanceTypes:
            - string
        instanceTypesFilters:
            categories:
                - string
            diskTypes:
                - string
            excludeFamilies:
                - string
            excludeMetal: false
            hypervisors:
                - string
            includeFamilies:
                - string
            isEnaSupported: string
            maxGpu: 0
            maxMemoryGib: 0
            maxNetworkPerformance: 0
            maxVcpu: 0
            minEnis: 0
            minGpu: 0
            minMemoryGib: 0
            minNetworkPerformance: 0
            minVcpu: 0
            rootDeviceTypes:
                - string
            virtualizationTypes:
                - string
        labels:
            - key: string
              value: string
        name: string
        oceanId: string
        preferredSpotTypes:
            - string
        resourceLimits:
            - maxInstanceCount: 0
              minInstanceCount: 0
        restrictScaleDown: false
        rootVolumeSize: 0
        schedulingShutdownHours:
            isEnabled: false
            timeWindows:
                - string
        schedulingTasks:
            - cronExpression: string
              isEnabled: false
              taskHeadrooms:
                - cpuPerUnit: 0
                  gpuPerUnit: 0
                  memoryPerUnit: 0
                  numOfUnits: 0
              taskType: string
        securityGroups:
            - string
        strategies:
            - spotPercentage: 0
        subnetIds:
            - string
        tags:
            - key: string
              value: string
        taints:
            - effect: string
              key: string
              value: string
        updatePolicy:
            rollConfig:
                batchSizePercentage: 0
            shouldRoll: false
        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 ID of the Ocean cluster.
    AssociatePublicIpAddress bool
    Configure public IP address allocation.
    AutoscaleDowns List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleDown>
    Auto Scaling scale down operations.
    AutoscaleHeadrooms List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleHeadroom>
    Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
    AutoscaleHeadroomsAutomatics List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleHeadroomsAutomatic>
    Set automatic headroom per launch spec.
    BlockDeviceMappings List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecBlockDeviceMapping>
    Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
    CreateOptions Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecCreateOptions
    DeleteOptions Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecDeleteOptions
    ElasticIpPools List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecElasticIpPool>
    Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
    EphemeralStorages List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecEphemeralStorage>
    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.Aws.Inputs.OceanLaunchSpecImage>
    Array of objects (Image object, containing the id of the image used to launch instances.) 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.Aws.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 cluster.
    InstanceTypesFilters Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecInstanceTypesFilters
    The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter. The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
    Labels List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecLabel>
    Optionally adds labels to instances launched in the cluster.
    Name string
    The name of the Virtual Node Group.
    PreferredSpotTypes List<string>
    A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
    ResourceLimits List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecResourceLimit>
    RestrictScaleDown bool
    Boolean. When set to True, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    RootVolumeSize int
    Set root volume size (in GB).
    SchedulingShutdownHours Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecSchedulingShutdownHours
    Used to specify times that the nodes in the virtual node group will be taken down.
    SchedulingTasks List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecSchedulingTask>
    Used to define scheduled tasks such as a manual headroom update.
    SecurityGroups List<string>
    Optionally adds security group IDs.
    Strategies List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecStrategy>
    SubnetIds List<string>
    A list of subnet IDs.
    Tags List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecTag>
    A key/value mapping of tags to assign to the resource.
    Taints List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecTaint>
    Optionally adds labels to instances launched in the cluster.
    UpdatePolicy Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecUpdatePolicy
    UserData string
    Base64-encoded MIME user data to make available to the instances.
    OceanId string
    The ID of the Ocean cluster.
    AssociatePublicIpAddress bool
    Configure public IP address allocation.
    AutoscaleDowns []OceanLaunchSpecAutoscaleDownArgs
    Auto Scaling scale down operations.
    AutoscaleHeadrooms []OceanLaunchSpecAutoscaleHeadroomArgs
    Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
    AutoscaleHeadroomsAutomatics []OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs
    Set automatic headroom per launch spec.
    BlockDeviceMappings []OceanLaunchSpecBlockDeviceMappingArgs
    Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
    CreateOptions OceanLaunchSpecCreateOptionsArgs
    DeleteOptions OceanLaunchSpecDeleteOptionsArgs
    ElasticIpPools []OceanLaunchSpecElasticIpPoolArgs
    Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
    EphemeralStorages []OceanLaunchSpecEphemeralStorageArgs
    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
    Array of objects (Image object, containing the id of the image used to launch instances.) 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 cluster.
    InstanceTypesFilters OceanLaunchSpecInstanceTypesFiltersArgs
    The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter. The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
    Labels []OceanLaunchSpecLabelArgs
    Optionally adds labels to instances launched in the cluster.
    Name string
    The name of the Virtual Node Group.
    PreferredSpotTypes []string
    A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
    ResourceLimits []OceanLaunchSpecResourceLimitArgs
    RestrictScaleDown bool
    Boolean. When set to True, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    RootVolumeSize int
    Set root volume size (in GB).
    SchedulingShutdownHours OceanLaunchSpecSchedulingShutdownHoursArgs
    Used to specify times that the nodes in the virtual node group will be taken down.
    SchedulingTasks []OceanLaunchSpecSchedulingTaskArgs
    Used to define scheduled tasks such as a manual headroom update.
    SecurityGroups []string
    Optionally adds security group IDs.
    Strategies []OceanLaunchSpecStrategyArgs
    SubnetIds []string
    A list of subnet IDs.
    Tags []OceanLaunchSpecTagArgs
    A key/value mapping of tags to assign to the resource.
    Taints []OceanLaunchSpecTaintArgs
    Optionally adds labels to instances launched in the cluster.
    UpdatePolicy OceanLaunchSpecUpdatePolicyArgs
    UserData string
    Base64-encoded MIME user data to make available to the instances.
    oceanId String
    The ID of the Ocean cluster.
    associatePublicIpAddress Boolean
    Configure public IP address allocation.
    autoscaleDowns List<OceanLaunchSpecAutoscaleDown>
    Auto Scaling scale down operations.
    autoscaleHeadrooms List<OceanLaunchSpecAutoscaleHeadroom>
    Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
    autoscaleHeadroomsAutomatics List<OceanLaunchSpecAutoscaleHeadroomsAutomatic>
    Set automatic headroom per launch spec.
    blockDeviceMappings List<OceanLaunchSpecBlockDeviceMapping>
    Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
    createOptions OceanLaunchSpecCreateOptions
    deleteOptions OceanLaunchSpecDeleteOptions
    elasticIpPools List<OceanLaunchSpecElasticIpPool>
    Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
    ephemeralStorages List<OceanLaunchSpecEphemeralStorage>
    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>
    Array of objects (Image object, containing the id of the image used to launch instances.) 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 cluster.
    instanceTypesFilters OceanLaunchSpecInstanceTypesFilters
    The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter. The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
    labels List<OceanLaunchSpecLabel>
    Optionally adds labels to instances launched in the cluster.
    name String
    The name of the Virtual Node Group.
    preferredSpotTypes List<String>
    A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
    resourceLimits List<OceanLaunchSpecResourceLimit>
    restrictScaleDown Boolean
    Boolean. When set to True, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    rootVolumeSize Integer
    Set root volume size (in GB).
    schedulingShutdownHours OceanLaunchSpecSchedulingShutdownHours
    Used to specify times that the nodes in the virtual node group will be taken down.
    schedulingTasks List<OceanLaunchSpecSchedulingTask>
    Used to define scheduled tasks such as a manual headroom update.
    securityGroups List<String>
    Optionally adds security group IDs.
    strategies List<OceanLaunchSpecStrategy>
    subnetIds List<String>
    A list of subnet IDs.
    tags List<OceanLaunchSpecTag>
    A key/value mapping of tags to assign to the resource.
    taints List<OceanLaunchSpecTaint>
    Optionally adds labels to instances launched in the cluster.
    updatePolicy OceanLaunchSpecUpdatePolicy
    userData String
    Base64-encoded MIME user data to make available to the instances.
    oceanId string
    The ID of the Ocean cluster.
    associatePublicIpAddress boolean
    Configure public IP address allocation.
    autoscaleDowns OceanLaunchSpecAutoscaleDown[]
    Auto Scaling scale down operations.
    autoscaleHeadrooms OceanLaunchSpecAutoscaleHeadroom[]
    Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
    autoscaleHeadroomsAutomatics OceanLaunchSpecAutoscaleHeadroomsAutomatic[]
    Set automatic headroom per launch spec.
    blockDeviceMappings OceanLaunchSpecBlockDeviceMapping[]
    Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
    createOptions OceanLaunchSpecCreateOptions
    deleteOptions OceanLaunchSpecDeleteOptions
    elasticIpPools OceanLaunchSpecElasticIpPool[]
    Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
    ephemeralStorages OceanLaunchSpecEphemeralStorage[]
    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[]
    Array of objects (Image object, containing the id of the image used to launch instances.) 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 cluster.
    instanceTypesFilters OceanLaunchSpecInstanceTypesFilters
    The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter. The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
    labels OceanLaunchSpecLabel[]
    Optionally adds labels to instances launched in the cluster.
    name string
    The name of the Virtual Node Group.
    preferredSpotTypes string[]
    A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
    resourceLimits OceanLaunchSpecResourceLimit[]
    restrictScaleDown boolean
    Boolean. When set to True, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    rootVolumeSize number
    Set root volume size (in GB).
    schedulingShutdownHours OceanLaunchSpecSchedulingShutdownHours
    Used to specify times that the nodes in the virtual node group will be taken down.
    schedulingTasks OceanLaunchSpecSchedulingTask[]
    Used to define scheduled tasks such as a manual headroom update.
    securityGroups string[]
    Optionally adds security group IDs.
    strategies OceanLaunchSpecStrategy[]
    subnetIds string[]
    A list of subnet IDs.
    tags OceanLaunchSpecTag[]
    A key/value mapping of tags to assign to the resource.
    taints OceanLaunchSpecTaint[]
    Optionally adds labels to instances launched in the cluster.
    updatePolicy OceanLaunchSpecUpdatePolicy
    userData string
    Base64-encoded MIME user data to make available to the instances.
    ocean_id str
    The ID of the Ocean cluster.
    associate_public_ip_address bool
    Configure public IP address allocation.
    autoscale_downs Sequence[OceanLaunchSpecAutoscaleDownArgs]
    Auto Scaling scale down operations.
    autoscale_headrooms Sequence[OceanLaunchSpecAutoscaleHeadroomArgs]
    Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
    autoscale_headrooms_automatics Sequence[OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs]
    Set automatic headroom per launch spec.
    block_device_mappings Sequence[OceanLaunchSpecBlockDeviceMappingArgs]
    Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
    create_options OceanLaunchSpecCreateOptionsArgs
    delete_options OceanLaunchSpecDeleteOptionsArgs
    elastic_ip_pools Sequence[OceanLaunchSpecElasticIpPoolArgs]
    Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
    ephemeral_storages Sequence[OceanLaunchSpecEphemeralStorageArgs]
    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]
    Array of objects (Image object, containing the id of the image used to launch instances.) 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 cluster.
    instance_types_filters OceanLaunchSpecInstanceTypesFiltersArgs
    The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter. The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
    labels Sequence[OceanLaunchSpecLabelArgs]
    Optionally adds labels to instances launched in the cluster.
    name str
    The name of the Virtual Node Group.
    preferred_spot_types Sequence[str]
    A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
    resource_limits Sequence[OceanLaunchSpecResourceLimitArgs]
    restrict_scale_down bool
    Boolean. When set to True, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    root_volume_size int
    Set root volume size (in GB).
    scheduling_shutdown_hours OceanLaunchSpecSchedulingShutdownHoursArgs
    Used to specify times that the nodes in the virtual node group will be taken down.
    scheduling_tasks Sequence[OceanLaunchSpecSchedulingTaskArgs]
    Used to define scheduled tasks such as a manual headroom update.
    security_groups Sequence[str]
    Optionally adds security group IDs.
    strategies Sequence[OceanLaunchSpecStrategyArgs]
    subnet_ids Sequence[str]
    A list of subnet IDs.
    tags Sequence[OceanLaunchSpecTagArgs]
    A key/value mapping of tags to assign to the resource.
    taints Sequence[OceanLaunchSpecTaintArgs]
    Optionally adds labels to instances launched in the cluster.
    update_policy OceanLaunchSpecUpdatePolicyArgs
    user_data str
    Base64-encoded MIME user data to make available to the instances.
    oceanId String
    The ID of the Ocean cluster.
    associatePublicIpAddress Boolean
    Configure public IP address allocation.
    autoscaleDowns List<Property Map>
    Auto Scaling scale down operations.
    autoscaleHeadrooms List<Property Map>
    Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
    autoscaleHeadroomsAutomatics List<Property Map>
    Set automatic headroom per launch spec.
    blockDeviceMappings List<Property Map>
    Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
    createOptions Property Map
    deleteOptions Property Map
    elasticIpPools List<Property Map>
    Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
    ephemeralStorages 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>
    Array of objects (Image object, containing the id of the image used to launch instances.) 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 cluster.
    instanceTypesFilters Property Map
    The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter. The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
    labels List<Property Map>
    Optionally adds labels to instances launched in the cluster.
    name String
    The name of the Virtual Node Group.
    preferredSpotTypes List<String>
    A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
    resourceLimits List<Property Map>
    restrictScaleDown Boolean
    Boolean. When set to True, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    rootVolumeSize Number
    Set root volume size (in GB).
    schedulingShutdownHours Property Map
    Used to specify times that the nodes in the virtual node group will be taken down.
    schedulingTasks List<Property Map>
    Used to define scheduled tasks such as a manual headroom update.
    securityGroups List<String>
    Optionally adds security group IDs.
    strategies List<Property Map>
    subnetIds List<String>
    A list of subnet IDs.
    tags List<Property Map>
    A key/value mapping of tags to assign to the resource.
    taints List<Property Map>
    Optionally adds labels to instances launched in the cluster.
    updatePolicy Property Map
    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,
            associate_public_ip_address: Optional[bool] = None,
            autoscale_downs: Optional[Sequence[OceanLaunchSpecAutoscaleDownArgs]] = None,
            autoscale_headrooms: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomArgs]] = None,
            autoscale_headrooms_automatics: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs]] = None,
            block_device_mappings: Optional[Sequence[OceanLaunchSpecBlockDeviceMappingArgs]] = None,
            create_options: Optional[OceanLaunchSpecCreateOptionsArgs] = None,
            delete_options: Optional[OceanLaunchSpecDeleteOptionsArgs] = None,
            elastic_ip_pools: Optional[Sequence[OceanLaunchSpecElasticIpPoolArgs]] = None,
            ephemeral_storages: Optional[Sequence[OceanLaunchSpecEphemeralStorageArgs]] = 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,
            instance_types_filters: Optional[OceanLaunchSpecInstanceTypesFiltersArgs] = None,
            labels: Optional[Sequence[OceanLaunchSpecLabelArgs]] = None,
            name: Optional[str] = None,
            ocean_id: Optional[str] = None,
            preferred_spot_types: Optional[Sequence[str]] = None,
            resource_limits: Optional[Sequence[OceanLaunchSpecResourceLimitArgs]] = None,
            restrict_scale_down: Optional[bool] = None,
            root_volume_size: Optional[int] = None,
            scheduling_shutdown_hours: Optional[OceanLaunchSpecSchedulingShutdownHoursArgs] = None,
            scheduling_tasks: Optional[Sequence[OceanLaunchSpecSchedulingTaskArgs]] = None,
            security_groups: Optional[Sequence[str]] = None,
            strategies: Optional[Sequence[OceanLaunchSpecStrategyArgs]] = None,
            subnet_ids: Optional[Sequence[str]] = None,
            tags: Optional[Sequence[OceanLaunchSpecTagArgs]] = None,
            taints: Optional[Sequence[OceanLaunchSpecTaintArgs]] = None,
            update_policy: Optional[OceanLaunchSpecUpdatePolicyArgs] = None,
            user_data: Optional[str] = None) -> OceanLaunchSpec
    func GetOceanLaunchSpec(ctx *Context, name string, id IDInput, state *OceanLaunchSpecState, opts ...ResourceOption) (*OceanLaunchSpec, error)
    public static OceanLaunchSpec Get(string name, Input<string> id, OceanLaunchSpecState? state, CustomResourceOptions? opts = null)
    public static OceanLaunchSpec get(String name, Output<String> id, OceanLaunchSpecState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AssociatePublicIpAddress bool
    Configure public IP address allocation.
    AutoscaleDowns List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleDown>
    Auto Scaling scale down operations.
    AutoscaleHeadrooms List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleHeadroom>
    Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
    AutoscaleHeadroomsAutomatics List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleHeadroomsAutomatic>
    Set automatic headroom per launch spec.
    BlockDeviceMappings List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecBlockDeviceMapping>
    Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
    CreateOptions Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecCreateOptions
    DeleteOptions Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecDeleteOptions
    ElasticIpPools List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecElasticIpPool>
    Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
    EphemeralStorages List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecEphemeralStorage>
    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.Aws.Inputs.OceanLaunchSpecImage>
    Array of objects (Image object, containing the id of the image used to launch instances.) 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.Aws.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 cluster.
    InstanceTypesFilters Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecInstanceTypesFilters
    The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter. The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
    Labels List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecLabel>
    Optionally adds labels to instances launched in the cluster.
    Name string
    The name of the Virtual Node Group.
    OceanId string
    The ID of the Ocean cluster.
    PreferredSpotTypes List<string>
    A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
    ResourceLimits List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecResourceLimit>
    RestrictScaleDown bool
    Boolean. When set to True, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    RootVolumeSize int
    Set root volume size (in GB).
    SchedulingShutdownHours Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecSchedulingShutdownHours
    Used to specify times that the nodes in the virtual node group will be taken down.
    SchedulingTasks List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecSchedulingTask>
    Used to define scheduled tasks such as a manual headroom update.
    SecurityGroups List<string>
    Optionally adds security group IDs.
    Strategies List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecStrategy>
    SubnetIds List<string>
    A list of subnet IDs.
    Tags List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecTag>
    A key/value mapping of tags to assign to the resource.
    Taints List<Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecTaint>
    Optionally adds labels to instances launched in the cluster.
    UpdatePolicy Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecUpdatePolicy
    UserData string
    Base64-encoded MIME user data to make available to the instances.
    AssociatePublicIpAddress bool
    Configure public IP address allocation.
    AutoscaleDowns []OceanLaunchSpecAutoscaleDownArgs
    Auto Scaling scale down operations.
    AutoscaleHeadrooms []OceanLaunchSpecAutoscaleHeadroomArgs
    Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
    AutoscaleHeadroomsAutomatics []OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs
    Set automatic headroom per launch spec.
    BlockDeviceMappings []OceanLaunchSpecBlockDeviceMappingArgs
    Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
    CreateOptions OceanLaunchSpecCreateOptionsArgs
    DeleteOptions OceanLaunchSpecDeleteOptionsArgs
    ElasticIpPools []OceanLaunchSpecElasticIpPoolArgs
    Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
    EphemeralStorages []OceanLaunchSpecEphemeralStorageArgs
    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
    Array of objects (Image object, containing the id of the image used to launch instances.) 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 cluster.
    InstanceTypesFilters OceanLaunchSpecInstanceTypesFiltersArgs
    The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter. The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
    Labels []OceanLaunchSpecLabelArgs
    Optionally adds labels to instances launched in the cluster.
    Name string
    The name of the Virtual Node Group.
    OceanId string
    The ID of the Ocean cluster.
    PreferredSpotTypes []string
    A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
    ResourceLimits []OceanLaunchSpecResourceLimitArgs
    RestrictScaleDown bool
    Boolean. When set to True, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    RootVolumeSize int
    Set root volume size (in GB).
    SchedulingShutdownHours OceanLaunchSpecSchedulingShutdownHoursArgs
    Used to specify times that the nodes in the virtual node group will be taken down.
    SchedulingTasks []OceanLaunchSpecSchedulingTaskArgs
    Used to define scheduled tasks such as a manual headroom update.
    SecurityGroups []string
    Optionally adds security group IDs.
    Strategies []OceanLaunchSpecStrategyArgs
    SubnetIds []string
    A list of subnet IDs.
    Tags []OceanLaunchSpecTagArgs
    A key/value mapping of tags to assign to the resource.
    Taints []OceanLaunchSpecTaintArgs
    Optionally adds labels to instances launched in the cluster.
    UpdatePolicy OceanLaunchSpecUpdatePolicyArgs
    UserData string
    Base64-encoded MIME user data to make available to the instances.
    associatePublicIpAddress Boolean
    Configure public IP address allocation.
    autoscaleDowns List<OceanLaunchSpecAutoscaleDown>
    Auto Scaling scale down operations.
    autoscaleHeadrooms List<OceanLaunchSpecAutoscaleHeadroom>
    Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
    autoscaleHeadroomsAutomatics List<OceanLaunchSpecAutoscaleHeadroomsAutomatic>
    Set automatic headroom per launch spec.
    blockDeviceMappings List<OceanLaunchSpecBlockDeviceMapping>
    Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
    createOptions OceanLaunchSpecCreateOptions
    deleteOptions OceanLaunchSpecDeleteOptions
    elasticIpPools List<OceanLaunchSpecElasticIpPool>
    Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
    ephemeralStorages List<OceanLaunchSpecEphemeralStorage>
    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>
    Array of objects (Image object, containing the id of the image used to launch instances.) 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 cluster.
    instanceTypesFilters OceanLaunchSpecInstanceTypesFilters
    The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter. The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
    labels List<OceanLaunchSpecLabel>
    Optionally adds labels to instances launched in the cluster.
    name String
    The name of the Virtual Node Group.
    oceanId String
    The ID of the Ocean cluster.
    preferredSpotTypes List<String>
    A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
    resourceLimits List<OceanLaunchSpecResourceLimit>
    restrictScaleDown Boolean
    Boolean. When set to True, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    rootVolumeSize Integer
    Set root volume size (in GB).
    schedulingShutdownHours OceanLaunchSpecSchedulingShutdownHours
    Used to specify times that the nodes in the virtual node group will be taken down.
    schedulingTasks List<OceanLaunchSpecSchedulingTask>
    Used to define scheduled tasks such as a manual headroom update.
    securityGroups List<String>
    Optionally adds security group IDs.
    strategies List<OceanLaunchSpecStrategy>
    subnetIds List<String>
    A list of subnet IDs.
    tags List<OceanLaunchSpecTag>
    A key/value mapping of tags to assign to the resource.
    taints List<OceanLaunchSpecTaint>
    Optionally adds labels to instances launched in the cluster.
    updatePolicy OceanLaunchSpecUpdatePolicy
    userData String
    Base64-encoded MIME user data to make available to the instances.
    associatePublicIpAddress boolean
    Configure public IP address allocation.
    autoscaleDowns OceanLaunchSpecAutoscaleDown[]
    Auto Scaling scale down operations.
    autoscaleHeadrooms OceanLaunchSpecAutoscaleHeadroom[]
    Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
    autoscaleHeadroomsAutomatics OceanLaunchSpecAutoscaleHeadroomsAutomatic[]
    Set automatic headroom per launch spec.
    blockDeviceMappings OceanLaunchSpecBlockDeviceMapping[]
    Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
    createOptions OceanLaunchSpecCreateOptions
    deleteOptions OceanLaunchSpecDeleteOptions
    elasticIpPools OceanLaunchSpecElasticIpPool[]
    Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
    ephemeralStorages OceanLaunchSpecEphemeralStorage[]
    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[]
    Array of objects (Image object, containing the id of the image used to launch instances.) 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 cluster.
    instanceTypesFilters OceanLaunchSpecInstanceTypesFilters
    The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter. The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
    labels OceanLaunchSpecLabel[]
    Optionally adds labels to instances launched in the cluster.
    name string
    The name of the Virtual Node Group.
    oceanId string
    The ID of the Ocean cluster.
    preferredSpotTypes string[]
    A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
    resourceLimits OceanLaunchSpecResourceLimit[]
    restrictScaleDown boolean
    Boolean. When set to True, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    rootVolumeSize number
    Set root volume size (in GB).
    schedulingShutdownHours OceanLaunchSpecSchedulingShutdownHours
    Used to specify times that the nodes in the virtual node group will be taken down.
    schedulingTasks OceanLaunchSpecSchedulingTask[]
    Used to define scheduled tasks such as a manual headroom update.
    securityGroups string[]
    Optionally adds security group IDs.
    strategies OceanLaunchSpecStrategy[]
    subnetIds string[]
    A list of subnet IDs.
    tags OceanLaunchSpecTag[]
    A key/value mapping of tags to assign to the resource.
    taints OceanLaunchSpecTaint[]
    Optionally adds labels to instances launched in the cluster.
    updatePolicy OceanLaunchSpecUpdatePolicy
    userData string
    Base64-encoded MIME user data to make available to the instances.
    associate_public_ip_address bool
    Configure public IP address allocation.
    autoscale_downs Sequence[OceanLaunchSpecAutoscaleDownArgs]
    Auto Scaling scale down operations.
    autoscale_headrooms Sequence[OceanLaunchSpecAutoscaleHeadroomArgs]
    Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
    autoscale_headrooms_automatics Sequence[OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs]
    Set automatic headroom per launch spec.
    block_device_mappings Sequence[OceanLaunchSpecBlockDeviceMappingArgs]
    Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
    create_options OceanLaunchSpecCreateOptionsArgs
    delete_options OceanLaunchSpecDeleteOptionsArgs
    elastic_ip_pools Sequence[OceanLaunchSpecElasticIpPoolArgs]
    Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
    ephemeral_storages Sequence[OceanLaunchSpecEphemeralStorageArgs]
    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]
    Array of objects (Image object, containing the id of the image used to launch instances.) 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 cluster.
    instance_types_filters OceanLaunchSpecInstanceTypesFiltersArgs
    The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter. The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
    labels Sequence[OceanLaunchSpecLabelArgs]
    Optionally adds labels to instances launched in the cluster.
    name str
    The name of the Virtual Node Group.
    ocean_id str
    The ID of the Ocean cluster.
    preferred_spot_types Sequence[str]
    A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
    resource_limits Sequence[OceanLaunchSpecResourceLimitArgs]
    restrict_scale_down bool
    Boolean. When set to True, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    root_volume_size int
    Set root volume size (in GB).
    scheduling_shutdown_hours OceanLaunchSpecSchedulingShutdownHoursArgs
    Used to specify times that the nodes in the virtual node group will be taken down.
    scheduling_tasks Sequence[OceanLaunchSpecSchedulingTaskArgs]
    Used to define scheduled tasks such as a manual headroom update.
    security_groups Sequence[str]
    Optionally adds security group IDs.
    strategies Sequence[OceanLaunchSpecStrategyArgs]
    subnet_ids Sequence[str]
    A list of subnet IDs.
    tags Sequence[OceanLaunchSpecTagArgs]
    A key/value mapping of tags to assign to the resource.
    taints Sequence[OceanLaunchSpecTaintArgs]
    Optionally adds labels to instances launched in the cluster.
    update_policy OceanLaunchSpecUpdatePolicyArgs
    user_data str
    Base64-encoded MIME user data to make available to the instances.
    associatePublicIpAddress Boolean
    Configure public IP address allocation.
    autoscaleDowns List<Property Map>
    Auto Scaling scale down operations.
    autoscaleHeadrooms List<Property Map>
    Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
    autoscaleHeadroomsAutomatics List<Property Map>
    Set automatic headroom per launch spec.
    blockDeviceMappings List<Property Map>
    Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
    createOptions Property Map
    deleteOptions Property Map
    elasticIpPools List<Property Map>
    Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
    ephemeralStorages 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>
    Array of objects (Image object, containing the id of the image used to launch instances.) 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 cluster.
    instanceTypesFilters Property Map
    The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter. The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
    labels List<Property Map>
    Optionally adds labels to instances launched in the cluster.
    name String
    The name of the Virtual Node Group.
    oceanId String
    The ID of the Ocean cluster.
    preferredSpotTypes List<String>
    A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
    resourceLimits List<Property Map>
    restrictScaleDown Boolean
    Boolean. When set to True, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
    rootVolumeSize Number
    Set root volume size (in GB).
    schedulingShutdownHours Property Map
    Used to specify times that the nodes in the virtual node group will be taken down.
    schedulingTasks List<Property Map>
    Used to define scheduled tasks such as a manual headroom update.
    securityGroups List<String>
    Optionally adds security group IDs.
    strategies List<Property Map>
    subnetIds List<String>
    A list of subnet IDs.
    tags List<Property Map>
    A key/value mapping of tags to assign to the resource.
    taints List<Property Map>
    Optionally adds labels to instances launched in the cluster.
    updatePolicy Property Map
    userData String
    Base64-encoded MIME user data to make available to the instances.

    Supporting Types

    OceanLaunchSpecAutoscaleDown, OceanLaunchSpecAutoscaleDownArgs

    MaxScaleDownPercentage double
    The maximum percentage allowed to scale down in a single scaling action on the nodes running in a specific VNG. Allowed only if maxScaleDownPercentage is set to null at the cluster level. Number between [0.1-100].
    MaxScaleDownPercentage float64
    The maximum percentage allowed to scale down in a single scaling action on the nodes running in a specific VNG. Allowed only if maxScaleDownPercentage is set to null at the cluster level. Number between [0.1-100].
    maxScaleDownPercentage Double
    The maximum percentage allowed to scale down in a single scaling action on the nodes running in a specific VNG. Allowed only if maxScaleDownPercentage is set to null at the cluster level. Number between [0.1-100].
    maxScaleDownPercentage number
    The maximum percentage allowed to scale down in a single scaling action on the nodes running in a specific VNG. Allowed only if maxScaleDownPercentage is set to null at the cluster level. Number between [0.1-100].
    max_scale_down_percentage float
    The maximum percentage allowed to scale down in a single scaling action on the nodes running in a specific VNG. Allowed only if maxScaleDownPercentage is set to null at the cluster level. Number between [0.1-100].
    maxScaleDownPercentage Number
    The maximum percentage allowed to scale down in a single scaling action on the nodes running in a specific VNG. Allowed only if maxScaleDownPercentage is set to null at the cluster level. Number between [0.1-100].

    OceanLaunchSpecAutoscaleHeadroom, 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.
    GpuPerUnit int
    Optionally configure the number of GPUS to allocate for each headroom unit.
    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.
    GpuPerUnit int
    Optionally configure the number of GPUS to allocate for each headroom unit.
    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.
    gpuPerUnit Integer
    Optionally configure the number of GPUS to allocate for each headroom unit.
    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.
    gpuPerUnit number
    Optionally configure the number of GPUS to allocate for each headroom unit.
    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.
    gpu_per_unit int
    Optionally configure the number of GPUS to allocate for each headroom unit.
    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.
    gpuPerUnit Number
    Optionally configure the number of GPUS to allocate for each headroom unit.
    memoryPerUnit Number
    Optionally configure the amount of memory (MiB) to allocate for each headroom unit.

    OceanLaunchSpecAutoscaleHeadroomsAutomatic, OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs

    AutoHeadroomPercentage int
    Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.is_enabled = true is set on the Ocean cluster.
    AutoHeadroomPercentage int
    Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.is_enabled = true is set on the Ocean cluster.
    autoHeadroomPercentage Integer
    Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.is_enabled = true is set on the Ocean cluster.
    autoHeadroomPercentage number
    Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.is_enabled = true is set on the Ocean cluster.
    auto_headroom_percentage int
    Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.is_enabled = true is set on the Ocean cluster.
    autoHeadroomPercentage Number
    Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.is_enabled = true is set on the Ocean cluster.

    OceanLaunchSpecBlockDeviceMapping, OceanLaunchSpecBlockDeviceMappingArgs

    DeviceName string
    String. Set device name. (Example: /dev/xvda).
    Ebs Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecBlockDeviceMappingEbs
    Object. Set Elastic Block Store properties .
    NoDevice string
    String. Suppresses the specified device included in the block device mapping of the AMI.
    VirtualName string
    DeviceName string
    String. Set device name. (Example: /dev/xvda).
    Ebs OceanLaunchSpecBlockDeviceMappingEbs
    Object. Set Elastic Block Store properties .
    NoDevice string
    String. Suppresses the specified device included in the block device mapping of the AMI.
    VirtualName string
    deviceName String
    String. Set device name. (Example: /dev/xvda).
    ebs OceanLaunchSpecBlockDeviceMappingEbs
    Object. Set Elastic Block Store properties .
    noDevice String
    String. Suppresses the specified device included in the block device mapping of the AMI.
    virtualName String
    deviceName string
    String. Set device name. (Example: /dev/xvda).
    ebs OceanLaunchSpecBlockDeviceMappingEbs
    Object. Set Elastic Block Store properties .
    noDevice string
    String. Suppresses the specified device included in the block device mapping of the AMI.
    virtualName string
    device_name str
    String. Set device name. (Example: /dev/xvda).
    ebs OceanLaunchSpecBlockDeviceMappingEbs
    Object. Set Elastic Block Store properties .
    no_device str
    String. Suppresses the specified device included in the block device mapping of the AMI.
    virtual_name str
    deviceName String
    String. Set device name. (Example: /dev/xvda).
    ebs Property Map
    Object. Set Elastic Block Store properties .
    noDevice String
    String. Suppresses the specified device included in the block device mapping of the AMI.
    virtualName String

    OceanLaunchSpecBlockDeviceMappingEbs, OceanLaunchSpecBlockDeviceMappingEbsArgs

    DeleteOnTermination bool
    Boolean. Flag to delete the EBS on instance termination.
    DynamicVolumeSize Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize
    Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
    Encrypted bool
    Boolean. Enables EBS encryption on the volume.
    Iops int
    Int. The number of I/O operations per second (IOPS) that the volume supports.
    KmsKeyId string
    String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
    SnapshotId string
    (Optional) String. The Snapshot ID to mount by.
    Throughput int
    The amount of data transferred to or from a storage device per second, you can use this param just in a case that volume_type = gp3.
    VolumeSize int
    Int. The size, in GB of the volume.
    VolumeType string
    String. The type of the volume. (Example: gp2).
    DeleteOnTermination bool
    Boolean. Flag to delete the EBS on instance termination.
    DynamicVolumeSize OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize
    Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
    Encrypted bool
    Boolean. Enables EBS encryption on the volume.
    Iops int
    Int. The number of I/O operations per second (IOPS) that the volume supports.
    KmsKeyId string
    String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
    SnapshotId string
    (Optional) String. The Snapshot ID to mount by.
    Throughput int
    The amount of data transferred to or from a storage device per second, you can use this param just in a case that volume_type = gp3.
    VolumeSize int
    Int. The size, in GB of the volume.
    VolumeType string
    String. The type of the volume. (Example: gp2).
    deleteOnTermination Boolean
    Boolean. Flag to delete the EBS on instance termination.
    dynamicVolumeSize OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize
    Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
    encrypted Boolean
    Boolean. Enables EBS encryption on the volume.
    iops Integer
    Int. The number of I/O operations per second (IOPS) that the volume supports.
    kmsKeyId String
    String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
    snapshotId String
    (Optional) String. The Snapshot ID to mount by.
    throughput Integer
    The amount of data transferred to or from a storage device per second, you can use this param just in a case that volume_type = gp3.
    volumeSize Integer
    Int. The size, in GB of the volume.
    volumeType String
    String. The type of the volume. (Example: gp2).
    deleteOnTermination boolean
    Boolean. Flag to delete the EBS on instance termination.
    dynamicVolumeSize OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize
    Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
    encrypted boolean
    Boolean. Enables EBS encryption on the volume.
    iops number
    Int. The number of I/O operations per second (IOPS) that the volume supports.
    kmsKeyId string
    String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
    snapshotId string
    (Optional) String. The Snapshot ID to mount by.
    throughput number
    The amount of data transferred to or from a storage device per second, you can use this param just in a case that volume_type = gp3.
    volumeSize number
    Int. The size, in GB of the volume.
    volumeType string
    String. The type of the volume. (Example: gp2).
    delete_on_termination bool
    Boolean. Flag to delete the EBS on instance termination.
    dynamic_volume_size OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize
    Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
    encrypted bool
    Boolean. Enables EBS encryption on the volume.
    iops int
    Int. The number of I/O operations per second (IOPS) that the volume supports.
    kms_key_id str
    String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
    snapshot_id str
    (Optional) String. The Snapshot ID to mount by.
    throughput int
    The amount of data transferred to or from a storage device per second, you can use this param just in a case that volume_type = gp3.
    volume_size int
    Int. The size, in GB of the volume.
    volume_type str
    String. The type of the volume. (Example: gp2).
    deleteOnTermination Boolean
    Boolean. Flag to delete the EBS on instance termination.
    dynamicVolumeSize Property Map
    Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
    encrypted Boolean
    Boolean. Enables EBS encryption on the volume.
    iops Number
    Int. The number of I/O operations per second (IOPS) that the volume supports.
    kmsKeyId String
    String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
    snapshotId String
    (Optional) String. The Snapshot ID to mount by.
    throughput Number
    The amount of data transferred to or from a storage device per second, you can use this param just in a case that volume_type = gp3.
    volumeSize Number
    Int. The size, in GB of the volume.
    volumeType String
    String. The type of the volume. (Example: gp2).

    OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSize, OceanLaunchSpecBlockDeviceMappingEbsDynamicVolumeSizeArgs

    BaseSize int
    Int. Initial size for volume. (Example: 50)
    Resource string
    String. Resource type to increase volume size dynamically by. (Valid values: CPU)
    SizePerResourceUnit int
    Int. Additional size (in GB) per resource unit. (Example: baseSize=50, sizePerResourceUnit=20, and instance with 2 CPU is launched; its total disk size will be: 90GB)
    BaseSize int
    Int. Initial size for volume. (Example: 50)
    Resource string
    String. Resource type to increase volume size dynamically by. (Valid values: CPU)
    SizePerResourceUnit int
    Int. Additional size (in GB) per resource unit. (Example: baseSize=50, sizePerResourceUnit=20, and instance with 2 CPU is launched; its total disk size will be: 90GB)
    baseSize Integer
    Int. Initial size for volume. (Example: 50)
    resource String
    String. Resource type to increase volume size dynamically by. (Valid values: CPU)
    sizePerResourceUnit Integer
    Int. Additional size (in GB) per resource unit. (Example: baseSize=50, sizePerResourceUnit=20, and instance with 2 CPU is launched; its total disk size will be: 90GB)
    baseSize number
    Int. Initial size for volume. (Example: 50)
    resource string
    String. Resource type to increase volume size dynamically by. (Valid values: CPU)
    sizePerResourceUnit number
    Int. Additional size (in GB) per resource unit. (Example: baseSize=50, sizePerResourceUnit=20, and instance with 2 CPU is launched; its total disk size will be: 90GB)
    base_size int
    Int. Initial size for volume. (Example: 50)
    resource str
    String. Resource type to increase volume size dynamically by. (Valid values: CPU)
    size_per_resource_unit int
    Int. Additional size (in GB) per resource unit. (Example: baseSize=50, sizePerResourceUnit=20, and instance with 2 CPU is launched; its total disk size will be: 90GB)
    baseSize Number
    Int. Initial size for volume. (Example: 50)
    resource String
    String. Resource type to increase volume size dynamically by. (Valid values: CPU)
    sizePerResourceUnit Number
    Int. Additional size (in GB) per resource unit. (Example: baseSize=50, sizePerResourceUnit=20, and instance with 2 CPU is launched; its total disk size will be: 90GB)

    OceanLaunchSpecCreateOptions, OceanLaunchSpecCreateOptionsArgs

    InitialNodes int
    When set to an integer greater than 0, a corresponding amount of nodes will be launched from the created Virtual Node Group. The parameter is recommended in case the use_as_template_only (in spotinst.aws.Ocean resource) is set to true during Ocean resource creation.
    InitialNodes int
    When set to an integer greater than 0, a corresponding amount of nodes will be launched from the created Virtual Node Group. The parameter is recommended in case the use_as_template_only (in spotinst.aws.Ocean resource) is set to true during Ocean resource creation.
    initialNodes Integer
    When set to an integer greater than 0, a corresponding amount of nodes will be launched from the created Virtual Node Group. The parameter is recommended in case the use_as_template_only (in spotinst.aws.Ocean resource) is set to true during Ocean resource creation.
    initialNodes number
    When set to an integer greater than 0, a corresponding amount of nodes will be launched from the created Virtual Node Group. The parameter is recommended in case the use_as_template_only (in spotinst.aws.Ocean resource) is set to true during Ocean resource creation.
    initial_nodes int
    When set to an integer greater than 0, a corresponding amount of nodes will be launched from the created Virtual Node Group. The parameter is recommended in case the use_as_template_only (in spotinst.aws.Ocean resource) is set to true during Ocean resource creation.
    initialNodes Number
    When set to an integer greater than 0, a corresponding amount of nodes will be launched from the created Virtual Node Group. The parameter is recommended in case the use_as_template_only (in spotinst.aws.Ocean resource) is set to true during Ocean resource creation.

    OceanLaunchSpecDeleteOptions, OceanLaunchSpecDeleteOptionsArgs

    ForceDelete bool
    When set to true, delete even if it is the last Virtual Node Group (also, the default Virtual Node Group must be configured with useAsTemlateOnly = true). Should be set at creation or update, but will be used only at deletion.
    DeleteNodes bool
    When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated.
    ForceDelete bool
    When set to true, delete even if it is the last Virtual Node Group (also, the default Virtual Node Group must be configured with useAsTemlateOnly = true). Should be set at creation or update, but will be used only at deletion.
    DeleteNodes bool
    When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated.
    forceDelete Boolean
    When set to true, delete even if it is the last Virtual Node Group (also, the default Virtual Node Group must be configured with useAsTemlateOnly = true). Should be set at creation or update, but will be used only at deletion.
    deleteNodes Boolean
    When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated.
    forceDelete boolean
    When set to true, delete even if it is the last Virtual Node Group (also, the default Virtual Node Group must be configured with useAsTemlateOnly = true). Should be set at creation or update, but will be used only at deletion.
    deleteNodes boolean
    When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated.
    force_delete bool
    When set to true, delete even if it is the last Virtual Node Group (also, the default Virtual Node Group must be configured with useAsTemlateOnly = true). Should be set at creation or update, but will be used only at deletion.
    delete_nodes bool
    When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated.
    forceDelete Boolean
    When set to true, delete even if it is the last Virtual Node Group (also, the default Virtual Node Group must be configured with useAsTemlateOnly = true). Should be set at creation or update, but will be used only at deletion.
    deleteNodes Boolean
    When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated.

    OceanLaunchSpecElasticIpPool, OceanLaunchSpecElasticIpPoolArgs

    TagSelector Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecElasticIpPoolTagSelector
    A key-value pair, which defines an Elastic IP from the customer pool. Can be null.
    TagSelector OceanLaunchSpecElasticIpPoolTagSelector
    A key-value pair, which defines an Elastic IP from the customer pool. Can be null.
    tagSelector OceanLaunchSpecElasticIpPoolTagSelector
    A key-value pair, which defines an Elastic IP from the customer pool. Can be null.
    tagSelector OceanLaunchSpecElasticIpPoolTagSelector
    A key-value pair, which defines an Elastic IP from the customer pool. Can be null.
    tag_selector OceanLaunchSpecElasticIpPoolTagSelector
    A key-value pair, which defines an Elastic IP from the customer pool. Can be null.
    tagSelector Property Map
    A key-value pair, which defines an Elastic IP from the customer pool. Can be null.

    OceanLaunchSpecElasticIpPoolTagSelector, OceanLaunchSpecElasticIpPoolTagSelectorArgs

    TagKey string
    Elastic IP tag key. The Virtual Node Group will consider all Elastic IPs tagged with this tag as a part of the Elastic IP pool to use.
    TagValue string
    Elastic IP tag value. Can be null.
    TagKey string
    Elastic IP tag key. The Virtual Node Group will consider all Elastic IPs tagged with this tag as a part of the Elastic IP pool to use.
    TagValue string
    Elastic IP tag value. Can be null.
    tagKey String
    Elastic IP tag key. The Virtual Node Group will consider all Elastic IPs tagged with this tag as a part of the Elastic IP pool to use.
    tagValue String
    Elastic IP tag value. Can be null.
    tagKey string
    Elastic IP tag key. The Virtual Node Group will consider all Elastic IPs tagged with this tag as a part of the Elastic IP pool to use.
    tagValue string
    Elastic IP tag value. Can be null.
    tag_key str
    Elastic IP tag key. The Virtual Node Group will consider all Elastic IPs tagged with this tag as a part of the Elastic IP pool to use.
    tag_value str
    Elastic IP tag value. Can be null.
    tagKey String
    Elastic IP tag key. The Virtual Node Group will consider all Elastic IPs tagged with this tag as a part of the Elastic IP pool to use.
    tagValue String
    Elastic IP tag value. Can be null.

    OceanLaunchSpecEphemeralStorage, OceanLaunchSpecEphemeralStorageArgs

    EphemeralStorageDeviceName string

    Specify an alternative device name from which ephemeral storage calculations should be derived. This parameter is used when the ephemeral storage should not utilize the root device. Provide the device name configured in the VNG's BDM or AMI's BDM that differs from the default root device.

    EphemeralStorageDeviceName string

    Specify an alternative device name from which ephemeral storage calculations should be derived. This parameter is used when the ephemeral storage should not utilize the root device. Provide the device name configured in the VNG's BDM or AMI's BDM that differs from the default root device.

    ephemeralStorageDeviceName String

    Specify an alternative device name from which ephemeral storage calculations should be derived. This parameter is used when the ephemeral storage should not utilize the root device. Provide the device name configured in the VNG's BDM or AMI's BDM that differs from the default root device.

    ephemeralStorageDeviceName string

    Specify an alternative device name from which ephemeral storage calculations should be derived. This parameter is used when the ephemeral storage should not utilize the root device. Provide the device name configured in the VNG's BDM or AMI's BDM that differs from the default root device.

    ephemeral_storage_device_name str

    Specify an alternative device name from which ephemeral storage calculations should be derived. This parameter is used when the ephemeral storage should not utilize the root device. Provide the device name configured in the VNG's BDM or AMI's BDM that differs from the default root device.

    ephemeralStorageDeviceName String

    Specify an alternative device name from which ephemeral storage calculations should be derived. This parameter is used when the ephemeral storage should not utilize the root device. Provide the device name configured in the VNG's BDM or AMI's BDM that differs from the default root device.

    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.

    OceanLaunchSpecInstanceTypesFilters, OceanLaunchSpecInstanceTypesFiltersArgs

    Categories List<string>
    The filtered instance types will belong to one of the categories types from this list. Valid values: Accelerated_computing, Compute_optimized, General_purpose, Memory_optimized, Storage_optimized.
    DiskTypes List<string>
    The filtered instance types will have one of the disk type from this list. Valid values: NVMe, EBS, SSD, HDD.
    ExcludeFamilies List<string>
    Types belonging to a family from the ExcludeFamilies will not be available for scaling (asterisk wildcard is also supported). For example, C* will exclude instance types from these families: c5, c4, c4a, etc.
    ExcludeMetal bool
    In case excludeMetal is set to true, metal types will not be available for scaling.
    Hypervisors List<string>
    The filtered instance types will have a hypervisor type from this list. Valid values: nitro, xen.
    IncludeFamilies List<string>
    Types belonging to a family from the IncludeFamilies will be available for scaling (asterisk wildcard is also supported). For example, C* will include instance types from these families: c5, c4, c4a, etc.
    IsEnaSupported string
    Ena is supported or not.
    MaxGpu int
    Maximum total number of GPUs.
    MaxMemoryGib double
    Maximum amount of Memory (GiB).
    MaxNetworkPerformance int
    Maximum Bandwidth in Gib/s of network performance.
    MaxVcpu int
    Maximum number of vcpus available.
    MinEnis int
    Minimum number of network interfaces (ENIs).
    MinGpu int
    Minimum total number of GPUs.
    MinMemoryGib double
    Minimum amount of Memory (GiB).
    MinNetworkPerformance int
    Minimum Bandwidth in Gib/s of network performance.
    MinVcpu int
    Minimum number of vcpus available.
    RootDeviceTypes List<string>
    The filtered instance types will have a root device types from this list. Valid values: ebs, or instance-store.
    VirtualizationTypes List<string>
    The filtered instance types will support at least one of the virtualization types from this list. Valid values: hvm, paravirtual.
    Categories []string
    The filtered instance types will belong to one of the categories types from this list. Valid values: Accelerated_computing, Compute_optimized, General_purpose, Memory_optimized, Storage_optimized.
    DiskTypes []string
    The filtered instance types will have one of the disk type from this list. Valid values: NVMe, EBS, SSD, HDD.
    ExcludeFamilies []string
    Types belonging to a family from the ExcludeFamilies will not be available for scaling (asterisk wildcard is also supported). For example, C* will exclude instance types from these families: c5, c4, c4a, etc.
    ExcludeMetal bool
    In case excludeMetal is set to true, metal types will not be available for scaling.
    Hypervisors []string
    The filtered instance types will have a hypervisor type from this list. Valid values: nitro, xen.
    IncludeFamilies []string
    Types belonging to a family from the IncludeFamilies will be available for scaling (asterisk wildcard is also supported). For example, C* will include instance types from these families: c5, c4, c4a, etc.
    IsEnaSupported string
    Ena is supported or not.
    MaxGpu int
    Maximum total number of GPUs.
    MaxMemoryGib float64
    Maximum amount of Memory (GiB).
    MaxNetworkPerformance int
    Maximum Bandwidth in Gib/s of network performance.
    MaxVcpu int
    Maximum number of vcpus available.
    MinEnis int
    Minimum number of network interfaces (ENIs).
    MinGpu int
    Minimum total number of GPUs.
    MinMemoryGib float64
    Minimum amount of Memory (GiB).
    MinNetworkPerformance int
    Minimum Bandwidth in Gib/s of network performance.
    MinVcpu int
    Minimum number of vcpus available.
    RootDeviceTypes []string
    The filtered instance types will have a root device types from this list. Valid values: ebs, or instance-store.
    VirtualizationTypes []string
    The filtered instance types will support at least one of the virtualization types from this list. Valid values: hvm, paravirtual.
    categories List<String>
    The filtered instance types will belong to one of the categories types from this list. Valid values: Accelerated_computing, Compute_optimized, General_purpose, Memory_optimized, Storage_optimized.
    diskTypes List<String>
    The filtered instance types will have one of the disk type from this list. Valid values: NVMe, EBS, SSD, HDD.
    excludeFamilies List<String>
    Types belonging to a family from the ExcludeFamilies will not be available for scaling (asterisk wildcard is also supported). For example, C* will exclude instance types from these families: c5, c4, c4a, etc.
    excludeMetal Boolean
    In case excludeMetal is set to true, metal types will not be available for scaling.
    hypervisors List<String>
    The filtered instance types will have a hypervisor type from this list. Valid values: nitro, xen.
    includeFamilies List<String>
    Types belonging to a family from the IncludeFamilies will be available for scaling (asterisk wildcard is also supported). For example, C* will include instance types from these families: c5, c4, c4a, etc.
    isEnaSupported String
    Ena is supported or not.
    maxGpu Integer
    Maximum total number of GPUs.
    maxMemoryGib Double
    Maximum amount of Memory (GiB).
    maxNetworkPerformance Integer
    Maximum Bandwidth in Gib/s of network performance.
    maxVcpu Integer
    Maximum number of vcpus available.
    minEnis Integer
    Minimum number of network interfaces (ENIs).
    minGpu Integer
    Minimum total number of GPUs.
    minMemoryGib Double
    Minimum amount of Memory (GiB).
    minNetworkPerformance Integer
    Minimum Bandwidth in Gib/s of network performance.
    minVcpu Integer
    Minimum number of vcpus available.
    rootDeviceTypes List<String>
    The filtered instance types will have a root device types from this list. Valid values: ebs, or instance-store.
    virtualizationTypes List<String>
    The filtered instance types will support at least one of the virtualization types from this list. Valid values: hvm, paravirtual.
    categories string[]
    The filtered instance types will belong to one of the categories types from this list. Valid values: Accelerated_computing, Compute_optimized, General_purpose, Memory_optimized, Storage_optimized.
    diskTypes string[]
    The filtered instance types will have one of the disk type from this list. Valid values: NVMe, EBS, SSD, HDD.
    excludeFamilies string[]
    Types belonging to a family from the ExcludeFamilies will not be available for scaling (asterisk wildcard is also supported). For example, C* will exclude instance types from these families: c5, c4, c4a, etc.
    excludeMetal boolean
    In case excludeMetal is set to true, metal types will not be available for scaling.
    hypervisors string[]
    The filtered instance types will have a hypervisor type from this list. Valid values: nitro, xen.
    includeFamilies string[]
    Types belonging to a family from the IncludeFamilies will be available for scaling (asterisk wildcard is also supported). For example, C* will include instance types from these families: c5, c4, c4a, etc.
    isEnaSupported string
    Ena is supported or not.
    maxGpu number
    Maximum total number of GPUs.
    maxMemoryGib number
    Maximum amount of Memory (GiB).
    maxNetworkPerformance number
    Maximum Bandwidth in Gib/s of network performance.
    maxVcpu number
    Maximum number of vcpus available.
    minEnis number
    Minimum number of network interfaces (ENIs).
    minGpu number
    Minimum total number of GPUs.
    minMemoryGib number
    Minimum amount of Memory (GiB).
    minNetworkPerformance number
    Minimum Bandwidth in Gib/s of network performance.
    minVcpu number
    Minimum number of vcpus available.
    rootDeviceTypes string[]
    The filtered instance types will have a root device types from this list. Valid values: ebs, or instance-store.
    virtualizationTypes string[]
    The filtered instance types will support at least one of the virtualization types from this list. Valid values: hvm, paravirtual.
    categories Sequence[str]
    The filtered instance types will belong to one of the categories types from this list. Valid values: Accelerated_computing, Compute_optimized, General_purpose, Memory_optimized, Storage_optimized.
    disk_types Sequence[str]
    The filtered instance types will have one of the disk type from this list. Valid values: NVMe, EBS, SSD, HDD.
    exclude_families Sequence[str]
    Types belonging to a family from the ExcludeFamilies will not be available for scaling (asterisk wildcard is also supported). For example, C* will exclude instance types from these families: c5, c4, c4a, etc.
    exclude_metal bool
    In case excludeMetal is set to true, metal types will not be available for scaling.
    hypervisors Sequence[str]
    The filtered instance types will have a hypervisor type from this list. Valid values: nitro, xen.
    include_families Sequence[str]
    Types belonging to a family from the IncludeFamilies will be available for scaling (asterisk wildcard is also supported). For example, C* will include instance types from these families: c5, c4, c4a, etc.
    is_ena_supported str
    Ena is supported or not.
    max_gpu int
    Maximum total number of GPUs.
    max_memory_gib float
    Maximum amount of Memory (GiB).
    max_network_performance int
    Maximum Bandwidth in Gib/s of network performance.
    max_vcpu int
    Maximum number of vcpus available.
    min_enis int
    Minimum number of network interfaces (ENIs).
    min_gpu int
    Minimum total number of GPUs.
    min_memory_gib float
    Minimum amount of Memory (GiB).
    min_network_performance int
    Minimum Bandwidth in Gib/s of network performance.
    min_vcpu int
    Minimum number of vcpus available.
    root_device_types Sequence[str]
    The filtered instance types will have a root device types from this list. Valid values: ebs, or instance-store.
    virtualization_types Sequence[str]
    The filtered instance types will support at least one of the virtualization types from this list. Valid values: hvm, paravirtual.
    categories List<String>
    The filtered instance types will belong to one of the categories types from this list. Valid values: Accelerated_computing, Compute_optimized, General_purpose, Memory_optimized, Storage_optimized.
    diskTypes List<String>
    The filtered instance types will have one of the disk type from this list. Valid values: NVMe, EBS, SSD, HDD.
    excludeFamilies List<String>
    Types belonging to a family from the ExcludeFamilies will not be available for scaling (asterisk wildcard is also supported). For example, C* will exclude instance types from these families: c5, c4, c4a, etc.
    excludeMetal Boolean
    In case excludeMetal is set to true, metal types will not be available for scaling.
    hypervisors List<String>
    The filtered instance types will have a hypervisor type from this list. Valid values: nitro, xen.
    includeFamilies List<String>
    Types belonging to a family from the IncludeFamilies will be available for scaling (asterisk wildcard is also supported). For example, C* will include instance types from these families: c5, c4, c4a, etc.
    isEnaSupported String
    Ena is supported or not.
    maxGpu Number
    Maximum total number of GPUs.
    maxMemoryGib Number
    Maximum amount of Memory (GiB).
    maxNetworkPerformance Number
    Maximum Bandwidth in Gib/s of network performance.
    maxVcpu Number
    Maximum number of vcpus available.
    minEnis Number
    Minimum number of network interfaces (ENIs).
    minGpu Number
    Minimum total number of GPUs.
    minMemoryGib Number
    Minimum amount of Memory (GiB).
    minNetworkPerformance Number
    Minimum Bandwidth in Gib/s of network performance.
    minVcpu Number
    Minimum number of vcpus available.
    rootDeviceTypes List<String>
    The filtered instance types will have a root device types from this list. Valid values: ebs, or instance-store.
    virtualizationTypes List<String>
    The filtered instance types will support at least one of the virtualization types from this list. Valid values: hvm, paravirtual.

    OceanLaunchSpecLabel, OceanLaunchSpecLabelArgs

    Key string
    The taint key.
    Value string
    The taint value.
    Key string
    The taint key.
    Value string
    The taint value.
    key String
    The taint key.
    value String
    The taint value.
    key string
    The taint key.
    value string
    The taint value.
    key str
    The taint key.
    value str
    The taint value.
    key String
    The taint key.
    value String
    The taint value.

    OceanLaunchSpecResourceLimit, OceanLaunchSpecResourceLimitArgs

    MaxInstanceCount int
    Set a maximum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
    MinInstanceCount int
    Set a minimum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
    MaxInstanceCount int
    Set a maximum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
    MinInstanceCount int
    Set a minimum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
    maxInstanceCount Integer
    Set a maximum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
    minInstanceCount Integer
    Set a minimum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
    maxInstanceCount number
    Set a maximum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
    minInstanceCount number
    Set a minimum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
    max_instance_count int
    Set a maximum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
    min_instance_count int
    Set a minimum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
    maxInstanceCount Number
    Set a maximum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
    minInstanceCount Number
    Set a minimum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.

    OceanLaunchSpecSchedulingShutdownHours, OceanLaunchSpecSchedulingShutdownHoursArgs

    TimeWindows List<string>
    The times that the shutdown hours will apply.
    IsEnabled bool
    Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
    TimeWindows []string
    The times that the shutdown hours will apply.
    IsEnabled bool
    Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
    timeWindows List<String>
    The times that the shutdown hours will apply.
    isEnabled Boolean
    Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
    timeWindows string[]
    The times that the shutdown hours will apply.
    isEnabled boolean
    Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
    time_windows Sequence[str]
    The times that the shutdown hours will apply.
    is_enabled bool
    Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
    timeWindows List<String>
    The times that the shutdown hours will apply.
    isEnabled Boolean
    Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.

    OceanLaunchSpecSchedulingTask, OceanLaunchSpecSchedulingTaskArgs

    CronExpression string
    A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
    IsEnabled bool
    Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
    TaskType string
    The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
    TaskHeadrooms List<Pulumi.SpotInst.Aws.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
    Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
    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
    Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
    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
    Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
    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
    Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
    task_type str
    The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
    task_headrooms Sequence[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
    Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the virtual node group remains in its current state.
    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.
    GpuPerUnit int
    Optionally configure the number of GPUS to allocate for each headroom unit.
    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.
    GpuPerUnit int
    Optionally configure the number of GPUS to allocate for each headroom unit.
    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.
    gpuPerUnit Integer
    Optionally configure the number of GPUS to allocate for each headroom unit.
    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.
    gpuPerUnit number
    Optionally configure the number of GPUS to allocate for each headroom unit.
    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.
    gpu_per_unit int
    Optionally configure the number of GPUS to allocate for each headroom unit.
    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.
    gpuPerUnit Number
    Optionally configure the number of GPUS to allocate for each headroom unit.
    memoryPerUnit Number
    Optionally configure the amount of memory (MiB) to allocate for each headroom unit.

    OceanLaunchSpecStrategy, OceanLaunchSpecStrategyArgs

    SpotPercentage int
    The desired percentage of the Spot instances out of all running instances for this VNG. Only available when the field is not set in the cluster directly (cluster.strategy.spotPercentage).
    SpotPercentage int
    The desired percentage of the Spot instances out of all running instances for this VNG. Only available when the field is not set in the cluster directly (cluster.strategy.spotPercentage).
    spotPercentage Integer
    The desired percentage of the Spot instances out of all running instances for this VNG. Only available when the field is not set in the cluster directly (cluster.strategy.spotPercentage).
    spotPercentage number
    The desired percentage of the Spot instances out of all running instances for this VNG. Only available when the field is not set in the cluster directly (cluster.strategy.spotPercentage).
    spot_percentage int
    The desired percentage of the Spot instances out of all running instances for this VNG. Only available when the field is not set in the cluster directly (cluster.strategy.spotPercentage).
    spotPercentage Number
    The desired percentage of the Spot instances out of all running instances for this VNG. Only available when the field is not set in the cluster directly (cluster.strategy.spotPercentage).

    OceanLaunchSpecTag, OceanLaunchSpecTagArgs

    Key string
    The taint key.
    Value string
    The taint value.
    Key string
    The taint key.
    Value string
    The taint value.
    key String
    The taint key.
    value String
    The taint value.
    key string
    The taint key.
    value string
    The taint value.
    key str
    The taint key.
    value str
    The taint value.
    key String
    The taint key.
    value String
    The taint value.

    OceanLaunchSpecTaint, OceanLaunchSpecTaintArgs

    Effect string
    The effect of the taint. Valid values: "NoSchedule", "PreferNoSchedule", "NoExecute".
    Key string
    The taint key.
    Value string
    The taint value.
    Effect string
    The effect of the taint. Valid values: "NoSchedule", "PreferNoSchedule", "NoExecute".
    Key string
    The taint key.
    Value string
    The taint value.
    effect String
    The effect of the taint. Valid values: "NoSchedule", "PreferNoSchedule", "NoExecute".
    key String
    The taint key.
    value String
    The taint value.
    effect string
    The effect of the taint. Valid values: "NoSchedule", "PreferNoSchedule", "NoExecute".
    key string
    The taint key.
    value string
    The taint value.
    effect str
    The effect of the taint. Valid values: "NoSchedule", "PreferNoSchedule", "NoExecute".
    key str
    The taint key.
    value str
    The taint value.
    effect String
    The effect of the taint. Valid values: "NoSchedule", "PreferNoSchedule", "NoExecute".
    key String
    The taint key.
    value String
    The taint value.

    OceanLaunchSpecUpdatePolicy, OceanLaunchSpecUpdatePolicyArgs

    OceanLaunchSpecUpdatePolicyRollConfig, OceanLaunchSpecUpdatePolicyRollConfigArgs

    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