EC2.Client.
request_spot_fleet
(**kwargs)¶Creates a Spot Fleet request.
The Spot Fleet request specifies the total target capacity and the On-Demand target capacity. Amazon EC2 calculates the difference between the total capacity and On-Demand capacity, and launches the difference as Spot capacity.
You can submit a single request that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.
By default, the Spot Fleet requests Spot Instances in the Spot Instance pool where the price per unit is the lowest. Each launch specification can include its own instance weighting that reflects the value of the instance type to your application workload.
Alternatively, you can specify that the Spot Fleet distribute the target capacity across the Spot pools included in its launch specifications. By ensuring that the Spot Instances in your Spot Fleet are in different Spot pools, you can improve the availability of your fleet.
You can specify tags for the Spot Fleet request and instances launched by the fleet. You cannot tag other resource types in a Spot Fleet request because only the spot-fleet-request
and instance
resource types are supported.
For more information, see Spot Fleet requests in the Amazon EC2 User Guide .
Warning
We strongly discourage using the RequestSpotFleet API because it is a legacy API with no planned investment. For options for requesting Spot Instances, see Which is the best Spot request method to use? in the Amazon EC2 User Guide .
See also: AWS API Documentation
Request Syntax
response = client.request_spot_fleet(
DryRun=True|False,
SpotFleetRequestConfig={
'AllocationStrategy': 'lowestPrice'|'diversified'|'capacityOptimized'|'capacityOptimizedPrioritized'|'priceCapacityOptimized',
'OnDemandAllocationStrategy': 'lowestPrice'|'prioritized',
'SpotMaintenanceStrategies': {
'CapacityRebalance': {
'ReplacementStrategy': 'launch'|'launch-before-terminate',
'TerminationDelay': 123
}
},
'ClientToken': 'string',
'ExcessCapacityTerminationPolicy': 'noTermination'|'default',
'FulfilledCapacity': 123.0,
'OnDemandFulfilledCapacity': 123.0,
'IamFleetRole': 'string',
'LaunchSpecifications': [
{
'SecurityGroups': [
{
'GroupName': 'string',
'GroupId': 'string'
},
],
'AddressingType': 'string',
'BlockDeviceMappings': [
{
'DeviceName': 'string',
'VirtualName': 'string',
'Ebs': {
'DeleteOnTermination': True|False,
'Iops': 123,
'SnapshotId': 'string',
'VolumeSize': 123,
'VolumeType': 'standard'|'io1'|'io2'|'gp2'|'sc1'|'st1'|'gp3',
'KmsKeyId': 'string',
'Throughput': 123,
'OutpostArn': 'string',
'Encrypted': True|False
},
'NoDevice': 'string'
},
],
'EbsOptimized': True|False,
'IamInstanceProfile': {
'Arn': 'string',
'Name': 'string'
},
'ImageId': 'string',
'InstanceType': 'a1.medium'|'a1.large'|'a1.xlarge'|'a1.2xlarge'|'a1.4xlarge'|'a1.metal'|'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'|'c5n.metal'|'c6g.medium'|'c6g.large'|'c6g.xlarge'|'c6g.2xlarge'|'c6g.4xlarge'|'c6g.8xlarge'|'c6g.12xlarge'|'c6g.16xlarge'|'c6g.metal'|'c6gd.medium'|'c6gd.large'|'c6gd.xlarge'|'c6gd.2xlarge'|'c6gd.4xlarge'|'c6gd.8xlarge'|'c6gd.12xlarge'|'c6gd.16xlarge'|'c6gd.metal'|'c6gn.medium'|'c6gn.large'|'c6gn.xlarge'|'c6gn.2xlarge'|'c6gn.4xlarge'|'c6gn.8xlarge'|'c6gn.12xlarge'|'c6gn.16xlarge'|'c6i.large'|'c6i.xlarge'|'c6i.2xlarge'|'c6i.4xlarge'|'c6i.8xlarge'|'c6i.12xlarge'|'c6i.16xlarge'|'c6i.24xlarge'|'c6i.32xlarge'|'c6i.metal'|'cc1.4xlarge'|'cc2.8xlarge'|'cg1.4xlarge'|'cr1.8xlarge'|'d2.xlarge'|'d2.2xlarge'|'d2.4xlarge'|'d2.8xlarge'|'d3.xlarge'|'d3.2xlarge'|'d3.4xlarge'|'d3.8xlarge'|'d3en.xlarge'|'d3en.2xlarge'|'d3en.4xlarge'|'d3en.6xlarge'|'d3en.8xlarge'|'d3en.12xlarge'|'dl1.24xlarge'|'f1.2xlarge'|'f1.4xlarge'|'f1.16xlarge'|'g2.2xlarge'|'g2.8xlarge'|'g3.4xlarge'|'g3.8xlarge'|'g3.16xlarge'|'g3s.xlarge'|'g4ad.xlarge'|'g4ad.2xlarge'|'g4ad.4xlarge'|'g4ad.8xlarge'|'g4ad.16xlarge'|'g4dn.xlarge'|'g4dn.2xlarge'|'g4dn.4xlarge'|'g4dn.8xlarge'|'g4dn.12xlarge'|'g4dn.16xlarge'|'g4dn.metal'|'g5.xlarge'|'g5.2xlarge'|'g5.4xlarge'|'g5.8xlarge'|'g5.12xlarge'|'g5.16xlarge'|'g5.24xlarge'|'g5.48xlarge'|'g5g.xlarge'|'g5g.2xlarge'|'g5g.4xlarge'|'g5g.8xlarge'|'g5g.16xlarge'|'g5g.metal'|'hi1.4xlarge'|'hpc6a.48xlarge'|'hs1.8xlarge'|'h1.2xlarge'|'h1.4xlarge'|'h1.8xlarge'|'h1.16xlarge'|'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'|'im4gn.large'|'im4gn.xlarge'|'im4gn.2xlarge'|'im4gn.4xlarge'|'im4gn.8xlarge'|'im4gn.16xlarge'|'inf1.xlarge'|'inf1.2xlarge'|'inf1.6xlarge'|'inf1.24xlarge'|'is4gen.medium'|'is4gen.large'|'is4gen.xlarge'|'is4gen.2xlarge'|'is4gen.4xlarge'|'is4gen.8xlarge'|'m1.small'|'m1.medium'|'m1.large'|'m1.xlarge'|'m2.xlarge'|'m2.2xlarge'|'m2.4xlarge'|'m3.medium'|'m3.large'|'m3.xlarge'|'m3.2xlarge'|'m4.large'|'m4.xlarge'|'m4.2xlarge'|'m4.4xlarge'|'m4.10xlarge'|'m4.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'|'m5ad.large'|'m5ad.xlarge'|'m5ad.2xlarge'|'m5ad.4xlarge'|'m5ad.8xlarge'|'m5ad.12xlarge'|'m5ad.16xlarge'|'m5ad.24xlarge'|'m5d.large'|'m5d.xlarge'|'m5d.2xlarge'|'m5d.4xlarge'|'m5d.8xlarge'|'m5d.12xlarge'|'m5d.16xlarge'|'m5d.24xlarge'|'m5d.metal'|'m5dn.large'|'m5dn.xlarge'|'m5dn.2xlarge'|'m5dn.4xlarge'|'m5dn.8xlarge'|'m5dn.12xlarge'|'m5dn.16xlarge'|'m5dn.24xlarge'|'m5dn.metal'|'m5n.large'|'m5n.xlarge'|'m5n.2xlarge'|'m5n.4xlarge'|'m5n.8xlarge'|'m5n.12xlarge'|'m5n.16xlarge'|'m5n.24xlarge'|'m5n.metal'|'m5zn.large'|'m5zn.xlarge'|'m5zn.2xlarge'|'m5zn.3xlarge'|'m5zn.6xlarge'|'m5zn.12xlarge'|'m5zn.metal'|'m6a.large'|'m6a.xlarge'|'m6a.2xlarge'|'m6a.4xlarge'|'m6a.8xlarge'|'m6a.12xlarge'|'m6a.16xlarge'|'m6a.24xlarge'|'m6a.32xlarge'|'m6a.48xlarge'|'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'|'m6i.large'|'m6i.xlarge'|'m6i.2xlarge'|'m6i.4xlarge'|'m6i.8xlarge'|'m6i.12xlarge'|'m6i.16xlarge'|'m6i.24xlarge'|'m6i.32xlarge'|'m6i.metal'|'mac1.metal'|'p2.xlarge'|'p2.8xlarge'|'p2.16xlarge'|'p3.2xlarge'|'p3.8xlarge'|'p3.16xlarge'|'p3dn.24xlarge'|'p4d.24xlarge'|'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'|'r5ad.large'|'r5ad.xlarge'|'r5ad.2xlarge'|'r5ad.4xlarge'|'r5ad.8xlarge'|'r5ad.12xlarge'|'r5ad.16xlarge'|'r5ad.24xlarge'|'r5b.large'|'r5b.xlarge'|'r5b.2xlarge'|'r5b.4xlarge'|'r5b.8xlarge'|'r5b.12xlarge'|'r5b.16xlarge'|'r5b.24xlarge'|'r5b.metal'|'r5d.large'|'r5d.xlarge'|'r5d.2xlarge'|'r5d.4xlarge'|'r5d.8xlarge'|'r5d.12xlarge'|'r5d.16xlarge'|'r5d.24xlarge'|'r5d.metal'|'r5dn.large'|'r5dn.xlarge'|'r5dn.2xlarge'|'r5dn.4xlarge'|'r5dn.8xlarge'|'r5dn.12xlarge'|'r5dn.16xlarge'|'r5dn.24xlarge'|'r5dn.metal'|'r5n.large'|'r5n.xlarge'|'r5n.2xlarge'|'r5n.4xlarge'|'r5n.8xlarge'|'r5n.12xlarge'|'r5n.16xlarge'|'r5n.24xlarge'|'r5n.metal'|'r6g.medium'|'r6g.large'|'r6g.xlarge'|'r6g.2xlarge'|'r6g.4xlarge'|'r6g.8xlarge'|'r6g.12xlarge'|'r6g.16xlarge'|'r6g.metal'|'r6gd.medium'|'r6gd.large'|'r6gd.xlarge'|'r6gd.2xlarge'|'r6gd.4xlarge'|'r6gd.8xlarge'|'r6gd.12xlarge'|'r6gd.16xlarge'|'r6gd.metal'|'r6i.large'|'r6i.xlarge'|'r6i.2xlarge'|'r6i.4xlarge'|'r6i.8xlarge'|'r6i.12xlarge'|'r6i.16xlarge'|'r6i.24xlarge'|'r6i.32xlarge'|'r6i.metal'|'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'|'u-6tb1.56xlarge'|'u-6tb1.112xlarge'|'u-9tb1.112xlarge'|'u-12tb1.112xlarge'|'u-6tb1.metal'|'u-9tb1.metal'|'u-12tb1.metal'|'u-18tb1.metal'|'u-24tb1.metal'|'vt1.3xlarge'|'vt1.6xlarge'|'vt1.24xlarge'|'x1.16xlarge'|'x1.32xlarge'|'x1e.xlarge'|'x1e.2xlarge'|'x1e.4xlarge'|'x1e.8xlarge'|'x1e.16xlarge'|'x1e.32xlarge'|'x2iezn.2xlarge'|'x2iezn.4xlarge'|'x2iezn.6xlarge'|'x2iezn.8xlarge'|'x2iezn.12xlarge'|'x2iezn.metal'|'x2gd.medium'|'x2gd.large'|'x2gd.xlarge'|'x2gd.2xlarge'|'x2gd.4xlarge'|'x2gd.8xlarge'|'x2gd.12xlarge'|'x2gd.16xlarge'|'x2gd.metal'|'z1d.large'|'z1d.xlarge'|'z1d.2xlarge'|'z1d.3xlarge'|'z1d.6xlarge'|'z1d.12xlarge'|'z1d.metal'|'x2idn.16xlarge'|'x2idn.24xlarge'|'x2idn.32xlarge'|'x2iedn.xlarge'|'x2iedn.2xlarge'|'x2iedn.4xlarge'|'x2iedn.8xlarge'|'x2iedn.16xlarge'|'x2iedn.24xlarge'|'x2iedn.32xlarge'|'c6a.large'|'c6a.xlarge'|'c6a.2xlarge'|'c6a.4xlarge'|'c6a.8xlarge'|'c6a.12xlarge'|'c6a.16xlarge'|'c6a.24xlarge'|'c6a.32xlarge'|'c6a.48xlarge'|'c6a.metal'|'m6a.metal'|'i4i.large'|'i4i.xlarge'|'i4i.2xlarge'|'i4i.4xlarge'|'i4i.8xlarge'|'i4i.16xlarge'|'i4i.32xlarge'|'i4i.metal'|'x2idn.metal'|'x2iedn.metal'|'c7g.medium'|'c7g.large'|'c7g.xlarge'|'c7g.2xlarge'|'c7g.4xlarge'|'c7g.8xlarge'|'c7g.12xlarge'|'c7g.16xlarge'|'mac2.metal'|'c6id.large'|'c6id.xlarge'|'c6id.2xlarge'|'c6id.4xlarge'|'c6id.8xlarge'|'c6id.12xlarge'|'c6id.16xlarge'|'c6id.24xlarge'|'c6id.32xlarge'|'c6id.metal'|'m6id.large'|'m6id.xlarge'|'m6id.2xlarge'|'m6id.4xlarge'|'m6id.8xlarge'|'m6id.12xlarge'|'m6id.16xlarge'|'m6id.24xlarge'|'m6id.32xlarge'|'m6id.metal'|'r6id.large'|'r6id.xlarge'|'r6id.2xlarge'|'r6id.4xlarge'|'r6id.8xlarge'|'r6id.12xlarge'|'r6id.16xlarge'|'r6id.24xlarge'|'r6id.32xlarge'|'r6id.metal'|'r6a.large'|'r6a.xlarge'|'r6a.2xlarge'|'r6a.4xlarge'|'r6a.8xlarge'|'r6a.12xlarge'|'r6a.16xlarge'|'r6a.24xlarge'|'r6a.32xlarge'|'r6a.48xlarge'|'r6a.metal'|'p4de.24xlarge'|'u-3tb1.56xlarge'|'u-18tb1.112xlarge'|'u-24tb1.112xlarge'|'trn1.2xlarge'|'trn1.32xlarge'|'hpc6id.32xlarge'|'c6in.large'|'c6in.xlarge'|'c6in.2xlarge'|'c6in.4xlarge'|'c6in.8xlarge'|'c6in.12xlarge'|'c6in.16xlarge'|'c6in.24xlarge'|'c6in.32xlarge'|'m6in.large'|'m6in.xlarge'|'m6in.2xlarge'|'m6in.4xlarge'|'m6in.8xlarge'|'m6in.12xlarge'|'m6in.16xlarge'|'m6in.24xlarge'|'m6in.32xlarge'|'m6idn.large'|'m6idn.xlarge'|'m6idn.2xlarge'|'m6idn.4xlarge'|'m6idn.8xlarge'|'m6idn.12xlarge'|'m6idn.16xlarge'|'m6idn.24xlarge'|'m6idn.32xlarge'|'r6in.large'|'r6in.xlarge'|'r6in.2xlarge'|'r6in.4xlarge'|'r6in.8xlarge'|'r6in.12xlarge'|'r6in.16xlarge'|'r6in.24xlarge'|'r6in.32xlarge'|'r6idn.large'|'r6idn.xlarge'|'r6idn.2xlarge'|'r6idn.4xlarge'|'r6idn.8xlarge'|'r6idn.12xlarge'|'r6idn.16xlarge'|'r6idn.24xlarge'|'r6idn.32xlarge'|'c7g.metal'|'m7g.medium'|'m7g.large'|'m7g.xlarge'|'m7g.2xlarge'|'m7g.4xlarge'|'m7g.8xlarge'|'m7g.12xlarge'|'m7g.16xlarge'|'m7g.metal'|'r7g.medium'|'r7g.large'|'r7g.xlarge'|'r7g.2xlarge'|'r7g.4xlarge'|'r7g.8xlarge'|'r7g.12xlarge'|'r7g.16xlarge'|'r7g.metal',
'KernelId': 'string',
'KeyName': 'string',
'Monitoring': {
'Enabled': True|False
},
'NetworkInterfaces': [
{
'AssociatePublicIpAddress': True|False,
'DeleteOnTermination': True|False,
'Description': 'string',
'DeviceIndex': 123,
'Groups': [
'string',
],
'Ipv6AddressCount': 123,
'Ipv6Addresses': [
{
'Ipv6Address': 'string'
},
],
'NetworkInterfaceId': 'string',
'PrivateIpAddress': 'string',
'PrivateIpAddresses': [
{
'Primary': True|False,
'PrivateIpAddress': 'string'
},
],
'SecondaryPrivateIpAddressCount': 123,
'SubnetId': 'string',
'AssociateCarrierIpAddress': True|False,
'InterfaceType': 'string',
'NetworkCardIndex': 123,
'Ipv4Prefixes': [
{
'Ipv4Prefix': 'string'
},
],
'Ipv4PrefixCount': 123,
'Ipv6Prefixes': [
{
'Ipv6Prefix': 'string'
},
],
'Ipv6PrefixCount': 123
},
],
'Placement': {
'AvailabilityZone': 'string',
'GroupName': 'string',
'Tenancy': 'default'|'dedicated'|'host'
},
'RamdiskId': 'string',
'SpotPrice': 'string',
'SubnetId': 'string',
'UserData': 'string',
'WeightedCapacity': 123.0,
'TagSpecifications': [
{
'ResourceType': 'capacity-reservation'|'client-vpn-endpoint'|'customer-gateway'|'carrier-gateway'|'coip-pool'|'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'|'instance-event-window'|'internet-gateway'|'ipam'|'ipam-pool'|'ipam-scope'|'ipv4pool-ec2'|'ipv6pool-ec2'|'key-pair'|'launch-template'|'local-gateway'|'local-gateway-route-table'|'local-gateway-virtual-interface'|'local-gateway-virtual-interface-group'|'local-gateway-route-table-vpc-association'|'local-gateway-route-table-virtual-interface-group-association'|'natgateway'|'network-acl'|'network-interface'|'network-insights-analysis'|'network-insights-path'|'network-insights-access-scope'|'network-insights-access-scope-analysis'|'placement-group'|'prefix-list'|'replace-root-volume-task'|'reserved-instances'|'route-table'|'security-group'|'security-group-rule'|'snapshot'|'spot-fleet-request'|'spot-instances-request'|'subnet'|'subnet-cidr-reservation'|'traffic-mirror-filter'|'traffic-mirror-session'|'traffic-mirror-target'|'transit-gateway'|'transit-gateway-attachment'|'transit-gateway-connect-peer'|'transit-gateway-multicast-domain'|'transit-gateway-policy-table'|'transit-gateway-route-table'|'transit-gateway-route-table-announcement'|'volume'|'vpc'|'vpc-endpoint'|'vpc-endpoint-connection'|'vpc-endpoint-service'|'vpc-endpoint-service-permission'|'vpc-peering-connection'|'vpn-connection'|'vpn-gateway'|'vpc-flow-log'|'capacity-reservation-fleet'|'traffic-mirror-filter-rule'|'vpc-endpoint-connection-device-type'|'verified-access-instance'|'verified-access-group'|'verified-access-endpoint'|'verified-access-policy'|'verified-access-trust-provider'|'vpn-connection-device-type'|'vpc-block-public-access-exclusion'|'ipam-resource-discovery'|'ipam-resource-discovery-association',
'Tags': [
{
'Key': 'string',
'Value': 'string'
},
]
},
],
'InstanceRequirements': {
'VCpuCount': {
'Min': 123,
'Max': 123
},
'MemoryMiB': {
'Min': 123,
'Max': 123
},
'CpuManufacturers': [
'intel'|'amd'|'amazon-web-services',
],
'MemoryGiBPerVCpu': {
'Min': 123.0,
'Max': 123.0
},
'ExcludedInstanceTypes': [
'string',
],
'InstanceGenerations': [
'current'|'previous',
],
'SpotMaxPricePercentageOverLowestPrice': 123,
'OnDemandMaxPricePercentageOverLowestPrice': 123,
'BareMetal': 'included'|'required'|'excluded',
'BurstablePerformance': 'included'|'required'|'excluded',
'RequireHibernateSupport': True|False,
'NetworkInterfaceCount': {
'Min': 123,
'Max': 123
},
'LocalStorage': 'included'|'required'|'excluded',
'LocalStorageTypes': [
'hdd'|'ssd',
],
'TotalLocalStorageGB': {
'Min': 123.0,
'Max': 123.0
},
'BaselineEbsBandwidthMbps': {
'Min': 123,
'Max': 123
},
'AcceleratorTypes': [
'gpu'|'fpga'|'inference',
],
'AcceleratorCount': {
'Min': 123,
'Max': 123
},
'AcceleratorManufacturers': [
'nvidia'|'amd'|'amazon-web-services'|'xilinx',
],
'AcceleratorNames': [
'a100'|'v100'|'k80'|'t4'|'m60'|'radeon-pro-v520'|'vu9p'|'inferentia'|'k520',
],
'AcceleratorTotalMemoryMiB': {
'Min': 123,
'Max': 123
},
'NetworkBandwidthGbps': {
'Min': 123.0,
'Max': 123.0
},
'AllowedInstanceTypes': [
'string',
]
}
},
],
'LaunchTemplateConfigs': [
{
'LaunchTemplateSpecification': {
'LaunchTemplateId': 'string',
'LaunchTemplateName': 'string',
'Version': 'string'
},
'Overrides': [
{
'InstanceType': 'a1.medium'|'a1.large'|'a1.xlarge'|'a1.2xlarge'|'a1.4xlarge'|'a1.metal'|'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'|'c5n.metal'|'c6g.medium'|'c6g.large'|'c6g.xlarge'|'c6g.2xlarge'|'c6g.4xlarge'|'c6g.8xlarge'|'c6g.12xlarge'|'c6g.16xlarge'|'c6g.metal'|'c6gd.medium'|'c6gd.large'|'c6gd.xlarge'|'c6gd.2xlarge'|'c6gd.4xlarge'|'c6gd.8xlarge'|'c6gd.12xlarge'|'c6gd.16xlarge'|'c6gd.metal'|'c6gn.medium'|'c6gn.large'|'c6gn.xlarge'|'c6gn.2xlarge'|'c6gn.4xlarge'|'c6gn.8xlarge'|'c6gn.12xlarge'|'c6gn.16xlarge'|'c6i.large'|'c6i.xlarge'|'c6i.2xlarge'|'c6i.4xlarge'|'c6i.8xlarge'|'c6i.12xlarge'|'c6i.16xlarge'|'c6i.24xlarge'|'c6i.32xlarge'|'c6i.metal'|'cc1.4xlarge'|'cc2.8xlarge'|'cg1.4xlarge'|'cr1.8xlarge'|'d2.xlarge'|'d2.2xlarge'|'d2.4xlarge'|'d2.8xlarge'|'d3.xlarge'|'d3.2xlarge'|'d3.4xlarge'|'d3.8xlarge'|'d3en.xlarge'|'d3en.2xlarge'|'d3en.4xlarge'|'d3en.6xlarge'|'d3en.8xlarge'|'d3en.12xlarge'|'dl1.24xlarge'|'f1.2xlarge'|'f1.4xlarge'|'f1.16xlarge'|'g2.2xlarge'|'g2.8xlarge'|'g3.4xlarge'|'g3.8xlarge'|'g3.16xlarge'|'g3s.xlarge'|'g4ad.xlarge'|'g4ad.2xlarge'|'g4ad.4xlarge'|'g4ad.8xlarge'|'g4ad.16xlarge'|'g4dn.xlarge'|'g4dn.2xlarge'|'g4dn.4xlarge'|'g4dn.8xlarge'|'g4dn.12xlarge'|'g4dn.16xlarge'|'g4dn.metal'|'g5.xlarge'|'g5.2xlarge'|'g5.4xlarge'|'g5.8xlarge'|'g5.12xlarge'|'g5.16xlarge'|'g5.24xlarge'|'g5.48xlarge'|'g5g.xlarge'|'g5g.2xlarge'|'g5g.4xlarge'|'g5g.8xlarge'|'g5g.16xlarge'|'g5g.metal'|'hi1.4xlarge'|'hpc6a.48xlarge'|'hs1.8xlarge'|'h1.2xlarge'|'h1.4xlarge'|'h1.8xlarge'|'h1.16xlarge'|'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'|'im4gn.large'|'im4gn.xlarge'|'im4gn.2xlarge'|'im4gn.4xlarge'|'im4gn.8xlarge'|'im4gn.16xlarge'|'inf1.xlarge'|'inf1.2xlarge'|'inf1.6xlarge'|'inf1.24xlarge'|'is4gen.medium'|'is4gen.large'|'is4gen.xlarge'|'is4gen.2xlarge'|'is4gen.4xlarge'|'is4gen.8xlarge'|'m1.small'|'m1.medium'|'m1.large'|'m1.xlarge'|'m2.xlarge'|'m2.2xlarge'|'m2.4xlarge'|'m3.medium'|'m3.large'|'m3.xlarge'|'m3.2xlarge'|'m4.large'|'m4.xlarge'|'m4.2xlarge'|'m4.4xlarge'|'m4.10xlarge'|'m4.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'|'m5ad.large'|'m5ad.xlarge'|'m5ad.2xlarge'|'m5ad.4xlarge'|'m5ad.8xlarge'|'m5ad.12xlarge'|'m5ad.16xlarge'|'m5ad.24xlarge'|'m5d.large'|'m5d.xlarge'|'m5d.2xlarge'|'m5d.4xlarge'|'m5d.8xlarge'|'m5d.12xlarge'|'m5d.16xlarge'|'m5d.24xlarge'|'m5d.metal'|'m5dn.large'|'m5dn.xlarge'|'m5dn.2xlarge'|'m5dn.4xlarge'|'m5dn.8xlarge'|'m5dn.12xlarge'|'m5dn.16xlarge'|'m5dn.24xlarge'|'m5dn.metal'|'m5n.large'|'m5n.xlarge'|'m5n.2xlarge'|'m5n.4xlarge'|'m5n.8xlarge'|'m5n.12xlarge'|'m5n.16xlarge'|'m5n.24xlarge'|'m5n.metal'|'m5zn.large'|'m5zn.xlarge'|'m5zn.2xlarge'|'m5zn.3xlarge'|'m5zn.6xlarge'|'m5zn.12xlarge'|'m5zn.metal'|'m6a.large'|'m6a.xlarge'|'m6a.2xlarge'|'m6a.4xlarge'|'m6a.8xlarge'|'m6a.12xlarge'|'m6a.16xlarge'|'m6a.24xlarge'|'m6a.32xlarge'|'m6a.48xlarge'|'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'|'m6i.large'|'m6i.xlarge'|'m6i.2xlarge'|'m6i.4xlarge'|'m6i.8xlarge'|'m6i.12xlarge'|'m6i.16xlarge'|'m6i.24xlarge'|'m6i.32xlarge'|'m6i.metal'|'mac1.metal'|'p2.xlarge'|'p2.8xlarge'|'p2.16xlarge'|'p3.2xlarge'|'p3.8xlarge'|'p3.16xlarge'|'p3dn.24xlarge'|'p4d.24xlarge'|'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'|'r5ad.large'|'r5ad.xlarge'|'r5ad.2xlarge'|'r5ad.4xlarge'|'r5ad.8xlarge'|'r5ad.12xlarge'|'r5ad.16xlarge'|'r5ad.24xlarge'|'r5b.large'|'r5b.xlarge'|'r5b.2xlarge'|'r5b.4xlarge'|'r5b.8xlarge'|'r5b.12xlarge'|'r5b.16xlarge'|'r5b.24xlarge'|'r5b.metal'|'r5d.large'|'r5d.xlarge'|'r5d.2xlarge'|'r5d.4xlarge'|'r5d.8xlarge'|'r5d.12xlarge'|'r5d.16xlarge'|'r5d.24xlarge'|'r5d.metal'|'r5dn.large'|'r5dn.xlarge'|'r5dn.2xlarge'|'r5dn.4xlarge'|'r5dn.8xlarge'|'r5dn.12xlarge'|'r5dn.16xlarge'|'r5dn.24xlarge'|'r5dn.metal'|'r5n.large'|'r5n.xlarge'|'r5n.2xlarge'|'r5n.4xlarge'|'r5n.8xlarge'|'r5n.12xlarge'|'r5n.16xlarge'|'r5n.24xlarge'|'r5n.metal'|'r6g.medium'|'r6g.large'|'r6g.xlarge'|'r6g.2xlarge'|'r6g.4xlarge'|'r6g.8xlarge'|'r6g.12xlarge'|'r6g.16xlarge'|'r6g.metal'|'r6gd.medium'|'r6gd.large'|'r6gd.xlarge'|'r6gd.2xlarge'|'r6gd.4xlarge'|'r6gd.8xlarge'|'r6gd.12xlarge'|'r6gd.16xlarge'|'r6gd.metal'|'r6i.large'|'r6i.xlarge'|'r6i.2xlarge'|'r6i.4xlarge'|'r6i.8xlarge'|'r6i.12xlarge'|'r6i.16xlarge'|'r6i.24xlarge'|'r6i.32xlarge'|'r6i.metal'|'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'|'u-6tb1.56xlarge'|'u-6tb1.112xlarge'|'u-9tb1.112xlarge'|'u-12tb1.112xlarge'|'u-6tb1.metal'|'u-9tb1.metal'|'u-12tb1.metal'|'u-18tb1.metal'|'u-24tb1.metal'|'vt1.3xlarge'|'vt1.6xlarge'|'vt1.24xlarge'|'x1.16xlarge'|'x1.32xlarge'|'x1e.xlarge'|'x1e.2xlarge'|'x1e.4xlarge'|'x1e.8xlarge'|'x1e.16xlarge'|'x1e.32xlarge'|'x2iezn.2xlarge'|'x2iezn.4xlarge'|'x2iezn.6xlarge'|'x2iezn.8xlarge'|'x2iezn.12xlarge'|'x2iezn.metal'|'x2gd.medium'|'x2gd.large'|'x2gd.xlarge'|'x2gd.2xlarge'|'x2gd.4xlarge'|'x2gd.8xlarge'|'x2gd.12xlarge'|'x2gd.16xlarge'|'x2gd.metal'|'z1d.large'|'z1d.xlarge'|'z1d.2xlarge'|'z1d.3xlarge'|'z1d.6xlarge'|'z1d.12xlarge'|'z1d.metal'|'x2idn.16xlarge'|'x2idn.24xlarge'|'x2idn.32xlarge'|'x2iedn.xlarge'|'x2iedn.2xlarge'|'x2iedn.4xlarge'|'x2iedn.8xlarge'|'x2iedn.16xlarge'|'x2iedn.24xlarge'|'x2iedn.32xlarge'|'c6a.large'|'c6a.xlarge'|'c6a.2xlarge'|'c6a.4xlarge'|'c6a.8xlarge'|'c6a.12xlarge'|'c6a.16xlarge'|'c6a.24xlarge'|'c6a.32xlarge'|'c6a.48xlarge'|'c6a.metal'|'m6a.metal'|'i4i.large'|'i4i.xlarge'|'i4i.2xlarge'|'i4i.4xlarge'|'i4i.8xlarge'|'i4i.16xlarge'|'i4i.32xlarge'|'i4i.metal'|'x2idn.metal'|'x2iedn.metal'|'c7g.medium'|'c7g.large'|'c7g.xlarge'|'c7g.2xlarge'|'c7g.4xlarge'|'c7g.8xlarge'|'c7g.12xlarge'|'c7g.16xlarge'|'mac2.metal'|'c6id.large'|'c6id.xlarge'|'c6id.2xlarge'|'c6id.4xlarge'|'c6id.8xlarge'|'c6id.12xlarge'|'c6id.16xlarge'|'c6id.24xlarge'|'c6id.32xlarge'|'c6id.metal'|'m6id.large'|'m6id.xlarge'|'m6id.2xlarge'|'m6id.4xlarge'|'m6id.8xlarge'|'m6id.12xlarge'|'m6id.16xlarge'|'m6id.24xlarge'|'m6id.32xlarge'|'m6id.metal'|'r6id.large'|'r6id.xlarge'|'r6id.2xlarge'|'r6id.4xlarge'|'r6id.8xlarge'|'r6id.12xlarge'|'r6id.16xlarge'|'r6id.24xlarge'|'r6id.32xlarge'|'r6id.metal'|'r6a.large'|'r6a.xlarge'|'r6a.2xlarge'|'r6a.4xlarge'|'r6a.8xlarge'|'r6a.12xlarge'|'r6a.16xlarge'|'r6a.24xlarge'|'r6a.32xlarge'|'r6a.48xlarge'|'r6a.metal'|'p4de.24xlarge'|'u-3tb1.56xlarge'|'u-18tb1.112xlarge'|'u-24tb1.112xlarge'|'trn1.2xlarge'|'trn1.32xlarge'|'hpc6id.32xlarge'|'c6in.large'|'c6in.xlarge'|'c6in.2xlarge'|'c6in.4xlarge'|'c6in.8xlarge'|'c6in.12xlarge'|'c6in.16xlarge'|'c6in.24xlarge'|'c6in.32xlarge'|'m6in.large'|'m6in.xlarge'|'m6in.2xlarge'|'m6in.4xlarge'|'m6in.8xlarge'|'m6in.12xlarge'|'m6in.16xlarge'|'m6in.24xlarge'|'m6in.32xlarge'|'m6idn.large'|'m6idn.xlarge'|'m6idn.2xlarge'|'m6idn.4xlarge'|'m6idn.8xlarge'|'m6idn.12xlarge'|'m6idn.16xlarge'|'m6idn.24xlarge'|'m6idn.32xlarge'|'r6in.large'|'r6in.xlarge'|'r6in.2xlarge'|'r6in.4xlarge'|'r6in.8xlarge'|'r6in.12xlarge'|'r6in.16xlarge'|'r6in.24xlarge'|'r6in.32xlarge'|'r6idn.large'|'r6idn.xlarge'|'r6idn.2xlarge'|'r6idn.4xlarge'|'r6idn.8xlarge'|'r6idn.12xlarge'|'r6idn.16xlarge'|'r6idn.24xlarge'|'r6idn.32xlarge'|'c7g.metal'|'m7g.medium'|'m7g.large'|'m7g.xlarge'|'m7g.2xlarge'|'m7g.4xlarge'|'m7g.8xlarge'|'m7g.12xlarge'|'m7g.16xlarge'|'m7g.metal'|'r7g.medium'|'r7g.large'|'r7g.xlarge'|'r7g.2xlarge'|'r7g.4xlarge'|'r7g.8xlarge'|'r7g.12xlarge'|'r7g.16xlarge'|'r7g.metal',
'SpotPrice': 'string',
'SubnetId': 'string',
'AvailabilityZone': 'string',
'WeightedCapacity': 123.0,
'Priority': 123.0,
'InstanceRequirements': {
'VCpuCount': {
'Min': 123,
'Max': 123
},
'MemoryMiB': {
'Min': 123,
'Max': 123
},
'CpuManufacturers': [
'intel'|'amd'|'amazon-web-services',
],
'MemoryGiBPerVCpu': {
'Min': 123.0,
'Max': 123.0
},
'ExcludedInstanceTypes': [
'string',
],
'InstanceGenerations': [
'current'|'previous',
],
'SpotMaxPricePercentageOverLowestPrice': 123,
'OnDemandMaxPricePercentageOverLowestPrice': 123,
'BareMetal': 'included'|'required'|'excluded',
'BurstablePerformance': 'included'|'required'|'excluded',
'RequireHibernateSupport': True|False,
'NetworkInterfaceCount': {
'Min': 123,
'Max': 123
},
'LocalStorage': 'included'|'required'|'excluded',
'LocalStorageTypes': [
'hdd'|'ssd',
],
'TotalLocalStorageGB': {
'Min': 123.0,
'Max': 123.0
},
'BaselineEbsBandwidthMbps': {
'Min': 123,
'Max': 123
},
'AcceleratorTypes': [
'gpu'|'fpga'|'inference',
],
'AcceleratorCount': {
'Min': 123,
'Max': 123
},
'AcceleratorManufacturers': [
'nvidia'|'amd'|'amazon-web-services'|'xilinx',
],
'AcceleratorNames': [
'a100'|'v100'|'k80'|'t4'|'m60'|'radeon-pro-v520'|'vu9p'|'inferentia'|'k520',
],
'AcceleratorTotalMemoryMiB': {
'Min': 123,
'Max': 123
},
'NetworkBandwidthGbps': {
'Min': 123.0,
'Max': 123.0
},
'AllowedInstanceTypes': [
'string',
]
}
},
]
},
],
'SpotPrice': 'string',
'TargetCapacity': 123,
'OnDemandTargetCapacity': 123,
'OnDemandMaxTotalPrice': 'string',
'SpotMaxTotalPrice': 'string',
'TerminateInstancesWithExpiration': True|False,
'Type': 'request'|'maintain'|'instant',
'ValidFrom': datetime(2015, 1, 1),
'ValidUntil': datetime(2015, 1, 1),
'ReplaceUnhealthyInstances': True|False,
'InstanceInterruptionBehavior': 'hibernate'|'stop'|'terminate',
'LoadBalancersConfig': {
'ClassicLoadBalancersConfig': {
'ClassicLoadBalancers': [
{
'Name': 'string'
},
]
},
'TargetGroupsConfig': {
'TargetGroups': [
{
'Arn': 'string'
},
]
}
},
'InstancePoolsToUseCount': 123,
'Context': 'string',
'TargetCapacityUnitType': 'vcpu'|'memory-mib'|'units',
'TagSpecifications': [
{
'ResourceType': 'capacity-reservation'|'client-vpn-endpoint'|'customer-gateway'|'carrier-gateway'|'coip-pool'|'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'|'instance-event-window'|'internet-gateway'|'ipam'|'ipam-pool'|'ipam-scope'|'ipv4pool-ec2'|'ipv6pool-ec2'|'key-pair'|'launch-template'|'local-gateway'|'local-gateway-route-table'|'local-gateway-virtual-interface'|'local-gateway-virtual-interface-group'|'local-gateway-route-table-vpc-association'|'local-gateway-route-table-virtual-interface-group-association'|'natgateway'|'network-acl'|'network-interface'|'network-insights-analysis'|'network-insights-path'|'network-insights-access-scope'|'network-insights-access-scope-analysis'|'placement-group'|'prefix-list'|'replace-root-volume-task'|'reserved-instances'|'route-table'|'security-group'|'security-group-rule'|'snapshot'|'spot-fleet-request'|'spot-instances-request'|'subnet'|'subnet-cidr-reservation'|'traffic-mirror-filter'|'traffic-mirror-session'|'traffic-mirror-target'|'transit-gateway'|'transit-gateway-attachment'|'transit-gateway-connect-peer'|'transit-gateway-multicast-domain'|'transit-gateway-policy-table'|'transit-gateway-route-table'|'transit-gateway-route-table-announcement'|'volume'|'vpc'|'vpc-endpoint'|'vpc-endpoint-connection'|'vpc-endpoint-service'|'vpc-endpoint-service-permission'|'vpc-peering-connection'|'vpn-connection'|'vpn-gateway'|'vpc-flow-log'|'capacity-reservation-fleet'|'traffic-mirror-filter-rule'|'vpc-endpoint-connection-device-type'|'verified-access-instance'|'verified-access-group'|'verified-access-endpoint'|'verified-access-policy'|'verified-access-trust-provider'|'vpn-connection-device-type'|'vpc-block-public-access-exclusion'|'ipam-resource-discovery'|'ipam-resource-discovery-association',
'Tags': [
{
'Key': 'string',
'Value': 'string'
},
]
},
]
}
)
DryRunOperation
. Otherwise, it is UnauthorizedOperation
.[REQUIRED]
The configuration for the Spot Fleet request.
The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide .
priceCapacityOptimized (recommended)
Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.
capacityOptimized
Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacityOptimizedPrioritized
. Set a priority for each instance type by using the Priority
parameter for LaunchTemplateOverrides
. You can assign the same priority to different LaunchTemplateOverrides
. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacityOptimizedPrioritized
is supported only if your Spot Fleet uses a launch template. Note that if the OnDemandAllocationStrategy
is set to prioritized
, the same priority is applied when fulfilling On-Demand capacity.
diversified
Spot Fleet requests instances from all of the Spot Instance pools that you specify.
lowestPrice
Spot Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.
Default: lowestPrice
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
.
The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.
The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see Capacity rebalancing in the Amazon EC2 User Guide for Linux Instances .
The replacement strategy to use. Only available for fleets of type maintain
.
launch
- Spot Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.
launch-before-terminate
- Spot Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (inTerminationDelay
), terminates the instances that received a rebalance notification.
The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance.
Required when ReplacementStrategy
is set to launch-before-terminate
.
Not valid when ReplacementStrategy
is set to launch
.
Valid values: Minimum value of 120
seconds. Maximum value of 7200
seconds.
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.
Indicates whether running instances should be terminated if you decrease the target capacity of the Spot Fleet request below the current size of the Spot Fleet.
Supported only for fleets of type maintain
.
The number of units fulfilled by this request compared to the set target capacity. You cannot set this value.
The number of On-Demand units fulfilled by this request compared to the set target On-Demand capacity.
The Amazon Resource Name (ARN) of an 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 . 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
.
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
.
Describes the launch specification for one or more Spot Instances. If you include On-Demand capacity in your fleet request or want to specify an EFA network device, you can't use SpotFleetLaunchSpecification
; you must use LaunchTemplateConfig.
One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.
Describes a security group.
The name of the security group.
The ID of the security group.
Deprecated.
One or more block devices that are mapped to the Spot Instances. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.
Describes a block device mapping, which defines the EBS volumes and instance store volumes to attach to an instance at launch.
The device name (for example, /dev/sdh
or xvdh
).
The virtual device name ( ephemeral
N). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ephemeral0
and ephemeral1
. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.
NVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.
Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.
Parameters used to automatically set up EBS volumes when the instance is launched.
Indicates whether the EBS volume is deleted on instance termination. For more information, see Preserving Amazon EBS volumes on instance termination in the Amazon EC2 User Guide .
The number of I/O operations per second (IOPS). For gp3
, io1
, and io2
volumes, this represents the number of IOPS that are provisioned for the volume. For gp2
volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.
The following are the supported values for each volume type:
gp3
: 3,000-16,000 IOPSio1
: 100-64,000 IOPSio2
: 100-64,000 IOPSFor io1
and io2
volumes, we guarantee 64,000 IOPS only for Instances built on the Nitro System. Other instance families guarantee performance up to 32,000 IOPS.
This parameter is required for io1
and io2
volumes. The default for gp3
volumes is 3,000 IOPS. This parameter is not supported for gp2
, st1
, sc1
, or standard
volumes.
The ID of the snapshot.
The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.
The following are the supported volumes sizes for each volume type:
gp2
and gp3
:1-16,384io1
and io2
: 4-16,384st1
and sc1
: 125-16,384standard
: 1-1,024The volume type. For more information, see Amazon EBS volume types in the Amazon EC2 User Guide . If the volume type is io1
or io2
, you must specify the IOPS that the volume supports.
Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
This parameter is only supported on BlockDeviceMapping
objects called by RunInstances, RequestSpotFleet, and RequestSpotInstances.
The throughput that the volume supports, in MiB/s.
This parameter is valid only for gp3
volumes.
Valid Range: Minimum value of 125. Maximum value of 1000.
The ARN of the Outpost on which the snapshot is stored.
This parameter is only supported on BlockDeviceMapping
objects called by CreateImage.
Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to true
depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Amazon EBS encryption in the Amazon EC2 User Guide .
In no case can you remove encryption from an encrypted volume.
Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.
This parameter is not returned by DescribeImageAttribute.
For CreateImage and RegisterImage, whether you can include this parameter, and the allowed values differ depending on the type of block device mapping you are creating.
true
for an encrypted volume, or false
for an unencrypted volume. If you omit this parameter, it defaults to false
(unencrypted).false
. If you specify true
, the request will fail. In this case, we recommend that you omit the parameter.true
or false
. However, if you specify false
, the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.To omit the device from the block device mapping, specify an empty string. When this property is specified, the device is removed from the block device mapping regardless of the assigned value.
Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.
Default: false
The IAM instance profile.
The Amazon Resource Name (ARN) of the instance profile.
The name of the instance profile.
The ID of the AMI.
The instance type.
The ID of the kernel.
The name of the key pair.
Enable or disable monitoring for the instances.
Enables monitoring for the instance.
Default: false
One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.
Note
SpotFleetLaunchSpecification
currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.
Describes a network interface.
Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true
.
If set to true
, the interface is deleted when the instance is terminated. You can specify true
only if creating a new network interface when launching an instance.
The description of the network interface. Applies only if creating a network interface when launching an instance.
The position of the network interface in the attachment order. A primary network interface has a device index of 0.
If you specify a network interface when launching an instance, you must specify the device index.
The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.
A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses the IPv6 addresses from the range of the subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.
The IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.
Describes an IPv6 address.
The IPv6 address.
The ID of the network interface.
If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification.
The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you're launching more than one instance in a RunInstances request.
The private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're launching more than one instance in a RunInstances request.
Describes a secondary private IPv4 address for a network interface.
Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.
The private IPv4 address.
The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're launching more than one instance in a RunInstances request.
The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.
Indicates whether to assign a carrier IP address to the network interface.
You can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. For more information about carrier IP addresses, see Carrier IP address in the Amazon Web Services Wavelength Developer Guide .
The type of network interface.
Valid values: interface
| efa
The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.
If you are using RequestSpotInstances to create Spot Instances, omit this parameter because you can’t specify the network card index when using this API. To specify the network card index, use RunInstances.
The IPv4 delegated prefixes to be assigned to the network interface. You cannot use this option if you use the Ipv4PrefixCount
option.
Describes the IPv4 prefix option for a network interface.
The IPv4 prefix. For information, see Assigning prefixes to Amazon EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide .
The number of IPv4 delegated prefixes to be automatically assigned to the network interface. You cannot use this option if you use the Ipv4Prefix
option.
The IPv6 delegated prefixes to be assigned to the network interface. You cannot use this option if you use the Ipv6PrefixCount
option.
Describes the IPv4 prefix option for a network interface.
The IPv6 prefix.
The number of IPv6 delegated prefixes to be automatically assigned to the network interface. You cannot use this option if you use the Ipv6Prefix
option.
The placement information.
The Availability Zone.
[Spot Fleet only] To specify multiple Availability Zones, separate them using commas; for example, "us-west-2a, us-west-2b".
The name of the placement group.
The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated
runs on single-tenant hardware. The host
tenancy is not supported for Spot Instances.
The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.
The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.
Warning
If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.
The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".
The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.
The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.
If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.
The tags to apply during creation.
The tags for a Spot Fleet resource.
The type of resource. Currently, the only resource type that is supported is instance
. To tag the Spot Fleet request on creation, use the TagSpecifications
parameter in SpotFleetRequestConfigData
.
The tags.
Describes a tag.
The key of the tag.
Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:
.
The value of the tag.
Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.
The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.
Note
If you specify InstanceRequirements
, you can't specify InstanceType
.
The minimum and maximum number of vCPUs.
The minimum number of vCPUs. If the value is 0
, there is no minimum limit.
The maximum number of vCPUs. If this parameter is not specified, there is no maximum limit.
The minimum and maximum amount of memory, in MiB.
The minimum amount of memory, in MiB. If this parameter is not specified, there is no minimum limit.
The maximum amount of memory, in MiB. If this parameter is not specified, there is no maximum limit.
The CPU manufacturers to include.
intel
.amd
.amazon-web-services
.Note
Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
Default: Any manufacturer
The minimum and maximum amount of memory per vCPU, in GiB.
Default: No minimum or maximum limits
The minimum amount of memory per vCPU, in GiB. If this parameter is not specified, there is no minimum limit.
The maximum amount of memory per vCPU, in GiB. If this parameter is not specified, there is no maximum limit.
The instance types to exclude.
You can use strings with one or more wild cards, represented by an asterisk ( *
), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge
, c5*.*
, m5a.*
, r*
, *3*
.
For example, if you specify c5*
,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.
Note
If you specify ExcludedInstanceTypes
, you can't specify AllowedInstanceTypes
.
Default: No excluded instance types
Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see Instance types in the Amazon EC2 User Guide .
For current generation instance types, specify current
.
For previous generation instance types, specify previous
.
Default: Current and previous generation instance types
The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above your threshold.
The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
To turn off price protection, specify a high value, such as 999999
.
This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.
Note
If you set TargetCapacityUnitType
to vcpu
or memory-mib
, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.
Default: 100
The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above your threshold.
The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
To turn off price protection, specify a high value, such as 999999
.
This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.
Note
If you set TargetCapacityUnitType
to vcpu
or memory-mib
, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.
Default: 20
Indicates whether bare metal instance types must be included, excluded, or required.
included
.required
.excluded
.Default: excluded
Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see Burstable performance instances.
included
.required
.excluded
.Default: excluded
Indicates whether instance types must support hibernation for On-Demand Instances.
This parameter is not supported for GetSpotPlacementScores.
Default: false
The minimum and maximum number of network interfaces.
Default: No minimum or maximum limits
The minimum number of network interfaces. If this parameter is not specified, there is no minimum limit.
The maximum number of network interfaces. If this parameter is not specified, there is no maximum limit.
Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, Amazon EC2 instance store in the Amazon EC2 User Guide .
included
.required
.excluded
.Default: included
The type of local storage that is required.
hdd
.ssd
.Default: hdd
and ssd
The minimum and maximum amount of total local storage, in GB.
Default: No minimum or maximum limits
The minimum amount of total local storage, in GB. If this parameter is not specified, there is no minimum limit.
The maximum amount of total local storage, in GB. If this parameter is not specified, there is no maximum limit.
The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide .
Default: No minimum or maximum limits
The minimum baseline bandwidth, in Mbps. If this parameter is not specified, there is no minimum limit.
The maximum baseline bandwidth, in Mbps. If this parameter is not specified, there is no maximum limit.
The accelerator types that must be on the instance type.
gpu
.fpga
.inference
.Default: Any accelerator type
The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an instance.
To exclude accelerator-enabled instance types, set Max
to 0
.
Default: No minimum or maximum limits
The minimum number of accelerators. If this parameter is not specified, there is no minimum limit.
The maximum number of accelerators. If this parameter is not specified, there is no maximum limit.
Indicates whether instance types must have accelerators by specific manufacturers.
nvidia
.amd
.amazon-web-services
.xilinx
.Default: Any manufacturer
The accelerators that must be on the instance type.
a100
.v100
.k80
.t4
.m60
.radeon-pro-v520
.vu9p
.inferentia
.k520
.Default: Any accelerator
The minimum and maximum amount of total accelerator memory, in MiB.
Default: No minimum or maximum limits
The minimum amount of accelerator memory, in MiB. If this parameter is not specified, there is no minimum limit.
The maximum amount of accelerator memory, in MiB. If this parameter is not specified, there is no maximum limit.
The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).
Default: No minimum or maximum limits
The minimum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no minimum limit.
The maximum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no maximum limit.
The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.
You can use strings with one or more wild cards, represented by an asterisk ( *
), to allow an instance type, size, or generation. The following are examples: m5.8xlarge
, c5*.*
, m5a.*
, r*
, *3*
.
For example, if you specify c5*
,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.
Note
If you specify AllowedInstanceTypes
, you can't specify ExcludedInstanceTypes
.
Default: All instance types
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
.
Describes a launch template and overrides.
The launch template.
The ID of the launch template.
You must specify the LaunchTemplateId
or the LaunchTemplateName
, but not both.
The name of the launch template.
You must specify the LaunchTemplateName
or the LaunchTemplateId
, but not both.
The launch template version number, $Latest
, or $Default
. You must specify a value, otherwise the request fails.
If the value is $Latest
, Amazon EC2 uses the latest version of the launch template.
If the value is $Default
, Amazon EC2 uses the default version of the launch template.
Any parameters that you specify override the same parameters in the launch template.
Describes overrides for a launch template.
The instance type.
The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.
Warning
If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.
The ID of the subnet in which to launch the instances.
The Availability Zone in which to launch the instances.
The number of units provided by the specified instance type.
The priority for the launch template override. The highest priority is launched first.
If OnDemandAllocationStrategy
is set to prioritized
, Spot Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.
If the Spot AllocationStrategy
is set to capacityOptimizedPrioritized
, Spot Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first.
Valid values are whole numbers starting at 0
. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.
The instance requirements. When you specify instance requirements, Amazon EC2 will identify instance types with the provided requirements, and then use your On-Demand and Spot allocation strategies to launch instances from these instance types, in the same way as when you specify a list of instance types.
Note
If you specify InstanceRequirements
, you can't specify InstanceType
.
The minimum and maximum number of vCPUs.
The minimum number of vCPUs. If the value is 0
, there is no minimum limit.
The maximum number of vCPUs. If this parameter is not specified, there is no maximum limit.
The minimum and maximum amount of memory, in MiB.
The minimum amount of memory, in MiB. If this parameter is not specified, there is no minimum limit.
The maximum amount of memory, in MiB. If this parameter is not specified, there is no maximum limit.
The CPU manufacturers to include.
intel
.amd
.amazon-web-services
.Note
Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
Default: Any manufacturer
The minimum and maximum amount of memory per vCPU, in GiB.
Default: No minimum or maximum limits
The minimum amount of memory per vCPU, in GiB. If this parameter is not specified, there is no minimum limit.
The maximum amount of memory per vCPU, in GiB. If this parameter is not specified, there is no maximum limit.
The instance types to exclude.
You can use strings with one or more wild cards, represented by an asterisk ( *
), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge
, c5*.*
, m5a.*
, r*
, *3*
.
For example, if you specify c5*
,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.
Note
If you specify ExcludedInstanceTypes
, you can't specify AllowedInstanceTypes
.
Default: No excluded instance types
Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see Instance types in the Amazon EC2 User Guide .
For current generation instance types, specify current
.
For previous generation instance types, specify previous
.
Default: Current and previous generation instance types
The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above your threshold.
The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
To turn off price protection, specify a high value, such as 999999
.
This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.
Note
If you set TargetCapacityUnitType
to vcpu
or memory-mib
, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.
Default: 100
The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above your threshold.
The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
To turn off price protection, specify a high value, such as 999999
.
This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.
Note
If you set TargetCapacityUnitType
to vcpu
or memory-mib
, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.
Default: 20
Indicates whether bare metal instance types must be included, excluded, or required.
included
.required
.excluded
.Default: excluded
Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see Burstable performance instances.
included
.required
.excluded
.Default: excluded
Indicates whether instance types must support hibernation for On-Demand Instances.
This parameter is not supported for GetSpotPlacementScores.
Default: false
The minimum and maximum number of network interfaces.
Default: No minimum or maximum limits
The minimum number of network interfaces. If this parameter is not specified, there is no minimum limit.
The maximum number of network interfaces. If this parameter is not specified, there is no maximum limit.
Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, Amazon EC2 instance store in the Amazon EC2 User Guide .
included
.required
.excluded
.Default: included
The type of local storage that is required.
hdd
.ssd
.Default: hdd
and ssd
The minimum and maximum amount of total local storage, in GB.
Default: No minimum or maximum limits
The minimum amount of total local storage, in GB. If this parameter is not specified, there is no minimum limit.
The maximum amount of total local storage, in GB. If this parameter is not specified, there is no maximum limit.
The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide .
Default: No minimum or maximum limits
The minimum baseline bandwidth, in Mbps. If this parameter is not specified, there is no minimum limit.
The maximum baseline bandwidth, in Mbps. If this parameter is not specified, there is no maximum limit.
The accelerator types that must be on the instance type.
gpu
.fpga
.inference
.Default: Any accelerator type
The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an instance.
To exclude accelerator-enabled instance types, set Max
to 0
.
Default: No minimum or maximum limits
The minimum number of accelerators. If this parameter is not specified, there is no minimum limit.
The maximum number of accelerators. If this parameter is not specified, there is no maximum limit.
Indicates whether instance types must have accelerators by specific manufacturers.
nvidia
.amd
.amazon-web-services
.xilinx
.Default: Any manufacturer
The accelerators that must be on the instance type.
a100
.v100
.k80
.t4
.m60
.radeon-pro-v520
.vu9p
.inferentia
.k520
.Default: Any accelerator
The minimum and maximum amount of total accelerator memory, in MiB.
Default: No minimum or maximum limits
The minimum amount of accelerator memory, in MiB. If this parameter is not specified, there is no minimum limit.
The maximum amount of accelerator memory, in MiB. If this parameter is not specified, there is no maximum limit.
The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).
Default: No minimum or maximum limits
The minimum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no minimum limit.
The maximum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no maximum limit.
The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.
You can use strings with one or more wild cards, represented by an asterisk ( *
), to allow an instance type, size, or generation. The following are examples: m5.8xlarge
, c5*.*
, m5a.*
, r*
, *3*
.
For example, if you specify c5*
,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.
Note
If you specify AllowedInstanceTypes
, you can't specify ExcludedInstanceTypes
.
Default: All instance types
The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.
Warning
If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.
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.
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.
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.
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.
Indicates whether running Spot Instances are terminated when the Spot Fleet request expires.
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.
The start date and time of the request, in UTC format (YYYY -MM -DD T*HH* :MM :SS Z). By default, Amazon EC2 starts fulfilling the request immediately.
The end date and time of the request, in UTC format (YYYY -MM -DD T*HH* :MM :SS Z). 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.
Indicates whether Spot Fleet should replace unhealthy instances.
The behavior when a Spot Instance is interrupted. The default is terminate
.
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.
The Classic Load Balancers.
One or more Classic Load Balancers.
Describes a Classic Load Balancer.
The name of the load balancer.
The target groups.
One or more target groups.
Describes a load balancer target group.
The Amazon Resource Name (ARN) of the target group.
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.
Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a best effort basis. If a pool runs out of Spot capacity before fulfilling your target capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your target capacity is met, you might receive Spot Instances from more than the number of pools that you specified. Similarly, if most of the pools have no Spot capacity, you might receive your full target capacity from fewer than the number of pools that you specified.
Reserved.
The unit for the target capacity. TargetCapacityUnitType
can only be specified when InstanceRequirements
is specified.
Default: units
(translates to number of instances)
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.
The tags to apply to a resource when the resource is being created. When you specify a tag, you must specify the resource type to tag, otherwise the request will fail.
Note
The Valid Values
lists all the resource types that can be tagged. However, the action you're using might not support tagging all of these resource types. If you try to tag a resource type that is unsupported for the action you're using, you'll get an error.
The type of resource to tag on creation.
The tags to apply to the resource.
Describes a tag.
The key of the tag.
Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:
.
The value of the tag.
Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.
dict
Response Syntax
{
'SpotFleetRequestId': 'string'
}
Response Structure
(dict) --
Contains the output of RequestSpotFleet.
SpotFleetRequestId (string) --
The ID of the Spot Fleet request.
Examples
This example creates a Spot fleet request with two launch specifications that differ only by subnet. The Spot fleet launches the instances in the specified subnet with the lowest price. If the instances are launched in a default VPC, they receive a public IP address by default. If the instances are launched in a nondefault VPC, they do not receive a public IP address by default. Note that you can't specify different subnets from the same Availability Zone in a Spot fleet request.
response = client.request_spot_fleet(
SpotFleetRequestConfig={
'IamFleetRole': 'arn:aws:iam::123456789012:role/my-spot-fleet-role',
'LaunchSpecifications': [
{
'IamInstanceProfile': {
'Arn': 'arn:aws:iam::123456789012:instance-profile/my-iam-role',
},
'ImageId': 'ami-1a2b3c4d',
'InstanceType': 'm3.medium',
'KeyName': 'my-key-pair',
'SecurityGroups': [
{
'GroupId': 'sg-1a2b3c4d',
},
],
'SubnetId': 'subnet-1a2b3c4d, subnet-3c4d5e6f',
},
],
'SpotPrice': '0.04',
'TargetCapacity': 2,
},
)
print(response)
Expected Output:
{
'SpotFleetRequestId': 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
'ResponseMetadata': {
'...': '...',
},
}
This example creates a Spot fleet request with two launch specifications that differ only by Availability Zone. The Spot fleet launches the instances in the specified Availability Zone with the lowest price. If your account supports EC2-VPC only, Amazon EC2 launches the Spot instances in the default subnet of the Availability Zone. If your account supports EC2-Classic, Amazon EC2 launches the instances in EC2-Classic in the Availability Zone.
response = client.request_spot_fleet(
SpotFleetRequestConfig={
'IamFleetRole': 'arn:aws:iam::123456789012:role/my-spot-fleet-role',
'LaunchSpecifications': [
{
'IamInstanceProfile': {
'Arn': 'arn:aws:iam::123456789012:instance-profile/my-iam-role',
},
'ImageId': 'ami-1a2b3c4d',
'InstanceType': 'm3.medium',
'KeyName': 'my-key-pair',
'Placement': {
'AvailabilityZone': 'us-west-2a, us-west-2b',
},
'SecurityGroups': [
{
'GroupId': 'sg-1a2b3c4d',
},
],
},
],
'SpotPrice': '0.04',
'TargetCapacity': 2,
},
)
print(response)
Expected Output:
{
'SpotFleetRequestId': 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
'ResponseMetadata': {
'...': '...',
},
}
This example assigns public addresses to instances launched in a nondefault VPC. Note that when you specify a network interface, you must include the subnet ID and security group ID using the network interface.
response = client.request_spot_fleet(
SpotFleetRequestConfig={
'IamFleetRole': 'arn:aws:iam::123456789012:role/my-spot-fleet-role',
'LaunchSpecifications': [
{
'IamInstanceProfile': {
'Arn': 'arn:aws:iam::880185128111:instance-profile/my-iam-role',
},
'ImageId': 'ami-1a2b3c4d',
'InstanceType': 'm3.medium',
'KeyName': 'my-key-pair',
'NetworkInterfaces': [
{
'AssociatePublicIpAddress': True,
'DeviceIndex': 0,
'Groups': [
'sg-1a2b3c4d',
],
'SubnetId': 'subnet-1a2b3c4d',
},
],
},
],
'SpotPrice': '0.04',
'TargetCapacity': 2,
},
)
print(response)
Expected Output:
{
'SpotFleetRequestId': 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
'ResponseMetadata': {
'...': '...',
},
}
This example creates a Spot fleet request that launches 30 instances using the diversified allocation strategy. The launch specifications differ by instance type. The Spot fleet distributes the instances across the launch specifications such that there are 10 instances of each type.
response = client.request_spot_fleet(
SpotFleetRequestConfig={
'AllocationStrategy': 'diversified',
'IamFleetRole': 'arn:aws:iam::123456789012:role/my-spot-fleet-role',
'LaunchSpecifications': [
{
'ImageId': 'ami-1a2b3c4d',
'InstanceType': 'c4.2xlarge',
'SubnetId': 'subnet-1a2b3c4d',
},
{
'ImageId': 'ami-1a2b3c4d',
'InstanceType': 'm3.2xlarge',
'SubnetId': 'subnet-1a2b3c4d',
},
{
'ImageId': 'ami-1a2b3c4d',
'InstanceType': 'r3.2xlarge',
'SubnetId': 'subnet-1a2b3c4d',
},
],
'SpotPrice': '0.70',
'TargetCapacity': 30,
},
)
print(response)
Expected Output:
{
'SpotFleetRequestId': 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
'ResponseMetadata': {
'...': '...',
},
}