2018/07/26 - Amazon Elastic Compute Cloud - 4 updated api methods
Changes This change provides the EC2/Spot customers with two new allocation strategies -- LowestN for Spot instances, and OD priority for on-demand instances.
{'LaunchTemplateConfigs': {'Overrides': {'Priority': 'double'}}, 'OnDemandOptions': {'AllocationStrategy': 'lowest-price | prioritized'}, 'SpotOptions': {'InstancePoolsToUseCount': 'integer'}}
Launches an EC2 Fleet.
You can create a single EC2 Fleet that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.
For more information, see Launching an EC2 Fleet in the Amazon Elastic Compute Cloud User Guide .
See also: AWS API Documentation
Request Syntax
client.create_fleet( DryRun=True|False, ClientToken='string', SpotOptions={ 'AllocationStrategy': 'lowest-price'|'diversified', 'InstanceInterruptionBehavior': 'hibernate'|'stop'|'terminate', 'InstancePoolsToUseCount': 123 }, OnDemandOptions={ 'AllocationStrategy': 'lowest-price'|'prioritized' }, ExcessCapacityTerminationPolicy='no-termination'|'termination', LaunchTemplateConfigs=[ { 'LaunchTemplateSpecification': { 'LaunchTemplateId': 'string', 'LaunchTemplateName': 'string', 'Version': 'string' }, 'Overrides': [ { 'InstanceType': 't1.micro'|'t2.nano'|'t2.micro'|'t2.small'|'t2.medium'|'t2.large'|'t2.xlarge'|'t2.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'|'r5d.large'|'r5d.xlarge'|'r5d.2xlarge'|'r5d.4xlarge'|'r5d.8xlarge'|'r5d.12xlarge'|'r5d.16xlarge'|'r5d.24xlarge'|'r5d.metal'|'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'|'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.18xlarge'|'c5d.large'|'c5d.xlarge'|'c5d.2xlarge'|'c5d.4xlarge'|'c5d.9xlarge'|'c5d.18xlarge'|'cc1.4xlarge'|'cc2.8xlarge'|'g2.2xlarge'|'g2.8xlarge'|'g3.4xlarge'|'g3.8xlarge'|'g3.16xlarge'|'cg1.4xlarge'|'p2.xlarge'|'p2.8xlarge'|'p2.16xlarge'|'p3.2xlarge'|'p3.8xlarge'|'p3.16xlarge'|'d2.xlarge'|'d2.2xlarge'|'d2.4xlarge'|'d2.8xlarge'|'f1.2xlarge'|'f1.16xlarge'|'m5.large'|'m5.xlarge'|'m5.2xlarge'|'m5.4xlarge'|'m5.12xlarge'|'m5.24xlarge'|'m5d.large'|'m5d.xlarge'|'m5d.2xlarge'|'m5d.4xlarge'|'m5d.12xlarge'|'m5d.24xlarge'|'h1.2xlarge'|'h1.4xlarge'|'h1.8xlarge'|'h1.16xlarge'|'z1d.large'|'z1d.xlarge'|'z1d.2xlarge'|'z1d.3xlarge'|'z1d.6xlarge'|'z1d.12xlarge', 'MaxPrice': 'string', 'SubnetId': 'string', 'AvailabilityZone': 'string', 'WeightedCapacity': 123.0, 'Priority': 123.0 }, ] }, ], TargetCapacitySpecification={ 'TotalTargetCapacity': 123, 'OnDemandTargetCapacity': 123, 'SpotTargetCapacity': 123, 'DefaultTargetCapacityType': 'spot'|'on-demand' }, TerminateInstancesWithExpiration=True|False, Type='request'|'maintain', ValidFrom=datetime(2015, 1, 1), ValidUntil=datetime(2015, 1, 1), ReplaceUnhealthyInstances=True|False, TagSpecifications=[ { 'ResourceType': 'customer-gateway'|'dhcp-options'|'image'|'instance'|'internet-gateway'|'network-acl'|'network-interface'|'reserved-instances'|'route-table'|'snapshot'|'spot-instances-request'|'subnet'|'security-group'|'volume'|'vpc'|'vpn-connection'|'vpn-gateway', 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] }, ] )
boolean
Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation . Otherwise, it is UnauthorizedOperation .
string
Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency .
dict
Describes the configuration of Spot Instances in an EC2 Fleet.
AllocationStrategy (string) --
Indicates how to allocate the target capacity across the Spot pools specified by the Spot Fleet request. The default is lowestPrice .
InstanceInterruptionBehavior (string) --
The behavior when a Spot Instance is interrupted. The default is terminate .
InstancePoolsToUseCount (integer) --
The number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot AllocationStrategy is set to lowest-price . EC2 Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.
dict
The allocation strategy of On-Demand Instances in an EC2 Fleet.
AllocationStrategy (string) --
The order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify lowest-price , EC2 Fleet uses price to determine the order, launching the lowest price first. If you specify prioritized , EC2 Fleet uses the priority that you assigned to each launch template override, launching the highest priority first. If you do not specify a value, EC2 Fleet defaults to lowest-price .
string
Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.
list
[REQUIRED]
The configuration for the EC2 Fleet.
(dict) --
Describes a launch template and overrides.
LaunchTemplateSpecification (dict) --
The launch template to use. You must specify either the launch template ID or launch template name in the request.
LaunchTemplateId (string) --
The ID of the launch template.
LaunchTemplateName (string) --
The name of the launch template.
Version (string) --
The version number of the launch template.
Overrides (list) --
Any parameters that you specify override the same parameters in the launch template.
(dict) --
Describes overrides for a launch template.
InstanceType (string) --
The instance type.
MaxPrice (string) --
The maximum price per unit hour that you are willing to pay for a Spot Instance.
SubnetId (string) --
The ID of the subnet in which to launch the instances.
AvailabilityZone (string) --
The Availability Zone in which to launch the instances.
WeightedCapacity (float) --
The number of units provided by the specified instance type.
Priority (float) --
The priority for the launch template override. If AllocationStrategy is set to prioritized , EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched 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.
dict
[REQUIRED]
The TotalTargetCapacity , OnDemandTargetCapacity , SpotTargetCapacity , and DefaultCapacityType structure.
TotalTargetCapacity (integer) -- [REQUIRED]
The number of units to request, filled using DefaultTargetCapacityType .
OnDemandTargetCapacity (integer) --
The number of On-Demand units to request.
SpotTargetCapacity (integer) --
The number of Spot units to request.
DefaultTargetCapacityType (string) --
The default TotalTargetCapacity , which is either Spot or On-Demand .
boolean
Indicates whether running instances should be terminated when the EC2 Fleet expires.
string
The type of request. Indicates whether the EC2 Fleet only requests the target capacity, or also attempts to maintain it. If you request a certain target capacity, EC2 Fleet only places the required requests. It does not attempt to replenish instances if capacity is diminished, and does not submit requests in alternative capacity pools if capacity is unavailable. To maintain a certain target capacity, EC2 Fleet places the required requests to meet this target capacity. It also automatically replenishes any interrupted Spot Instances. Default: maintain .
datetime
The start date and time of the request, in UTC format (for example, YYYY -MM -DD T*HH* :MM :SS Z). The default is to start fulfilling the request immediately.
datetime
The end date and time of the request, in UTC format (for example, YYYY -MM -DD T*HH* :MM :SS Z). At this point, no new EC2 Fleet requests are placed or able to fulfill the request. The default end date is 7 days from the current date.
boolean
Indicates whether EC2 Fleet should replace unhealthy instances.
list
The key-value pair for tagging the EC2 Fleet request on creation. The value for ResourceType must be fleet , otherwise the fleet request fails. To tag instances at launch, specify the tags in the launch template . For information about tagging after launch, see Tagging Your Resources .
(dict) --
The tags to apply to a resource when the resource is being created.
ResourceType (string) --
The type of resource to tag. Currently, the resource types that support tagging on creation are fleet , instance , snapshot , and volume . To tag a resource after it has been created, see CreateTags .
Tags (list) --
The tags to apply to the resource.
(dict) --
Describes a tag.
Key (string) --
The key of the tag.
Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:
Value (string) --
The value of the tag.
Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.
dict
Response Syntax
{ 'FleetId': 'string' }
Response Structure
(dict) --
FleetId (string) --
The ID of the EC2 Fleet.
{'Fleets': {'LaunchTemplateConfigs': {'Overrides': {'Priority': 'double'}}, 'OnDemandOptions': {'AllocationStrategy': 'lowest-price | ' 'prioritized'}, 'SpotOptions': {'InstancePoolsToUseCount': 'integer'}}}
Describes one or more of your EC2 Fleet.
See also: AWS API Documentation
Request Syntax
client.describe_fleets( DryRun=True|False, MaxResults=123, NextToken='string', FleetIds=[ 'string', ], Filters=[ { 'Name': 'string', 'Values': [ 'string', ] }, ] )
boolean
Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation . Otherwise, it is UnauthorizedOperation .
integer
The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.
string
The token for the next set of results.
list
The ID of the EC2 Fleets.
(string) --
list
One or more filters.
activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment | pending-termination | fulfilled ).
excess-capacity-termination-policy - Indicates whether to terminate running instances if the target capacity is decreased below the current EC2 Fleet size (true | false ).
fleet-state - The state of the EC2 Fleet (submitted | active | deleted | failed | deleted-running | deleted-terminating | modifying ).
replace-unhealthy-instances - Indicates whether EC2 Fleet should replace unhealthy instances (true | false ).
type - The type of request (request | maintain ).
(dict) --
A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs. The filters supported by a describe operation are documented with the describe operation. For example:
DescribeAvailabilityZones
DescribeImages
DescribeInstances
DescribeKeyPairs
DescribeSecurityGroups
DescribeSnapshots
DescribeSubnets
DescribeTags
DescribeVolumes
DescribeVpcs
Name (string) --
The name of the filter. Filter names are case-sensitive.
Values (list) --
One or more filter values. Filter values are case-sensitive.
(string) --
dict
Response Syntax
{ 'NextToken': 'string', 'Fleets': [ { 'ActivityStatus': 'error'|'pending-fulfillment'|'pending-termination'|'fulfilled', 'CreateTime': datetime(2015, 1, 1), 'FleetId': 'string', 'FleetState': 'submitted'|'active'|'deleted'|'failed'|'deleted-running'|'deleted-terminating'|'modifying', 'ClientToken': 'string', 'ExcessCapacityTerminationPolicy': 'no-termination'|'termination', 'FulfilledCapacity': 123.0, 'FulfilledOnDemandCapacity': 123.0, 'LaunchTemplateConfigs': [ { 'LaunchTemplateSpecification': { 'LaunchTemplateId': 'string', 'LaunchTemplateName': 'string', 'Version': 'string' }, 'Overrides': [ { 'InstanceType': 't1.micro'|'t2.nano'|'t2.micro'|'t2.small'|'t2.medium'|'t2.large'|'t2.xlarge'|'t2.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'|'r5d.large'|'r5d.xlarge'|'r5d.2xlarge'|'r5d.4xlarge'|'r5d.8xlarge'|'r5d.12xlarge'|'r5d.16xlarge'|'r5d.24xlarge'|'r5d.metal'|'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'|'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.18xlarge'|'c5d.large'|'c5d.xlarge'|'c5d.2xlarge'|'c5d.4xlarge'|'c5d.9xlarge'|'c5d.18xlarge'|'cc1.4xlarge'|'cc2.8xlarge'|'g2.2xlarge'|'g2.8xlarge'|'g3.4xlarge'|'g3.8xlarge'|'g3.16xlarge'|'cg1.4xlarge'|'p2.xlarge'|'p2.8xlarge'|'p2.16xlarge'|'p3.2xlarge'|'p3.8xlarge'|'p3.16xlarge'|'d2.xlarge'|'d2.2xlarge'|'d2.4xlarge'|'d2.8xlarge'|'f1.2xlarge'|'f1.16xlarge'|'m5.large'|'m5.xlarge'|'m5.2xlarge'|'m5.4xlarge'|'m5.12xlarge'|'m5.24xlarge'|'m5d.large'|'m5d.xlarge'|'m5d.2xlarge'|'m5d.4xlarge'|'m5d.12xlarge'|'m5d.24xlarge'|'h1.2xlarge'|'h1.4xlarge'|'h1.8xlarge'|'h1.16xlarge'|'z1d.large'|'z1d.xlarge'|'z1d.2xlarge'|'z1d.3xlarge'|'z1d.6xlarge'|'z1d.12xlarge', 'MaxPrice': 'string', 'SubnetId': 'string', 'AvailabilityZone': 'string', 'WeightedCapacity': 123.0, 'Priority': 123.0 }, ] }, ], 'TargetCapacitySpecification': { 'TotalTargetCapacity': 123, 'OnDemandTargetCapacity': 123, 'SpotTargetCapacity': 123, 'DefaultTargetCapacityType': 'spot'|'on-demand' }, 'TerminateInstancesWithExpiration': True|False, 'Type': 'request'|'maintain', 'ValidFrom': datetime(2015, 1, 1), 'ValidUntil': datetime(2015, 1, 1), 'ReplaceUnhealthyInstances': True|False, 'SpotOptions': { 'AllocationStrategy': 'lowest-price'|'diversified', 'InstanceInterruptionBehavior': 'hibernate'|'stop'|'terminate', 'InstancePoolsToUseCount': 123 }, 'OnDemandOptions': { 'AllocationStrategy': 'lowest-price'|'prioritized' }, 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] }, ] }
Response Structure
(dict) --
NextToken (string) --
The token for the next set of results.
Fleets (list) --
Information about the EC2 Fleets.
(dict) --
Describes an EC2 Fleet.
ActivityStatus (string) --
The progress of the EC2 Fleet. If there is an error, the status is error . After all requests are placed, the status is pending_fulfillment . If the size of the EC2 Fleet is equal to or greater than its target capacity, the status is fulfilled . If the size of the EC2 Fleet is decreased, the status is pending_termination while instances are terminating.
CreateTime (datetime) --
The creation date and time of the EC2 Fleet.
FleetId (string) --
The ID of the EC2 Fleet.
FleetState (string) --
The state of the EC2 Fleet.
ClientToken (string) --
Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency .
Constraints: Maximum 64 ASCII characters
ExcessCapacityTerminationPolicy (string) --
Indicates whether running instances should be terminated if the target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.
FulfilledCapacity (float) --
The number of units fulfilled by this request compared to the set target capacity.
FulfilledOnDemandCapacity (float) --
The number of units fulfilled by this request compared to the set target On-Demand capacity.
LaunchTemplateConfigs (list) --
The launch template and overrides.
(dict) --
Describes a launch template and overrides.
LaunchTemplateSpecification (dict) --
The launch template.
LaunchTemplateId (string) --
The ID of the launch template. You must specify either a template ID or a template name.
LaunchTemplateName (string) --
The name of the launch template. You must specify either a template name or a template ID.
Version (string) --
The version number. By default, the default version of the launch template is used.
Overrides (list) --
Any parameters that you specify override the same parameters in the launch template.
(dict) --
Describes overrides for a launch template.
InstanceType (string) --
The instance type.
MaxPrice (string) --
The maximum price per unit hour that you are willing to pay for a Spot Instance.
SubnetId (string) --
The ID of the subnet in which to launch the instances.
AvailabilityZone (string) --
The Availability Zone in which to launch the instances.
WeightedCapacity (float) --
The number of units provided by the specified instance type.
Priority (float) --
The priority for the launch template override. If AllocationStrategy is set to prioritized , EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. Valid values are whole numbers starting at 0 . The lower the number, the higher the priority. If no number is set, the override has the lowest priority.
TargetCapacitySpecification (dict) --
The number of 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.
TotalTargetCapacity (integer) --
The number of units to request, filled using DefaultTargetCapacityType .
OnDemandTargetCapacity (integer) --
The number of On-Demand units to request.
SpotTargetCapacity (integer) --
The maximum number of Spot units to launch.
DefaultTargetCapacityType (string) --
The default TotalTargetCapacity , which is either Spot or On-Demand .
TerminateInstancesWithExpiration (boolean) --
Indicates whether running instances should be terminated when the EC2 Fleet expires.
Type (string) --
The type of request. Indicates whether the EC2 Fleet only requests the target capacity, or also attempts to maintain it. If you request a certain target capacity, EC2 Fleet only places the required requests; it does not attempt to replenish instances if capacity is diminished, and does not submit requests in alternative capacity pools if capacity is unavailable. To maintain a certain target capacity, EC2 Fleet places the required requests to meet this target capacity. It also automatically replenishes any interrupted Spot Instances. Default: maintain .
ValidFrom (datetime) --
The start date and time of the request, in UTC format (for example, YYYY -MM -DD T*HH* :MM :SS Z). The default is to start fulfilling the request immediately.
ValidUntil (datetime) --
The end date and time of the request, in UTC format (for example, YYYY -MM -DD T*HH* :MM :SS Z). At this point, no new instance requests are placed or able to fulfill the request. The default end date is 7 days from the current date.
ReplaceUnhealthyInstances (boolean) --
Indicates whether EC2 Fleet should replace unhealthy instances.
SpotOptions (dict) --
The configuration of Spot Instances in an EC2 Fleet.
AllocationStrategy (string) --
Indicates how to allocate the target capacity across the Spot pools specified by the Spot Fleet request. The default is lowest-price .
InstanceInterruptionBehavior (string) --
The behavior when a Spot Instance is interrupted. The default is terminate .
InstancePoolsToUseCount (integer) --
The number of Spot pools across which to allocate your target Spot capacity. Valid only when AllocationStrategy is set to lowestPrice . EC2 Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.
OnDemandOptions (dict) --
The allocation strategy of On-Demand Instances in an EC2 Fleet.
AllocationStrategy (string) --
The order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify lowest-price , EC2 Fleet uses price to determine the order, launching the lowest price first. If you specify prioritized , EC2 Fleet uses the priority that you assigned to each launch template override, launching the highest priority first. If you do not specify a value, EC2 Fleet defaults to lowest-price .
Tags (list) --
The tags for an EC2 Fleet resource.
(dict) --
Describes a tag.
Key (string) --
The key of the tag.
Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:
Value (string) --
The value of the tag.
Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.
{'SpotFleetRequestConfigs': {'SpotFleetRequestConfig': {'InstancePoolsToUseCount': 'integer', 'LaunchTemplateConfigs': {'Overrides': {'Priority': 'double'}}, 'OnDemandAllocationStrategy': 'lowestPrice ' '| ' 'prioritized'}}}
Describes your Spot Fleet requests.
Spot Fleet requests are deleted 48 hours after they are canceled and their instances are terminated.
See also: AWS API Documentation
Request Syntax
client.describe_spot_fleet_requests( DryRun=True|False, MaxResults=123, NextToken='string', SpotFleetRequestIds=[ 'string', ] )
boolean
Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation . Otherwise, it is UnauthorizedOperation .
integer
The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.
string
The token for the next set of results.
list
The IDs of the Spot Fleet requests.
(string) --
dict
Response Syntax
{ 'NextToken': 'string', 'SpotFleetRequestConfigs': [ { 'ActivityStatus': 'error'|'pending_fulfillment'|'pending_termination'|'fulfilled', 'CreateTime': datetime(2015, 1, 1), 'SpotFleetRequestConfig': { 'AllocationStrategy': 'lowestPrice'|'diversified', 'OnDemandAllocationStrategy': 'lowestPrice'|'prioritized', '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': { 'Encrypted': True|False, 'DeleteOnTermination': True|False, 'Iops': 123, 'KmsKeyId': 'string', 'SnapshotId': 'string', 'VolumeSize': 123, 'VolumeType': 'standard'|'io1'|'gp2'|'sc1'|'st1' }, 'NoDevice': 'string' }, ], 'EbsOptimized': True|False, 'IamInstanceProfile': { 'Arn': 'string', 'Name': 'string' }, 'ImageId': 'string', 'InstanceType': 't1.micro'|'t2.nano'|'t2.micro'|'t2.small'|'t2.medium'|'t2.large'|'t2.xlarge'|'t2.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'|'r5d.large'|'r5d.xlarge'|'r5d.2xlarge'|'r5d.4xlarge'|'r5d.8xlarge'|'r5d.12xlarge'|'r5d.16xlarge'|'r5d.24xlarge'|'r5d.metal'|'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'|'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.18xlarge'|'c5d.large'|'c5d.xlarge'|'c5d.2xlarge'|'c5d.4xlarge'|'c5d.9xlarge'|'c5d.18xlarge'|'cc1.4xlarge'|'cc2.8xlarge'|'g2.2xlarge'|'g2.8xlarge'|'g3.4xlarge'|'g3.8xlarge'|'g3.16xlarge'|'cg1.4xlarge'|'p2.xlarge'|'p2.8xlarge'|'p2.16xlarge'|'p3.2xlarge'|'p3.8xlarge'|'p3.16xlarge'|'d2.xlarge'|'d2.2xlarge'|'d2.4xlarge'|'d2.8xlarge'|'f1.2xlarge'|'f1.16xlarge'|'m5.large'|'m5.xlarge'|'m5.2xlarge'|'m5.4xlarge'|'m5.12xlarge'|'m5.24xlarge'|'m5d.large'|'m5d.xlarge'|'m5d.2xlarge'|'m5d.4xlarge'|'m5d.12xlarge'|'m5d.24xlarge'|'h1.2xlarge'|'h1.4xlarge'|'h1.8xlarge'|'h1.16xlarge'|'z1d.large'|'z1d.xlarge'|'z1d.2xlarge'|'z1d.3xlarge'|'z1d.6xlarge'|'z1d.12xlarge', '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' }, ], 'Placement': { 'AvailabilityZone': 'string', 'GroupName': 'string', 'Tenancy': 'default'|'dedicated'|'host' }, 'RamdiskId': 'string', 'SpotPrice': 'string', 'SubnetId': 'string', 'UserData': 'string', 'WeightedCapacity': 123.0, 'TagSpecifications': [ { 'ResourceType': 'customer-gateway'|'dhcp-options'|'image'|'instance'|'internet-gateway'|'network-acl'|'network-interface'|'reserved-instances'|'route-table'|'snapshot'|'spot-instances-request'|'subnet'|'security-group'|'volume'|'vpc'|'vpn-connection'|'vpn-gateway', 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] }, ] }, ], 'LaunchTemplateConfigs': [ { 'LaunchTemplateSpecification': { 'LaunchTemplateId': 'string', 'LaunchTemplateName': 'string', 'Version': 'string' }, 'Overrides': [ { 'InstanceType': 't1.micro'|'t2.nano'|'t2.micro'|'t2.small'|'t2.medium'|'t2.large'|'t2.xlarge'|'t2.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'|'r5d.large'|'r5d.xlarge'|'r5d.2xlarge'|'r5d.4xlarge'|'r5d.8xlarge'|'r5d.12xlarge'|'r5d.16xlarge'|'r5d.24xlarge'|'r5d.metal'|'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'|'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.18xlarge'|'c5d.large'|'c5d.xlarge'|'c5d.2xlarge'|'c5d.4xlarge'|'c5d.9xlarge'|'c5d.18xlarge'|'cc1.4xlarge'|'cc2.8xlarge'|'g2.2xlarge'|'g2.8xlarge'|'g3.4xlarge'|'g3.8xlarge'|'g3.16xlarge'|'cg1.4xlarge'|'p2.xlarge'|'p2.8xlarge'|'p2.16xlarge'|'p3.2xlarge'|'p3.8xlarge'|'p3.16xlarge'|'d2.xlarge'|'d2.2xlarge'|'d2.4xlarge'|'d2.8xlarge'|'f1.2xlarge'|'f1.16xlarge'|'m5.large'|'m5.xlarge'|'m5.2xlarge'|'m5.4xlarge'|'m5.12xlarge'|'m5.24xlarge'|'m5d.large'|'m5d.xlarge'|'m5d.2xlarge'|'m5d.4xlarge'|'m5d.12xlarge'|'m5d.24xlarge'|'h1.2xlarge'|'h1.4xlarge'|'h1.8xlarge'|'h1.16xlarge'|'z1d.large'|'z1d.xlarge'|'z1d.2xlarge'|'z1d.3xlarge'|'z1d.6xlarge'|'z1d.12xlarge', 'SpotPrice': 'string', 'SubnetId': 'string', 'AvailabilityZone': 'string', 'WeightedCapacity': 123.0, 'Priority': 123.0 }, ] }, ], 'SpotPrice': 'string', 'TargetCapacity': 123, 'OnDemandTargetCapacity': 123, 'TerminateInstancesWithExpiration': True|False, 'Type': 'request'|'maintain', '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 }, 'SpotFleetRequestId': 'string', 'SpotFleetRequestState': 'submitted'|'active'|'cancelled'|'failed'|'cancelled_running'|'cancelled_terminating'|'modifying' }, ] }
Response Structure
(dict) --
Contains the output of DescribeSpotFleetRequests.
NextToken (string) --
The token required to retrieve the next set of results. This value is null when there are no more results to return.
SpotFleetRequestConfigs (list) --
Information about the configuration of your Spot Fleet.
(dict) --
Describes a Spot Fleet request.
ActivityStatus (string) --
The progress of the Spot Fleet request. If there is an error, the status is error . After all requests are placed, the status is pending_fulfillment . If the size of the fleet is equal to or greater than its target capacity, the status is fulfilled . If the size of the fleet is decreased, the status is pending_termination while Spot Instances are terminating.
CreateTime (datetime) --
The creation date and time of the request.
SpotFleetRequestConfig (dict) --
The configuration of the Spot Fleet request.
AllocationStrategy (string) --
Indicates how to allocate the target capacity across the Spot pools specified by the Spot Fleet request. The default is lowestPrice .
OnDemandAllocationStrategy (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 .
ClientToken (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 .
ExcessCapacityTerminationPolicy (string) --
Indicates whether running Spot Instances should be terminated if the target capacity of the Spot Fleet request is decreased below the current size of the Spot Fleet.
FulfilledCapacity (float) --
The number of units fulfilled by this request compared to the set target capacity.
OnDemandFulfilledCapacity (float) --
The number of On-Demand units fulfilled by this request compared to the set target On-Demand capacity.
IamFleetRole (string) --
Grants the Spot Fleet permission to 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 .
LaunchSpecifications (list) --
The launch specifications for the Spot Fleet request.
(dict) --
Describes the launch specification for one or more Spot Instances.
SecurityGroups (list) --
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.
(dict) --
Describes a security group.
GroupName (string) --
The name of the security group.
GroupId (string) --
The ID of the security group.
AddressingType (string) --
Deprecated.
BlockDeviceMappings (list) --
One or more block device mapping entries. 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.
(dict) --
Describes a block device mapping.
DeviceName (string) --
The device name (for example, /dev/sdh or xvdh ).
VirtualName (string) --
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.
Ebs (dict) --
Parameters used to automatically set up EBS volumes when the instance is launched.
Encrypted (boolean) --
Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. If you are creating a volume from a snapshot, you can't specify an encryption value. This is because only blank volumes can be encrypted on creation.
DeleteOnTermination (boolean) --
Indicates whether the EBS volume is deleted on instance termination.
Iops (integer) --
The number of I/O operations per second (IOPS) that the volume supports. For io1 , this represents the number of IOPS that are provisioned for the volume. For gp2 , this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about General Purpose SSD baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide .
Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for gp2 volumes.
Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2 , st1 , sc1 , or standard volumes.
KmsKeyId (string) --
Identifier (key ID, key alias, ID ARN, or alias ARN) for a user-managed CMK under which the EBS volume is encrypted.
This parameter is only supported on BlockDeviceMapping objects called by RunInstances , RequestSpotFleet , and RequestSpotInstances .
SnapshotId (string) --
The ID of the snapshot.
VolumeSize (integer) --
The size of the volume, in GiB.
Constraints: 1-16384 for General Purpose SSD (gp2 ), 4-16384 for Provisioned IOPS SSD (io1 ), 500-16384 for Throughput Optimized HDD (st1 ), 500-16384 for Cold HDD (sc1 ), and 1-1024 for Magnetic (standard ) volumes. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.
Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.
VolumeType (string) --
The volume type: gp2 , io1 , st1 , sc1 , or standard .
Default: standard
NoDevice (string) --
Suppresses the specified device included in the block device mapping of the AMI.
EbsOptimized (boolean) --
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
IamInstanceProfile (dict) --
The IAM instance profile.
Arn (string) --
The Amazon Resource Name (ARN) of the instance profile.
Name (string) --
The name of the instance profile.
ImageId (string) --
The ID of the AMI.
InstanceType (string) --
The instance type.
KernelId (string) --
The ID of the kernel.
KeyName (string) --
The name of the key pair.
Monitoring (dict) --
Enable or disable monitoring for the instances.
Enabled (boolean) --
Enables monitoring for the instance.
Default: false
NetworkInterfaces (list) --
One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.
(dict) --
Describes a network interface.
AssociatePublicIpAddress (boolean) --
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 .
DeleteOnTermination (boolean) --
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.
Description (string) --
The description of the network interface. Applies only if creating a network interface when launching an instance.
DeviceIndex (integer) --
The index of the device on the instance for the network interface attachment. If you are specifying a network interface in a RunInstances request, you must provide the device index.
Groups (list) --
The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.
(string) --
Ipv6AddressCount (integer) --
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.
Ipv6Addresses (list) --
One or more 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.
(dict) --
Describes an IPv6 address.
Ipv6Address (string) --
The IPv6 address.
NetworkInterfaceId (string) --
The ID of the network interface.
PrivateIpAddress (string) --
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.
PrivateIpAddresses (list) --
One or more 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.
(dict) --
Describes a secondary private IPv4 address for a network interface.
Primary (boolean) --
Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.
PrivateIpAddress (string) --
The private IPv4 addresses.
SecondaryPrivateIpAddressCount (integer) --
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.
SubnetId (string) --
The ID of the subnet associated with the network string. Applies only if creating a network interface when launching an instance.
Placement (dict) --
The placement information.
AvailabilityZone (string) --
The Availability Zone.
[Spot Fleet only] To specify multiple Availability Zones, separate them using commas; for example, "us-west-2a, us-west-2b".
GroupName (string) --
The name of the placement group.
Tenancy (string) --
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.
RamdiskId (string) --
The ID of the RAM disk.
SpotPrice (string) --
The maximum price per unit hour that you are willing to pay for a Spot Instance. If this value is not specified, the default is the Spot price specified for the fleet. To determine the Spot price per unit hour, divide the Spot price by the value of WeightedCapacity .
SubnetId (string) --
The ID of the subnet in which to launch the instances. To specify multiple subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08".
UserData (string) --
The Base64-encoded user data to make available to the instances.
WeightedCapacity (float) --
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 (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, we round the number of instances to the next whole number. If this value is not specified, the default is 1.
TagSpecifications (list) --
The tags to apply during creation.
(dict) --
The tags for a Spot Fleet resource.
ResourceType (string) --
The type of resource. Currently, the only resource type that is supported is instance .
Tags (list) --
The tags.
(dict) --
Describes a tag.
Key (string) --
The key of the tag.
Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:
Value (string) --
The value of the tag.
Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.
LaunchTemplateConfigs (list) --
The launch template and overrides.
(dict) --
Describes a launch template and overrides.
LaunchTemplateSpecification (dict) --
The launch template.
LaunchTemplateId (string) --
The ID of the launch template. You must specify either a template ID or a template name.
LaunchTemplateName (string) --
The name of the launch template. You must specify either a template name or a template ID.
Version (string) --
The version number. By default, the default version of the launch template is used.
Overrides (list) --
Any parameters that you specify override the same parameters in the launch template.
(dict) --
Describes overrides for a launch template.
InstanceType (string) --
The instance type.
SpotPrice (string) --
The maximum price per unit hour that you are willing to pay for a Spot Instance.
SubnetId (string) --
The ID of the subnet in which to launch the instances.
AvailabilityZone (string) --
The Availability Zone in which to launch the instances.
WeightedCapacity (float) --
The number of units provided by the specified instance type.
Priority (float) --
The priority for the launch template override. If OnDemandAllocationStrategy is set to prioritized , Spot Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched 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.
SpotPrice (string) --
The maximum price per unit hour that you are willing to pay for a Spot Instance. The default is the On-Demand price.
TargetCapacity (integer) --
The number of 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.
OnDemandTargetCapacity (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.
TerminateInstancesWithExpiration (boolean) --
Indicates whether running Spot Instances should be 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. To maintain a certain target capacity, the Spot Fleet places the required requests to meet capacity and automatically replenishes any interrupted instances. Default: maintain .
ValidFrom (datetime) --
The start date and time of the request, in UTC format (for example, YYYY -MM -DD T*HH* :MM :SS Z). The default is to start fulfilling the request immediately.
ValidUntil (datetime) --
The end date and time of the request, in UTC format (for example, YYYY -MM -DD T*HH* :MM :SS Z). At this point, no new Spot Instance requests are placed or able to fulfill the request. The default end date is 7 days from the current date.
ReplaceUnhealthyInstances (boolean) --
Indicates whether Spot Fleet should replace unhealthy instances.
InstanceInterruptionBehavior (string) --
The behavior when a Spot Instance is interrupted. The default is terminate .
LoadBalancersConfig (dict) --
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.
ClassicLoadBalancersConfig (dict) --
The Classic Load Balancers.
ClassicLoadBalancers (list) --
One or more Classic Load Balancers.
(dict) --
Describes a Classic Load Balancer.
Name (string) --
The name of the load balancer.
TargetGroupsConfig (dict) --
The target groups.
TargetGroups (list) --
One or more target groups.
(dict) --
Describes a load balancer target group.
Arn (string) --
The Amazon Resource Name (ARN) of the target group.
InstancePoolsToUseCount (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.
SpotFleetRequestId (string) --
The ID of the Spot Fleet request.
SpotFleetRequestState (string) --
The state of the Spot Fleet request.
{'SpotFleetRequestConfig': {'InstancePoolsToUseCount': 'integer', 'LaunchTemplateConfigs': {'Overrides': {'Priority': 'double'}}, 'OnDemandAllocationStrategy': 'lowestPrice | ' 'prioritized'}}
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 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 Instances. You cannot tag other resource types in a Spot Fleet request because only the instance resource type is supported.
For more information, see Spot Fleet Requests in the Amazon EC2 User Guide for Linux Instances .
See also: AWS API Documentation
Request Syntax
client.request_spot_fleet( DryRun=True|False, SpotFleetRequestConfig={ 'AllocationStrategy': 'lowestPrice'|'diversified', 'OnDemandAllocationStrategy': 'lowestPrice'|'prioritized', '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': { 'Encrypted': True|False, 'DeleteOnTermination': True|False, 'Iops': 123, 'KmsKeyId': 'string', 'SnapshotId': 'string', 'VolumeSize': 123, 'VolumeType': 'standard'|'io1'|'gp2'|'sc1'|'st1' }, 'NoDevice': 'string' }, ], 'EbsOptimized': True|False, 'IamInstanceProfile': { 'Arn': 'string', 'Name': 'string' }, 'ImageId': 'string', 'InstanceType': 't1.micro'|'t2.nano'|'t2.micro'|'t2.small'|'t2.medium'|'t2.large'|'t2.xlarge'|'t2.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'|'r5d.large'|'r5d.xlarge'|'r5d.2xlarge'|'r5d.4xlarge'|'r5d.8xlarge'|'r5d.12xlarge'|'r5d.16xlarge'|'r5d.24xlarge'|'r5d.metal'|'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'|'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.18xlarge'|'c5d.large'|'c5d.xlarge'|'c5d.2xlarge'|'c5d.4xlarge'|'c5d.9xlarge'|'c5d.18xlarge'|'cc1.4xlarge'|'cc2.8xlarge'|'g2.2xlarge'|'g2.8xlarge'|'g3.4xlarge'|'g3.8xlarge'|'g3.16xlarge'|'cg1.4xlarge'|'p2.xlarge'|'p2.8xlarge'|'p2.16xlarge'|'p3.2xlarge'|'p3.8xlarge'|'p3.16xlarge'|'d2.xlarge'|'d2.2xlarge'|'d2.4xlarge'|'d2.8xlarge'|'f1.2xlarge'|'f1.16xlarge'|'m5.large'|'m5.xlarge'|'m5.2xlarge'|'m5.4xlarge'|'m5.12xlarge'|'m5.24xlarge'|'m5d.large'|'m5d.xlarge'|'m5d.2xlarge'|'m5d.4xlarge'|'m5d.12xlarge'|'m5d.24xlarge'|'h1.2xlarge'|'h1.4xlarge'|'h1.8xlarge'|'h1.16xlarge'|'z1d.large'|'z1d.xlarge'|'z1d.2xlarge'|'z1d.3xlarge'|'z1d.6xlarge'|'z1d.12xlarge', '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' }, ], 'Placement': { 'AvailabilityZone': 'string', 'GroupName': 'string', 'Tenancy': 'default'|'dedicated'|'host' }, 'RamdiskId': 'string', 'SpotPrice': 'string', 'SubnetId': 'string', 'UserData': 'string', 'WeightedCapacity': 123.0, 'TagSpecifications': [ { 'ResourceType': 'customer-gateway'|'dhcp-options'|'image'|'instance'|'internet-gateway'|'network-acl'|'network-interface'|'reserved-instances'|'route-table'|'snapshot'|'spot-instances-request'|'subnet'|'security-group'|'volume'|'vpc'|'vpn-connection'|'vpn-gateway', 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] }, ] }, ], 'LaunchTemplateConfigs': [ { 'LaunchTemplateSpecification': { 'LaunchTemplateId': 'string', 'LaunchTemplateName': 'string', 'Version': 'string' }, 'Overrides': [ { 'InstanceType': 't1.micro'|'t2.nano'|'t2.micro'|'t2.small'|'t2.medium'|'t2.large'|'t2.xlarge'|'t2.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'|'r5d.large'|'r5d.xlarge'|'r5d.2xlarge'|'r5d.4xlarge'|'r5d.8xlarge'|'r5d.12xlarge'|'r5d.16xlarge'|'r5d.24xlarge'|'r5d.metal'|'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'|'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.18xlarge'|'c5d.large'|'c5d.xlarge'|'c5d.2xlarge'|'c5d.4xlarge'|'c5d.9xlarge'|'c5d.18xlarge'|'cc1.4xlarge'|'cc2.8xlarge'|'g2.2xlarge'|'g2.8xlarge'|'g3.4xlarge'|'g3.8xlarge'|'g3.16xlarge'|'cg1.4xlarge'|'p2.xlarge'|'p2.8xlarge'|'p2.16xlarge'|'p3.2xlarge'|'p3.8xlarge'|'p3.16xlarge'|'d2.xlarge'|'d2.2xlarge'|'d2.4xlarge'|'d2.8xlarge'|'f1.2xlarge'|'f1.16xlarge'|'m5.large'|'m5.xlarge'|'m5.2xlarge'|'m5.4xlarge'|'m5.12xlarge'|'m5.24xlarge'|'m5d.large'|'m5d.xlarge'|'m5d.2xlarge'|'m5d.4xlarge'|'m5d.12xlarge'|'m5d.24xlarge'|'h1.2xlarge'|'h1.4xlarge'|'h1.8xlarge'|'h1.16xlarge'|'z1d.large'|'z1d.xlarge'|'z1d.2xlarge'|'z1d.3xlarge'|'z1d.6xlarge'|'z1d.12xlarge', 'SpotPrice': 'string', 'SubnetId': 'string', 'AvailabilityZone': 'string', 'WeightedCapacity': 123.0, 'Priority': 123.0 }, ] }, ], 'SpotPrice': 'string', 'TargetCapacity': 123, 'OnDemandTargetCapacity': 123, 'TerminateInstancesWithExpiration': True|False, 'Type': 'request'|'maintain', '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 } )
boolean
Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation . Otherwise, it is UnauthorizedOperation .
dict
[REQUIRED]
The configuration for the Spot Fleet request.
AllocationStrategy (string) --
Indicates how to allocate the target capacity across the Spot pools specified by the Spot Fleet request. The default is lowestPrice .
OnDemandAllocationStrategy (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 .
ClientToken (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 .
ExcessCapacityTerminationPolicy (string) --
Indicates whether running Spot Instances should be terminated if the target capacity of the Spot Fleet request is decreased below the current size of the Spot Fleet.
FulfilledCapacity (float) --
The number of units fulfilled by this request compared to the set target capacity.
OnDemandFulfilledCapacity (float) --
The number of On-Demand units fulfilled by this request compared to the set target On-Demand capacity.
IamFleetRole (string) -- [REQUIRED]
Grants the Spot Fleet permission to 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 .
LaunchSpecifications (list) --
The launch specifications for the Spot Fleet request.
(dict) --
Describes the launch specification for one or more Spot Instances.
SecurityGroups (list) --
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.
(dict) --
Describes a security group.
GroupName (string) --
The name of the security group.
GroupId (string) --
The ID of the security group.
AddressingType (string) --
Deprecated.
BlockDeviceMappings (list) --
One or more block device mapping entries. 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.
(dict) --
Describes a block device mapping.
DeviceName (string) --
The device name (for example, /dev/sdh or xvdh ).
VirtualName (string) --
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.
Ebs (dict) --
Parameters used to automatically set up EBS volumes when the instance is launched.
Encrypted (boolean) --
Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. If you are creating a volume from a snapshot, you can't specify an encryption value. This is because only blank volumes can be encrypted on creation.
DeleteOnTermination (boolean) --
Indicates whether the EBS volume is deleted on instance termination.
Iops (integer) --
The number of I/O operations per second (IOPS) that the volume supports. For io1 , this represents the number of IOPS that are provisioned for the volume. For gp2 , this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about General Purpose SSD baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide .
Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for gp2 volumes.
Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2 , st1 , sc1 , or standard volumes.
KmsKeyId (string) --
Identifier (key ID, key alias, ID ARN, or alias ARN) for a user-managed CMK under which the EBS volume is encrypted.
This parameter is only supported on BlockDeviceMapping objects called by RunInstances , RequestSpotFleet , and RequestSpotInstances .
SnapshotId (string) --
The ID of the snapshot.
VolumeSize (integer) --
The size of the volume, in GiB.
Constraints: 1-16384 for General Purpose SSD (gp2 ), 4-16384 for Provisioned IOPS SSD (io1 ), 500-16384 for Throughput Optimized HDD (st1 ), 500-16384 for Cold HDD (sc1 ), and 1-1024 for Magnetic (standard ) volumes. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.
Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.
VolumeType (string) --
The volume type: gp2 , io1 , st1 , sc1 , or standard .
Default: standard
NoDevice (string) --
Suppresses the specified device included in the block device mapping of the AMI.
EbsOptimized (boolean) --
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
IamInstanceProfile (dict) --
The IAM instance profile.
Arn (string) --
The Amazon Resource Name (ARN) of the instance profile.
Name (string) --
The name of the instance profile.
ImageId (string) --
The ID of the AMI.
InstanceType (string) --
The instance type.
KernelId (string) --
The ID of the kernel.
KeyName (string) --
The name of the key pair.
Monitoring (dict) --
Enable or disable monitoring for the instances.
Enabled (boolean) --
Enables monitoring for the instance.
Default: false
NetworkInterfaces (list) --
One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.
(dict) --
Describes a network interface.
AssociatePublicIpAddress (boolean) --
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 .
DeleteOnTermination (boolean) --
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.
Description (string) --
The description of the network interface. Applies only if creating a network interface when launching an instance.
DeviceIndex (integer) --
The index of the device on the instance for the network interface attachment. If you are specifying a network interface in a RunInstances request, you must provide the device index.
Groups (list) --
The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.
(string) --
Ipv6AddressCount (integer) --
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.
Ipv6Addresses (list) --
One or more 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.
(dict) --
Describes an IPv6 address.
Ipv6Address (string) --
The IPv6 address.
NetworkInterfaceId (string) --
The ID of the network interface.
PrivateIpAddress (string) --
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.
PrivateIpAddresses (list) --
One or more 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.
(dict) --
Describes a secondary private IPv4 address for a network interface.
Primary (boolean) --
Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.
PrivateIpAddress (string) --
The private IPv4 addresses.
SecondaryPrivateIpAddressCount (integer) --
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.
SubnetId (string) --
The ID of the subnet associated with the network string. Applies only if creating a network interface when launching an instance.
Placement (dict) --
The placement information.
AvailabilityZone (string) --
The Availability Zone.
[Spot Fleet only] To specify multiple Availability Zones, separate them using commas; for example, "us-west-2a, us-west-2b".
GroupName (string) --
The name of the placement group.
Tenancy (string) --
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.
RamdiskId (string) --
The ID of the RAM disk.
SpotPrice (string) --
The maximum price per unit hour that you are willing to pay for a Spot Instance. If this value is not specified, the default is the Spot price specified for the fleet. To determine the Spot price per unit hour, divide the Spot price by the value of WeightedCapacity .
SubnetId (string) --
The ID of the subnet in which to launch the instances. To specify multiple subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08".
UserData (string) --
The Base64-encoded user data to make available to the instances.
WeightedCapacity (float) --
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 (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, we round the number of instances to the next whole number. If this value is not specified, the default is 1.
TagSpecifications (list) --
The tags to apply during creation.
(dict) --
The tags for a Spot Fleet resource.
ResourceType (string) --
The type of resource. Currently, the only resource type that is supported is instance .
Tags (list) --
The tags.
(dict) --
Describes a tag.
Key (string) --
The key of the tag.
Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:
Value (string) --
The value of the tag.
Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.
LaunchTemplateConfigs (list) --
The launch template and overrides.
(dict) --
Describes a launch template and overrides.
LaunchTemplateSpecification (dict) --
The launch template.
LaunchTemplateId (string) --
The ID of the launch template. You must specify either a template ID or a template name.
LaunchTemplateName (string) --
The name of the launch template. You must specify either a template name or a template ID.
Version (string) --
The version number. By default, the default version of the launch template is used.
Overrides (list) --
Any parameters that you specify override the same parameters in the launch template.
(dict) --
Describes overrides for a launch template.
InstanceType (string) --
The instance type.
SpotPrice (string) --
The maximum price per unit hour that you are willing to pay for a Spot Instance.
SubnetId (string) --
The ID of the subnet in which to launch the instances.
AvailabilityZone (string) --
The Availability Zone in which to launch the instances.
WeightedCapacity (float) --
The number of units provided by the specified instance type.
Priority (float) --
The priority for the launch template override. If OnDemandAllocationStrategy is set to prioritized , Spot Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched 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.
SpotPrice (string) --
The maximum price per unit hour that you are willing to pay for a Spot Instance. The default is the On-Demand price.
TargetCapacity (integer) -- [REQUIRED]
The number of 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.
OnDemandTargetCapacity (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.
TerminateInstancesWithExpiration (boolean) --
Indicates whether running Spot Instances should be 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. To maintain a certain target capacity, the Spot Fleet places the required requests to meet capacity and automatically replenishes any interrupted instances. Default: maintain .
ValidFrom (datetime) --
The start date and time of the request, in UTC format (for example, YYYY -MM -DD T*HH* :MM :SS Z). The default is to start fulfilling the request immediately.
ValidUntil (datetime) --
The end date and time of the request, in UTC format (for example, YYYY -MM -DD T*HH* :MM :SS Z). At this point, no new Spot Instance requests are placed or able to fulfill the request. The default end date is 7 days from the current date.
ReplaceUnhealthyInstances (boolean) --
Indicates whether Spot Fleet should replace unhealthy instances.
InstanceInterruptionBehavior (string) --
The behavior when a Spot Instance is interrupted. The default is terminate .
LoadBalancersConfig (dict) --
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.
ClassicLoadBalancersConfig (dict) --
The Classic Load Balancers.
ClassicLoadBalancers (list) -- [REQUIRED]
One or more Classic Load Balancers.
(dict) --
Describes a Classic Load Balancer.
Name (string) -- [REQUIRED]
The name of the load balancer.
TargetGroupsConfig (dict) --
The target groups.
TargetGroups (list) -- [REQUIRED]
One or more target groups.
(dict) --
Describes a load balancer target group.
Arn (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of the target group.
InstancePoolsToUseCount (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.
dict
Response Syntax
{ 'SpotFleetRequestId': 'string' }
Response Structure
(dict) --
Contains the output of RequestSpotFleet.
SpotFleetRequestId (string) --
The ID of the Spot Fleet request.