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

spotinst.ecs.Ocean

Explore with Pulumi AI

Manages a Spotinst Ocean ECS resource.

Example Usage

Coming soon!
Coming soon!
Coming soon!
Coming soon!
Coming soon!
resources:
  example:
    type: spotinst:ecs:Ocean
    properties:
      region: us-west-2
      name: sample-ecs-cluster
      clusterName: sample-ecs-cluster
      minSize: '0'
      maxSize: '1'
      desiredCapacity: '0'
      subnetIds:
        - subnet-12345
      instanceTypes:
        - filters:
            - architectures:
                - x86_64
                - i386
              categories:
                - Accelerated_computing
                - Compute_optimized
              diskTypes:
                - EBS
                - SSD
              excludeFamilies:
                - m*
              excludeMetal: false
              hypervisor:
                - xen
              includeFamilies:
                - c*
                - t*
              isEnaSupported: false
              maxGpu: 4
              minGpu: 0
              maxMemoryGib: 16
              maxNetworkPerformance: 20
              maxVcpu: 16
              minEnis: 2
              minMemoryGib: 8
              minNetworkPerformance: 2
              minVcpu: 2
              rootDeviceTypes:
                - ebs
              virtualizationTypes:
                - hvm
      securityGroupIds:
        - sg-12345
      imageId: ami-12345
      iamInstanceProfile: iam-profile
      keyPair: KeyPair
      userData: echo hello world
      associatePublicIpAddress: false
      utilizeReservedInstances: false
      drainingTimeout: 120
      monitoring: true
      ebsOptimized: true
      useAsTemplateOnly: true
      spotPercentage: 100
      utilizeCommitments: false
      fallbackToOndemand: true
      clusterOrientations:
        - availabilityVsCost: balanced
      instanceMetadataOptions:
        httpTokens: required
        httpPutResponseHopLimit: 10
      blockDeviceMappings:
        - deviceName: /dev/xvda1
          ebs:
            deleteOnTermination: 'true'
            encrypted: 'false'
            volumeType: gp2
            volumeSize: 50
            throughput: 500
            dynamicVolumeSize:
              baseSize: 50
              resource: CPU
              sizePerResourceUnit: 20
      optimizeImages:
        performAt: timeWindow
        timeWindows:
          - Sun:02:00-Sun:12:00
          - Sun:05:00-Sun:16:00
        shouldOptimizeEcsAmi: true
      tags:
        - key: fakeKey
          value: fakeValue
      logging:
        export:
          s3s:
            - id: di-abcd123
Copy
output "ocean_id" {
  value = spotinst_ocean_ecs.example.id
}

Create Ocean Resource

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

Constructor syntax

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

@overload
def Ocean(resource_name: str,
          opts: Optional[ResourceOptions] = None,
          image_id: Optional[str] = None,
          subnet_ids: Optional[Sequence[str]] = None,
          security_group_ids: Optional[Sequence[str]] = None,
          region: Optional[str] = None,
          cluster_name: Optional[str] = None,
          max_size: Optional[int] = None,
          monitoring: Optional[bool] = None,
          draining_timeout: Optional[int] = None,
          ebs_optimized: Optional[bool] = None,
          fallback_to_ondemand: Optional[bool] = None,
          filters: Optional[OceanFiltersArgs] = None,
          iam_instance_profile: Optional[str] = None,
          cluster_orientations: Optional[Sequence[OceanClusterOrientationArgs]] = None,
          instance_metadata_options: Optional[OceanInstanceMetadataOptionsArgs] = None,
          key_pair: Optional[str] = None,
          logging: Optional[OceanLoggingArgs] = None,
          associate_public_ip_address: Optional[bool] = None,
          min_size: Optional[int] = None,
          desired_capacity: Optional[int] = None,
          name: Optional[str] = None,
          optimize_images: Optional[OceanOptimizeImagesArgs] = None,
          block_device_mappings: Optional[Sequence[OceanBlockDeviceMappingArgs]] = None,
          scheduled_tasks: Optional[Sequence[OceanScheduledTaskArgs]] = None,
          blacklists: Optional[Sequence[str]] = None,
          spot_percentage: Optional[int] = None,
          autoscaler: Optional[OceanAutoscalerArgs] = None,
          tags: Optional[Sequence[OceanTagArgs]] = None,
          update_policy: Optional[OceanUpdatePolicyArgs] = None,
          use_as_template_only: Optional[bool] = None,
          user_data: Optional[str] = None,
          utilize_commitments: Optional[bool] = None,
          utilize_reserved_instances: Optional[bool] = None,
          whitelists: Optional[Sequence[str]] = None)
func NewOcean(ctx *Context, name string, args OceanArgs, opts ...ResourceOption) (*Ocean, error)
public Ocean(string name, OceanArgs args, CustomResourceOptions? opts = null)
public Ocean(String name, OceanArgs args)
public Ocean(String name, OceanArgs args, CustomResourceOptions options)
type: spotinst:ecs:Ocean
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. OceanArgs
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. OceanArgs
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. OceanArgs
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. OceanArgs
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. OceanArgs
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 spotinstOceanResource = new SpotInst.Ecs.Ocean("spotinstOceanResource", new()
{
    ImageId = "string",
    SubnetIds = new[]
    {
        "string",
    },
    SecurityGroupIds = new[]
    {
        "string",
    },
    Region = "string",
    ClusterName = "string",
    MaxSize = 0,
    Monitoring = false,
    DrainingTimeout = 0,
    EbsOptimized = false,
    FallbackToOndemand = false,
    Filters = new SpotInst.Ecs.Inputs.OceanFiltersArgs
    {
        Architectures = new[]
        {
            "string",
        },
        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",
        },
    },
    IamInstanceProfile = "string",
    ClusterOrientations = new[]
    {
        new SpotInst.Ecs.Inputs.OceanClusterOrientationArgs
        {
            AvailabilityVsCost = "string",
        },
    },
    InstanceMetadataOptions = new SpotInst.Ecs.Inputs.OceanInstanceMetadataOptionsArgs
    {
        HttpTokens = "string",
        HttpPutResponseHopLimit = 0,
    },
    KeyPair = "string",
    Logging = new SpotInst.Ecs.Inputs.OceanLoggingArgs
    {
        Export = new SpotInst.Ecs.Inputs.OceanLoggingExportArgs
        {
            S3s = new[]
            {
                new SpotInst.Ecs.Inputs.OceanLoggingExportS3Args
                {
                    Id = "string",
                },
            },
        },
    },
    AssociatePublicIpAddress = false,
    MinSize = 0,
    DesiredCapacity = 0,
    Name = "string",
    OptimizeImages = new SpotInst.Ecs.Inputs.OceanOptimizeImagesArgs
    {
        PerformAt = "string",
        ShouldOptimizeEcsAmi = false,
        TimeWindows = new[]
        {
            "string",
        },
    },
    BlockDeviceMappings = new[]
    {
        new SpotInst.Ecs.Inputs.OceanBlockDeviceMappingArgs
        {
            DeviceName = "string",
            Ebs = new SpotInst.Ecs.Inputs.OceanBlockDeviceMappingEbsArgs
            {
                DeleteOnTermination = false,
                DynamicVolumeSize = new SpotInst.Ecs.Inputs.OceanBlockDeviceMappingEbsDynamicVolumeSizeArgs
                {
                    BaseSize = 0,
                    Resource = "string",
                    SizePerResourceUnit = 0,
                },
                Encrypted = false,
                Iops = 0,
                KmsKeyId = "string",
                SnapshotId = "string",
                Throughput = 0,
                VolumeSize = 0,
                VolumeType = "string",
            },
            NoDevice = "string",
            VirtualName = "string",
        },
    },
    ScheduledTasks = new[]
    {
        new SpotInst.Ecs.Inputs.OceanScheduledTaskArgs
        {
            ShutdownHours = new SpotInst.Ecs.Inputs.OceanScheduledTaskShutdownHoursArgs
            {
                TimeWindows = new[]
                {
                    "string",
                },
                IsEnabled = false,
            },
            Tasks = new[]
            {
                new SpotInst.Ecs.Inputs.OceanScheduledTaskTaskArgs
                {
                    CronExpression = "string",
                    IsEnabled = false,
                    TaskType = "string",
                },
            },
        },
    },
    Blacklists = new[]
    {
        "string",
    },
    SpotPercentage = 0,
    Autoscaler = new SpotInst.Ecs.Inputs.OceanAutoscalerArgs
    {
        AutoHeadroomPercentage = 0,
        Cooldown = 0,
        Down = new SpotInst.Ecs.Inputs.OceanAutoscalerDownArgs
        {
            MaxScaleDownPercentage = 0,
        },
        EnableAutomaticAndManualHeadroom = false,
        Headroom = new SpotInst.Ecs.Inputs.OceanAutoscalerHeadroomArgs
        {
            CpuPerUnit = 0,
            MemoryPerUnit = 0,
            NumOfUnits = 0,
        },
        IsAutoConfig = false,
        IsEnabled = false,
        ResourceLimits = new SpotInst.Ecs.Inputs.OceanAutoscalerResourceLimitsArgs
        {
            MaxMemoryGib = 0,
            MaxVcpu = 0,
        },
        ShouldScaleDownNonServiceTasks = false,
    },
    Tags = new[]
    {
        new SpotInst.Ecs.Inputs.OceanTagArgs
        {
            Key = "string",
            Value = "string",
        },
    },
    UpdatePolicy = new SpotInst.Ecs.Inputs.OceanUpdatePolicyArgs
    {
        ShouldRoll = false,
        AutoApplyTags = false,
        ConditionedRoll = false,
        RollConfig = new SpotInst.Ecs.Inputs.OceanUpdatePolicyRollConfigArgs
        {
            BatchSizePercentage = 0,
            BatchMinHealthyPercentage = 0,
        },
    },
    UseAsTemplateOnly = false,
    UserData = "string",
    UtilizeCommitments = false,
    UtilizeReservedInstances = false,
    Whitelists = new[]
    {
        "string",
    },
});
Copy
example, err := ecs.NewOcean(ctx, "spotinstOceanResource", &ecs.OceanArgs{
	ImageId: pulumi.String("string"),
	SubnetIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	SecurityGroupIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	Region:             pulumi.String("string"),
	ClusterName:        pulumi.String("string"),
	MaxSize:            pulumi.Int(0),
	Monitoring:         pulumi.Bool(false),
	DrainingTimeout:    pulumi.Int(0),
	EbsOptimized:       pulumi.Bool(false),
	FallbackToOndemand: pulumi.Bool(false),
	Filters: &ecs.OceanFiltersArgs{
		Architectures: pulumi.StringArray{
			pulumi.String("string"),
		},
		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"),
		},
	},
	IamInstanceProfile: pulumi.String("string"),
	ClusterOrientations: ecs.OceanClusterOrientationArray{
		&ecs.OceanClusterOrientationArgs{
			AvailabilityVsCost: pulumi.String("string"),
		},
	},
	InstanceMetadataOptions: &ecs.OceanInstanceMetadataOptionsArgs{
		HttpTokens:              pulumi.String("string"),
		HttpPutResponseHopLimit: pulumi.Int(0),
	},
	KeyPair: pulumi.String("string"),
	Logging: &ecs.OceanLoggingArgs{
		Export: &ecs.OceanLoggingExportArgs{
			S3s: ecs.OceanLoggingExportS3Array{
				&ecs.OceanLoggingExportS3Args{
					Id: pulumi.String("string"),
				},
			},
		},
	},
	AssociatePublicIpAddress: pulumi.Bool(false),
	MinSize:                  pulumi.Int(0),
	DesiredCapacity:          pulumi.Int(0),
	Name:                     pulumi.String("string"),
	OptimizeImages: &ecs.OceanOptimizeImagesArgs{
		PerformAt:            pulumi.String("string"),
		ShouldOptimizeEcsAmi: pulumi.Bool(false),
		TimeWindows: pulumi.StringArray{
			pulumi.String("string"),
		},
	},
	BlockDeviceMappings: ecs.OceanBlockDeviceMappingArray{
		&ecs.OceanBlockDeviceMappingArgs{
			DeviceName: pulumi.String("string"),
			Ebs: &ecs.OceanBlockDeviceMappingEbsArgs{
				DeleteOnTermination: pulumi.Bool(false),
				DynamicVolumeSize: &ecs.OceanBlockDeviceMappingEbsDynamicVolumeSizeArgs{
					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"),
		},
	},
	ScheduledTasks: ecs.OceanScheduledTaskArray{
		&ecs.OceanScheduledTaskArgs{
			ShutdownHours: &ecs.OceanScheduledTaskShutdownHoursArgs{
				TimeWindows: pulumi.StringArray{
					pulumi.String("string"),
				},
				IsEnabled: pulumi.Bool(false),
			},
			Tasks: ecs.OceanScheduledTaskTaskArray{
				&ecs.OceanScheduledTaskTaskArgs{
					CronExpression: pulumi.String("string"),
					IsEnabled:      pulumi.Bool(false),
					TaskType:       pulumi.String("string"),
				},
			},
		},
	},
	Blacklists: pulumi.StringArray{
		pulumi.String("string"),
	},
	SpotPercentage: pulumi.Int(0),
	Autoscaler: &ecs.OceanAutoscalerArgs{
		AutoHeadroomPercentage: pulumi.Int(0),
		Cooldown:               pulumi.Int(0),
		Down: &ecs.OceanAutoscalerDownArgs{
			MaxScaleDownPercentage: pulumi.Float64(0),
		},
		EnableAutomaticAndManualHeadroom: pulumi.Bool(false),
		Headroom: &ecs.OceanAutoscalerHeadroomArgs{
			CpuPerUnit:    pulumi.Int(0),
			MemoryPerUnit: pulumi.Int(0),
			NumOfUnits:    pulumi.Int(0),
		},
		IsAutoConfig: pulumi.Bool(false),
		IsEnabled:    pulumi.Bool(false),
		ResourceLimits: &ecs.OceanAutoscalerResourceLimitsArgs{
			MaxMemoryGib: pulumi.Int(0),
			MaxVcpu:      pulumi.Int(0),
		},
		ShouldScaleDownNonServiceTasks: pulumi.Bool(false),
	},
	Tags: ecs.OceanTagArray{
		&ecs.OceanTagArgs{
			Key:   pulumi.String("string"),
			Value: pulumi.String("string"),
		},
	},
	UpdatePolicy: &ecs.OceanUpdatePolicyArgs{
		ShouldRoll:      pulumi.Bool(false),
		AutoApplyTags:   pulumi.Bool(false),
		ConditionedRoll: pulumi.Bool(false),
		RollConfig: &ecs.OceanUpdatePolicyRollConfigArgs{
			BatchSizePercentage:       pulumi.Int(0),
			BatchMinHealthyPercentage: pulumi.Int(0),
		},
	},
	UseAsTemplateOnly:        pulumi.Bool(false),
	UserData:                 pulumi.String("string"),
	UtilizeCommitments:       pulumi.Bool(false),
	UtilizeReservedInstances: pulumi.Bool(false),
	Whitelists: pulumi.StringArray{
		pulumi.String("string"),
	},
})
Copy
var spotinstOceanResource = new Ocean("spotinstOceanResource", OceanArgs.builder()
    .imageId("string")
    .subnetIds("string")
    .securityGroupIds("string")
    .region("string")
    .clusterName("string")
    .maxSize(0)
    .monitoring(false)
    .drainingTimeout(0)
    .ebsOptimized(false)
    .fallbackToOndemand(false)
    .filters(OceanFiltersArgs.builder()
        .architectures("string")
        .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())
    .iamInstanceProfile("string")
    .clusterOrientations(OceanClusterOrientationArgs.builder()
        .availabilityVsCost("string")
        .build())
    .instanceMetadataOptions(OceanInstanceMetadataOptionsArgs.builder()
        .httpTokens("string")
        .httpPutResponseHopLimit(0)
        .build())
    .keyPair("string")
    .logging(OceanLoggingArgs.builder()
        .export(OceanLoggingExportArgs.builder()
            .s3s(OceanLoggingExportS3Args.builder()
                .id("string")
                .build())
            .build())
        .build())
    .associatePublicIpAddress(false)
    .minSize(0)
    .desiredCapacity(0)
    .name("string")
    .optimizeImages(OceanOptimizeImagesArgs.builder()
        .performAt("string")
        .shouldOptimizeEcsAmi(false)
        .timeWindows("string")
        .build())
    .blockDeviceMappings(OceanBlockDeviceMappingArgs.builder()
        .deviceName("string")
        .ebs(OceanBlockDeviceMappingEbsArgs.builder()
            .deleteOnTermination(false)
            .dynamicVolumeSize(OceanBlockDeviceMappingEbsDynamicVolumeSizeArgs.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())
    .scheduledTasks(OceanScheduledTaskArgs.builder()
        .shutdownHours(OceanScheduledTaskShutdownHoursArgs.builder()
            .timeWindows("string")
            .isEnabled(false)
            .build())
        .tasks(OceanScheduledTaskTaskArgs.builder()
            .cronExpression("string")
            .isEnabled(false)
            .taskType("string")
            .build())
        .build())
    .blacklists("string")
    .spotPercentage(0)
    .autoscaler(OceanAutoscalerArgs.builder()
        .autoHeadroomPercentage(0)
        .cooldown(0)
        .down(OceanAutoscalerDownArgs.builder()
            .maxScaleDownPercentage(0)
            .build())
        .enableAutomaticAndManualHeadroom(false)
        .headroom(OceanAutoscalerHeadroomArgs.builder()
            .cpuPerUnit(0)
            .memoryPerUnit(0)
            .numOfUnits(0)
            .build())
        .isAutoConfig(false)
        .isEnabled(false)
        .resourceLimits(OceanAutoscalerResourceLimitsArgs.builder()
            .maxMemoryGib(0)
            .maxVcpu(0)
            .build())
        .shouldScaleDownNonServiceTasks(false)
        .build())
    .tags(OceanTagArgs.builder()
        .key("string")
        .value("string")
        .build())
    .updatePolicy(OceanUpdatePolicyArgs.builder()
        .shouldRoll(false)
        .autoApplyTags(false)
        .conditionedRoll(false)
        .rollConfig(OceanUpdatePolicyRollConfigArgs.builder()
            .batchSizePercentage(0)
            .batchMinHealthyPercentage(0)
            .build())
        .build())
    .useAsTemplateOnly(false)
    .userData("string")
    .utilizeCommitments(false)
    .utilizeReservedInstances(false)
    .whitelists("string")
    .build());
Copy
spotinst_ocean_resource = spotinst.ecs.Ocean("spotinstOceanResource",
    image_id="string",
    subnet_ids=["string"],
    security_group_ids=["string"],
    region="string",
    cluster_name="string",
    max_size=0,
    monitoring=False,
    draining_timeout=0,
    ebs_optimized=False,
    fallback_to_ondemand=False,
    filters={
        "architectures": ["string"],
        "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"],
    },
    iam_instance_profile="string",
    cluster_orientations=[{
        "availability_vs_cost": "string",
    }],
    instance_metadata_options={
        "http_tokens": "string",
        "http_put_response_hop_limit": 0,
    },
    key_pair="string",
    logging={
        "export": {
            "s3s": [{
                "id": "string",
            }],
        },
    },
    associate_public_ip_address=False,
    min_size=0,
    desired_capacity=0,
    name="string",
    optimize_images={
        "perform_at": "string",
        "should_optimize_ecs_ami": False,
        "time_windows": ["string"],
    },
    block_device_mappings=[{
        "device_name": "string",
        "ebs": {
            "delete_on_termination": False,
            "dynamic_volume_size": {
                "base_size": 0,
                "resource": "string",
                "size_per_resource_unit": 0,
            },
            "encrypted": False,
            "iops": 0,
            "kms_key_id": "string",
            "snapshot_id": "string",
            "throughput": 0,
            "volume_size": 0,
            "volume_type": "string",
        },
        "no_device": "string",
        "virtual_name": "string",
    }],
    scheduled_tasks=[{
        "shutdown_hours": {
            "time_windows": ["string"],
            "is_enabled": False,
        },
        "tasks": [{
            "cron_expression": "string",
            "is_enabled": False,
            "task_type": "string",
        }],
    }],
    blacklists=["string"],
    spot_percentage=0,
    autoscaler={
        "auto_headroom_percentage": 0,
        "cooldown": 0,
        "down": {
            "max_scale_down_percentage": 0,
        },
        "enable_automatic_and_manual_headroom": False,
        "headroom": {
            "cpu_per_unit": 0,
            "memory_per_unit": 0,
            "num_of_units": 0,
        },
        "is_auto_config": False,
        "is_enabled": False,
        "resource_limits": {
            "max_memory_gib": 0,
            "max_vcpu": 0,
        },
        "should_scale_down_non_service_tasks": False,
    },
    tags=[{
        "key": "string",
        "value": "string",
    }],
    update_policy={
        "should_roll": False,
        "auto_apply_tags": False,
        "conditioned_roll": False,
        "roll_config": {
            "batch_size_percentage": 0,
            "batch_min_healthy_percentage": 0,
        },
    },
    use_as_template_only=False,
    user_data="string",
    utilize_commitments=False,
    utilize_reserved_instances=False,
    whitelists=["string"])
Copy
const spotinstOceanResource = new spotinst.ecs.Ocean("spotinstOceanResource", {
    imageId: "string",
    subnetIds: ["string"],
    securityGroupIds: ["string"],
    region: "string",
    clusterName: "string",
    maxSize: 0,
    monitoring: false,
    drainingTimeout: 0,
    ebsOptimized: false,
    fallbackToOndemand: false,
    filters: {
        architectures: ["string"],
        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"],
    },
    iamInstanceProfile: "string",
    clusterOrientations: [{
        availabilityVsCost: "string",
    }],
    instanceMetadataOptions: {
        httpTokens: "string",
        httpPutResponseHopLimit: 0,
    },
    keyPair: "string",
    logging: {
        "export": {
            s3s: [{
                id: "string",
            }],
        },
    },
    associatePublicIpAddress: false,
    minSize: 0,
    desiredCapacity: 0,
    name: "string",
    optimizeImages: {
        performAt: "string",
        shouldOptimizeEcsAmi: false,
        timeWindows: ["string"],
    },
    blockDeviceMappings: [{
        deviceName: "string",
        ebs: {
            deleteOnTermination: false,
            dynamicVolumeSize: {
                baseSize: 0,
                resource: "string",
                sizePerResourceUnit: 0,
            },
            encrypted: false,
            iops: 0,
            kmsKeyId: "string",
            snapshotId: "string",
            throughput: 0,
            volumeSize: 0,
            volumeType: "string",
        },
        noDevice: "string",
        virtualName: "string",
    }],
    scheduledTasks: [{
        shutdownHours: {
            timeWindows: ["string"],
            isEnabled: false,
        },
        tasks: [{
            cronExpression: "string",
            isEnabled: false,
            taskType: "string",
        }],
    }],
    blacklists: ["string"],
    spotPercentage: 0,
    autoscaler: {
        autoHeadroomPercentage: 0,
        cooldown: 0,
        down: {
            maxScaleDownPercentage: 0,
        },
        enableAutomaticAndManualHeadroom: false,
        headroom: {
            cpuPerUnit: 0,
            memoryPerUnit: 0,
            numOfUnits: 0,
        },
        isAutoConfig: false,
        isEnabled: false,
        resourceLimits: {
            maxMemoryGib: 0,
            maxVcpu: 0,
        },
        shouldScaleDownNonServiceTasks: false,
    },
    tags: [{
        key: "string",
        value: "string",
    }],
    updatePolicy: {
        shouldRoll: false,
        autoApplyTags: false,
        conditionedRoll: false,
        rollConfig: {
            batchSizePercentage: 0,
            batchMinHealthyPercentage: 0,
        },
    },
    useAsTemplateOnly: false,
    userData: "string",
    utilizeCommitments: false,
    utilizeReservedInstances: false,
    whitelists: ["string"],
});
Copy
type: spotinst:ecs:Ocean
properties:
    associatePublicIpAddress: false
    autoscaler:
        autoHeadroomPercentage: 0
        cooldown: 0
        down:
            maxScaleDownPercentage: 0
        enableAutomaticAndManualHeadroom: false
        headroom:
            cpuPerUnit: 0
            memoryPerUnit: 0
            numOfUnits: 0
        isAutoConfig: false
        isEnabled: false
        resourceLimits:
            maxMemoryGib: 0
            maxVcpu: 0
        shouldScaleDownNonServiceTasks: false
    blacklists:
        - string
    blockDeviceMappings:
        - deviceName: string
          ebs:
            deleteOnTermination: false
            dynamicVolumeSize:
                baseSize: 0
                resource: string
                sizePerResourceUnit: 0
            encrypted: false
            iops: 0
            kmsKeyId: string
            snapshotId: string
            throughput: 0
            volumeSize: 0
            volumeType: string
          noDevice: string
          virtualName: string
    clusterName: string
    clusterOrientations:
        - availabilityVsCost: string
    desiredCapacity: 0
    drainingTimeout: 0
    ebsOptimized: false
    fallbackToOndemand: false
    filters:
        architectures:
            - string
        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
    iamInstanceProfile: string
    imageId: string
    instanceMetadataOptions:
        httpPutResponseHopLimit: 0
        httpTokens: string
    keyPair: string
    logging:
        export:
            s3s:
                - id: string
    maxSize: 0
    minSize: 0
    monitoring: false
    name: string
    optimizeImages:
        performAt: string
        shouldOptimizeEcsAmi: false
        timeWindows:
            - string
    region: string
    scheduledTasks:
        - shutdownHours:
            isEnabled: false
            timeWindows:
                - string
          tasks:
            - cronExpression: string
              isEnabled: false
              taskType: string
    securityGroupIds:
        - string
    spotPercentage: 0
    subnetIds:
        - string
    tags:
        - key: string
          value: string
    updatePolicy:
        autoApplyTags: false
        conditionedRoll: false
        rollConfig:
            batchMinHealthyPercentage: 0
            batchSizePercentage: 0
        shouldRoll: false
    useAsTemplateOnly: false
    userData: string
    utilizeCommitments: false
    utilizeReservedInstances: false
    whitelists:
        - string
Copy

Ocean 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 Ocean resource accepts the following input properties:

ClusterName This property is required. string
The name of the ECS cluster.
ImageId This property is required. string
ID of the image used to launch the instances.
Region This property is required. string
The region the cluster will run in.
SecurityGroupIds This property is required. List<string>
One or more security group ids.
SubnetIds This property is required. List<string>
A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
AssociatePublicIpAddress bool
Configure public IP address allocation.
Autoscaler Pulumi.SpotInst.Ecs.Inputs.OceanAutoscaler
Describes the Ocean ECS autoscaler.
Blacklists List<string>
BlockDeviceMappings List<Pulumi.SpotInst.Ecs.Inputs.OceanBlockDeviceMapping>
Object. List of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
ClusterOrientations List<Pulumi.SpotInst.Ecs.Inputs.OceanClusterOrientation>
DesiredCapacity int
The number of instances to launch and maintain in the cluster.
DrainingTimeout int
The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
EbsOptimized bool
Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
FallbackToOndemand bool
If no Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
Filters Pulumi.SpotInst.Ecs.Inputs.OceanFilters
IamInstanceProfile string
The instance profile iam role.
InstanceMetadataOptions Pulumi.SpotInst.Ecs.Inputs.OceanInstanceMetadataOptions
Ocean instance metadata options object for IMDSv2.
KeyPair string
The key pair to attach the instances.
Logging Pulumi.SpotInst.Ecs.Inputs.OceanLogging
Logging configuration.
MaxSize int
The upper limit of instances the cluster can scale up to.
MinSize int
The lower limit of instances the cluster can scale down to.
Monitoring bool
Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
Name string
The Ocean cluster name.
OptimizeImages Pulumi.SpotInst.Ecs.Inputs.OceanOptimizeImages
Object. Set auto image update settings.
ScheduledTasks List<Pulumi.SpotInst.Ecs.Inputs.OceanScheduledTask>
While used, you can control whether the group should perform a deployment after an update to the configuration.
SpotPercentage int
The percentage of Spot instances that would spin up from the desired_capacity number.
Tags List<Pulumi.SpotInst.Ecs.Inputs.OceanTag>
Optionally adds tags to instances launched in an Ocean cluster.
UpdatePolicy Pulumi.SpotInst.Ecs.Inputs.OceanUpdatePolicy
While used, you can control whether the group should perform a deployment after an update to the configuration.
UseAsTemplateOnly bool
launch specification defined on the Ocean object will function only as a template for virtual node groups.
UserData string
Base64-encoded MIME user data to make available to the instances.
UtilizeCommitments bool
If savings plans exist, Ocean will utilize them before launching Spot instances.
UtilizeReservedInstances bool
If Reserved instances exist, Ocean will utilize them before launching Spot instances.
Whitelists List<string>
ClusterName This property is required. string
The name of the ECS cluster.
ImageId This property is required. string
ID of the image used to launch the instances.
Region This property is required. string
The region the cluster will run in.
SecurityGroupIds This property is required. []string
One or more security group ids.
SubnetIds This property is required. []string
A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
AssociatePublicIpAddress bool
Configure public IP address allocation.
Autoscaler OceanAutoscalerArgs
Describes the Ocean ECS autoscaler.
Blacklists []string
BlockDeviceMappings []OceanBlockDeviceMappingArgs
Object. List of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
ClusterOrientations []OceanClusterOrientationArgs
DesiredCapacity int
The number of instances to launch and maintain in the cluster.
DrainingTimeout int
The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
EbsOptimized bool
Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
FallbackToOndemand bool
If no Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
Filters OceanFiltersArgs
IamInstanceProfile string
The instance profile iam role.
InstanceMetadataOptions OceanInstanceMetadataOptionsArgs
Ocean instance metadata options object for IMDSv2.
KeyPair string
The key pair to attach the instances.
Logging OceanLoggingArgs
Logging configuration.
MaxSize int
The upper limit of instances the cluster can scale up to.
MinSize int
The lower limit of instances the cluster can scale down to.
Monitoring bool
Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
Name string
The Ocean cluster name.
OptimizeImages OceanOptimizeImagesArgs
Object. Set auto image update settings.
ScheduledTasks []OceanScheduledTaskArgs
While used, you can control whether the group should perform a deployment after an update to the configuration.
SpotPercentage int
The percentage of Spot instances that would spin up from the desired_capacity number.
Tags []OceanTagArgs
Optionally adds tags to instances launched in an Ocean cluster.
UpdatePolicy OceanUpdatePolicyArgs
While used, you can control whether the group should perform a deployment after an update to the configuration.
UseAsTemplateOnly bool
launch specification defined on the Ocean object will function only as a template for virtual node groups.
UserData string
Base64-encoded MIME user data to make available to the instances.
UtilizeCommitments bool
If savings plans exist, Ocean will utilize them before launching Spot instances.
UtilizeReservedInstances bool
If Reserved instances exist, Ocean will utilize them before launching Spot instances.
Whitelists []string
clusterName This property is required. String
The name of the ECS cluster.
imageId This property is required. String
ID of the image used to launch the instances.
region This property is required. String
The region the cluster will run in.
securityGroupIds This property is required. List<String>
One or more security group ids.
subnetIds This property is required. List<String>
A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
associatePublicIpAddress Boolean
Configure public IP address allocation.
autoscaler OceanAutoscaler
Describes the Ocean ECS autoscaler.
blacklists List<String>
blockDeviceMappings List<OceanBlockDeviceMapping>
Object. List of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
clusterOrientations List<OceanClusterOrientation>
desiredCapacity Integer
The number of instances to launch and maintain in the cluster.
drainingTimeout Integer
The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
ebsOptimized Boolean
Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
fallbackToOndemand Boolean
If no Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
filters OceanFilters
iamInstanceProfile String
The instance profile iam role.
instanceMetadataOptions OceanInstanceMetadataOptions
Ocean instance metadata options object for IMDSv2.
keyPair String
The key pair to attach the instances.
logging OceanLogging
Logging configuration.
maxSize Integer
The upper limit of instances the cluster can scale up to.
minSize Integer
The lower limit of instances the cluster can scale down to.
monitoring Boolean
Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
name String
The Ocean cluster name.
optimizeImages OceanOptimizeImages
Object. Set auto image update settings.
scheduledTasks List<OceanScheduledTask>
While used, you can control whether the group should perform a deployment after an update to the configuration.
spotPercentage Integer
The percentage of Spot instances that would spin up from the desired_capacity number.
tags List<OceanTag>
Optionally adds tags to instances launched in an Ocean cluster.
updatePolicy OceanUpdatePolicy
While used, you can control whether the group should perform a deployment after an update to the configuration.
useAsTemplateOnly Boolean
launch specification defined on the Ocean object will function only as a template for virtual node groups.
userData String
Base64-encoded MIME user data to make available to the instances.
utilizeCommitments Boolean
If savings plans exist, Ocean will utilize them before launching Spot instances.
utilizeReservedInstances Boolean
If Reserved instances exist, Ocean will utilize them before launching Spot instances.
whitelists List<String>
clusterName This property is required. string
The name of the ECS cluster.
imageId This property is required. string
ID of the image used to launch the instances.
region This property is required. string
The region the cluster will run in.
securityGroupIds This property is required. string[]
One or more security group ids.
subnetIds This property is required. string[]
A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
associatePublicIpAddress boolean
Configure public IP address allocation.
autoscaler OceanAutoscaler
Describes the Ocean ECS autoscaler.
blacklists string[]
blockDeviceMappings OceanBlockDeviceMapping[]
Object. List of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
clusterOrientations OceanClusterOrientation[]
desiredCapacity number
The number of instances to launch and maintain in the cluster.
drainingTimeout number
The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
ebsOptimized boolean
Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
fallbackToOndemand boolean
If no Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
filters OceanFilters
iamInstanceProfile string
The instance profile iam role.
instanceMetadataOptions OceanInstanceMetadataOptions
Ocean instance metadata options object for IMDSv2.
keyPair string
The key pair to attach the instances.
logging OceanLogging
Logging configuration.
maxSize number
The upper limit of instances the cluster can scale up to.
minSize number
The lower limit of instances the cluster can scale down to.
monitoring boolean
Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
name string
The Ocean cluster name.
optimizeImages OceanOptimizeImages
Object. Set auto image update settings.
scheduledTasks OceanScheduledTask[]
While used, you can control whether the group should perform a deployment after an update to the configuration.
spotPercentage number
The percentage of Spot instances that would spin up from the desired_capacity number.
tags OceanTag[]
Optionally adds tags to instances launched in an Ocean cluster.
updatePolicy OceanUpdatePolicy
While used, you can control whether the group should perform a deployment after an update to the configuration.
useAsTemplateOnly boolean
launch specification defined on the Ocean object will function only as a template for virtual node groups.
userData string
Base64-encoded MIME user data to make available to the instances.
utilizeCommitments boolean
If savings plans exist, Ocean will utilize them before launching Spot instances.
utilizeReservedInstances boolean
If Reserved instances exist, Ocean will utilize them before launching Spot instances.
whitelists string[]
cluster_name This property is required. str
The name of the ECS cluster.
image_id This property is required. str
ID of the image used to launch the instances.
region This property is required. str
The region the cluster will run in.
security_group_ids This property is required. Sequence[str]
One or more security group ids.
subnet_ids This property is required. Sequence[str]
A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
associate_public_ip_address bool
Configure public IP address allocation.
autoscaler OceanAutoscalerArgs
Describes the Ocean ECS autoscaler.
blacklists Sequence[str]
block_device_mappings Sequence[OceanBlockDeviceMappingArgs]
Object. List of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
cluster_orientations Sequence[OceanClusterOrientationArgs]
desired_capacity int
The number of instances to launch and maintain in the cluster.
draining_timeout int
The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
ebs_optimized bool
Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
fallback_to_ondemand bool
If no Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
filters OceanFiltersArgs
iam_instance_profile str
The instance profile iam role.
instance_metadata_options OceanInstanceMetadataOptionsArgs
Ocean instance metadata options object for IMDSv2.
key_pair str
The key pair to attach the instances.
logging OceanLoggingArgs
Logging configuration.
max_size int
The upper limit of instances the cluster can scale up to.
min_size int
The lower limit of instances the cluster can scale down to.
monitoring bool
Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
name str
The Ocean cluster name.
optimize_images OceanOptimizeImagesArgs
Object. Set auto image update settings.
scheduled_tasks Sequence[OceanScheduledTaskArgs]
While used, you can control whether the group should perform a deployment after an update to the configuration.
spot_percentage int
The percentage of Spot instances that would spin up from the desired_capacity number.
tags Sequence[OceanTagArgs]
Optionally adds tags to instances launched in an Ocean cluster.
update_policy OceanUpdatePolicyArgs
While used, you can control whether the group should perform a deployment after an update to the configuration.
use_as_template_only bool
launch specification defined on the Ocean object will function only as a template for virtual node groups.
user_data str
Base64-encoded MIME user data to make available to the instances.
utilize_commitments bool
If savings plans exist, Ocean will utilize them before launching Spot instances.
utilize_reserved_instances bool
If Reserved instances exist, Ocean will utilize them before launching Spot instances.
whitelists Sequence[str]
clusterName This property is required. String
The name of the ECS cluster.
imageId This property is required. String
ID of the image used to launch the instances.
region This property is required. String
The region the cluster will run in.
securityGroupIds This property is required. List<String>
One or more security group ids.
subnetIds This property is required. List<String>
A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
associatePublicIpAddress Boolean
Configure public IP address allocation.
autoscaler Property Map
Describes the Ocean ECS autoscaler.
blacklists List<String>
blockDeviceMappings List<Property Map>
Object. List of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
clusterOrientations List<Property Map>
desiredCapacity Number
The number of instances to launch and maintain in the cluster.
drainingTimeout Number
The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
ebsOptimized Boolean
Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
fallbackToOndemand Boolean
If no Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
filters Property Map
iamInstanceProfile String
The instance profile iam role.
instanceMetadataOptions Property Map
Ocean instance metadata options object for IMDSv2.
keyPair String
The key pair to attach the instances.
logging Property Map
Logging configuration.
maxSize Number
The upper limit of instances the cluster can scale up to.
minSize Number
The lower limit of instances the cluster can scale down to.
monitoring Boolean
Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
name String
The Ocean cluster name.
optimizeImages Property Map
Object. Set auto image update settings.
scheduledTasks List<Property Map>
While used, you can control whether the group should perform a deployment after an update to the configuration.
spotPercentage Number
The percentage of Spot instances that would spin up from the desired_capacity number.
tags List<Property Map>
Optionally adds tags to instances launched in an Ocean cluster.
updatePolicy Property Map
While used, you can control whether the group should perform a deployment after an update to the configuration.
useAsTemplateOnly Boolean
launch specification defined on the Ocean object will function only as a template for virtual node groups.
userData String
Base64-encoded MIME user data to make available to the instances.
utilizeCommitments Boolean
If savings plans exist, Ocean will utilize them before launching Spot instances.
utilizeReservedInstances Boolean
If Reserved instances exist, Ocean will utilize them before launching Spot instances.
whitelists List<String>

Outputs

All input properties are implicitly available as output properties. Additionally, the Ocean 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 Ocean Resource

Get an existing Ocean 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?: OceanState, opts?: CustomResourceOptions): Ocean
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        associate_public_ip_address: Optional[bool] = None,
        autoscaler: Optional[OceanAutoscalerArgs] = None,
        blacklists: Optional[Sequence[str]] = None,
        block_device_mappings: Optional[Sequence[OceanBlockDeviceMappingArgs]] = None,
        cluster_name: Optional[str] = None,
        cluster_orientations: Optional[Sequence[OceanClusterOrientationArgs]] = None,
        desired_capacity: Optional[int] = None,
        draining_timeout: Optional[int] = None,
        ebs_optimized: Optional[bool] = None,
        fallback_to_ondemand: Optional[bool] = None,
        filters: Optional[OceanFiltersArgs] = None,
        iam_instance_profile: Optional[str] = None,
        image_id: Optional[str] = None,
        instance_metadata_options: Optional[OceanInstanceMetadataOptionsArgs] = None,
        key_pair: Optional[str] = None,
        logging: Optional[OceanLoggingArgs] = None,
        max_size: Optional[int] = None,
        min_size: Optional[int] = None,
        monitoring: Optional[bool] = None,
        name: Optional[str] = None,
        optimize_images: Optional[OceanOptimizeImagesArgs] = None,
        region: Optional[str] = None,
        scheduled_tasks: Optional[Sequence[OceanScheduledTaskArgs]] = None,
        security_group_ids: Optional[Sequence[str]] = None,
        spot_percentage: Optional[int] = None,
        subnet_ids: Optional[Sequence[str]] = None,
        tags: Optional[Sequence[OceanTagArgs]] = None,
        update_policy: Optional[OceanUpdatePolicyArgs] = None,
        use_as_template_only: Optional[bool] = None,
        user_data: Optional[str] = None,
        utilize_commitments: Optional[bool] = None,
        utilize_reserved_instances: Optional[bool] = None,
        whitelists: Optional[Sequence[str]] = None) -> Ocean
func GetOcean(ctx *Context, name string, id IDInput, state *OceanState, opts ...ResourceOption) (*Ocean, error)
public static Ocean Get(string name, Input<string> id, OceanState? state, CustomResourceOptions? opts = null)
public static Ocean get(String name, Output<String> id, OceanState state, CustomResourceOptions options)
resources:  _:    type: spotinst:ecs:Ocean    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.
Autoscaler Pulumi.SpotInst.Ecs.Inputs.OceanAutoscaler
Describes the Ocean ECS autoscaler.
Blacklists List<string>
BlockDeviceMappings List<Pulumi.SpotInst.Ecs.Inputs.OceanBlockDeviceMapping>
Object. List of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
ClusterName string
The name of the ECS cluster.
ClusterOrientations List<Pulumi.SpotInst.Ecs.Inputs.OceanClusterOrientation>
DesiredCapacity int
The number of instances to launch and maintain in the cluster.
DrainingTimeout int
The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
EbsOptimized bool
Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
FallbackToOndemand bool
If no Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
Filters Pulumi.SpotInst.Ecs.Inputs.OceanFilters
IamInstanceProfile string
The instance profile iam role.
ImageId string
ID of the image used to launch the instances.
InstanceMetadataOptions Pulumi.SpotInst.Ecs.Inputs.OceanInstanceMetadataOptions
Ocean instance metadata options object for IMDSv2.
KeyPair string
The key pair to attach the instances.
Logging Pulumi.SpotInst.Ecs.Inputs.OceanLogging
Logging configuration.
MaxSize int
The upper limit of instances the cluster can scale up to.
MinSize int
The lower limit of instances the cluster can scale down to.
Monitoring bool
Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
Name string
The Ocean cluster name.
OptimizeImages Pulumi.SpotInst.Ecs.Inputs.OceanOptimizeImages
Object. Set auto image update settings.
Region string
The region the cluster will run in.
ScheduledTasks List<Pulumi.SpotInst.Ecs.Inputs.OceanScheduledTask>
While used, you can control whether the group should perform a deployment after an update to the configuration.
SecurityGroupIds List<string>
One or more security group ids.
SpotPercentage int
The percentage of Spot instances that would spin up from the desired_capacity number.
SubnetIds List<string>
A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
Tags List<Pulumi.SpotInst.Ecs.Inputs.OceanTag>
Optionally adds tags to instances launched in an Ocean cluster.
UpdatePolicy Pulumi.SpotInst.Ecs.Inputs.OceanUpdatePolicy
While used, you can control whether the group should perform a deployment after an update to the configuration.
UseAsTemplateOnly bool
launch specification defined on the Ocean object will function only as a template for virtual node groups.
UserData string
Base64-encoded MIME user data to make available to the instances.
UtilizeCommitments bool
If savings plans exist, Ocean will utilize them before launching Spot instances.
UtilizeReservedInstances bool
If Reserved instances exist, Ocean will utilize them before launching Spot instances.
Whitelists List<string>
AssociatePublicIpAddress bool
Configure public IP address allocation.
Autoscaler OceanAutoscalerArgs
Describes the Ocean ECS autoscaler.
Blacklists []string
BlockDeviceMappings []OceanBlockDeviceMappingArgs
Object. List of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
ClusterName string
The name of the ECS cluster.
ClusterOrientations []OceanClusterOrientationArgs
DesiredCapacity int
The number of instances to launch and maintain in the cluster.
DrainingTimeout int
The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
EbsOptimized bool
Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
FallbackToOndemand bool
If no Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
Filters OceanFiltersArgs
IamInstanceProfile string
The instance profile iam role.
ImageId string
ID of the image used to launch the instances.
InstanceMetadataOptions OceanInstanceMetadataOptionsArgs
Ocean instance metadata options object for IMDSv2.
KeyPair string
The key pair to attach the instances.
Logging OceanLoggingArgs
Logging configuration.
MaxSize int
The upper limit of instances the cluster can scale up to.
MinSize int
The lower limit of instances the cluster can scale down to.
Monitoring bool
Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
Name string
The Ocean cluster name.
OptimizeImages OceanOptimizeImagesArgs
Object. Set auto image update settings.
Region string
The region the cluster will run in.
ScheduledTasks []OceanScheduledTaskArgs
While used, you can control whether the group should perform a deployment after an update to the configuration.
SecurityGroupIds []string
One or more security group ids.
SpotPercentage int
The percentage of Spot instances that would spin up from the desired_capacity number.
SubnetIds []string
A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
Tags []OceanTagArgs
Optionally adds tags to instances launched in an Ocean cluster.
UpdatePolicy OceanUpdatePolicyArgs
While used, you can control whether the group should perform a deployment after an update to the configuration.
UseAsTemplateOnly bool
launch specification defined on the Ocean object will function only as a template for virtual node groups.
UserData string
Base64-encoded MIME user data to make available to the instances.
UtilizeCommitments bool
If savings plans exist, Ocean will utilize them before launching Spot instances.
UtilizeReservedInstances bool
If Reserved instances exist, Ocean will utilize them before launching Spot instances.
Whitelists []string
associatePublicIpAddress Boolean
Configure public IP address allocation.
autoscaler OceanAutoscaler
Describes the Ocean ECS autoscaler.
blacklists List<String>
blockDeviceMappings List<OceanBlockDeviceMapping>
Object. List of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
clusterName String
The name of the ECS cluster.
clusterOrientations List<OceanClusterOrientation>
desiredCapacity Integer
The number of instances to launch and maintain in the cluster.
drainingTimeout Integer
The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
ebsOptimized Boolean
Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
fallbackToOndemand Boolean
If no Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
filters OceanFilters
iamInstanceProfile String
The instance profile iam role.
imageId String
ID of the image used to launch the instances.
instanceMetadataOptions OceanInstanceMetadataOptions
Ocean instance metadata options object for IMDSv2.
keyPair String
The key pair to attach the instances.
logging OceanLogging
Logging configuration.
maxSize Integer
The upper limit of instances the cluster can scale up to.
minSize Integer
The lower limit of instances the cluster can scale down to.
monitoring Boolean
Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
name String
The Ocean cluster name.
optimizeImages OceanOptimizeImages
Object. Set auto image update settings.
region String
The region the cluster will run in.
scheduledTasks List<OceanScheduledTask>
While used, you can control whether the group should perform a deployment after an update to the configuration.
securityGroupIds List<String>
One or more security group ids.
spotPercentage Integer
The percentage of Spot instances that would spin up from the desired_capacity number.
subnetIds List<String>
A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
tags List<OceanTag>
Optionally adds tags to instances launched in an Ocean cluster.
updatePolicy OceanUpdatePolicy
While used, you can control whether the group should perform a deployment after an update to the configuration.
useAsTemplateOnly Boolean
launch specification defined on the Ocean object will function only as a template for virtual node groups.
userData String
Base64-encoded MIME user data to make available to the instances.
utilizeCommitments Boolean
If savings plans exist, Ocean will utilize them before launching Spot instances.
utilizeReservedInstances Boolean
If Reserved instances exist, Ocean will utilize them before launching Spot instances.
whitelists List<String>
associatePublicIpAddress boolean
Configure public IP address allocation.
autoscaler OceanAutoscaler
Describes the Ocean ECS autoscaler.
blacklists string[]
blockDeviceMappings OceanBlockDeviceMapping[]
Object. List of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
clusterName string
The name of the ECS cluster.
clusterOrientations OceanClusterOrientation[]
desiredCapacity number
The number of instances to launch and maintain in the cluster.
drainingTimeout number
The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
ebsOptimized boolean
Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
fallbackToOndemand boolean
If no Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
filters OceanFilters
iamInstanceProfile string
The instance profile iam role.
imageId string
ID of the image used to launch the instances.
instanceMetadataOptions OceanInstanceMetadataOptions
Ocean instance metadata options object for IMDSv2.
keyPair string
The key pair to attach the instances.
logging OceanLogging
Logging configuration.
maxSize number
The upper limit of instances the cluster can scale up to.
minSize number
The lower limit of instances the cluster can scale down to.
monitoring boolean
Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
name string
The Ocean cluster name.
optimizeImages OceanOptimizeImages
Object. Set auto image update settings.
region string
The region the cluster will run in.
scheduledTasks OceanScheduledTask[]
While used, you can control whether the group should perform a deployment after an update to the configuration.
securityGroupIds string[]
One or more security group ids.
spotPercentage number
The percentage of Spot instances that would spin up from the desired_capacity number.
subnetIds string[]
A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
tags OceanTag[]
Optionally adds tags to instances launched in an Ocean cluster.
updatePolicy OceanUpdatePolicy
While used, you can control whether the group should perform a deployment after an update to the configuration.
useAsTemplateOnly boolean
launch specification defined on the Ocean object will function only as a template for virtual node groups.
userData string
Base64-encoded MIME user data to make available to the instances.
utilizeCommitments boolean
If savings plans exist, Ocean will utilize them before launching Spot instances.
utilizeReservedInstances boolean
If Reserved instances exist, Ocean will utilize them before launching Spot instances.
whitelists string[]
associate_public_ip_address bool
Configure public IP address allocation.
autoscaler OceanAutoscalerArgs
Describes the Ocean ECS autoscaler.
blacklists Sequence[str]
block_device_mappings Sequence[OceanBlockDeviceMappingArgs]
Object. List of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
cluster_name str
The name of the ECS cluster.
cluster_orientations Sequence[OceanClusterOrientationArgs]
desired_capacity int
The number of instances to launch and maintain in the cluster.
draining_timeout int
The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
ebs_optimized bool
Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
fallback_to_ondemand bool
If no Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
filters OceanFiltersArgs
iam_instance_profile str
The instance profile iam role.
image_id str
ID of the image used to launch the instances.
instance_metadata_options OceanInstanceMetadataOptionsArgs
Ocean instance metadata options object for IMDSv2.
key_pair str
The key pair to attach the instances.
logging OceanLoggingArgs
Logging configuration.
max_size int
The upper limit of instances the cluster can scale up to.
min_size int
The lower limit of instances the cluster can scale down to.
monitoring bool
Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
name str
The Ocean cluster name.
optimize_images OceanOptimizeImagesArgs
Object. Set auto image update settings.
region str
The region the cluster will run in.
scheduled_tasks Sequence[OceanScheduledTaskArgs]
While used, you can control whether the group should perform a deployment after an update to the configuration.
security_group_ids Sequence[str]
One or more security group ids.
spot_percentage int
The percentage of Spot instances that would spin up from the desired_capacity number.
subnet_ids Sequence[str]
A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
tags Sequence[OceanTagArgs]
Optionally adds tags to instances launched in an Ocean cluster.
update_policy OceanUpdatePolicyArgs
While used, you can control whether the group should perform a deployment after an update to the configuration.
use_as_template_only bool
launch specification defined on the Ocean object will function only as a template for virtual node groups.
user_data str
Base64-encoded MIME user data to make available to the instances.
utilize_commitments bool
If savings plans exist, Ocean will utilize them before launching Spot instances.
utilize_reserved_instances bool
If Reserved instances exist, Ocean will utilize them before launching Spot instances.
whitelists Sequence[str]
associatePublicIpAddress Boolean
Configure public IP address allocation.
autoscaler Property Map
Describes the Ocean ECS autoscaler.
blacklists List<String>
blockDeviceMappings List<Property Map>
Object. List of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
clusterName String
The name of the ECS cluster.
clusterOrientations List<Property Map>
desiredCapacity Number
The number of instances to launch and maintain in the cluster.
drainingTimeout Number
The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
ebsOptimized Boolean
Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
fallbackToOndemand Boolean
If no Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
filters Property Map
iamInstanceProfile String
The instance profile iam role.
imageId String
ID of the image used to launch the instances.
instanceMetadataOptions Property Map
Ocean instance metadata options object for IMDSv2.
keyPair String
The key pair to attach the instances.
logging Property Map
Logging configuration.
maxSize Number
The upper limit of instances the cluster can scale up to.
minSize Number
The lower limit of instances the cluster can scale down to.
monitoring Boolean
Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
name String
The Ocean cluster name.
optimizeImages Property Map
Object. Set auto image update settings.
region String
The region the cluster will run in.
scheduledTasks List<Property Map>
While used, you can control whether the group should perform a deployment after an update to the configuration.
securityGroupIds List<String>
One or more security group ids.
spotPercentage Number
The percentage of Spot instances that would spin up from the desired_capacity number.
subnetIds List<String>
A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
tags List<Property Map>
Optionally adds tags to instances launched in an Ocean cluster.
updatePolicy Property Map
While used, you can control whether the group should perform a deployment after an update to the configuration.
useAsTemplateOnly Boolean
launch specification defined on the Ocean object will function only as a template for virtual node groups.
userData String
Base64-encoded MIME user data to make available to the instances.
utilizeCommitments Boolean
If savings plans exist, Ocean will utilize them before launching Spot instances.
utilizeReservedInstances Boolean
If Reserved instances exist, Ocean will utilize them before launching Spot instances.
whitelists List<String>

Supporting Types

OceanAutoscaler
, OceanAutoscalerArgs

AutoHeadroomPercentage int
The auto-headroom percentage. Set a number between 0-200 to control the headroom % of the cluster. Relevant when isAutoConfig= true.
Cooldown int
Cooldown period between scaling actions.
Down Pulumi.SpotInst.Ecs.Inputs.OceanAutoscalerDown
Auto Scaling scale down operations.
EnableAutomaticAndManualHeadroom bool
When set to true, both automatic and per custom launch specification manual headroom to be saved concurrently and independently in the cluster. prerequisite: isAutoConfig must be true
Headroom Pulumi.SpotInst.Ecs.Inputs.OceanAutoscalerHeadroom
Spare resource capacity management enabling fast assignment of tasks without waiting for new resources to launch.
IsAutoConfig bool
Automatically configure and optimize headroom resources.
IsEnabled bool
Enable the Ocean ECS autoscaler.
ResourceLimits Pulumi.SpotInst.Ecs.Inputs.OceanAutoscalerResourceLimits
Optionally set upper and lower bounds on the resource usage of the cluster.
ShouldScaleDownNonServiceTasks bool
Option to scale down non-service tasks. If not set, Ocean does not scale down standalone tasks.
AutoHeadroomPercentage int
The auto-headroom percentage. Set a number between 0-200 to control the headroom % of the cluster. Relevant when isAutoConfig= true.
Cooldown int
Cooldown period between scaling actions.
Down OceanAutoscalerDown
Auto Scaling scale down operations.
EnableAutomaticAndManualHeadroom bool
When set to true, both automatic and per custom launch specification manual headroom to be saved concurrently and independently in the cluster. prerequisite: isAutoConfig must be true
Headroom OceanAutoscalerHeadroom
Spare resource capacity management enabling fast assignment of tasks without waiting for new resources to launch.
IsAutoConfig bool
Automatically configure and optimize headroom resources.
IsEnabled bool
Enable the Ocean ECS autoscaler.
ResourceLimits OceanAutoscalerResourceLimits
Optionally set upper and lower bounds on the resource usage of the cluster.
ShouldScaleDownNonServiceTasks bool
Option to scale down non-service tasks. If not set, Ocean does not scale down standalone tasks.
autoHeadroomPercentage Integer
The auto-headroom percentage. Set a number between 0-200 to control the headroom % of the cluster. Relevant when isAutoConfig= true.
cooldown Integer
Cooldown period between scaling actions.
down OceanAutoscalerDown
Auto Scaling scale down operations.
enableAutomaticAndManualHeadroom Boolean
When set to true, both automatic and per custom launch specification manual headroom to be saved concurrently and independently in the cluster. prerequisite: isAutoConfig must be true
headroom OceanAutoscalerHeadroom
Spare resource capacity management enabling fast assignment of tasks without waiting for new resources to launch.
isAutoConfig Boolean
Automatically configure and optimize headroom resources.
isEnabled Boolean
Enable the Ocean ECS autoscaler.
resourceLimits OceanAutoscalerResourceLimits
Optionally set upper and lower bounds on the resource usage of the cluster.
shouldScaleDownNonServiceTasks Boolean
Option to scale down non-service tasks. If not set, Ocean does not scale down standalone tasks.
autoHeadroomPercentage number
The auto-headroom percentage. Set a number between 0-200 to control the headroom % of the cluster. Relevant when isAutoConfig= true.
cooldown number
Cooldown period between scaling actions.
down OceanAutoscalerDown
Auto Scaling scale down operations.
enableAutomaticAndManualHeadroom boolean
When set to true, both automatic and per custom launch specification manual headroom to be saved concurrently and independently in the cluster. prerequisite: isAutoConfig must be true
headroom OceanAutoscalerHeadroom
Spare resource capacity management enabling fast assignment of tasks without waiting for new resources to launch.
isAutoConfig boolean
Automatically configure and optimize headroom resources.
isEnabled boolean
Enable the Ocean ECS autoscaler.
resourceLimits OceanAutoscalerResourceLimits
Optionally set upper and lower bounds on the resource usage of the cluster.
shouldScaleDownNonServiceTasks boolean
Option to scale down non-service tasks. If not set, Ocean does not scale down standalone tasks.
auto_headroom_percentage int
The auto-headroom percentage. Set a number between 0-200 to control the headroom % of the cluster. Relevant when isAutoConfig= true.
cooldown int
Cooldown period between scaling actions.
down OceanAutoscalerDown
Auto Scaling scale down operations.
enable_automatic_and_manual_headroom bool
When set to true, both automatic and per custom launch specification manual headroom to be saved concurrently and independently in the cluster. prerequisite: isAutoConfig must be true
headroom OceanAutoscalerHeadroom
Spare resource capacity management enabling fast assignment of tasks without waiting for new resources to launch.
is_auto_config bool
Automatically configure and optimize headroom resources.
is_enabled bool
Enable the Ocean ECS autoscaler.
resource_limits OceanAutoscalerResourceLimits
Optionally set upper and lower bounds on the resource usage of the cluster.
should_scale_down_non_service_tasks bool
Option to scale down non-service tasks. If not set, Ocean does not scale down standalone tasks.
autoHeadroomPercentage Number
The auto-headroom percentage. Set a number between 0-200 to control the headroom % of the cluster. Relevant when isAutoConfig= true.
cooldown Number
Cooldown period between scaling actions.
down Property Map
Auto Scaling scale down operations.
enableAutomaticAndManualHeadroom Boolean
When set to true, both automatic and per custom launch specification manual headroom to be saved concurrently and independently in the cluster. prerequisite: isAutoConfig must be true
headroom Property Map
Spare resource capacity management enabling fast assignment of tasks without waiting for new resources to launch.
isAutoConfig Boolean
Automatically configure and optimize headroom resources.
isEnabled Boolean
Enable the Ocean ECS autoscaler.
resourceLimits Property Map
Optionally set upper and lower bounds on the resource usage of the cluster.
shouldScaleDownNonServiceTasks Boolean
Option to scale down non-service tasks. If not set, Ocean does not scale down standalone tasks.

OceanAutoscalerDown
, OceanAutoscalerDownArgs

MaxScaleDownPercentage double
Would represent the maximum % to scale-down. Number between 1-100.
MaxScaleDownPercentage float64
Would represent the maximum % to scale-down. Number between 1-100.
maxScaleDownPercentage Double
Would represent the maximum % to scale-down. Number between 1-100.
maxScaleDownPercentage number
Would represent the maximum % to scale-down. Number between 1-100.
max_scale_down_percentage float
Would represent the maximum % to scale-down. Number between 1-100.
maxScaleDownPercentage Number
Would represent the maximum % to scale-down. Number between 1-100.

OceanAutoscalerHeadroom
, OceanAutoscalerHeadroomArgs

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

OceanAutoscalerResourceLimits
, OceanAutoscalerResourceLimitsArgs

MaxMemoryGib int
The maximum memory in GiB units that can be allocated to the cluster.
MaxVcpu int
The maximum cpu in vCPU units that can be allocated to the cluster.
MaxMemoryGib int
The maximum memory in GiB units that can be allocated to the cluster.
MaxVcpu int
The maximum cpu in vCPU units that can be allocated to the cluster.
maxMemoryGib Integer
The maximum memory in GiB units that can be allocated to the cluster.
maxVcpu Integer
The maximum cpu in vCPU units that can be allocated to the cluster.
maxMemoryGib number
The maximum memory in GiB units that can be allocated to the cluster.
maxVcpu number
The maximum cpu in vCPU units that can be allocated to the cluster.
max_memory_gib int
The maximum memory in GiB units that can be allocated to the cluster.
max_vcpu int
The maximum cpu in vCPU units that can be allocated to the cluster.
maxMemoryGib Number
The maximum memory in GiB units that can be allocated to the cluster.
maxVcpu Number
The maximum cpu in vCPU units that can be allocated to the cluster.

OceanBlockDeviceMapping
, OceanBlockDeviceMappingArgs

DeviceName This property is required. string
String. Set device name. Example: /dev/xvda1.
Ebs Pulumi.SpotInst.Ecs.Inputs.OceanBlockDeviceMappingEbs
Object. Set Elastic Block Store properties.
NoDevice string
String. Suppresses the specified device included in the block device mapping of the AMI.
VirtualName string
DeviceName This property is required. string
String. Set device name. Example: /dev/xvda1.
Ebs OceanBlockDeviceMappingEbs
Object. Set Elastic Block Store properties.
NoDevice string
String. Suppresses the specified device included in the block device mapping of the AMI.
VirtualName string
deviceName This property is required. String
String. Set device name. Example: /dev/xvda1.
ebs OceanBlockDeviceMappingEbs
Object. Set Elastic Block Store properties.
noDevice String
String. Suppresses the specified device included in the block device mapping of the AMI.
virtualName String
deviceName This property is required. string
String. Set device name. Example: /dev/xvda1.
ebs OceanBlockDeviceMappingEbs
Object. Set Elastic Block Store properties.
noDevice string
String. Suppresses the specified device included in the block device mapping of the AMI.
virtualName string
device_name This property is required. str
String. Set device name. Example: /dev/xvda1.
ebs OceanBlockDeviceMappingEbs
Object. Set Elastic Block Store properties.
no_device str
String. Suppresses the specified device included in the block device mapping of the AMI.
virtual_name str
deviceName This property is required. String
String. Set device name. Example: /dev/xvda1.
ebs Property Map
Object. Set Elastic Block Store properties.
noDevice String
String. Suppresses the specified device included in the block device mapping of the AMI.
virtualName String

OceanBlockDeviceMappingEbs
, OceanBlockDeviceMappingEbsArgs

DeleteOnTermination bool
Boolean. Toggles EBS deletion upon instance termination.
DynamicVolumeSize Pulumi.SpotInst.Ecs.Inputs.OceanBlockDeviceMappingEbsDynamicVolumeSize
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. Toggles EBS deletion upon instance termination.
DynamicVolumeSize OceanBlockDeviceMappingEbsDynamicVolumeSize
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. Toggles EBS deletion upon instance termination.
dynamicVolumeSize OceanBlockDeviceMappingEbsDynamicVolumeSize
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. Toggles EBS deletion upon instance termination.
dynamicVolumeSize OceanBlockDeviceMappingEbsDynamicVolumeSize
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. Toggles EBS deletion upon instance termination.
dynamic_volume_size OceanBlockDeviceMappingEbsDynamicVolumeSize
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. Toggles EBS deletion upon 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.

OceanBlockDeviceMappingEbsDynamicVolumeSize
, OceanBlockDeviceMappingEbsDynamicVolumeSizeArgs

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: When the baseSize=50, sizePerResourceUnit=20, and instance with two CPUs 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: When the baseSize=50, sizePerResourceUnit=20, and instance with two CPUs 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: When the baseSize=50, sizePerResourceUnit=20, and instance with two CPUs 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: When the baseSize=50, sizePerResourceUnit=20, and instance with two CPUs 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: When the baseSize=50, sizePerResourceUnit=20, and instance with two CPUs 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: When the baseSize=50, sizePerResourceUnit=20, and instance with two CPUs is launched, its total disk size will be: 90GB.

OceanClusterOrientation
, OceanClusterOrientationArgs

AvailabilityVsCost string
You can control the approach that Ocean takes while launching nodes by configuring this value. Possible values: costOriented,balanced,cheapest.
AvailabilityVsCost string
You can control the approach that Ocean takes while launching nodes by configuring this value. Possible values: costOriented,balanced,cheapest.
availabilityVsCost String
You can control the approach that Ocean takes while launching nodes by configuring this value. Possible values: costOriented,balanced,cheapest.
availabilityVsCost string
You can control the approach that Ocean takes while launching nodes by configuring this value. Possible values: costOriented,balanced,cheapest.
availability_vs_cost str
You can control the approach that Ocean takes while launching nodes by configuring this value. Possible values: costOriented,balanced,cheapest.
availabilityVsCost String
You can control the approach that Ocean takes while launching nodes by configuring this value. Possible values: costOriented,balanced,cheapest.

OceanFilters
, OceanFiltersArgs

Architectures List<string>
The filtered instance types will support at least one of the architectures from this list.
Categories List<string>
The filtered instance types will belong to one of the categories types from this list.
DiskTypes List<string>
The filtered instance types will have one of the disk type from this list.
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.
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
MaxNetworkPerformance int
Maximum Bandwidth in Gib/s of network performance.
MaxVcpu int
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.
VirtualizationTypes List<string>
The filtered instance types will support at least one of the virtualization types from this list.
Architectures []string
The filtered instance types will support at least one of the architectures from this list.
Categories []string
The filtered instance types will belong to one of the categories types from this list.
DiskTypes []string
The filtered instance types will have one of the disk type from this list.
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.
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
MaxNetworkPerformance int
Maximum Bandwidth in Gib/s of network performance.
MaxVcpu int
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.
VirtualizationTypes []string
The filtered instance types will support at least one of the virtualization types from this list.
architectures List<String>
The filtered instance types will support at least one of the architectures from this list.
categories List<String>
The filtered instance types will belong to one of the categories types from this list.
diskTypes List<String>
The filtered instance types will have one of the disk type from this list.
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.
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
maxNetworkPerformance Integer
Maximum Bandwidth in Gib/s of network performance.
maxVcpu Integer
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.
virtualizationTypes List<String>
The filtered instance types will support at least one of the virtualization types from this list.
architectures string[]
The filtered instance types will support at least one of the architectures from this list.
categories string[]
The filtered instance types will belong to one of the categories types from this list.
diskTypes string[]
The filtered instance types will have one of the disk type from this list.
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.
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
maxNetworkPerformance number
Maximum Bandwidth in Gib/s of network performance.
maxVcpu number
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.
virtualizationTypes string[]
The filtered instance types will support at least one of the virtualization types from this list.
architectures Sequence[str]
The filtered instance types will support at least one of the architectures from this list.
categories Sequence[str]
The filtered instance types will belong to one of the categories types from this list.
disk_types Sequence[str]
The filtered instance types will have one of the disk type from this list.
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.
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
max_network_performance int
Maximum Bandwidth in Gib/s of network performance.
max_vcpu int
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.
virtualization_types Sequence[str]
The filtered instance types will support at least one of the virtualization types from this list.
architectures List<String>
The filtered instance types will support at least one of the architectures from this list.
categories List<String>
The filtered instance types will belong to one of the categories types from this list.
diskTypes List<String>
The filtered instance types will have one of the disk type from this list.
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.
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
maxNetworkPerformance Number
Maximum Bandwidth in Gib/s of network performance.
maxVcpu Number
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.
virtualizationTypes List<String>
The filtered instance types will support at least one of the virtualization types from this list.

OceanInstanceMetadataOptions
, OceanInstanceMetadataOptionsArgs

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.

OceanLogging
, OceanLoggingArgs

Export OceanLoggingExport
Logging Export configuration.
export OceanLoggingExport
Logging Export configuration.
export OceanLoggingExport
Logging Export configuration.
export OceanLoggingExport
Logging Export configuration.
export Property Map
Logging Export configuration.

OceanLoggingExport
, OceanLoggingExportArgs

S3s List<Pulumi.SpotInst.Ecs.Inputs.OceanLoggingExportS3>
Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given.
S3s []OceanLoggingExportS3
Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given.
s3s List<OceanLoggingExportS3>
Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given.
s3s OceanLoggingExportS3[]
Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given.
s3s Sequence[OceanLoggingExportS3]
Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given.
s3s List<Property Map>
Exports your cluster's logs to the S3 bucket and subdir configured on the S3 data integration given.

OceanLoggingExportS3
, OceanLoggingExportS3Args

Id This property is required. string
The identifier of The S3 data integration to export the logs to.
Id This property is required. string
The identifier of The S3 data integration to export the logs to.
id This property is required. String
The identifier of The S3 data integration to export the logs to.
id This property is required. string
The identifier of The S3 data integration to export the logs to.
id This property is required. str
The identifier of The S3 data integration to export the logs to.
id This property is required. String
The identifier of The S3 data integration to export the logs to.

OceanOptimizeImages
, OceanOptimizeImagesArgs

PerformAt This property is required. string
String. Valid values: "always" "never" "timeWindow".
ShouldOptimizeEcsAmi This property is required. bool
Boolean. Enable auto image (AMI) update for the ECS container instances. The auto update applies for ECS-Optimized AMIs.
TimeWindows List<string>
Array of strings. Set time windows for image update, at least one time window. Each string is in the format of ddd:hh:mm-ddd:hh:mm ddd. Time windows should not overlap.
PerformAt This property is required. string
String. Valid values: "always" "never" "timeWindow".
ShouldOptimizeEcsAmi This property is required. bool
Boolean. Enable auto image (AMI) update for the ECS container instances. The auto update applies for ECS-Optimized AMIs.
TimeWindows []string
Array of strings. Set time windows for image update, at least one time window. Each string is in the format of ddd:hh:mm-ddd:hh:mm ddd. Time windows should not overlap.
performAt This property is required. String
String. Valid values: "always" "never" "timeWindow".
shouldOptimizeEcsAmi This property is required. Boolean
Boolean. Enable auto image (AMI) update for the ECS container instances. The auto update applies for ECS-Optimized AMIs.
timeWindows List<String>
Array of strings. Set time windows for image update, at least one time window. Each string is in the format of ddd:hh:mm-ddd:hh:mm ddd. Time windows should not overlap.
performAt This property is required. string
String. Valid values: "always" "never" "timeWindow".
shouldOptimizeEcsAmi This property is required. boolean
Boolean. Enable auto image (AMI) update for the ECS container instances. The auto update applies for ECS-Optimized AMIs.
timeWindows string[]
Array of strings. Set time windows for image update, at least one time window. Each string is in the format of ddd:hh:mm-ddd:hh:mm ddd. Time windows should not overlap.
perform_at This property is required. str
String. Valid values: "always" "never" "timeWindow".
should_optimize_ecs_ami This property is required. bool
Boolean. Enable auto image (AMI) update for the ECS container instances. The auto update applies for ECS-Optimized AMIs.
time_windows Sequence[str]
Array of strings. Set time windows for image update, at least one time window. Each string is in the format of ddd:hh:mm-ddd:hh:mm ddd. Time windows should not overlap.
performAt This property is required. String
String. Valid values: "always" "never" "timeWindow".
shouldOptimizeEcsAmi This property is required. Boolean
Boolean. Enable auto image (AMI) update for the ECS container instances. The auto update applies for ECS-Optimized AMIs.
timeWindows List<String>
Array of strings. Set time windows for image update, at least one time window. Each string is in the format of ddd:hh:mm-ddd:hh:mm ddd. Time windows should not overlap.

OceanScheduledTask
, OceanScheduledTaskArgs

ShutdownHours OceanScheduledTaskShutdownHours
Set shutdown hours for cluster object.
Tasks []OceanScheduledTaskTask
The scheduling tasks for the cluster.
shutdownHours OceanScheduledTaskShutdownHours
Set shutdown hours for cluster object.
tasks List<OceanScheduledTaskTask>
The scheduling tasks for the cluster.
shutdownHours OceanScheduledTaskShutdownHours
Set shutdown hours for cluster object.
tasks OceanScheduledTaskTask[]
The scheduling tasks for the cluster.
shutdown_hours OceanScheduledTaskShutdownHours
Set shutdown hours for cluster object.
tasks Sequence[OceanScheduledTaskTask]
The scheduling tasks for the cluster.
shutdownHours Property Map
Set shutdown hours for cluster object.
tasks List<Property Map>
The scheduling tasks for the cluster.

OceanScheduledTaskShutdownHours
, OceanScheduledTaskShutdownHoursArgs

TimeWindows This property is required. List<string>
Set time windows for shutdown hours. Specify a list of timeWindows with at least one time window Each string is in the format of ddd:hh:mm-ddd:hh:mm (ddd = day of week = Sun | Mon | Tue | Wed | Thu | Fri | Sat hh = hour 24 = 0 -23 mm = minute = 0 - 59). Time windows should not overlap. Required when cluster.scheduling.isEnabled is true. API Times are in UTC. Example: Fri:15:30-Wed:14:30.
IsEnabled bool
Flag to enable / disable the shutdown hours.
TimeWindows This property is required. []string
Set time windows for shutdown hours. Specify a list of timeWindows with at least one time window Each string is in the format of ddd:hh:mm-ddd:hh:mm (ddd = day of week = Sun | Mon | Tue | Wed | Thu | Fri | Sat hh = hour 24 = 0 -23 mm = minute = 0 - 59). Time windows should not overlap. Required when cluster.scheduling.isEnabled is true. API Times are in UTC. Example: Fri:15:30-Wed:14:30.
IsEnabled bool
Flag to enable / disable the shutdown hours.
timeWindows This property is required. List<String>
Set time windows for shutdown hours. Specify a list of timeWindows with at least one time window Each string is in the format of ddd:hh:mm-ddd:hh:mm (ddd = day of week = Sun | Mon | Tue | Wed | Thu | Fri | Sat hh = hour 24 = 0 -23 mm = minute = 0 - 59). Time windows should not overlap. Required when cluster.scheduling.isEnabled is true. API Times are in UTC. Example: Fri:15:30-Wed:14:30.
isEnabled Boolean
Flag to enable / disable the shutdown hours.
timeWindows This property is required. string[]
Set time windows for shutdown hours. Specify a list of timeWindows with at least one time window Each string is in the format of ddd:hh:mm-ddd:hh:mm (ddd = day of week = Sun | Mon | Tue | Wed | Thu | Fri | Sat hh = hour 24 = 0 -23 mm = minute = 0 - 59). Time windows should not overlap. Required when cluster.scheduling.isEnabled is true. API Times are in UTC. Example: Fri:15:30-Wed:14:30.
isEnabled boolean
Flag to enable / disable the shutdown hours.
time_windows This property is required. Sequence[str]
Set time windows for shutdown hours. Specify a list of timeWindows with at least one time window Each string is in the format of ddd:hh:mm-ddd:hh:mm (ddd = day of week = Sun | Mon | Tue | Wed | Thu | Fri | Sat hh = hour 24 = 0 -23 mm = minute = 0 - 59). Time windows should not overlap. Required when cluster.scheduling.isEnabled is true. API Times are in UTC. Example: Fri:15:30-Wed:14:30.
is_enabled bool
Flag to enable / disable the shutdown hours.
timeWindows This property is required. List<String>
Set time windows for shutdown hours. Specify a list of timeWindows with at least one time window Each string is in the format of ddd:hh:mm-ddd:hh:mm (ddd = day of week = Sun | Mon | Tue | Wed | Thu | Fri | Sat hh = hour 24 = 0 -23 mm = minute = 0 - 59). Time windows should not overlap. Required when cluster.scheduling.isEnabled is true. API Times are in UTC. Example: Fri:15:30-Wed:14:30.
isEnabled Boolean
Flag to enable / disable the shutdown hours.

OceanScheduledTaskTask
, OceanScheduledTaskTaskArgs

CronExpression This property is required. string
A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of frequency or cronExpression should be used at a time. Required for cluster.scheduling.tasks object. Example: 0 1 * * *.
IsEnabled This property is required. bool
Describes whether the task is enabled. When true the task should run when false it should not run. Required for cluster.scheduling.tasks object.
TaskType This property is required. string
Valid values: "clusterRoll". Required for cluster.scheduling.tasks object. Example: clusterRoll.
CronExpression This property is required. string
A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of frequency or cronExpression should be used at a time. Required for cluster.scheduling.tasks object. Example: 0 1 * * *.
IsEnabled This property is required. bool
Describes whether the task is enabled. When true the task should run when false it should not run. Required for cluster.scheduling.tasks object.
TaskType This property is required. string
Valid values: "clusterRoll". Required for cluster.scheduling.tasks object. Example: clusterRoll.
cronExpression This property is required. String
A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of frequency or cronExpression should be used at a time. Required for cluster.scheduling.tasks object. Example: 0 1 * * *.
isEnabled This property is required. Boolean
Describes whether the task is enabled. When true the task should run when false it should not run. Required for cluster.scheduling.tasks object.
taskType This property is required. String
Valid values: "clusterRoll". Required for cluster.scheduling.tasks object. Example: clusterRoll.
cronExpression This property is required. string
A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of frequency or cronExpression should be used at a time. Required for cluster.scheduling.tasks object. Example: 0 1 * * *.
isEnabled This property is required. boolean
Describes whether the task is enabled. When true the task should run when false it should not run. Required for cluster.scheduling.tasks object.
taskType This property is required. string
Valid values: "clusterRoll". Required for cluster.scheduling.tasks object. Example: clusterRoll.
cron_expression This property is required. str
A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of frequency or cronExpression should be used at a time. Required for cluster.scheduling.tasks object. Example: 0 1 * * *.
is_enabled This property is required. bool
Describes whether the task is enabled. When true the task should run when false it should not run. Required for cluster.scheduling.tasks object.
task_type This property is required. str
Valid values: "clusterRoll". Required for cluster.scheduling.tasks object. Example: clusterRoll.
cronExpression This property is required. String
A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of frequency or cronExpression should be used at a time. Required for cluster.scheduling.tasks object. Example: 0 1 * * *.
isEnabled This property is required. Boolean
Describes whether the task is enabled. When true the task should run when false it should not run. Required for cluster.scheduling.tasks object.
taskType This property is required. String
Valid values: "clusterRoll". Required for cluster.scheduling.tasks object. Example: clusterRoll.

OceanTag
, OceanTagArgs

Key This property is required. string
The tag key.
Value This property is required. string
The tag value.

  • instanceTypes - (Optional) The type of instances that may or may not be a part of the Ocean cluster.
Key This property is required. string
The tag key.
Value This property is required. string
The tag value.

  • instanceTypes - (Optional) The type of instances that may or may not be a part of the Ocean cluster.
key This property is required. String
The tag key.
value This property is required. String
The tag value.

  • instanceTypes - (Optional) The type of instances that may or may not be a part of the Ocean cluster.
key This property is required. string
The tag key.
value This property is required. string
The tag value.

  • instanceTypes - (Optional) The type of instances that may or may not be a part of the Ocean cluster.
key This property is required. str
The tag key.
value This property is required. str
The tag value.

  • instanceTypes - (Optional) The type of instances that may or may not be a part of the Ocean cluster.
key This property is required. String
The tag key.
value This property is required. String
The tag value.

  • instanceTypes - (Optional) The type of instances that may or may not be a part of the Ocean cluster.

OceanUpdatePolicy
, OceanUpdatePolicyArgs

ShouldRoll This property is required. bool
Enables the roll.
AutoApplyTags bool
will update instance tags on the fly without rolling the cluster.
ConditionedRoll bool
Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as AMI, Key Pair, user data, instance types, load balancers, etc).
RollConfig Pulumi.SpotInst.Ecs.Inputs.OceanUpdatePolicyRollConfig
ShouldRoll This property is required. bool
Enables the roll.
AutoApplyTags bool
will update instance tags on the fly without rolling the cluster.
ConditionedRoll bool
Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as AMI, Key Pair, user data, instance types, load balancers, etc).
RollConfig OceanUpdatePolicyRollConfig
shouldRoll This property is required. Boolean
Enables the roll.
autoApplyTags Boolean
will update instance tags on the fly without rolling the cluster.
conditionedRoll Boolean
Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as AMI, Key Pair, user data, instance types, load balancers, etc).
rollConfig OceanUpdatePolicyRollConfig
shouldRoll This property is required. boolean
Enables the roll.
autoApplyTags boolean
will update instance tags on the fly without rolling the cluster.
conditionedRoll boolean
Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as AMI, Key Pair, user data, instance types, load balancers, etc).
rollConfig OceanUpdatePolicyRollConfig
should_roll This property is required. bool
Enables the roll.
auto_apply_tags bool
will update instance tags on the fly without rolling the cluster.
conditioned_roll bool
Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as AMI, Key Pair, user data, instance types, load balancers, etc).
roll_config OceanUpdatePolicyRollConfig
shouldRoll This property is required. Boolean
Enables the roll.
autoApplyTags Boolean
will update instance tags on the fly without rolling the cluster.
conditionedRoll Boolean
Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as AMI, Key Pair, user data, instance types, load balancers, etc).
rollConfig Property Map

OceanUpdatePolicyRollConfig
, OceanUpdatePolicyRollConfigArgs

BatchSizePercentage This property is required. int
Sets the percentage of the instances to deploy in each batch.
BatchMinHealthyPercentage int
Default: 50. Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
BatchSizePercentage This property is required. int
Sets the percentage of the instances to deploy in each batch.
BatchMinHealthyPercentage int
Default: 50. Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
batchSizePercentage This property is required. Integer
Sets the percentage of the instances to deploy in each batch.
batchMinHealthyPercentage Integer
Default: 50. Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
batchSizePercentage This property is required. number
Sets the percentage of the instances to deploy in each batch.
batchMinHealthyPercentage number
Default: 50. Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
batch_size_percentage This property is required. int
Sets the percentage of the instances to deploy in each batch.
batch_min_healthy_percentage int
Default: 50. Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
batchSizePercentage This property is required. Number
Sets the percentage of the instances to deploy in each batch.
batchMinHealthyPercentage Number
Default: 50. Indicates the threshold of minimum healthy instances in single batch. If the amount of healthy instances in single batch is under the threshold, the cluster roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.

Import

Clusters can be imported using the Ocean id, e.g.,

hcl

$ pulumi import spotinst:ecs/ocean:Ocean nameOfTheResource o-12345678
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.