Describes the Spot price history. For more information, see Spot Instance pricing history in the Amazon EC2 User Guide for Linux Instances .
When you specify a start and end time, the operation returns the prices of the instance types within that time range. It also returns the last price change before the start time, which is the effective price as of the start time.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
describe-spot-price-history
is a paginated operation. Multiple API calls may be issued in order to retrieve the entire data set of results. You can disable pagination by providing the --no-paginate
argument.
When using --output text
and the --query
argument on a paginated response, the --query
argument must extract data from the results of the following query expressions: SpotPriceHistory
describe-spot-price-history
[--filters <value>]
[--availability-zone <value>]
[--dry-run | --no-dry-run]
[--end-time <value>]
[--instance-types <value>]
[--product-descriptions <value>]
[--start-time <value>]
[--cli-input-json | --cli-input-yaml]
[--starting-token <value>]
[--page-size <value>]
[--max-items <value>]
[--generate-cli-skeleton <value>]
--filters
(list)
One or more filters.
availability-zone
- The Availability Zone for which prices should be returned.
instance-type
- The type of instance (for example,m3.medium
).
product-description
- The product description for the Spot price (Linux/UNIX
|Red Hat Enterprise Linux
|SUSE Linux
|Windows
|Linux/UNIX (Amazon VPC)
|Red Hat Enterprise Linux (Amazon VPC)
|SUSE Linux (Amazon VPC)
|Windows (Amazon VPC)
).
spot-price
- The Spot price. The value must match exactly (or use wildcards; greater than or less than comparison is not supported).
timestamp
- The time stamp of the Spot price history, in UTC format (for example, YYYY -MM -DD T*HH* :MM :SS Z). You can use wildcards (* and ?). Greater than or less than comparison is not supported.(structure)
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.
If you specify multiple filters, the filters are joined with an
AND
, and the request returns only results that match all of the specified filters.Name -> (string)
The name of the filter. Filter names are case-sensitive.
Values -> (list)
The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an
OR
, and the request returns all results that match any of the specified values.(string)
Shorthand Syntax:
Name=string,Values=string,string ...
JSON Syntax:
[
{
"Name": "string",
"Values": ["string", ...]
}
...
]
--availability-zone
(string)
Filters the results by the specified Availability Zone.
--dry-run
| --no-dry-run
(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 isUnauthorizedOperation
.
--end-time
(timestamp)
The date and time, up to the current date, from which to stop retrieving the price history data, in UTC format (for example, YYYY -MM -DD T*HH* :MM :SS Z).
--instance-types
(list)
Filters the results by the specified instance types.
(string)
Syntax:
"string" "string" ...
Where valid values are:
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
--product-descriptions
(list)
Filters the results by the specified basic product descriptions.
(string)
Syntax:
"string" "string" ...
--start-time
(timestamp)
The date and time, up to the past 90 days, from which to start retrieving the price history data, in UTC format (for example, YYYY -MM -DD T*HH* :MM :SS Z).
--cli-input-json
| --cli-input-yaml
(string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml
.
--starting-token
(string)
A token to specify where to start paginating. This is the
NextToken
from a previously truncated response.For usage examples, see Pagination in the AWS Command Line Interface User Guide .
--page-size
(integer)
The size of each page to get in the AWS service call. This does not affect the number of items returned in the command’s output. Setting a smaller page size results in more calls to the AWS service, retrieving fewer items in each call. This can help prevent the AWS service calls from timing out.
For usage examples, see Pagination in the AWS Command Line Interface User Guide .
--max-items
(integer)
The total number of items to return in the command’s output. If the total number of items available is more than the value specified, a
NextToken
is provided in the command’s output. To resume pagination, provide theNextToken
value in thestarting-token
argument of a subsequent command. Do not use theNextToken
response element directly outside of the AWS CLI.For usage examples, see Pagination in the AWS Command Line Interface User Guide .
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. Similarly, if provided yaml-input
it will print a sample input YAML that can be used with --cli-input-yaml
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.
See ‘aws help’ for descriptions of global parameters.
Note
To use the following examples, you must have the AWS CLI installed and configured. See the Getting started guide in the AWS CLI User Guide for more information.
Unless otherwise stated, all examples have unix-like quotation rules. These examples will need to be adapted to your terminal’s quoting rules. See Using quotation marks with strings in the AWS CLI User Guide .
To describe Spot price history
This example command returns the Spot Price history for m1.xlarge instances for a particular day in January.
Command:
aws ec2 describe-spot-price-history --instance-types m1.xlarge --start-time 2014-01-06T07:08:09 --end-time 2014-01-06T08:09:10
Output:
{
"SpotPriceHistory": [
{
"Timestamp": "2014-01-06T07:10:55.000Z",
"ProductDescription": "SUSE Linux",
"InstanceType": "m1.xlarge",
"SpotPrice": "0.087000",
"AvailabilityZone": "us-west-1b"
},
{
"Timestamp": "2014-01-06T07:10:55.000Z",
"ProductDescription": "SUSE Linux",
"InstanceType": "m1.xlarge",
"SpotPrice": "0.087000",
"AvailabilityZone": "us-west-1c"
},
{
"Timestamp": "2014-01-06T05:42:36.000Z",
"ProductDescription": "SUSE Linux (Amazon VPC)",
"InstanceType": "m1.xlarge",
"SpotPrice": "0.087000",
"AvailabilityZone": "us-west-1a"
},
...
}
To describe Spot price history for Linux/UNIX Amazon VPC
This example command returns the Spot Price history for m1.xlarge, Linux/UNIX Amazon VPC instances for a particular day in January.
Command:
aws ec2 describe-spot-price-history --instance-types m1.xlarge --product-description "Linux/UNIX (Amazon VPC)" --start-time 2014-01-06T07:08:09 --end-time 2014-01-06T08:09:10
Output:
{
"SpotPriceHistory": [
{
"Timestamp": "2014-01-06T04:32:53.000Z",
"ProductDescription": "Linux/UNIX (Amazon VPC)",
"InstanceType": "m1.xlarge",
"SpotPrice": "0.080000",
"AvailabilityZone": "us-west-1a"
},
{
"Timestamp": "2014-01-05T11:28:26.000Z",
"ProductDescription": "Linux/UNIX (Amazon VPC)",
"InstanceType": "m1.xlarge",
"SpotPrice": "0.080000",
"AvailabilityZone": "us-west-1c"
}
]
}
NextToken -> (string)
The token required to retrieve the next set of results. This value is null or an empty string when there are no more results to return.
SpotPriceHistory -> (list)
The historical Spot prices.
(structure)
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.
AvailabilityZone -> (string)
The Availability Zone.
InstanceType -> (string)
The instance type.
ProductDescription -> (string)
A general description of the AMI.
SpotPrice -> (string)
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.
Timestamp -> (timestamp)
The date and time the request was created, in UTC format (for example, YYYY -MM -DD T*HH* :MM :SS Z).