1. Packages
  2. Spotinst Provider
  3. API Docs
  4. aws
  5. OceanLaunchSpec
Spotinst v3.116.0 published on Friday, Mar 28, 2025 by Pulumi

spotinst.aws.OceanLaunchSpec

Explore with Pulumi AI

Manages a Spotinst Ocean AWS Virtual Node Group resource.

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,
                    labels: Optional[Sequence[OceanLaunchSpecLabelArgs]] = None,
                    ephemeral_storages: Optional[Sequence[OceanLaunchSpecEphemeralStorageArgs]] = None,
                    autoscale_headrooms_automatics: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs]] = None,
                    name: Optional[str] = None,
                    create_options: Optional[OceanLaunchSpecCreateOptionsArgs] = None,
                    delete_options: Optional[OceanLaunchSpecDeleteOptionsArgs] = None,
                    elastic_ip_pools: Optional[Sequence[OceanLaunchSpecElasticIpPoolArgs]] = None,
                    autoscale_downs: Optional[Sequence[OceanLaunchSpecAutoscaleDownArgs]] = None,
                    iam_instance_profile: Optional[str] = None,
                    image_id: Optional[str] = None,
                    images: Optional[Sequence[OceanLaunchSpecImageArgs]] = None,
                    instance_metadata_options: Optional[OceanLaunchSpecInstanceMetadataOptionsArgs] = None,
                    instance_store_policy: Optional[OceanLaunchSpecInstanceStorePolicyArgs] = None,
                    preferred_od_types: Optional[Sequence[str]] = None,
                    instance_types_filters: Optional[OceanLaunchSpecInstanceTypesFiltersArgs] = None,
                    associate_public_ip_address: Optional[bool] = None,
                    block_device_mappings: Optional[Sequence[OceanLaunchSpecBlockDeviceMappingArgs]] = None,
                    autoscale_headrooms: Optional[Sequence[OceanLaunchSpecAutoscaleHeadroomArgs]] = None,
                    instance_types: Optional[Sequence[str]] = None,
                    preferred_spot_types: Optional[Sequence[str]] = None,
                    reserved_enis: Optional[int] = 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)
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 This property is required. string
The unique name of the resource.
args This property is required. OceanLaunchSpecArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. OceanLaunchSpecArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. OceanLaunchSpecArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. OceanLaunchSpecArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. OceanLaunchSpecArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

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

var oceanLaunchSpecResource = new SpotInst.Aws.OceanLaunchSpec("oceanLaunchSpecResource", new()
{
    OceanId = "string",
    Labels = new[]
    {
        new SpotInst.Aws.Inputs.OceanLaunchSpecLabelArgs
        {
            Key = "string",
            Value = "string",
        },
    },
    EphemeralStorages = new[]
    {
        new SpotInst.Aws.Inputs.OceanLaunchSpecEphemeralStorageArgs
        {
            EphemeralStorageDeviceName = "string",
        },
    },
    AutoscaleHeadroomsAutomatics = new[]
    {
        new SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs
        {
            AutoHeadroomPercentage = 0,
        },
    },
    Name = "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",
            },
        },
    },
    AutoscaleDowns = new[]
    {
        new SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleDownArgs
        {
            MaxScaleDownPercentage = 0,
        },
    },
    IamInstanceProfile = "string",
    ImageId = "string",
    Images = new[]
    {
        new SpotInst.Aws.Inputs.OceanLaunchSpecImageArgs
        {
            ImageId = "string",
        },
    },
    InstanceMetadataOptions = new SpotInst.Aws.Inputs.OceanLaunchSpecInstanceMetadataOptionsArgs
    {
        HttpTokens = "string",
        HttpPutResponseHopLimit = 0,
    },
    InstanceStorePolicy = new SpotInst.Aws.Inputs.OceanLaunchSpecInstanceStorePolicyArgs
    {
        InstanceStorePolicyType = "string",
    },
    PreferredOdTypes = new[]
    {
        "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",
        },
    },
    AssociatePublicIpAddress = false,
    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",
        },
    },
    AutoscaleHeadrooms = new[]
    {
        new SpotInst.Aws.Inputs.OceanLaunchSpecAutoscaleHeadroomArgs
        {
            NumOfUnits = 0,
            CpuPerUnit = 0,
            GpuPerUnit = 0,
            MemoryPerUnit = 0,
        },
    },
    InstanceTypes = new[]
    {
        "string",
    },
    PreferredSpotTypes = new[]
    {
        "string",
    },
    ReservedEnis = 0,
    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
        {
            DrainingTimeout = 0,
            SpotPercentage = 0,
            UtilizeCommitments = false,
            UtilizeReservedInstances = false,
        },
    },
    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,
            RespectPdb = false,
        },
    },
    UserData = "string",
});
Copy
example, err := aws.NewOceanLaunchSpec(ctx, "oceanLaunchSpecResource", &aws.OceanLaunchSpecArgs{
	OceanId: pulumi.String("string"),
	Labels: aws.OceanLaunchSpecLabelArray{
		&aws.OceanLaunchSpecLabelArgs{
			Key:   pulumi.String("string"),
			Value: pulumi.String("string"),
		},
	},
	EphemeralStorages: aws.OceanLaunchSpecEphemeralStorageArray{
		&aws.OceanLaunchSpecEphemeralStorageArgs{
			EphemeralStorageDeviceName: pulumi.String("string"),
		},
	},
	AutoscaleHeadroomsAutomatics: aws.OceanLaunchSpecAutoscaleHeadroomsAutomaticArray{
		&aws.OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs{
			AutoHeadroomPercentage: pulumi.Int(0),
		},
	},
	Name: 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"),
			},
		},
	},
	AutoscaleDowns: aws.OceanLaunchSpecAutoscaleDownArray{
		&aws.OceanLaunchSpecAutoscaleDownArgs{
			MaxScaleDownPercentage: pulumi.Float64(0),
		},
	},
	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),
	},
	InstanceStorePolicy: &aws.OceanLaunchSpecInstanceStorePolicyArgs{
		InstanceStorePolicyType: pulumi.String("string"),
	},
	PreferredOdTypes: pulumi.StringArray{
		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"),
		},
	},
	AssociatePublicIpAddress: pulumi.Bool(false),
	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"),
		},
	},
	AutoscaleHeadrooms: aws.OceanLaunchSpecAutoscaleHeadroomArray{
		&aws.OceanLaunchSpecAutoscaleHeadroomArgs{
			NumOfUnits:    pulumi.Int(0),
			CpuPerUnit:    pulumi.Int(0),
			GpuPerUnit:    pulumi.Int(0),
			MemoryPerUnit: pulumi.Int(0),
		},
	},
	InstanceTypes: pulumi.StringArray{
		pulumi.String("string"),
	},
	PreferredSpotTypes: pulumi.StringArray{
		pulumi.String("string"),
	},
	ReservedEnis: pulumi.Int(0),
	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{
			DrainingTimeout:          pulumi.Int(0),
			SpotPercentage:           pulumi.Int(0),
			UtilizeCommitments:       pulumi.Bool(false),
			UtilizeReservedInstances: pulumi.Bool(false),
		},
	},
	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),
			RespectPdb:          pulumi.Bool(false),
		},
	},
	UserData: pulumi.String("string"),
})
Copy
var oceanLaunchSpecResource = new OceanLaunchSpec("oceanLaunchSpecResource", OceanLaunchSpecArgs.builder()
    .oceanId("string")
    .labels(OceanLaunchSpecLabelArgs.builder()
        .key("string")
        .value("string")
        .build())
    .ephemeralStorages(OceanLaunchSpecEphemeralStorageArgs.builder()
        .ephemeralStorageDeviceName("string")
        .build())
    .autoscaleHeadroomsAutomatics(OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs.builder()
        .autoHeadroomPercentage(0)
        .build())
    .name("string")
    .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())
    .autoscaleDowns(OceanLaunchSpecAutoscaleDownArgs.builder()
        .maxScaleDownPercentage(0)
        .build())
    .iamInstanceProfile("string")
    .imageId("string")
    .images(OceanLaunchSpecImageArgs.builder()
        .imageId("string")
        .build())
    .instanceMetadataOptions(OceanLaunchSpecInstanceMetadataOptionsArgs.builder()
        .httpTokens("string")
        .httpPutResponseHopLimit(0)
        .build())
    .instanceStorePolicy(OceanLaunchSpecInstanceStorePolicyArgs.builder()
        .instanceStorePolicyType("string")
        .build())
    .preferredOdTypes("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())
    .associatePublicIpAddress(false)
    .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())
    .autoscaleHeadrooms(OceanLaunchSpecAutoscaleHeadroomArgs.builder()
        .numOfUnits(0)
        .cpuPerUnit(0)
        .gpuPerUnit(0)
        .memoryPerUnit(0)
        .build())
    .instanceTypes("string")
    .preferredSpotTypes("string")
    .reservedEnis(0)
    .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()
        .drainingTimeout(0)
        .spotPercentage(0)
        .utilizeCommitments(false)
        .utilizeReservedInstances(false)
        .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)
            .respectPdb(false)
            .build())
        .build())
    .userData("string")
    .build());
Copy
ocean_launch_spec_resource = spotinst.aws.OceanLaunchSpec("oceanLaunchSpecResource",
    ocean_id="string",
    labels=[{
        "key": "string",
        "value": "string",
    }],
    ephemeral_storages=[{
        "ephemeral_storage_device_name": "string",
    }],
    autoscale_headrooms_automatics=[{
        "auto_headroom_percentage": 0,
    }],
    name="string",
    create_options={
        "initial_nodes": 0,
    },
    delete_options={
        "force_delete": False,
        "delete_nodes": False,
    },
    elastic_ip_pools=[{
        "tag_selector": {
            "tag_key": "string",
            "tag_value": "string",
        },
    }],
    autoscale_downs=[{
        "max_scale_down_percentage": 0,
    }],
    iam_instance_profile="string",
    image_id="string",
    images=[{
        "image_id": "string",
    }],
    instance_metadata_options={
        "http_tokens": "string",
        "http_put_response_hop_limit": 0,
    },
    instance_store_policy={
        "instance_store_policy_type": "string",
    },
    preferred_od_types=["string"],
    instance_types_filters={
        "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"],
    },
    associate_public_ip_address=False,
    block_device_mappings=[{
        "device_name": "string",
        "ebs": {
            "delete_on_termination": False,
            "dynamic_volume_size": {
                "base_size": 0,
                "resource": "string",
                "size_per_resource_unit": 0,
            },
            "encrypted": False,
            "iops": 0,
            "kms_key_id": "string",
            "snapshot_id": "string",
            "throughput": 0,
            "volume_size": 0,
            "volume_type": "string",
        },
        "no_device": "string",
        "virtual_name": "string",
    }],
    autoscale_headrooms=[{
        "num_of_units": 0,
        "cpu_per_unit": 0,
        "gpu_per_unit": 0,
        "memory_per_unit": 0,
    }],
    instance_types=["string"],
    preferred_spot_types=["string"],
    reserved_enis=0,
    resource_limits=[{
        "max_instance_count": 0,
        "min_instance_count": 0,
    }],
    restrict_scale_down=False,
    root_volume_size=0,
    scheduling_shutdown_hours={
        "time_windows": ["string"],
        "is_enabled": False,
    },
    scheduling_tasks=[{
        "cron_expression": "string",
        "is_enabled": False,
        "task_type": "string",
        "task_headrooms": [{
            "num_of_units": 0,
            "cpu_per_unit": 0,
            "gpu_per_unit": 0,
            "memory_per_unit": 0,
        }],
    }],
    security_groups=["string"],
    strategies=[{
        "draining_timeout": 0,
        "spot_percentage": 0,
        "utilize_commitments": False,
        "utilize_reserved_instances": False,
    }],
    subnet_ids=["string"],
    tags=[{
        "key": "string",
        "value": "string",
    }],
    taints=[{
        "effect": "string",
        "key": "string",
        "value": "string",
    }],
    update_policy={
        "should_roll": False,
        "roll_config": {
            "batch_size_percentage": 0,
            "respect_pdb": False,
        },
    },
    user_data="string")
Copy
const oceanLaunchSpecResource = new spotinst.aws.OceanLaunchSpec("oceanLaunchSpecResource", {
    oceanId: "string",
    labels: [{
        key: "string",
        value: "string",
    }],
    ephemeralStorages: [{
        ephemeralStorageDeviceName: "string",
    }],
    autoscaleHeadroomsAutomatics: [{
        autoHeadroomPercentage: 0,
    }],
    name: "string",
    createOptions: {
        initialNodes: 0,
    },
    deleteOptions: {
        forceDelete: false,
        deleteNodes: false,
    },
    elasticIpPools: [{
        tagSelector: {
            tagKey: "string",
            tagValue: "string",
        },
    }],
    autoscaleDowns: [{
        maxScaleDownPercentage: 0,
    }],
    iamInstanceProfile: "string",
    imageId: "string",
    images: [{
        imageId: "string",
    }],
    instanceMetadataOptions: {
        httpTokens: "string",
        httpPutResponseHopLimit: 0,
    },
    instanceStorePolicy: {
        instanceStorePolicyType: "string",
    },
    preferredOdTypes: ["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"],
    },
    associatePublicIpAddress: false,
    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",
    }],
    autoscaleHeadrooms: [{
        numOfUnits: 0,
        cpuPerUnit: 0,
        gpuPerUnit: 0,
        memoryPerUnit: 0,
    }],
    instanceTypes: ["string"],
    preferredSpotTypes: ["string"],
    reservedEnis: 0,
    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: [{
        drainingTimeout: 0,
        spotPercentage: 0,
        utilizeCommitments: false,
        utilizeReservedInstances: false,
    }],
    subnetIds: ["string"],
    tags: [{
        key: "string",
        value: "string",
    }],
    taints: [{
        effect: "string",
        key: "string",
        value: "string",
    }],
    updatePolicy: {
        shouldRoll: false,
        rollConfig: {
            batchSizePercentage: 0,
            respectPdb: false,
        },
    },
    userData: "string",
});
Copy
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
    instanceStorePolicy:
        instanceStorePolicyType: 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
    preferredOdTypes:
        - string
    preferredSpotTypes:
        - string
    reservedEnis: 0
    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:
        - drainingTimeout: 0
          spotPercentage: 0
          utilizeCommitments: false
          utilizeReservedInstances: false
    subnetIds:
        - string
    tags:
        - key: string
          value: string
    taints:
        - effect: string
          key: string
          value: string
    updatePolicy:
        rollConfig:
            batchSizePercentage: 0
            respectPdb: false
        shouldRoll: false
    userData: string
Copy

OceanLaunchSpec Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

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

The OceanLaunchSpec resource accepts the following input properties:

OceanId
This property is required.
Changes to this property will trigger replacement.
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
ID of the image used to launch the instances.
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.
InstanceStorePolicy Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecInstanceStorePolicy
Determines the utilization of instance store volumes. If not defined, instance store volumes will not be used.
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.
PreferredOdTypes List<string>
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
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.
ReservedEnis int
Specifies the count of ENIs to reserve per instance type for scaling purposes.
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
This property is required.
Changes to this property will trigger replacement.
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
ID of the image used to launch the instances.
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.
InstanceStorePolicy OceanLaunchSpecInstanceStorePolicyArgs
Determines the utilization of instance store volumes. If not defined, instance store volumes will not be used.
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.
PreferredOdTypes []string
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
PreferredSpotTypes []string
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
ReservedEnis int
Specifies the count of ENIs to reserve per instance type for scaling purposes.
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
This property is required.
Changes to this property will trigger replacement.
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
ID of the image used to launch the instances.
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.
instanceStorePolicy OceanLaunchSpecInstanceStorePolicy
Determines the utilization of instance store volumes. If not defined, instance store volumes will not be used.
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.
preferredOdTypes List<String>
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
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.
reservedEnis Integer
Specifies the count of ENIs to reserve per instance type for scaling purposes.
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
This property is required.
Changes to this property will trigger replacement.
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
ID of the image used to launch the instances.
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.
instanceStorePolicy OceanLaunchSpecInstanceStorePolicy
Determines the utilization of instance store volumes. If not defined, instance store volumes will not be used.
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.
preferredOdTypes string[]
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
preferredSpotTypes string[]
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
reservedEnis number
Specifies the count of ENIs to reserve per instance type for scaling purposes.
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
This property is required.
Changes to this property will trigger replacement.
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
ID of the image used to launch the instances.
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_store_policy OceanLaunchSpecInstanceStorePolicyArgs
Determines the utilization of instance store volumes. If not defined, instance store volumes will not be used.
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_od_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.
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.
reserved_enis int
Specifies the count of ENIs to reserve per instance type for scaling purposes.
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
This property is required.
Changes to this property will trigger replacement.
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
ID of the image used to launch the instances.
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.
instanceStorePolicy Property Map
Determines the utilization of instance store volumes. If not defined, instance store volumes will not be used.
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.
preferredOdTypes List<String>
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
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.
reservedEnis Number
Specifies the count of ENIs to reserve per instance type for scaling purposes.
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_store_policy: Optional[OceanLaunchSpecInstanceStorePolicyArgs] = 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_od_types: Optional[Sequence[str]] = None,
        preferred_spot_types: Optional[Sequence[str]] = None,
        reserved_enis: Optional[int] = 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)
resources:  _:    type: spotinst:aws:OceanLaunchSpec    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
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
ID of the image used to launch the instances.
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.
InstanceStorePolicy Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecInstanceStorePolicy
Determines the utilization of instance store volumes. If not defined, instance store volumes will not be used.
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 Changes to this property will trigger replacement. string
The ID of the Ocean cluster.
PreferredOdTypes List<string>
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
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.
ReservedEnis int
Specifies the count of ENIs to reserve per instance type for scaling purposes.
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
ID of the image used to launch the instances.
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.
InstanceStorePolicy OceanLaunchSpecInstanceStorePolicyArgs
Determines the utilization of instance store volumes. If not defined, instance store volumes will not be used.
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 Changes to this property will trigger replacement. string
The ID of the Ocean cluster.
PreferredOdTypes []string
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
PreferredSpotTypes []string
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
ReservedEnis int
Specifies the count of ENIs to reserve per instance type for scaling purposes.
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
ID of the image used to launch the instances.
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.
instanceStorePolicy OceanLaunchSpecInstanceStorePolicy
Determines the utilization of instance store volumes. If not defined, instance store volumes will not be used.
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 Changes to this property will trigger replacement. String
The ID of the Ocean cluster.
preferredOdTypes List<String>
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
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.
reservedEnis Integer
Specifies the count of ENIs to reserve per instance type for scaling purposes.
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
ID of the image used to launch the instances.
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.
instanceStorePolicy OceanLaunchSpecInstanceStorePolicy
Determines the utilization of instance store volumes. If not defined, instance store volumes will not be used.
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 Changes to this property will trigger replacement. string
The ID of the Ocean cluster.
preferredOdTypes string[]
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
preferredSpotTypes string[]
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
reservedEnis number
Specifies the count of ENIs to reserve per instance type for scaling purposes.
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
ID of the image used to launch the instances.
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_store_policy OceanLaunchSpecInstanceStorePolicyArgs
Determines the utilization of instance store volumes. If not defined, instance store volumes will not be used.
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 Changes to this property will trigger replacement. str
The ID of the Ocean cluster.
preferred_od_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.
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.
reserved_enis int
Specifies the count of ENIs to reserve per instance type for scaling purposes.
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
ID of the image used to launch the instances.
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.
instanceStorePolicy Property Map
Determines the utilization of instance store volumes. If not defined, instance store volumes will not be used.
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 Changes to this property will trigger replacement. String
The ID of the Ocean cluster.
preferredOdTypes List<String>
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
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.
reservedEnis Number
Specifies the count of ENIs to reserve per instance type for scaling purposes.
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 This property is required. int
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
CpuPerUnit int
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
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 This property is required. int
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
CpuPerUnit int
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
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 This property is required. Integer
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
cpuPerUnit Integer
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
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 This property is required. number
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
cpuPerUnit number
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
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 This property is required. int
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
cpu_per_unit int
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
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 This property is required. Number
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
cpuPerUnit Number
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
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 This property is required. int
Int. Initial size for volume. (Example: 50)
Resource This property is required. string
String. Resource type to increase volume size dynamically by. (Valid values: CPU)
SizePerResourceUnit This property is required. int
Int. Additional size (in GB) per resource unit. (Example: baseSize=50, sizePerResourceUnit=20, and instance with 2 CPU is launched; its total disk size will be: 90GB)
BaseSize This property is required. int
Int. Initial size for volume. (Example: 50)
Resource This property is required. string
String. Resource type to increase volume size dynamically by. (Valid values: CPU)
SizePerResourceUnit This property is required. int
Int. Additional size (in GB) per resource unit. (Example: baseSize=50, sizePerResourceUnit=20, and instance with 2 CPU is launched; its total disk size will be: 90GB)
baseSize This property is required. Integer
Int. Initial size for volume. (Example: 50)
resource This property is required. String
String. Resource type to increase volume size dynamically by. (Valid values: CPU)
sizePerResourceUnit This property is required. Integer
Int. Additional size (in GB) per resource unit. (Example: baseSize=50, sizePerResourceUnit=20, and instance with 2 CPU is launched; its total disk size will be: 90GB)
baseSize This property is required. number
Int. Initial size for volume. (Example: 50)
resource This property is required. string
String. Resource type to increase volume size dynamically by. (Valid values: CPU)
sizePerResourceUnit This property is required. number
Int. Additional size (in GB) per resource unit. (Example: baseSize=50, sizePerResourceUnit=20, and instance with 2 CPU is launched; its total disk size will be: 90GB)
base_size This property is required. int
Int. Initial size for volume. (Example: 50)
resource This property is required. str
String. Resource type to increase volume size dynamically by. (Valid values: CPU)
size_per_resource_unit This property is required. int
Int. Additional size (in GB) per resource unit. (Example: baseSize=50, sizePerResourceUnit=20, and instance with 2 CPU is launched; its total disk size will be: 90GB)
baseSize This property is required. Number
Int. Initial size for volume. (Example: 50)
resource This property is required. String
String. Resource type to increase volume size dynamically by. (Valid values: CPU)
sizePerResourceUnit This property is required. Number
Int. Additional size (in GB) per resource unit. (Example: baseSize=50, sizePerResourceUnit=20, and instance with 2 CPU is launched; its total disk size will be: 90GB)

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

OceanLaunchSpecInstanceStorePolicy
, OceanLaunchSpecInstanceStorePolicyArgs

InstanceStorePolicyType string
Value: "RAID0" The method for using the instance store volumes (must also be defined in the userData).
InstanceStorePolicyType string
Value: "RAID0" The method for using the instance store volumes (must also be defined in the userData).
instanceStorePolicyType String
Value: "RAID0" The method for using the instance store volumes (must also be defined in the userData).
instanceStorePolicyType string
Value: "RAID0" The method for using the instance store volumes (must also be defined in the userData).
instance_store_policy_type str
Value: "RAID0" The method for using the instance store volumes (must also be defined in the userData).
instanceStorePolicyType String
Value: "RAID0" The method for using the instance store volumes (must also be defined in the userData).

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 This property is required. string
The label key.
Value This property is required. string
The label value.
Key This property is required. string
The label key.
Value This property is required. string
The label value.
key This property is required. String
The label key.
value This property is required. String
The label value.
key This property is required. string
The label key.
value This property is required. string
The label value.
key This property is required. str
The label key.
value This property is required. str
The label value.
key This property is required. String
The label key.
value This property is required. String
The label value.

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

OceanLaunchSpecSchedulingTaskTaskHeadroom
, OceanLaunchSpecSchedulingTaskTaskHeadroomArgs

NumOfUnits This property is required. int
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
CpuPerUnit int
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
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 This property is required. int
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
CpuPerUnit int
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
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 This property is required. Integer
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
cpuPerUnit Integer
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
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 This property is required. number
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
cpuPerUnit number
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
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 This property is required. int
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
cpu_per_unit int
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
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 This property is required. Number
The number of units to retain as headroom, where each unit has the defined headroom CPU, memory and GPU.
cpuPerUnit Number
Optionally configure the number of CPUs to allocate for each headroom unit. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
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

DrainingTimeout int
The configurable amount of time that Ocean will wait for the draining process to complete before terminating an instance. If you have not defined a draining timeout, the default of 300 seconds will be used.
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).
UtilizeCommitments bool
When set as ‘true’, if savings plans commitments have available capacity, Ocean will utilize them alongside RIs (if exist) to maximize cost efficiency. If the value is set as 'null', it will automatically be inherited from the cluster level.
UtilizeReservedInstances bool
When set as ‘true’, if reserved instances exist, Ocean will utilize them before launching spot instances. If the value is set as 'null', it will automatically be inherited from the cluster level.
DrainingTimeout int
The configurable amount of time that Ocean will wait for the draining process to complete before terminating an instance. If you have not defined a draining timeout, the default of 300 seconds will be used.
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).
UtilizeCommitments bool
When set as ‘true’, if savings plans commitments have available capacity, Ocean will utilize them alongside RIs (if exist) to maximize cost efficiency. If the value is set as 'null', it will automatically be inherited from the cluster level.
UtilizeReservedInstances bool
When set as ‘true’, if reserved instances exist, Ocean will utilize them before launching spot instances. If the value is set as 'null', it will automatically be inherited from the cluster level.
drainingTimeout Integer
The configurable amount of time that Ocean will wait for the draining process to complete before terminating an instance. If you have not defined a draining timeout, the default of 300 seconds will be used.
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).
utilizeCommitments Boolean
When set as ‘true’, if savings plans commitments have available capacity, Ocean will utilize them alongside RIs (if exist) to maximize cost efficiency. If the value is set as 'null', it will automatically be inherited from the cluster level.
utilizeReservedInstances Boolean
When set as ‘true’, if reserved instances exist, Ocean will utilize them before launching spot instances. If the value is set as 'null', it will automatically be inherited from the cluster level.
drainingTimeout number
The configurable amount of time that Ocean will wait for the draining process to complete before terminating an instance. If you have not defined a draining timeout, the default of 300 seconds will be used.
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).
utilizeCommitments boolean
When set as ‘true’, if savings plans commitments have available capacity, Ocean will utilize them alongside RIs (if exist) to maximize cost efficiency. If the value is set as 'null', it will automatically be inherited from the cluster level.
utilizeReservedInstances boolean
When set as ‘true’, if reserved instances exist, Ocean will utilize them before launching spot instances. If the value is set as 'null', it will automatically be inherited from the cluster level.
draining_timeout int
The configurable amount of time that Ocean will wait for the draining process to complete before terminating an instance. If you have not defined a draining timeout, the default of 300 seconds will be used.
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).
utilize_commitments bool
When set as ‘true’, if savings plans commitments have available capacity, Ocean will utilize them alongside RIs (if exist) to maximize cost efficiency. If the value is set as 'null', it will automatically be inherited from the cluster level.
utilize_reserved_instances bool
When set as ‘true’, if reserved instances exist, Ocean will utilize them before launching spot instances. If the value is set as 'null', it will automatically be inherited from the cluster level.
drainingTimeout Number
The configurable amount of time that Ocean will wait for the draining process to complete before terminating an instance. If you have not defined a draining timeout, the default of 300 seconds will be used.
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).
utilizeCommitments Boolean
When set as ‘true’, if savings plans commitments have available capacity, Ocean will utilize them alongside RIs (if exist) to maximize cost efficiency. If the value is set as 'null', it will automatically be inherited from the cluster level.
utilizeReservedInstances Boolean
When set as ‘true’, if reserved instances exist, Ocean will utilize them before launching spot instances. If the value is set as 'null', it will automatically be inherited from the cluster level.

OceanLaunchSpecTag
, OceanLaunchSpecTagArgs

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

OceanLaunchSpecTaint
, OceanLaunchSpecTaintArgs

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

OceanLaunchSpecUpdatePolicy
, OceanLaunchSpecUpdatePolicyArgs

ShouldRoll This property is required. bool
Enables the roll.
RollConfig Pulumi.SpotInst.Aws.Inputs.OceanLaunchSpecUpdatePolicyRollConfig
Holds the roll configuration.
ShouldRoll This property is required. bool
Enables the roll.
RollConfig OceanLaunchSpecUpdatePolicyRollConfig
Holds the roll configuration.
shouldRoll This property is required. Boolean
Enables the roll.
rollConfig OceanLaunchSpecUpdatePolicyRollConfig
Holds the roll configuration.
shouldRoll This property is required. boolean
Enables the roll.
rollConfig OceanLaunchSpecUpdatePolicyRollConfig
Holds the roll configuration.
should_roll This property is required. bool
Enables the roll.
roll_config OceanLaunchSpecUpdatePolicyRollConfig
Holds the roll configuration.
shouldRoll This property is required. Boolean
Enables the roll.
rollConfig Property Map
Holds the roll configuration.

OceanLaunchSpecUpdatePolicyRollConfig
, OceanLaunchSpecUpdatePolicyRollConfigArgs

BatchSizePercentage This property is required. int
Sets the percentage of the instances to deploy in each batch.
RespectPdb bool
During the roll, if the parameter is set to true we honor PDB during the instance replacement.
BatchSizePercentage This property is required. int
Sets the percentage of the instances to deploy in each batch.
RespectPdb bool
During the roll, if the parameter is set to true we honor PDB during the instance replacement.
batchSizePercentage This property is required. Integer
Sets the percentage of the instances to deploy in each batch.
respectPdb Boolean
During the roll, if the parameter is set to true we honor PDB during the instance replacement.
batchSizePercentage This property is required. number
Sets the percentage of the instances to deploy in each batch.
respectPdb boolean
During the roll, if the parameter is set to true we honor PDB during the instance replacement.
batch_size_percentage This property is required. int
Sets the percentage of the instances to deploy in each batch.
respect_pdb bool
During the roll, if the parameter is set to true we honor PDB during the instance replacement.
batchSizePercentage This property is required. Number
Sets the percentage of the instances to deploy in each batch.
respectPdb Boolean
During the roll, if the parameter is set to true we honor PDB during the instance replacement.

Import

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

hcl

$ pulumi import spotinst:aws/oceanLaunchSpec:OceanLaunchSpec nameOfTheResource ols-1a2b576
Copy

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

Package Details

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