LaunchTemplateSpotOptions

class aws_cdk.aws_ec2.LaunchTemplateSpotOptions(*, block_duration=None, interruption_behavior=None, max_price=None, request_type=None, valid_until=None)

Bases: object

Interface for the Spot market instance options provided in a LaunchTemplate.

Parameters
  • block_duration (Optional[Duration]) – Spot Instances with a defined duration (also known as Spot blocks) are designed not to be interrupted and will run continuously for the duration you select. You can use a duration of 1, 2, 3, 4, 5, or 6 hours. Default: Requested spot instances do not have a pre-defined duration.

  • interruption_behavior (Optional[SpotInstanceInterruption]) – The behavior when a Spot Instance is interrupted. Default: Spot instances will terminate when interrupted.

  • max_price (Union[int, float, None]) – Maximum hourly price you’re willing to pay for each Spot instance. The value is given in dollars. ex: 0.01 for 1 cent per hour, or 0.001 for one-tenth of a cent per hour. Default: Maximum hourly price will default to the on-demand price for the instance type.

  • request_type (Optional[SpotRequestType]) – The Spot Instance request type. If you are using Spot Instances with an Auto Scaling group, use one-time requests, as the Amazon EC2 Auto Scaling service handles requesting new Spot Instances whenever the group is below its desired capacity. Default: One-time spot request.

  • valid_until (Optional[Expiration]) – The end date of the request. For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached. Default: The default end date is 7 days from the current date.

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_ec2 as ec2
import aws_cdk.core as cdk

# expiration is of type Expiration

launch_template_spot_options = ec2.LaunchTemplateSpotOptions(
    block_duration=cdk.Duration.minutes(30),
    interruption_behavior=ec2.SpotInstanceInterruption.STOP,
    max_price=123,
    request_type=ec2.SpotRequestType.ONE_TIME,
    valid_until=expiration
)

Attributes

block_duration

Spot Instances with a defined duration (also known as Spot blocks) are designed not to be interrupted and will run continuously for the duration you select.

You can use a duration of 1, 2, 3, 4, 5, or 6 hours.

Default

Requested spot instances do not have a pre-defined duration.

See

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#fixed-duration-spot-instances

Return type

Optional[Duration]

interruption_behavior

The behavior when a Spot Instance is interrupted.

Default

Spot instances will terminate when interrupted.

Return type

Optional[SpotInstanceInterruption]

max_price

Maximum hourly price you’re willing to pay for each Spot instance.

The value is given in dollars. ex: 0.01 for 1 cent per hour, or 0.001 for one-tenth of a cent per hour.

Default

Maximum hourly price will default to the on-demand price for the instance type.

Return type

Union[int, float, None]

request_type

The Spot Instance request type.

If you are using Spot Instances with an Auto Scaling group, use one-time requests, as the Amazon EC2 Auto Scaling service handles requesting new Spot Instances whenever the group is below its desired capacity.

Default

One-time spot request.

Return type

Optional[SpotRequestType]

valid_until

The end date of the request.

For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached.

Default

The default end date is 7 days from the current date.

Return type

Optional[Expiration]