Ocean
Provides a Spotinst Ocean AWS resource.
Auto Scaler
autoscaler- (Optional) Describes the Ocean Kubernetes autoscaler.autoscale_is_enabled- (Optional, Default:true) Enable the Ocean Kubernetes autoscaler.autoscale_is_auto_config- (Optional, Default:true) Automatically configure and optimize headroom resources.autoscale_cooldown- (Optional, Default:null) Cooldown period between scaling actions.auto_headroom_percentage- (Optional) Set the auto headroom percentage (a number in the range [0, 200]) which controls the percentage of headroom from the cluster. Relevant only whenisAutoConfigtoggled on.autoscale_headroom- (Optional) Spare resource capacity management enabling fast assignment of Pods without waiting for new resources to launch.cpu_per_unit- (Optional) Optionally configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.gpu_per_unit- (Optional) Optionally configure the number of GPUS to allocate the headroom.memory_per_unit- (Optional) Optionally configure the amount of memory (MB) to allocate the headroom.num_of_units- (Optional) The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.autoscale_down- (Optional) Auto Scaling scale down operations.max_scale_down_percentage- (Optional) Would represent the maximum % to scale-down. Number between 1-100.resource_limits- (Optional) Optionally set upper and lower bounds on the resource usage of the cluster.max_vcpu- (Optional) The maximum cpu in vCPU units that can be allocated to the cluster.max_memory_gib- (Optional) The maximum memory in GiB units that can be allocated to the cluster.
import * as pulumi from "@pulumi/pulumi";import pulumiusing Pulumi;
class MyStack : Stack
{
public MyStack()
{
}
}
Update Policy
update_policy- (Optional)should_roll- (Required) Enables the roll.roll_config- (Required) While used, you can control whether the group should perform a deployment after an update to the configuration.batch_size_percentage- (Required) Sets the percentage of the instances to deploy in each batch.
import * as pulumi from "@pulumi/pulumi";import pulumiusing Pulumi;
class MyStack : Stack
{
public MyStack()
{
}
}
scheduled task
scheduled_task- (Optional) Set scheduling object.shutdown_hours- (Optional) Set shutdown hours for cluster object.is_enabled- (Optional) Flag to enable / disable the shutdown hours. Example: Truetime_windows- (Required) Set time windows for shutdown hours. specify a list of ‘timeWindows’ with at least one time window Each string is in the format of - ddd:hh:mm-ddd:hh:mm ddd = day of week = Sun | Mon | Tue | Wed | Thu | Fri | Sat hh = hour 24 = 0 -23 mm = minute = 0 - 59. Time windows should not overlap. required on cluster.scheduling.isEnabled = True. API Times are in UTC Example: Fri:15:30-Wed:14:30
tasks- (Optional) The scheduling tasks for the cluster.is_enabled- (Required) Describes whether the task is enabled. When true the task should run when false it should not run. Required for cluster.scheduling.tasks object.cron_expression- (Required) A valid cron expression. For example : “ * * * * * “.The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of ‘frequency’ or ‘cronExpression’ should be used at a time. Required for cluster.scheduling.tasks object Example: 0 1 * * *task_type- (Required) Valid values: “clusterRoll”. Required for cluster.scheduling.tasks object Example: clusterRoll
import * as pulumi from "@pulumi/pulumi";import pulumiusing Pulumi;
class MyStack : Stack
{
public MyStack()
{
}
}
Example Usage
using Pulumi;
using SpotInst = Pulumi.SpotInst;
class MyStack : Stack
{
public MyStack()
{
var example = new SpotInst.Aws.Ocean("example", new SpotInst.Aws.OceanArgs
{
AssociatePublicIpAddress = true,
ControllerId = "fakeClusterId",
DesiredCapacity = 2,
DrainingTimeout = 120,
EbsOptimized = true,
FallbackToOndemand = true,
GracePeriod = 600,
IamInstanceProfile = "iam-profile",
ImageId = "ami-123456",
KeyName = "fake key",
LoadBalancers =
{
new SpotInst.Aws.Inputs.OceanLoadBalancerArgs
{
Arn = "arn:aws:elasticloadbalancing:us-west-2:fake-arn",
Type = "TARGET_GROUP",
},
new SpotInst.Aws.Inputs.OceanLoadBalancerArgs
{
Name = "AntonK",
Type = "CLASSIC",
},
},
MaxSize = 2,
MinSize = 1,
Monitoring = true,
Region = "us-west-2",
RootVolumeSize = 20,
SecurityGroups =
{
"sg-987654321",
},
SubnetIds =
{
"subnet-123456789",
},
Tags =
{
new SpotInst.Aws.Inputs.OceanTagArgs
{
Key = "fakeKey",
Value = "fakeValue",
},
},
UserData = "echo hello world",
UtilizeReservedInstances = false,
Whitelists =
{
"t1.micro",
"m1.small",
},
});
}
}
Coming soon!
import pulumi
import pulumi_spotinst as spotinst
example = spotinst.aws.Ocean("example",
associate_public_ip_address=True,
controller_id="fakeClusterId",
desired_capacity=2,
draining_timeout=120,
ebs_optimized=True,
fallback_to_ondemand=True,
grace_period=600,
iam_instance_profile="iam-profile",
image_id="ami-123456",
key_name="fake key",
load_balancers=[
{
"arn": "arn:aws:elasticloadbalancing:us-west-2:fake-arn",
"type": "TARGET_GROUP",
},
{
"name": "AntonK",
"type": "CLASSIC",
},
],
max_size=2,
min_size=1,
monitoring=True,
region="us-west-2",
root_volume_size=20,
security_groups=["sg-987654321"],
subnet_ids=["subnet-123456789"],
tags=[{
"key": "fakeKey",
"value": "fakeValue",
}],
user_data="echo hello world",
utilize_reserved_instances=False,
whitelists=[
"t1.micro",
"m1.small",
])import * as pulumi from "@pulumi/pulumi";
import * as spotinst from "@pulumi/spotinst";
const example = new spotinst.aws.Ocean("example", {
associatePublicIpAddress: true,
controllerId: "fakeClusterId",
desiredCapacity: 2,
drainingTimeout: 120,
ebsOptimized: true,
// --- STRATEGY --------------------
fallbackToOndemand: true,
gracePeriod: 600,
iamInstanceProfile: "iam-profile",
// --- LAUNCH CONFIGURATION --------------
imageId: "ami-123456",
keyName: "fake key",
loadBalancers: [
{
arn: "arn:aws:elasticloadbalancing:us-west-2:fake-arn",
type: "TARGET_GROUP",
},
{
name: "AntonK",
type: "CLASSIC",
},
],
maxSize: 2,
minSize: 1,
monitoring: true,
region: "us-west-2",
rootVolumeSize: 20,
securityGroups: ["sg-987654321"],
subnetIds: ["subnet-123456789"],
tags: [{
key: "fakeKey",
value: "fakeValue",
}],
userData: "echo hello world",
utilizeReservedInstances: false,
whitelists: [
"t1.micro",
"m1.small",
],
});Create a Ocean Resource
new Ocean(name: string, args: OceanArgs, opts?: CustomResourceOptions);def Ocean(resource_name, opts=None, associate_public_ip_address=None, autoscaler=None, blacklists=None, controller_id=None, desired_capacity=None, draining_timeout=None, ebs_optimized=None, fallback_to_ondemand=None, grace_period=None, iam_instance_profile=None, image_id=None, key_name=None, load_balancers=None, max_size=None, min_size=None, monitoring=None, name=None, region=None, root_volume_size=None, scheduled_tasks=None, security_groups=None, spot_percentage=None, subnet_ids=None, tags=None, update_policy=None, user_data=None, utilize_reserved_instances=None, whitelists=None, __props__=None);public Ocean(string name, OceanArgs args, CustomResourceOptions? opts = null)- 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.
- opts ResourceOptions
- A bag of options that control this 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.
Ocean Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.
Inputs
The Ocean resource accepts the following input properties:
- Security
Groups List<string> One or more security group ids.
- Subnet
Ids List<string> A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
- Associate
Public boolIp Address Configure public IP address allocation.
- Autoscaler
Pulumi.
Spot Inst. Aws. Inputs. Ocean Autoscaler Args - Blacklists List<string>
Instance types not allowed in the Ocean cluster. Cannot be configured if
whitelistis configured.- Controller
Id string The ocean cluster identifier. Example:
ocean.k8s- Desired
Capacity int The number of instances to launch and maintain in the cluster.
- Draining
Timeout int The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
- Ebs
Optimized bool Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
- Fallback
To boolOndemand If not Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
- Grace
Period int The amount of time, in seconds, after the instance has launched to start checking its health.
- Iam
Instance stringProfile The instance profile iam role.
- Image
Id string ID of the image used to launch the instances.
- Key
Name string The key pair to attach the instances.
- Load
Balancers List<Pulumi.Spot Inst. Aws. Inputs. Ocean Load Balancer Args> - Array of load balancer objects to add to ocean cluster
- 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 detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
- Name string
Required if type is set to CLASSIC
- Region string
The region the cluster will run in.
- Root
Volume intSize The size (in Gb) to allocate for the root volume. Minimum
20.- Scheduled
Tasks List<Pulumi.Spot Inst. Aws. Inputs. Ocean Scheduled Task Args> - Spot
Percentage double -
List<Pulumi.
Spot Inst. Aws. Inputs. Ocean Tag Args> Optionally adds tags to instances launched in an Ocean cluster.
- Update
Policy Pulumi.Spot Inst. Aws. Inputs. Ocean Update Policy Args - User
Data string Base64-encoded MIME user data to make available to the instances.
- Utilize
Reserved boolInstances If Reserved instances exist, Ocean will utilize them before launching Spot instances.
- Whitelists List<string>
Instance types allowed in the Ocean cluster. Cannot be configured if
blacklistis configured.
- Security
Groups []string One or more security group ids.
- Subnet
Ids []string A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
- Associate
Public boolIp Address Configure public IP address allocation.
- Autoscaler
Ocean
Autoscaler - Blacklists []string
Instance types not allowed in the Ocean cluster. Cannot be configured if
whitelistis configured.- Controller
Id string The ocean cluster identifier. Example:
ocean.k8s- Desired
Capacity int The number of instances to launch and maintain in the cluster.
- Draining
Timeout int The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
- Ebs
Optimized bool Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
- Fallback
To boolOndemand If not Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
- Grace
Period int The amount of time, in seconds, after the instance has launched to start checking its health.
- Iam
Instance stringProfile The instance profile iam role.
- Image
Id string ID of the image used to launch the instances.
- Key
Name string The key pair to attach the instances.
- Load
Balancers []OceanLoad Balancer - Array of load balancer objects to add to ocean cluster
- 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 detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
- Name string
Required if type is set to CLASSIC
- Region string
The region the cluster will run in.
- Root
Volume intSize The size (in Gb) to allocate for the root volume. Minimum
20.- Scheduled
Tasks []OceanScheduled Task - Spot
Percentage float64 -
[]Ocean
Tag Optionally adds tags to instances launched in an Ocean cluster.
- Update
Policy OceanUpdate Policy - User
Data string Base64-encoded MIME user data to make available to the instances.
- Utilize
Reserved boolInstances If Reserved instances exist, Ocean will utilize them before launching Spot instances.
- Whitelists []string
Instance types allowed in the Ocean cluster. Cannot be configured if
blacklistis configured.
- security
Groups string[] One or more security group ids.
- subnet
Ids string[] A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
- associate
Public booleanIp Address Configure public IP address allocation.
- autoscaler
Ocean
Autoscaler - blacklists string[]
Instance types not allowed in the Ocean cluster. Cannot be configured if
whitelistis configured.- controller
Id string The ocean cluster identifier. Example:
ocean.k8s- desired
Capacity number The number of instances to launch and maintain in the cluster.
- draining
Timeout 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.
- ebs
Optimized 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.
- fallback
To booleanOndemand If not Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
- grace
Period number The amount of time, in seconds, after the instance has launched to start checking its health.
- iam
Instance stringProfile The instance profile iam role.
- image
Id string ID of the image used to launch the instances.
- key
Name string The key pair to attach the instances.
- load
Balancers OceanLoad Balancer[] - Array of load balancer objects to add to ocean cluster
- max
Size number The upper limit of instances the cluster can scale up to.
- min
Size 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 detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
- name string
Required if type is set to CLASSIC
- region string
The region the cluster will run in.
- root
Volume numberSize The size (in Gb) to allocate for the root volume. Minimum
20.- scheduled
Tasks OceanScheduled Task[] - spot
Percentage number -
Ocean
Tag[] Optionally adds tags to instances launched in an Ocean cluster.
- update
Policy OceanUpdate Policy - user
Data string Base64-encoded MIME user data to make available to the instances.
- utilize
Reserved booleanInstances If Reserved instances exist, Ocean will utilize them before launching Spot instances.
- whitelists string[]
Instance types allowed in the Ocean cluster. Cannot be configured if
blacklistis configured.
- security_
groups List[str] One or more security group ids.
- subnet_
ids List[str] A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
- associate_
public_ boolip_ address Configure public IP address allocation.
- autoscaler
Dict[Ocean
Autoscaler] - blacklists List[str]
Instance types not allowed in the Ocean cluster. Cannot be configured if
whitelistis configured.- controller_
id str The ocean cluster identifier. Example:
ocean.k8s- desired_
capacity float The number of instances to launch and maintain in the cluster.
- draining_
timeout float The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
- ebs_
optimized bool Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
- fallback_
to_ boolondemand If not Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
- grace_
period float The amount of time, in seconds, after the instance has launched to start checking its health.
- iam_
instance_ strprofile The instance profile iam role.
- image_
id str ID of the image used to launch the instances.
- key_
name str The key pair to attach the instances.
- load_
balancers List[OceanLoad Balancer] - Array of load balancer objects to add to ocean cluster
- max_
size float The upper limit of instances the cluster can scale up to.
- min_
size float The lower limit of instances the cluster can scale down to.
- monitoring bool
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.
- name str
Required if type is set to CLASSIC
- region str
The region the cluster will run in.
- root_
volume_ floatsize The size (in Gb) to allocate for the root volume. Minimum
20.- scheduled_
tasks List[OceanScheduled Task] - spot_
percentage float -
List[Ocean
Tag] Optionally adds tags to instances launched in an Ocean cluster.
- update_
policy Dict[OceanUpdate Policy] - user_
data str Base64-encoded MIME user data to make available to the instances.
- utilize_
reserved_ boolinstances If Reserved instances exist, Ocean will utilize them before launching Spot instances.
- whitelists List[str]
Instance types allowed in the Ocean cluster. Cannot be configured if
blacklistis configured.
Outputs
All input properties are implicitly available as output properties. Additionally, the Ocean resource produces the following output properties:
Look up an 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): Oceanstatic get(resource_name, id, opts=None, associate_public_ip_address=None, autoscaler=None, blacklists=None, controller_id=None, desired_capacity=None, draining_timeout=None, ebs_optimized=None, fallback_to_ondemand=None, grace_period=None, iam_instance_profile=None, image_id=None, key_name=None, load_balancers=None, max_size=None, min_size=None, monitoring=None, name=None, region=None, root_volume_size=None, scheduled_tasks=None, security_groups=None, spot_percentage=None, subnet_ids=None, tags=None, update_policy=None, user_data=None, utilize_reserved_instances=None, whitelists=None, __props__=None);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)- 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.
The following state arguments are supported:
- Associate
Public boolIp Address Configure public IP address allocation.
- Autoscaler
Pulumi.
Spot Inst. Aws. Inputs. Ocean Autoscaler Args - Blacklists List<string>
Instance types not allowed in the Ocean cluster. Cannot be configured if
whitelistis configured.- Controller
Id string The ocean cluster identifier. Example:
ocean.k8s- Desired
Capacity int The number of instances to launch and maintain in the cluster.
- Draining
Timeout int The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
- Ebs
Optimized bool Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
- Fallback
To boolOndemand If not Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
- Grace
Period int The amount of time, in seconds, after the instance has launched to start checking its health.
- Iam
Instance stringProfile The instance profile iam role.
- Image
Id string ID of the image used to launch the instances.
- Key
Name string The key pair to attach the instances.
- Load
Balancers List<Pulumi.Spot Inst. Aws. Inputs. Ocean Load Balancer Args> - Array of load balancer objects to add to ocean cluster
- 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 detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
- Name string
Required if type is set to CLASSIC
- Region string
The region the cluster will run in.
- Root
Volume intSize The size (in Gb) to allocate for the root volume. Minimum
20.- Scheduled
Tasks List<Pulumi.Spot Inst. Aws. Inputs. Ocean Scheduled Task Args> - Security
Groups List<string> One or more security group ids.
- Spot
Percentage double - Subnet
Ids List<string> A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
-
List<Pulumi.
Spot Inst. Aws. Inputs. Ocean Tag Args> Optionally adds tags to instances launched in an Ocean cluster.
- Update
Policy Pulumi.Spot Inst. Aws. Inputs. Ocean Update Policy Args - User
Data string Base64-encoded MIME user data to make available to the instances.
- Utilize
Reserved boolInstances If Reserved instances exist, Ocean will utilize them before launching Spot instances.
- Whitelists List<string>
Instance types allowed in the Ocean cluster. Cannot be configured if
blacklistis configured.
- Associate
Public boolIp Address Configure public IP address allocation.
- Autoscaler
Ocean
Autoscaler - Blacklists []string
Instance types not allowed in the Ocean cluster. Cannot be configured if
whitelistis configured.- Controller
Id string The ocean cluster identifier. Example:
ocean.k8s- Desired
Capacity int The number of instances to launch and maintain in the cluster.
- Draining
Timeout int The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
- Ebs
Optimized bool Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
- Fallback
To boolOndemand If not Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
- Grace
Period int The amount of time, in seconds, after the instance has launched to start checking its health.
- Iam
Instance stringProfile The instance profile iam role.
- Image
Id string ID of the image used to launch the instances.
- Key
Name string The key pair to attach the instances.
- Load
Balancers []OceanLoad Balancer - Array of load balancer objects to add to ocean cluster
- 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 detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
- Name string
Required if type is set to CLASSIC
- Region string
The region the cluster will run in.
- Root
Volume intSize The size (in Gb) to allocate for the root volume. Minimum
20.- Scheduled
Tasks []OceanScheduled Task - Security
Groups []string One or more security group ids.
- Spot
Percentage float64 - Subnet
Ids []string A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
-
[]Ocean
Tag Optionally adds tags to instances launched in an Ocean cluster.
- Update
Policy OceanUpdate Policy - User
Data string Base64-encoded MIME user data to make available to the instances.
- Utilize
Reserved boolInstances If Reserved instances exist, Ocean will utilize them before launching Spot instances.
- Whitelists []string
Instance types allowed in the Ocean cluster. Cannot be configured if
blacklistis configured.
- associate
Public booleanIp Address Configure public IP address allocation.
- autoscaler
Ocean
Autoscaler - blacklists string[]
Instance types not allowed in the Ocean cluster. Cannot be configured if
whitelistis configured.- controller
Id string The ocean cluster identifier. Example:
ocean.k8s- desired
Capacity number The number of instances to launch and maintain in the cluster.
- draining
Timeout 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.
- ebs
Optimized 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.
- fallback
To booleanOndemand If not Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
- grace
Period number The amount of time, in seconds, after the instance has launched to start checking its health.
- iam
Instance stringProfile The instance profile iam role.
- image
Id string ID of the image used to launch the instances.
- key
Name string The key pair to attach the instances.
- load
Balancers OceanLoad Balancer[] - Array of load balancer objects to add to ocean cluster
- max
Size number The upper limit of instances the cluster can scale up to.
- min
Size 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 detailed monitoring (one minute increments). Note: there are additional hourly costs for this service based on the region used.
- name string
Required if type is set to CLASSIC
- region string
The region the cluster will run in.
- root
Volume numberSize The size (in Gb) to allocate for the root volume. Minimum
20.- scheduled
Tasks OceanScheduled Task[] - security
Groups string[] One or more security group ids.
- spot
Percentage number - subnet
Ids string[] A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
-
Ocean
Tag[] Optionally adds tags to instances launched in an Ocean cluster.
- update
Policy OceanUpdate Policy - user
Data string Base64-encoded MIME user data to make available to the instances.
- utilize
Reserved booleanInstances If Reserved instances exist, Ocean will utilize them before launching Spot instances.
- whitelists string[]
Instance types allowed in the Ocean cluster. Cannot be configured if
blacklistis configured.
- associate_
public_ boolip_ address Configure public IP address allocation.
- autoscaler
Dict[Ocean
Autoscaler] - blacklists List[str]
Instance types not allowed in the Ocean cluster. Cannot be configured if
whitelistis configured.- controller_
id str The ocean cluster identifier. Example:
ocean.k8s- desired_
capacity float The number of instances to launch and maintain in the cluster.
- draining_
timeout float The time in seconds, the instance is allowed to run while detached from the ELB. This is to allow the instance time to be drained from incoming TCP connections before terminating it, during a scale down operation.
- ebs_
optimized bool Enable EBS optimized for cluster. Flag will enable optimized capacity for high bandwidth connectivity to the EB service for non EBS optimized instance types. For instances that are EBS optimized this flag will be ignored.
- fallback_
to_ boolondemand If not Spot instance markets are available, enable Ocean to launch On-Demand instances instead.
- grace_
period float The amount of time, in seconds, after the instance has launched to start checking its health.
- iam_
instance_ strprofile The instance profile iam role.
- image_
id str ID of the image used to launch the instances.
- key_
name str The key pair to attach the instances.
- load_
balancers List[OceanLoad Balancer] - Array of load balancer objects to add to ocean cluster
- max_
size float The upper limit of instances the cluster can scale up to.
- min_
size float The lower limit of instances the cluster can scale down to.
- monitoring bool
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.
- name str
Required if type is set to CLASSIC
- region str
The region the cluster will run in.
- root_
volume_ floatsize The size (in Gb) to allocate for the root volume. Minimum
20.- scheduled_
tasks List[OceanScheduled Task] - security_
groups List[str] One or more security group ids.
- spot_
percentage float - subnet_
ids List[str] A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public ip.
-
List[Ocean
Tag] Optionally adds tags to instances launched in an Ocean cluster.
- update_
policy Dict[OceanUpdate Policy] - user_
data str Base64-encoded MIME user data to make available to the instances.
- utilize_
reserved_ boolinstances If Reserved instances exist, Ocean will utilize them before launching Spot instances.
- whitelists List[str]
Instance types allowed in the Ocean cluster. Cannot be configured if
blacklistis configured.
Supporting Types
OceanAutoscaler
- Auto
Headroom intPercentage - Autoscale
Cooldown int - Autoscale
Down Pulumi.Spot Inst. Aws. Inputs. Ocean Autoscaler Autoscale Down Args - Autoscale
Headroom Pulumi.Spot Inst. Aws. Inputs. Ocean Autoscaler Autoscale Headroom Args - Autoscale
Is boolAuto Config - Autoscale
Is boolEnabled - Resource
Limits Pulumi.Spot Inst. Aws. Inputs. Ocean Autoscaler Resource Limits Args
OceanAutoscalerAutoscaleDown
OceanAutoscalerAutoscaleHeadroom
OceanAutoscalerResourceLimits
OceanLoadBalancer
OceanScheduledTask
OceanScheduledTaskShutdownHours
OceanScheduledTaskTask
OceanTag
OceanUpdatePolicy
OceanUpdatePolicyRollConfig
Package Details
- Repository
- https://github.com/pulumi/pulumi-spotinst
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
spotinstTerraform Provider.