1. Packages
  2. Spotinst
  3. API Docs
  4. ecs
  5. Ocean
Spotinst v3.76.0 published on Wednesday, Apr 24, 2024 by Pulumi

spotinst.ecs.Ocean

Explore with Pulumi AI

spotinst logo
Spotinst v3.76.0 published on Wednesday, Apr 24, 2024 by Pulumi

    Manages a Spotinst Ocean ECS resource.

    Example Usage

    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spotinst.ecs.Ocean;
    import com.pulumi.spotinst.ecs.OceanArgs;
    import com.pulumi.spotinst.ecs.inputs.OceanClusterOrientationArgs;
    import com.pulumi.spotinst.ecs.inputs.OceanInstanceMetadataOptionsArgs;
    import com.pulumi.spotinst.ecs.inputs.OceanBlockDeviceMappingArgs;
    import com.pulumi.spotinst.ecs.inputs.OceanBlockDeviceMappingEbsArgs;
    import com.pulumi.spotinst.ecs.inputs.OceanBlockDeviceMappingEbsDynamicVolumeSizeArgs;
    import com.pulumi.spotinst.ecs.inputs.OceanOptimizeImagesArgs;
    import com.pulumi.spotinst.ecs.inputs.OceanTagArgs;
    import com.pulumi.spotinst.ecs.inputs.OceanLoggingArgs;
    import com.pulumi.spotinst.ecs.inputs.OceanLoggingExportArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new Ocean("example", OceanArgs.builder()        
                .region("us-west-2")
                .name("sample-ecs-cluster")
                .clusterName("sample-ecs-cluster")
                .minSize("0")
                .maxSize("1")
                .desiredCapacity("0")
                .subnetIds("subnet-12345")
                .instanceTypes(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                .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)
                .clusterOrientations(OceanClusterOrientationArgs.builder()
                    .availabilityVsCost("balanced")
                    .build())
                .instanceMetadataOptions(OceanInstanceMetadataOptionsArgs.builder()
                    .httpTokens("required")
                    .httpPutResponseHopLimit(10)
                    .build())
                .blockDeviceMappings(OceanBlockDeviceMappingArgs.builder()
                    .deviceName("/dev/xvda1")
                    .ebs(OceanBlockDeviceMappingEbsArgs.builder()
                        .deleteOnTermination("true")
                        .encrypted("false")
                        .volumeType("gp2")
                        .volumeSize(50)
                        .throughput(500)
                        .dynamicVolumeSize(OceanBlockDeviceMappingEbsDynamicVolumeSizeArgs.builder()
                            .baseSize(50)
                            .resource("CPU")
                            .sizePerResourceUnit(20)
                            .build())
                        .build())
                    .build())
                .optimizeImages(OceanOptimizeImagesArgs.builder()
                    .performAt("timeWindow")
                    .timeWindows(                
                        "Sun:02:00-Sun:12:00",
                        "Sun:05:00-Sun:16:00")
                    .shouldOptimizeEcsAmi(true)
                    .build())
                .tags(OceanTagArgs.builder()
                    .key("fakeKey")
                    .value("fakeValue")
                    .build())
                .logging(OceanLoggingArgs.builder()
                    .export(OceanLoggingExportArgs.builder()
                        .s3s(OceanLoggingExportS3Args.builder()
                            .id("di-abcd123")
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    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
          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
    
    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,
              cluster_name: Optional[str] = None,
              subnet_ids: Optional[Sequence[str]] = None,
              security_group_ids: Optional[Sequence[str]] = None,
              region: Optional[str] = None,
              ebs_optimized: Optional[bool] = None,
              monitoring: Optional[bool] = None,
              desired_capacity: Optional[int] = None,
              draining_timeout: Optional[int] = None,
              associate_public_ip_address: 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,
              cluster_orientations: Optional[Sequence[OceanClusterOrientationArgs]] = 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 string
    The unique name of the resource.
    args OceanArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args 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 string
    The unique name of the resource.
    args OceanArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args OceanArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args OceanArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

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

    var exampleoceanResourceResourceFromEcsocean = new SpotInst.Ecs.Ocean("exampleoceanResourceResourceFromEcsocean", new()
    {
        ClusterName = "string",
        SubnetIds = new[]
        {
            "string",
        },
        SecurityGroupIds = new[]
        {
            "string",
        },
        Region = "string",
        EbsOptimized = false,
        Monitoring = false,
        DesiredCapacity = 0,
        DrainingTimeout = 0,
        AssociatePublicIpAddress = 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",
        ImageId = "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",
                    },
                },
            },
        },
        MaxSize = 0,
        MinSize = 0,
        ClusterOrientations = new[]
        {
            new SpotInst.Ecs.Inputs.OceanClusterOrientationArgs
            {
                AvailabilityVsCost = "string",
            },
        },
        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",
        },
    });
    
    example, err := ecs.NewOcean(ctx, "exampleoceanResourceResourceFromEcsocean", &ecs.OceanArgs{
    	ClusterName: pulumi.String("string"),
    	SubnetIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	SecurityGroupIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Region:                   pulumi.String("string"),
    	EbsOptimized:             pulumi.Bool(false),
    	Monitoring:               pulumi.Bool(false),
    	DesiredCapacity:          pulumi.Int(0),
    	DrainingTimeout:          pulumi.Int(0),
    	AssociatePublicIpAddress: 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"),
    	ImageId:            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"),
    				},
    			},
    		},
    	},
    	MaxSize: pulumi.Int(0),
    	MinSize: pulumi.Int(0),
    	ClusterOrientations: ecs.OceanClusterOrientationArray{
    		&ecs.OceanClusterOrientationArgs{
    			AvailabilityVsCost: pulumi.String("string"),
    		},
    	},
    	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"),
    	},
    })
    
    var exampleoceanResourceResourceFromEcsocean = new Ocean("exampleoceanResourceResourceFromEcsocean", OceanArgs.builder()        
        .clusterName("string")
        .subnetIds("string")
        .securityGroupIds("string")
        .region("string")
        .ebsOptimized(false)
        .monitoring(false)
        .desiredCapacity(0)
        .drainingTimeout(0)
        .associatePublicIpAddress(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")
        .imageId("string")
        .instanceMetadataOptions(OceanInstanceMetadataOptionsArgs.builder()
            .httpTokens("string")
            .httpPutResponseHopLimit(0)
            .build())
        .keyPair("string")
        .logging(OceanLoggingArgs.builder()
            .export(OceanLoggingExportArgs.builder()
                .s3s(OceanLoggingExportS3Args.builder()
                    .id("string")
                    .build())
                .build())
            .build())
        .maxSize(0)
        .minSize(0)
        .clusterOrientations(OceanClusterOrientationArgs.builder()
            .availabilityVsCost("string")
            .build())
        .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());
    
    exampleocean_resource_resource_from_ecsocean = spotinst.ecs.Ocean("exampleoceanResourceResourceFromEcsocean",
        cluster_name="string",
        subnet_ids=["string"],
        security_group_ids=["string"],
        region="string",
        ebs_optimized=False,
        monitoring=False,
        desired_capacity=0,
        draining_timeout=0,
        associate_public_ip_address=False,
        filters=spotinst.ecs.OceanFiltersArgs(
            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",
        image_id="string",
        instance_metadata_options=spotinst.ecs.OceanInstanceMetadataOptionsArgs(
            http_tokens="string",
            http_put_response_hop_limit=0,
        ),
        key_pair="string",
        logging=spotinst.ecs.OceanLoggingArgs(
            export=spotinst.ecs.OceanLoggingExportArgs(
                s3s=[spotinst.ecs.OceanLoggingExportS3Args(
                    id="string",
                )],
            ),
        ),
        max_size=0,
        min_size=0,
        cluster_orientations=[spotinst.ecs.OceanClusterOrientationArgs(
            availability_vs_cost="string",
        )],
        name="string",
        optimize_images=spotinst.ecs.OceanOptimizeImagesArgs(
            perform_at="string",
            should_optimize_ecs_ami=False,
            time_windows=["string"],
        ),
        block_device_mappings=[spotinst.ecs.OceanBlockDeviceMappingArgs(
            device_name="string",
            ebs=spotinst.ecs.OceanBlockDeviceMappingEbsArgs(
                delete_on_termination=False,
                dynamic_volume_size=spotinst.ecs.OceanBlockDeviceMappingEbsDynamicVolumeSizeArgs(
                    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=[spotinst.ecs.OceanScheduledTaskArgs(
            shutdown_hours=spotinst.ecs.OceanScheduledTaskShutdownHoursArgs(
                time_windows=["string"],
                is_enabled=False,
            ),
            tasks=[spotinst.ecs.OceanScheduledTaskTaskArgs(
                cron_expression="string",
                is_enabled=False,
                task_type="string",
            )],
        )],
        blacklists=["string"],
        spot_percentage=0,
        autoscaler=spotinst.ecs.OceanAutoscalerArgs(
            auto_headroom_percentage=0,
            cooldown=0,
            down=spotinst.ecs.OceanAutoscalerDownArgs(
                max_scale_down_percentage=0,
            ),
            enable_automatic_and_manual_headroom=False,
            headroom=spotinst.ecs.OceanAutoscalerHeadroomArgs(
                cpu_per_unit=0,
                memory_per_unit=0,
                num_of_units=0,
            ),
            is_auto_config=False,
            is_enabled=False,
            resource_limits=spotinst.ecs.OceanAutoscalerResourceLimitsArgs(
                max_memory_gib=0,
                max_vcpu=0,
            ),
            should_scale_down_non_service_tasks=False,
        ),
        tags=[spotinst.ecs.OceanTagArgs(
            key="string",
            value="string",
        )],
        update_policy=spotinst.ecs.OceanUpdatePolicyArgs(
            should_roll=False,
            auto_apply_tags=False,
            conditioned_roll=False,
            roll_config=spotinst.ecs.OceanUpdatePolicyRollConfigArgs(
                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"])
    
    const exampleoceanResourceResourceFromEcsocean = new spotinst.ecs.Ocean("exampleoceanResourceResourceFromEcsocean", {
        clusterName: "string",
        subnetIds: ["string"],
        securityGroupIds: ["string"],
        region: "string",
        ebsOptimized: false,
        monitoring: false,
        desiredCapacity: 0,
        drainingTimeout: 0,
        associatePublicIpAddress: 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: {
            httpTokens: "string",
            httpPutResponseHopLimit: 0,
        },
        keyPair: "string",
        logging: {
            "export": {
                s3s: [{
                    id: "string",
                }],
            },
        },
        maxSize: 0,
        minSize: 0,
        clusterOrientations: [{
            availabilityVsCost: "string",
        }],
        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"],
    });
    
    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
        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
    

    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

    The Ocean resource accepts the following input properties:

    ClusterName string
    The name of the ECS cluster.
    Region string
    The region the cluster will run in.
    SecurityGroupIds List<string>
    One or more security group ids.
    SubnetIds 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
    Blacklists List<string>
    BlockDeviceMappings List<Pulumi.SpotInst.Ecs.Inputs.OceanBlockDeviceMapping>
    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.
    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
    ScheduledTasks List<Pulumi.SpotInst.Ecs.Inputs.OceanScheduledTask>
    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
    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 string
    The name of the ECS cluster.
    Region string
    The region the cluster will run in.
    SecurityGroupIds []string
    One or more security group ids.
    SubnetIds []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
    Blacklists []string
    BlockDeviceMappings []OceanBlockDeviceMappingArgs
    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.
    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
    ScheduledTasks []OceanScheduledTaskArgs
    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
    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 String
    The name of the ECS cluster.
    region String
    The region the cluster will run in.
    securityGroupIds List<String>
    One or more security group ids.
    subnetIds 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
    blacklists List<String>
    blockDeviceMappings List<OceanBlockDeviceMapping>
    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.
    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
    scheduledTasks List<OceanScheduledTask>
    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
    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 string
    The name of the ECS cluster.
    region string
    The region the cluster will run in.
    securityGroupIds string[]
    One or more security group ids.
    subnetIds 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
    blacklists string[]
    blockDeviceMappings OceanBlockDeviceMapping[]
    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.
    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
    scheduledTasks OceanScheduledTask[]
    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
    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 str
    The name of the ECS cluster.
    region str
    The region the cluster will run in.
    security_group_ids Sequence[str]
    One or more security group ids.
    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.
    associate_public_ip_address bool
    Configure public IP address allocation.
    autoscaler OceanAutoscalerArgs
    blacklists Sequence[str]
    block_device_mappings Sequence[OceanBlockDeviceMappingArgs]
    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.
    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
    scheduled_tasks Sequence[OceanScheduledTaskArgs]
    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
    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 String
    The name of the ECS cluster.
    region String
    The region the cluster will run in.
    securityGroupIds List<String>
    One or more security group ids.
    subnetIds 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
    blacklists List<String>
    blockDeviceMappings List<Property Map>
    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.
    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
    scheduledTasks List<Property Map>
    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
    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,
            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)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AssociatePublicIpAddress bool
    Configure public IP address allocation.
    Autoscaler Pulumi.SpotInst.Ecs.Inputs.OceanAutoscaler
    Blacklists List<string>
    BlockDeviceMappings List<Pulumi.SpotInst.Ecs.Inputs.OceanBlockDeviceMapping>
    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.
    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
    Region string
    The region the cluster will run in.
    ScheduledTasks List<Pulumi.SpotInst.Ecs.Inputs.OceanScheduledTask>
    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
    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
    Blacklists []string
    BlockDeviceMappings []OceanBlockDeviceMappingArgs
    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.
    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
    Region string
    The region the cluster will run in.
    ScheduledTasks []OceanScheduledTaskArgs
    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
    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
    blacklists List<String>
    blockDeviceMappings List<OceanBlockDeviceMapping>
    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.
    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
    region String
    The region the cluster will run in.
    scheduledTasks List<OceanScheduledTask>
    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
    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
    blacklists string[]
    blockDeviceMappings OceanBlockDeviceMapping[]
    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.
    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
    region string
    The region the cluster will run in.
    scheduledTasks OceanScheduledTask[]
    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
    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
    blacklists Sequence[str]
    block_device_mappings Sequence[OceanBlockDeviceMappingArgs]
    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.
    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
    region str
    The region the cluster will run in.
    scheduled_tasks Sequence[OceanScheduledTaskArgs]
    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
    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
    blacklists List<String>
    blockDeviceMappings List<Property Map>
    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.
    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
    region String
    The region the cluster will run in.
    scheduledTasks List<Property Map>
    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
    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

    OceanAutoscalerDown, OceanAutoscalerDownArgs

    OceanAutoscalerHeadroom, OceanAutoscalerHeadroomArgs

    cpuPerUnit Integer
    memoryPerUnit Integer
    numOfUnits Integer

    OceanAutoscalerResourceLimits, OceanAutoscalerResourceLimitsArgs

    maxMemoryGib Integer
    maxVcpu Integer
    maxMemoryGib number
    maxVcpu number
    maxMemoryGib Number
    maxVcpu Number

    OceanBlockDeviceMapping, OceanBlockDeviceMappingArgs

    OceanBlockDeviceMappingEbs, OceanBlockDeviceMappingEbsArgs

    OceanBlockDeviceMappingEbsDynamicVolumeSize, OceanBlockDeviceMappingEbsDynamicVolumeSizeArgs

    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>
    Categories List<string>
    DiskTypes List<string>
    ExcludeFamilies List<string>
    ExcludeMetal bool
    Hypervisors List<string>
    IncludeFamilies List<string>
    IsEnaSupported string
    MaxGpu int
    MaxMemoryGib double
    MaxNetworkPerformance int
    MaxVcpu int
    MinEnis int
    MinGpu int
    MinMemoryGib double
    MinNetworkPerformance int
    MinVcpu int
    RootDeviceTypes List<string>
    VirtualizationTypes List<string>
    architectures List<String>
    categories List<String>
    diskTypes List<String>
    excludeFamilies List<String>
    excludeMetal Boolean
    hypervisors List<String>
    includeFamilies List<String>
    isEnaSupported String
    maxGpu Integer
    maxMemoryGib Double
    maxNetworkPerformance Integer
    maxVcpu Integer
    minEnis Integer
    minGpu Integer
    minMemoryGib Double
    minNetworkPerformance Integer
    minVcpu Integer
    rootDeviceTypes List<String>
    virtualizationTypes List<String>
    architectures List<String>
    categories List<String>
    diskTypes List<String>
    excludeFamilies List<String>
    excludeMetal Boolean
    hypervisors List<String>
    includeFamilies List<String>
    isEnaSupported String
    maxGpu Number
    maxMemoryGib Number
    maxNetworkPerformance Number
    maxVcpu Number
    minEnis Number
    minGpu Number
    minMemoryGib Number
    minNetworkPerformance Number
    minVcpu Number
    rootDeviceTypes List<String>
    virtualizationTypes List<String>

    OceanInstanceMetadataOptions, OceanInstanceMetadataOptionsArgs

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

    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

    OceanLoggingExportS3, OceanLoggingExportS3Args

    Id string
    The Spotinst Ocean ID.
    Id string
    The Spotinst Ocean ID.
    id String
    The Spotinst Ocean ID.
    id string
    The Spotinst Ocean ID.
    id str
    The Spotinst Ocean ID.
    id String
    The Spotinst Ocean ID.

    OceanOptimizeImages, OceanOptimizeImagesArgs

    performAt String
    shouldOptimizeEcsAmi Boolean
    timeWindows List<String>
    performAt String
    shouldOptimizeEcsAmi Boolean
    timeWindows List<String>

    OceanScheduledTask, OceanScheduledTaskArgs

    OceanScheduledTaskShutdownHours, OceanScheduledTaskShutdownHoursArgs

    TimeWindows List<string>
    IsEnabled bool
    TimeWindows []string
    IsEnabled bool
    timeWindows List<String>
    isEnabled Boolean
    timeWindows string[]
    isEnabled boolean
    time_windows Sequence[str]
    is_enabled bool
    timeWindows List<String>
    isEnabled Boolean

    OceanScheduledTaskTask, OceanScheduledTaskTaskArgs

    cronExpression String
    isEnabled Boolean
    taskType String
    cronExpression string
    isEnabled boolean
    taskType string
    cronExpression String
    isEnabled Boolean
    taskType String

    OceanTag, OceanTagArgs

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

    OceanUpdatePolicy, OceanUpdatePolicyArgs

    OceanUpdatePolicyRollConfig, OceanUpdatePolicyRollConfigArgs

    Import

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

    hcl

    $ pulumi import spotinst:ecs/ocean:Ocean this o-12345678
    

    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.
    spotinst logo
    Spotinst v3.76.0 published on Wednesday, Apr 24, 2024 by Pulumi