You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Aws::EC2::Types::SpotFleetRequestConfigData
- Inherits:
-
Struct
- Object
- Struct
- Aws::EC2::Types::SpotFleetRequestConfigData
- Defined in:
- (unknown)
Overview
When passing SpotFleetRequestConfigData as input to an Aws::Client method, you can use a vanilla Hash:
{
allocation_strategy: "lowestPrice", # accepts lowestPrice, diversified, capacityOptimized
on_demand_allocation_strategy: "lowestPrice", # accepts lowestPrice, prioritized
spot_maintenance_strategies: {
capacity_rebalance: {
replacement_strategy: "launch", # accepts launch
},
},
client_token: "String",
excess_capacity_termination_policy: "noTermination", # accepts noTermination, default
fulfilled_capacity: 1.0,
on_demand_fulfilled_capacity: 1.0,
iam_fleet_role: "String", # required
launch_specifications: [
{
security_groups: [
{
group_name: "String",
group_id: "String",
},
],
addressing_type: "String",
block_device_mappings: [
{
device_name: "String",
virtual_name: "String",
ebs: {
delete_on_termination: false,
iops: 1,
snapshot_id: "String",
volume_size: 1,
volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
kms_key_id: "String",
encrypted: false,
},
no_device: "String",
},
],
ebs_optimized: false,
iam_instance_profile: {
arn: "String",
name: "String",
},
image_id: "String",
instance_type: "t1.micro", # accepts t1.micro, t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, t3.nano, t3.micro, t3.small, t3.medium, t3.large, t3.xlarge, t3.2xlarge, t3a.nano, t3a.micro, t3a.small, t3a.medium, t3a.large, t3a.xlarge, t3a.2xlarge, t4g.nano, t4g.micro, t4g.small, t4g.medium, t4g.large, t4g.xlarge, t4g.2xlarge, m1.small, m1.medium, m1.large, m1.xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, cr1.8xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.8xlarge, r5.12xlarge, r5.16xlarge, r5.24xlarge, r5.metal, r5a.large, r5a.xlarge, r5a.2xlarge, r5a.4xlarge, r5a.8xlarge, r5a.12xlarge, r5a.16xlarge, r5a.24xlarge, r5d.large, r5d.xlarge, r5d.2xlarge, r5d.4xlarge, r5d.8xlarge, r5d.12xlarge, r5d.16xlarge, r5d.24xlarge, r5d.metal, r5ad.large, r5ad.xlarge, r5ad.2xlarge, r5ad.4xlarge, r5ad.8xlarge, r5ad.12xlarge, r5ad.16xlarge, r5ad.24xlarge, r6g.metal, r6g.medium, r6g.large, r6g.xlarge, r6g.2xlarge, r6g.4xlarge, r6g.8xlarge, r6g.12xlarge, r6g.16xlarge, r6gd.metal, r6gd.medium, r6gd.large, r6gd.xlarge, r6gd.2xlarge, r6gd.4xlarge, r6gd.8xlarge, r6gd.12xlarge, r6gd.16xlarge, x1.16xlarge, x1.32xlarge, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.32xlarge, i2.xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, i3.metal, i3en.large, i3en.xlarge, i3en.2xlarge, i3en.3xlarge, i3en.6xlarge, i3en.12xlarge, i3en.24xlarge, i3en.metal, hi1.4xlarge, hs1.8xlarge, c1.medium, c1.xlarge, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.12xlarge, c5.18xlarge, c5.24xlarge, c5.metal, c5a.large, c5a.xlarge, c5a.2xlarge, c5a.4xlarge, c5a.8xlarge, c5a.12xlarge, c5a.16xlarge, c5a.24xlarge, c5ad.large, c5ad.xlarge, c5ad.2xlarge, c5ad.4xlarge, c5ad.8xlarge, c5ad.12xlarge, c5ad.16xlarge, c5ad.24xlarge, c5d.large, c5d.xlarge, c5d.2xlarge, c5d.4xlarge, c5d.9xlarge, c5d.12xlarge, c5d.18xlarge, c5d.24xlarge, c5d.metal, c5n.large, c5n.xlarge, c5n.2xlarge, c5n.4xlarge, c5n.9xlarge, c5n.18xlarge, c6g.metal, c6g.medium, c6g.large, c6g.xlarge, c6g.2xlarge, c6g.4xlarge, c6g.8xlarge, c6g.12xlarge, c6g.16xlarge, c6gd.metal, c6gd.medium, c6gd.large, c6gd.xlarge, c6gd.2xlarge, c6gd.4xlarge, c6gd.8xlarge, c6gd.12xlarge, c6gd.16xlarge, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, g3s.xlarge, g4dn.xlarge, g4dn.2xlarge, g4dn.4xlarge, g4dn.8xlarge, g4dn.12xlarge, g4dn.16xlarge, g4dn.metal, cg1.4xlarge, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, p3dn.24xlarge, p4d.24xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, f1.2xlarge, f1.4xlarge, f1.16xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.8xlarge, m5.12xlarge, m5.16xlarge, m5.24xlarge, m5.metal, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.8xlarge, m5a.12xlarge, m5a.16xlarge, m5a.24xlarge, m5d.large, m5d.xlarge, m5d.2xlarge, m5d.4xlarge, m5d.8xlarge, m5d.12xlarge, m5d.16xlarge, m5d.24xlarge, m5d.metal, m5ad.large, m5ad.xlarge, m5ad.2xlarge, m5ad.4xlarge, m5ad.8xlarge, m5ad.12xlarge, m5ad.16xlarge, m5ad.24xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge, z1d.large, z1d.xlarge, z1d.2xlarge, z1d.3xlarge, z1d.6xlarge, z1d.12xlarge, z1d.metal, u-6tb1.metal, u-9tb1.metal, u-12tb1.metal, u-18tb1.metal, u-24tb1.metal, a1.medium, a1.large, a1.xlarge, a1.2xlarge, a1.4xlarge, a1.metal, m5dn.large, m5dn.xlarge, m5dn.2xlarge, m5dn.4xlarge, m5dn.8xlarge, m5dn.12xlarge, m5dn.16xlarge, m5dn.24xlarge, m5n.large, m5n.xlarge, m5n.2xlarge, m5n.4xlarge, m5n.8xlarge, m5n.12xlarge, m5n.16xlarge, m5n.24xlarge, r5dn.large, r5dn.xlarge, r5dn.2xlarge, r5dn.4xlarge, r5dn.8xlarge, r5dn.12xlarge, r5dn.16xlarge, r5dn.24xlarge, r5n.large, r5n.xlarge, r5n.2xlarge, r5n.4xlarge, r5n.8xlarge, r5n.12xlarge, r5n.16xlarge, r5n.24xlarge, inf1.xlarge, inf1.2xlarge, inf1.6xlarge, inf1.24xlarge, m6g.metal, m6g.medium, m6g.large, m6g.xlarge, m6g.2xlarge, m6g.4xlarge, m6g.8xlarge, m6g.12xlarge, m6g.16xlarge, m6gd.metal, m6gd.medium, m6gd.large, m6gd.xlarge, m6gd.2xlarge, m6gd.4xlarge, m6gd.8xlarge, m6gd.12xlarge, m6gd.16xlarge
kernel_id: "String",
key_name: "String",
monitoring: {
enabled: false,
},
network_interfaces: [
{
associate_public_ip_address: false,
delete_on_termination: false,
description: "String",
device_index: 1,
groups: ["SecurityGroupId"],
ipv_6_address_count: 1,
ipv_6_addresses: [
{
ipv_6_address: "String",
},
],
network_interface_id: "String",
private_ip_address: "String",
private_ip_addresses: [
{
primary: false,
private_ip_address: "String",
},
],
secondary_private_ip_address_count: 1,
subnet_id: "String",
associate_carrier_ip_address: false,
interface_type: "String",
network_card_index: 1,
},
],
placement: {
availability_zone: "String",
group_name: "String",
tenancy: "default", # accepts default, dedicated, host
},
ramdisk_id: "String",
spot_price: "String",
subnet_id: "String",
user_data: "String",
weighted_capacity: 1.0,
tag_specifications: [
{
resource_type: "client-vpn-endpoint", # accepts client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, internet-gateway, key-pair, launch-template, local-gateway-route-table-vpc-association, natgateway, network-acl, network-interface, placement-group, reserved-instances, route-table, security-group, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
tags: [
{
key: "String",
value: "String",
},
],
},
],
},
],
launch_template_configs: [
{
launch_template_specification: {
launch_template_id: "String",
launch_template_name: "LaunchTemplateName",
version: "String",
},
overrides: [
{
instance_type: "t1.micro", # accepts t1.micro, t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, t3.nano, t3.micro, t3.small, t3.medium, t3.large, t3.xlarge, t3.2xlarge, t3a.nano, t3a.micro, t3a.small, t3a.medium, t3a.large, t3a.xlarge, t3a.2xlarge, t4g.nano, t4g.micro, t4g.small, t4g.medium, t4g.large, t4g.xlarge, t4g.2xlarge, m1.small, m1.medium, m1.large, m1.xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, cr1.8xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.8xlarge, r5.12xlarge, r5.16xlarge, r5.24xlarge, r5.metal, r5a.large, r5a.xlarge, r5a.2xlarge, r5a.4xlarge, r5a.8xlarge, r5a.12xlarge, r5a.16xlarge, r5a.24xlarge, r5d.large, r5d.xlarge, r5d.2xlarge, r5d.4xlarge, r5d.8xlarge, r5d.12xlarge, r5d.16xlarge, r5d.24xlarge, r5d.metal, r5ad.large, r5ad.xlarge, r5ad.2xlarge, r5ad.4xlarge, r5ad.8xlarge, r5ad.12xlarge, r5ad.16xlarge, r5ad.24xlarge, r6g.metal, r6g.medium, r6g.large, r6g.xlarge, r6g.2xlarge, r6g.4xlarge, r6g.8xlarge, r6g.12xlarge, r6g.16xlarge, r6gd.metal, r6gd.medium, r6gd.large, r6gd.xlarge, r6gd.2xlarge, r6gd.4xlarge, r6gd.8xlarge, r6gd.12xlarge, r6gd.16xlarge, x1.16xlarge, x1.32xlarge, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.32xlarge, i2.xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, i3.metal, i3en.large, i3en.xlarge, i3en.2xlarge, i3en.3xlarge, i3en.6xlarge, i3en.12xlarge, i3en.24xlarge, i3en.metal, hi1.4xlarge, hs1.8xlarge, c1.medium, c1.xlarge, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.12xlarge, c5.18xlarge, c5.24xlarge, c5.metal, c5a.large, c5a.xlarge, c5a.2xlarge, c5a.4xlarge, c5a.8xlarge, c5a.12xlarge, c5a.16xlarge, c5a.24xlarge, c5ad.large, c5ad.xlarge, c5ad.2xlarge, c5ad.4xlarge, c5ad.8xlarge, c5ad.12xlarge, c5ad.16xlarge, c5ad.24xlarge, c5d.large, c5d.xlarge, c5d.2xlarge, c5d.4xlarge, c5d.9xlarge, c5d.12xlarge, c5d.18xlarge, c5d.24xlarge, c5d.metal, c5n.large, c5n.xlarge, c5n.2xlarge, c5n.4xlarge, c5n.9xlarge, c5n.18xlarge, c6g.metal, c6g.medium, c6g.large, c6g.xlarge, c6g.2xlarge, c6g.4xlarge, c6g.8xlarge, c6g.12xlarge, c6g.16xlarge, c6gd.metal, c6gd.medium, c6gd.large, c6gd.xlarge, c6gd.2xlarge, c6gd.4xlarge, c6gd.8xlarge, c6gd.12xlarge, c6gd.16xlarge, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, g3s.xlarge, g4dn.xlarge, g4dn.2xlarge, g4dn.4xlarge, g4dn.8xlarge, g4dn.12xlarge, g4dn.16xlarge, g4dn.metal, cg1.4xlarge, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, p3dn.24xlarge, p4d.24xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, f1.2xlarge, f1.4xlarge, f1.16xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.8xlarge, m5.12xlarge, m5.16xlarge, m5.24xlarge, m5.metal, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.8xlarge, m5a.12xlarge, m5a.16xlarge, m5a.24xlarge, m5d.large, m5d.xlarge, m5d.2xlarge, m5d.4xlarge, m5d.8xlarge, m5d.12xlarge, m5d.16xlarge, m5d.24xlarge, m5d.metal, m5ad.large, m5ad.xlarge, m5ad.2xlarge, m5ad.4xlarge, m5ad.8xlarge, m5ad.12xlarge, m5ad.16xlarge, m5ad.24xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge, z1d.large, z1d.xlarge, z1d.2xlarge, z1d.3xlarge, z1d.6xlarge, z1d.12xlarge, z1d.metal, u-6tb1.metal, u-9tb1.metal, u-12tb1.metal, u-18tb1.metal, u-24tb1.metal, a1.medium, a1.large, a1.xlarge, a1.2xlarge, a1.4xlarge, a1.metal, m5dn.large, m5dn.xlarge, m5dn.2xlarge, m5dn.4xlarge, m5dn.8xlarge, m5dn.12xlarge, m5dn.16xlarge, m5dn.24xlarge, m5n.large, m5n.xlarge, m5n.2xlarge, m5n.4xlarge, m5n.8xlarge, m5n.12xlarge, m5n.16xlarge, m5n.24xlarge, r5dn.large, r5dn.xlarge, r5dn.2xlarge, r5dn.4xlarge, r5dn.8xlarge, r5dn.12xlarge, r5dn.16xlarge, r5dn.24xlarge, r5n.large, r5n.xlarge, r5n.2xlarge, r5n.4xlarge, r5n.8xlarge, r5n.12xlarge, r5n.16xlarge, r5n.24xlarge, inf1.xlarge, inf1.2xlarge, inf1.6xlarge, inf1.24xlarge, m6g.metal, m6g.medium, m6g.large, m6g.xlarge, m6g.2xlarge, m6g.4xlarge, m6g.8xlarge, m6g.12xlarge, m6g.16xlarge, m6gd.metal, m6gd.medium, m6gd.large, m6gd.xlarge, m6gd.2xlarge, m6gd.4xlarge, m6gd.8xlarge, m6gd.12xlarge, m6gd.16xlarge
spot_price: "String",
subnet_id: "String",
availability_zone: "String",
weighted_capacity: 1.0,
priority: 1.0,
},
],
},
],
spot_price: "String",
target_capacity: 1, # required
on_demand_target_capacity: 1,
on_demand_max_total_price: "String",
spot_max_total_price: "String",
terminate_instances_with_expiration: false,
type: "request", # accepts request, maintain, instant
valid_from: Time.now,
valid_until: Time.now,
replace_unhealthy_instances: false,
instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
load_balancers_config: {
classic_load_balancers_config: {
classic_load_balancers: [
{
name: "String",
},
],
},
target_groups_config: {
target_groups: [
{
arn: "String",
},
],
},
},
instance_pools_to_use_count: 1,
tag_specifications: [
{
resource_type: "client-vpn-endpoint", # accepts client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, internet-gateway, key-pair, launch-template, local-gateway-route-table-vpc-association, natgateway, network-acl, network-interface, placement-group, reserved-instances, route-table, security-group, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
tags: [
{
key: "String",
value: "String",
},
],
},
],
}
Describes the configuration of a Spot Fleet request.
Returned by:
Instance Attribute Summary collapse
-
#allocation_strategy ⇒ String
Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet request.
-
#client_token ⇒ String
A unique, case-sensitive identifier that you provide to ensure the idempotency of your listings.
-
#excess_capacity_termination_policy ⇒ String
Indicates whether running Spot Instances should be terminated if you decrease the target capacity of the Spot Fleet request below the current size of the Spot Fleet.
-
#fulfilled_capacity ⇒ Float
The number of units fulfilled by this request compared to the set target capacity.
-
#iam_fleet_role ⇒ String
The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that grants the Spot Fleet the permission to request, launch, terminate, and tag instances on your behalf.
-
#instance_interruption_behavior ⇒ String
The behavior when a Spot Instance is interrupted.
-
#instance_pools_to_use_count ⇒ Integer
The number of Spot pools across which to allocate your target Spot capacity.
-
#launch_specifications ⇒ Array<Types::SpotFleetLaunchSpecification>
The launch specifications for the Spot Fleet request.
-
#launch_template_configs ⇒ Array<Types::LaunchTemplateConfig>
The launch template and overrides.
-
#load_balancers_config ⇒ Types::LoadBalancersConfig
One or more Classic Load Balancers and target groups to attach to the Spot Fleet request.
-
#on_demand_allocation_strategy ⇒ String
The order of the launch template overrides to use in fulfilling On-Demand capacity.
-
#on_demand_fulfilled_capacity ⇒ Float
The number of On-Demand units fulfilled by this request compared to the set target On-Demand capacity.
-
#on_demand_max_total_price ⇒ String
The maximum amount per hour for On-Demand Instances that you\'re willing to pay.
-
#on_demand_target_capacity ⇒ Integer
The number of On-Demand units to request.
-
#replace_unhealthy_instances ⇒ Boolean
Indicates whether Spot Fleet should replace unhealthy instances.
-
#spot_maintenance_strategies ⇒ Types::SpotMaintenanceStrategies
The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.
-
#spot_max_total_price ⇒ String
The maximum amount per hour for Spot Instances that you\'re willing to pay.
-
#spot_price ⇒ String
The maximum price per unit hour that you are willing to pay for a Spot Instance.
-
#tag_specifications ⇒ Array<Types::TagSpecification>
The key-value pair for tagging the Spot Fleet request on creation.
-
#target_capacity ⇒ Integer
The number of units to request for the Spot Fleet.
-
#terminate_instances_with_expiration ⇒ Boolean
Indicates whether running Spot Instances are terminated when the Spot Fleet request expires.
-
#type ⇒ String
The type of request.
-
#valid_from ⇒ Time
The start date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
-
#valid_until ⇒ Time
The end date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
Instance Attribute Details
#allocation_strategy ⇒ String
Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet request.
If the allocation strategy is lowestPrice
, Spot Fleet launches
instances from the Spot Instance pools with the lowest price. This is
the default allocation strategy.
If the allocation strategy is diversified
, Spot Fleet launches
instances from all the Spot Instance pools that you specify.
If the allocation strategy is capacityOptimized
, Spot Fleet launches
instances from Spot Instance pools with optimal capacity for the number
of instances that are launching.
Possible values:
- lowestPrice
- diversified
- capacityOptimized
#client_token ⇒ String
A unique, case-sensitive identifier that you provide to ensure the idempotency of your listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.
#excess_capacity_termination_policy ⇒ String
Indicates whether running Spot Instances should be terminated if you decrease the target capacity of the Spot Fleet request below the current size of the Spot Fleet.
Possible values:
- noTermination
- default
#fulfilled_capacity ⇒ Float
The number of units fulfilled by this request compared to the set target capacity. You cannot set this value.
#iam_fleet_role ⇒ String
The Amazon Resource Name (ARN) of an AWS Identity and Access Management
(IAM) role that grants the Spot Fleet the permission to request, launch,
terminate, and tag instances on your behalf. For more information, see
Spot Fleet prerequisites in the Amazon EC2 User Guide for Linux
Instances. Spot Fleet can terminate Spot Instances on your behalf when
you cancel its Spot Fleet request using CancelSpotFleetRequests or
when the Spot Fleet request expires, if you set
TerminateInstancesWithExpiration
.
#instance_interruption_behavior ⇒ String
The behavior when a Spot Instance is interrupted. The default is
terminate
.
Possible values:
- hibernate
- stop
- terminate
#instance_pools_to_use_count ⇒ Integer
The number of Spot pools across which to allocate your target Spot
capacity. Valid only when Spot AllocationStrategy is set to
lowest-price
. Spot Fleet selects the cheapest Spot pools and evenly
allocates your target Spot capacity across the number of Spot pools that
you specify.
#launch_specifications ⇒ Array<Types::SpotFleetLaunchSpecification>
The launch specifications for the Spot Fleet request. If you specify
LaunchSpecifications
, you can\'t specify LaunchTemplateConfigs
. If
you include On-Demand capacity in your request, you must use
LaunchTemplateConfigs
.
#launch_template_configs ⇒ Array<Types::LaunchTemplateConfig>
The launch template and overrides. If you specify
LaunchTemplateConfigs
, you can\'t specify LaunchSpecifications
. If
you include On-Demand capacity in your request, you must use
LaunchTemplateConfigs
.
#load_balancers_config ⇒ Types::LoadBalancersConfig
One or more Classic Load Balancers and target groups to attach to the Spot Fleet request. Spot Fleet registers the running Spot Instances with the specified Classic Load Balancers and target groups.
With Network Load Balancers, Spot Fleet cannot register instances that have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1.
#on_demand_allocation_strategy ⇒ String
The order of the launch template overrides to use in fulfilling
On-Demand capacity. If you specify lowestPrice
, Spot Fleet uses price
to determine the order, launching the lowest price first. If you specify
prioritized
, Spot Fleet uses the priority that you assign to each Spot
Fleet launch template override, launching the highest priority first. If
you do not specify a value, Spot Fleet defaults to lowestPrice
.
Possible values:
- lowestPrice
- prioritized
#on_demand_fulfilled_capacity ⇒ Float
The number of On-Demand units fulfilled by this request compared to the set target On-Demand capacity.
#on_demand_max_total_price ⇒ String
The maximum amount per hour for On-Demand Instances that you\'re willing
to pay. You can use the onDemandMaxTotalPrice
parameter, the
spotMaxTotalPrice
parameter, or both parameters to ensure that your
fleet cost does not exceed your budget. If you set a maximum price per
hour for the On-Demand Instances and Spot Instances in your request,
Spot Fleet will launch instances until it reaches the maximum amount
you\'re willing to pay. When the maximum amount you\'re willing to pay
is reached, the fleet stops launching instances even if it hasn’t met
the target capacity.
#on_demand_target_capacity ⇒ Integer
The number of On-Demand units to request. You can choose to set the
target capacity in terms of instances or a performance characteristic
that is important to your application workload, such as vCPUs, memory,
or I/O. If the request type is maintain
, you can specify a target
capacity of 0 and add capacity later.
#replace_unhealthy_instances ⇒ Boolean
Indicates whether Spot Fleet should replace unhealthy instances.
#spot_maintenance_strategies ⇒ Types::SpotMaintenanceStrategies
The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.
#spot_max_total_price ⇒ String
The maximum amount per hour for Spot Instances that you\'re willing to
pay. You can use the spotdMaxTotalPrice
parameter, the
onDemandMaxTotalPrice
parameter, or both parameters to ensure that
your fleet cost does not exceed your budget. If you set a maximum price
per hour for the On-Demand Instances and Spot Instances in your request,
Spot Fleet will launch instances until it reaches the maximum amount
you\'re willing to pay. When the maximum amount you\'re willing to pay
is reached, the fleet stops launching instances even if it hasn’t met
the target capacity.
#spot_price ⇒ String
The maximum price per unit hour that you are willing to pay for a Spot Instance. The default is the On-Demand price.
#tag_specifications ⇒ Array<Types::TagSpecification>
The key-value pair for tagging the Spot Fleet request on creation. The
value for ResourceType
must be spot-fleet-request
, otherwise the
Spot Fleet request fails. To tag instances at launch, specify the tags
in the launch template (valid only if you use
LaunchTemplateConfigs
) or in the SpotFleetTagSpecification
(valid only if you use LaunchSpecifications
). For information about
tagging after launch, see Tagging Your Resources.
#target_capacity ⇒ Integer
The number of units to request for the Spot Fleet. You can choose to set
the target capacity in terms of instances or a performance
characteristic that is important to your application workload, such as
vCPUs, memory, or I/O. If the request type is maintain
, you can
specify a target capacity of 0 and add capacity later.
#terminate_instances_with_expiration ⇒ Boolean
Indicates whether running Spot Instances are terminated when the Spot Fleet request expires.
#type ⇒ String
The type of request. Indicates whether the Spot Fleet only requests the
target capacity or also attempts to maintain it. When this value is
request
, the Spot Fleet only places the required requests. It does not
attempt to replenish Spot Instances if capacity is diminished, nor does
it submit requests in alternative Spot pools if capacity is not
available. When this value is maintain
, the Spot Fleet maintains the
target capacity. The Spot Fleet places the required requests to meet
capacity and automatically replenishes any interrupted instances.
Default: maintain
. instant
is listed but is not used by Spot Fleet.
Possible values:
- request
- maintain
- instant
#valid_from ⇒ Time
The start date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). By default, Amazon EC2 starts fulfilling the request immediately.
#valid_until ⇒ Time
The end date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). After the end date and time, no new Spot Instance requests are placed or able to fulfill the request. If no value is specified, the Spot Fleet request remains until you cancel it.