Module ecs

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-spotinst repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-spotinst repo.

Resources

Others

Resources

Resource Ocean

class Ocean extends CustomResource

constructor

new Ocean(name: string, args: OceanArgs, opts?: pulumi.CustomResourceOptions)

Create a Ocean resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: OceanState, opts?: pulumi.CustomResourceOptions): Ocean

Get an existing Ocean resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Ocean

Returns true if the given object is an instance of Ocean. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property associatePublicIpAddress

public associatePublicIpAddress: pulumi.Output<boolean | undefined>;

Configure public IP address allocation.

property autoscaler

public autoscaler: pulumi.Output<OceanAutoscaler | undefined>;

property clusterName

public clusterName: pulumi.Output<string>;

The ocean cluster name.

property desiredCapacity

public desiredCapacity: pulumi.Output<number>;

The number of instances to launch and maintain in the cluster.

property drainingTimeout

public drainingTimeout: pulumi.Output<number | undefined>;

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.

property ebsOptimized

public ebsOptimized: pulumi.Output<boolean | undefined>;

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.

property iamInstanceProfile

public iamInstanceProfile: pulumi.Output<string | undefined>;

The instance profile iam role.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageId

public imageId: pulumi.Output<string | undefined>;

ID of the image used to launch the instances.

property keyPair

public keyPair: pulumi.Output<string | undefined>;

The key pair to attach the instances.

property maxSize

public maxSize: pulumi.Output<number>;

The upper limit of instances the cluster can scale up to.

property minSize

public minSize: pulumi.Output<number>;

The lower limit of instances the cluster can scale down to.

property monitoring

public monitoring: pulumi.Output<boolean | undefined>;

Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.

property name

public name: pulumi.Output<string>;

The Ocean cluster name.

property region

public region: pulumi.Output<string>;

The region the cluster will run in.

property scheduledTasks

public scheduledTasks: pulumi.Output<OceanScheduledTask[] | undefined>;

property securityGroupIds

public securityGroupIds: pulumi.Output<string[]>;

One or more security group ids.

property subnetIds

public subnetIds: pulumi.Output<string[]>;

A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.

property tags

public tags: pulumi.Output<OceanTag[] | undefined>;

Optionally adds tags to instances launched in an Ocean cluster.

property updatePolicy

public updatePolicy: pulumi.Output<OceanUpdatePolicy | undefined>;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property userData

public userData: pulumi.Output<string | undefined>;

Base64-encoded MIME user data to make available to the instances.

property utilizeReservedInstances

public utilizeReservedInstances: pulumi.Output<boolean | undefined>;

If Reserved instances exist, OCean will utilize them before launching Spot instances.

property whitelists

public whitelists: pulumi.Output<string[] | undefined>;

Instance types allowed in the Ocean cluster, Cannot be configured if blacklist is configured.

Resource OceanLaunchSpec

class OceanLaunchSpec extends CustomResource

Provides a custom Spotinst Ocean ECS Launch Spec resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as spotinst from "@pulumi/spotinst";

const example = new spotinst.ecs.OceanLaunchSpec("example", {
    attributes: [{
        key: "fakeKey",
        value: "fakeValue",
    }],
    autoscaleHeadrooms: [{
        cpuPerUnit: 1000,
        memoryPerUnit: 2048,
        numOfUnits: 5,
    }],
    iamInstanceProfile: "iam-profile",
    imageId: "ami-123456",
    oceanId: "o-123456",
    securityGroupIds: ["awseb-12345"],
    tags: [{
        key: "Env",
        value: "production",
    }],
    userData: "echo hello world",
});

constructor

new OceanLaunchSpec(name: string, args: OceanLaunchSpecArgs, opts?: pulumi.CustomResourceOptions)

Create a OceanLaunchSpec resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: OceanLaunchSpecState, opts?: pulumi.CustomResourceOptions): OceanLaunchSpec

Get an existing OceanLaunchSpec resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is OceanLaunchSpec

Returns true if the given object is an instance of OceanLaunchSpec. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property attributes

public attributes: pulumi.Output<OceanLaunchSpecAttribute[] | undefined>;

Optionally adds labels to instances launched in an Ocean cluster.

property autoscaleHeadrooms

public autoscaleHeadrooms: pulumi.Output<OceanLaunchSpecAutoscaleHeadroom[] | undefined>;

Set custom headroom per launch spec. provide list of headrooms object.

property iamInstanceProfile

public iamInstanceProfile: pulumi.Output<string | undefined>;

The ARN or name of an IAM instance profile to associate with launched instances.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageId

public imageId: pulumi.Output<string | undefined>;

ID of the image used to launch the instances.

property name

public name: pulumi.Output<string>;

The Ocean Launch Specification name.

property oceanId

public oceanId: pulumi.Output<string>;

The Ocean cluster ID .

property securityGroupIds

public securityGroupIds: pulumi.Output<string[] | undefined>;

One or more security group ids.

property tags

public tags: pulumi.Output<OceanLaunchSpecTag[] | undefined>;

A key/value mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property userData

public userData: pulumi.Output<string | undefined>;

Base64-encoded MIME user data to make available to the instances.

Others

interface OceanArgs

interface OceanArgs

The set of arguments for constructing a Ocean resource.

property associatePublicIpAddress

associatePublicIpAddress?: pulumi.Input<boolean>;

Configure public IP address allocation.

property autoscaler

autoscaler?: pulumi.Input<OceanAutoscaler>;

property clusterName

clusterName: pulumi.Input<string>;

The ocean cluster name.

property desiredCapacity

desiredCapacity?: pulumi.Input<number>;

The number of instances to launch and maintain in the cluster.

property drainingTimeout

drainingTimeout?: pulumi.Input<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.

property ebsOptimized

ebsOptimized?: pulumi.Input<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.

property iamInstanceProfile

iamInstanceProfile?: pulumi.Input<string>;

The instance profile iam role.

property imageId

imageId?: pulumi.Input<string>;

ID of the image used to launch the instances.

property keyPair

keyPair?: pulumi.Input<string>;

The key pair to attach the instances.

property maxSize

maxSize?: pulumi.Input<number>;

The upper limit of instances the cluster can scale up to.

property minSize

minSize?: pulumi.Input<number>;

The lower limit of instances the cluster can scale down to.

property monitoring

monitoring?: pulumi.Input<boolean>;

Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.

property name

name?: pulumi.Input<string>;

The Ocean cluster name.

property region

region: pulumi.Input<string>;

The region the cluster will run in.

property scheduledTasks

scheduledTasks?: pulumi.Input<pulumi.Input<OceanScheduledTask>[]>;

property securityGroupIds

securityGroupIds: pulumi.Input<pulumi.Input<string>[]>;

One or more security group ids.

property subnetIds

subnetIds: pulumi.Input<pulumi.Input<string>[]>;

A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.

property tags

tags?: pulumi.Input<pulumi.Input<OceanTag>[]>;

Optionally adds tags to instances launched in an Ocean cluster.

property updatePolicy

updatePolicy?: pulumi.Input<OceanUpdatePolicy>;

property userData

userData?: pulumi.Input<string>;

Base64-encoded MIME user data to make available to the instances.

property utilizeReservedInstances

utilizeReservedInstances?: pulumi.Input<boolean>;

If Reserved instances exist, OCean will utilize them before launching Spot instances.

property whitelists

whitelists?: pulumi.Input<pulumi.Input<string>[]>;

Instance types allowed in the Ocean cluster, Cannot be configured if blacklist is configured.

interface OceanLaunchSpecArgs

interface OceanLaunchSpecArgs

The set of arguments for constructing a OceanLaunchSpec resource.

property attributes

attributes?: pulumi.Input<pulumi.Input<OceanLaunchSpecAttribute>[]>;

Optionally adds labels to instances launched in an Ocean cluster.

property autoscaleHeadrooms

autoscaleHeadrooms?: pulumi.Input<pulumi.Input<OceanLaunchSpecAutoscaleHeadroom>[]>;

Set custom headroom per launch spec. provide list of headrooms object.

property iamInstanceProfile

iamInstanceProfile?: pulumi.Input<string>;

The ARN or name of an IAM instance profile to associate with launched instances.

property imageId

imageId?: pulumi.Input<string>;

ID of the image used to launch the instances.

property name

name?: pulumi.Input<string>;

The Ocean Launch Specification name.

property oceanId

oceanId: pulumi.Input<string>;

The Ocean cluster ID .

property securityGroupIds

securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

One or more security group ids.

property tags

tags?: pulumi.Input<pulumi.Input<OceanLaunchSpecTag>[]>;

A key/value mapping of tags to assign to the resource.

property userData

userData?: pulumi.Input<string>;

Base64-encoded MIME user data to make available to the instances.

interface OceanLaunchSpecState

interface OceanLaunchSpecState

Input properties used for looking up and filtering OceanLaunchSpec resources.

property attributes

attributes?: pulumi.Input<pulumi.Input<OceanLaunchSpecAttribute>[]>;

Optionally adds labels to instances launched in an Ocean cluster.

property autoscaleHeadrooms

autoscaleHeadrooms?: pulumi.Input<pulumi.Input<OceanLaunchSpecAutoscaleHeadroom>[]>;

Set custom headroom per launch spec. provide list of headrooms object.

property iamInstanceProfile

iamInstanceProfile?: pulumi.Input<string>;

The ARN or name of an IAM instance profile to associate with launched instances.

property imageId

imageId?: pulumi.Input<string>;

ID of the image used to launch the instances.

property name

name?: pulumi.Input<string>;

The Ocean Launch Specification name.

property oceanId

oceanId?: pulumi.Input<string>;

The Ocean cluster ID .

property securityGroupIds

securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

One or more security group ids.

property tags

tags?: pulumi.Input<pulumi.Input<OceanLaunchSpecTag>[]>;

A key/value mapping of tags to assign to the resource.

property userData

userData?: pulumi.Input<string>;

Base64-encoded MIME user data to make available to the instances.

interface OceanState

interface OceanState

Input properties used for looking up and filtering Ocean resources.

property associatePublicIpAddress

associatePublicIpAddress?: pulumi.Input<boolean>;

Configure public IP address allocation.

property autoscaler

autoscaler?: pulumi.Input<OceanAutoscaler>;

property clusterName

clusterName?: pulumi.Input<string>;

The ocean cluster name.

property desiredCapacity

desiredCapacity?: pulumi.Input<number>;

The number of instances to launch and maintain in the cluster.

property drainingTimeout

drainingTimeout?: pulumi.Input<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.

property ebsOptimized

ebsOptimized?: pulumi.Input<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.

property iamInstanceProfile

iamInstanceProfile?: pulumi.Input<string>;

The instance profile iam role.

property imageId

imageId?: pulumi.Input<string>;

ID of the image used to launch the instances.

property keyPair

keyPair?: pulumi.Input<string>;

The key pair to attach the instances.

property maxSize

maxSize?: pulumi.Input<number>;

The upper limit of instances the cluster can scale up to.

property minSize

minSize?: pulumi.Input<number>;

The lower limit of instances the cluster can scale down to.

property monitoring

monitoring?: pulumi.Input<boolean>;

Enable detailed monitoring for cluster. Flag will enable Cloud Watch detailed detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.

property name

name?: pulumi.Input<string>;

The Ocean cluster name.

property region

region?: pulumi.Input<string>;

The region the cluster will run in.

property scheduledTasks

scheduledTasks?: pulumi.Input<pulumi.Input<OceanScheduledTask>[]>;

property securityGroupIds

securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

One or more security group ids.

property subnetIds

subnetIds?: pulumi.Input<pulumi.Input<string>[]>;

A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.

property tags

tags?: pulumi.Input<pulumi.Input<OceanTag>[]>;

Optionally adds tags to instances launched in an Ocean cluster.

property updatePolicy

updatePolicy?: pulumi.Input<OceanUpdatePolicy>;

property userData

userData?: pulumi.Input<string>;

Base64-encoded MIME user data to make available to the instances.

property utilizeReservedInstances

utilizeReservedInstances?: pulumi.Input<boolean>;

If Reserved instances exist, OCean will utilize them before launching Spot instances.

property whitelists

whitelists?: pulumi.Input<pulumi.Input<string>[]>;

Instance types allowed in the Ocean cluster, Cannot be configured if blacklist is configured.