[ aws . ec2 ]



Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you’ve purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances .

To queue a purchase for a future date and time, specify a purchase time. If you do not specify a purchase time, the default is the current time.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon EC2 User Guide .

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


--instance-count <value>
--reserved-instances-offering-id <value>
[--dry-run | --no-dry-run]
[--limit-price <value>]
[--purchase-time <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]


--instance-count (integer)

The number of Reserved Instances to purchase.

--reserved-instances-offering-id (string)

The ID of the Reserved Instance offering to purchase.

--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 is UnauthorizedOperation .

--limit-price (structure)

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

Amount -> (double)

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

CurrencyCode -> (string)

The currency in which the limitPrice amount is specified. At this time, the only supported currency is USD .

Shorthand Syntax:


JSON Syntax:

  "Amount": double,
  "CurrencyCode": "USD"

--purchase-time (timestamp)

The time at which to purchase the Reserved Instance, 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.

--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.

See ‘aws help’ for descriptions of global parameters.


To purchase a Reserved Instance offering

This example command illustrates a purchase of a Reserved Instances offering, specifying an offering ID and instance count.


aws ec2 purchase-reserved-instances-offering --reserved-instances-offering-id ec06327e-dd07-46ee-9398-75b5fexample --instance-count 3


  "ReservedInstancesId": "af9f760e-6f91-4559-85f7-4980eexample"


ReservedInstancesId -> (string)

The IDs of the purchased Reserved Instances.