CreateQuote
Creates a quote for an Outpost. A quote provides pricing and configuration options based on the requested capacity. You can optionally associate the quote with an existing Outpost or create a standalone quote by specifying only the country code and requested capacities.
Request Syntax
POST /quotes HTTP/1.1
Content-type: application/json
{
"CountryCode": "string",
"Description": "string",
"OutpostIdentifier": "string",
"RequestedCapacities": [
{
"Quantity": number,
"QuoteCapacityType": "string",
"Unit": "string"
}
],
"RequestedConstraints": [
{
"QuoteConstraintType": "string",
"Value": "string"
}
],
"RequestedPaymentOptions": [ "string" ],
"RequestedPaymentTerms": [ "string" ]
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- CountryCode
-
The country code for the Outpost site location.
Type: String
Length Constraints: Fixed length of 2.
Pattern:
^[A-Z]{2}$Required: Yes
- Description
-
A description for the quote.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1024.
Pattern:
^[\S \n]*$Required: No
- OutpostIdentifier
-
The ID or ARN of the Outpost to associate with the quote. If not specified, the quote is created without an Outpost association.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 180.
Pattern:
^(arn:aws([a-z-]+)?:outposts:[a-z\d-]+:\d{12}:outpost/)?op-[a-f0-9]{17}$Required: No
- RequestedCapacities
-
The capacity requirements for the quote. Each entry specifies a capacity type (such as Amazon EC2), the unit, and the quantity. For Amazon EC2, the quantity is the number of additional instances to add to the Outpost. For Amazon EBS and Amazon S3, the quantity is the total desired end-state capacity of the Outpost.
Type: Array of QuoteCapacity objects
Array Members: Maximum number of 2000 items.
Required: Yes
- RequestedConstraints
-
The physical constraints for the quote, such as maximum number of racks, maximum power draw per rack, or maximum weight per rack.
Type: Array of QuoteConstraint objects
Array Members: Maximum number of 10 items.
Required: No
- RequestedPaymentOptions
-
The payment options to include in the quote pricing. If not specified, all available payment options are returned.
Type: Array of strings
Array Members: Maximum number of 3 items.
Valid Values:
ALL_UPFRONT | NO_UPFRONT | PARTIAL_UPFRONTRequired: No
- RequestedPaymentTerms
-
The payment terms to include in the quote pricing. If not specified, all available payment terms are returned.
Type: Array of strings
Array Members: Maximum number of 3 items.
Valid Values:
THREE_YEARS | ONE_YEAR | FIVE_YEARSRequired: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"Quote": {
"AccountId": "string",
"CountryCode": "string",
"CreatedDate": number,
"Description": "string",
"ExpirationDate": number,
"OrderingRequirements": [
{
"OrderingRequirementType": "string",
"Status": "string",
"StatusMessage": "string"
}
],
"OutpostArn": "string",
"QuoteId": "string",
"QuoteOptions": [
{
"Capacities": [
{
"Quantity": number,
"QuoteCapacityType": "string",
"Unit": "string"
}
],
"CapacitySummary": {
"CapacityChange": [
{
"Quantity": number,
"QuoteCapacityType": "string",
"Unit": "string"
}
],
"ExistingCapacities": [
{
"Quantity": number,
"QuoteCapacityType": "string",
"Unit": "string"
}
],
"FinalCapacities": [
{
"Quantity": number,
"QuoteCapacityType": "string",
"Unit": "string"
}
]
},
"PricingOptions": [
{
"PricingType": "string",
"SubscriptionPricingDetails": {
"Currency": "string",
"MonthlyRecurringPrice": number,
"PaymentOption": "string",
"PaymentTerm": "string",
"UpfrontPrice": number
}
}
],
"QuoteOptionIdentifier": "string",
"Specifications": [
{
"ExistingRackSpecificationDetails": {
"EC2Capacities": [
{
"Family": "string",
"MaxSize": "string",
"Quantity": "string"
}
],
"RackDepthInches": number,
"RackHeightInches": number,
"RackId": "string",
"RackPowerDrawKva": number,
"RackUnitHeight": "string",
"RackUse": "string",
"RackWeightLbs": number,
"RackWidthInches": number
},
"FinalRackSpecificationDetails": {
"EC2Capacities": [
{
"Family": "string",
"MaxSize": "string",
"Quantity": "string"
}
],
"RackDepthInches": number,
"RackHeightInches": number,
"RackId": "string",
"RackPowerDrawKva": number,
"RackUnitHeight": "string",
"RackUse": "string",
"RackWeightLbs": number,
"RackWidthInches": number
},
"QuoteSpecificationType": "string",
"ServerSpecificationDetails": {
"EC2Capacities": [
{
"Family": "string",
"MaxSize": "string",
"Quantity": "string"
}
],
"RackUnitHeight": "string",
"ServerDepthInches": number,
"ServerHeightInches": number,
"ServerPowerDrawKva": number,
"ServerWeightLbs": number,
"ServerWidthInches": number
}
}
]
}
],
"QuoteStatus": "string",
"RequestedCapacities": [
{
"Quantity": number,
"QuoteCapacityType": "string",
"Unit": "string"
}
],
"RequestedConstraints": [
{
"QuoteConstraintType": "string",
"Value": "string"
}
],
"RequestedPaymentOptions": [ "string" ],
"RequestedPaymentTerms": [ "string" ],
"StatusMessage": "string",
"SubmittedOrderId": "string"
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedException
-
You do not have permission to perform this operation.
HTTP Status Code: 403
- InternalServerException
-
An internal error has occurred.
HTTP Status Code: 500
- NotFoundException
-
The specified request is not valid.
HTTP Status Code: 404
- ValidationException
-
A parameter is not valid.
HTTP Status Code: 400
Examples
Example
This example creates a quote for EC2 capacity.
Sample Request
aws outposts create-quote --country-code US --requested-capacities QuoteCapacityType=EC2,Unit=c5.24xlarge,Quantity=4
Sample Response
{
"Quote": {
"QuoteId": "oq-1234567890abcdef0",
"AccountId": "123456789012",
"QuoteStatus": "CREATED",
"CountryCode": "US",
"RequestedCapacities": [
{
"QuoteCapacityType": "EC2",
"Unit": "c5.24xlarge",
"Quantity": 4.0
}
],
"QuoteOptions": [
{
"QuoteOptionIdentifier": "oqo-1234567890abcdef0",
"Specifications": [
{
"QuoteSpecificationType": "NEW_RACK",
"FinalRackSpecificationDetails": {
"RackUse": "COMPUTE",
"RackPowerDrawKva": 10.5,
"RackWeightLbs": 2000.0,
"RackHeightInches": 80.0,
"RackWidthInches": 24.0,
"RackDepthInches": 48.0,
"RackUnitHeight": "HEIGHT_42U"
}
}
],
"PricingOptions": [
{
"PricingType": "SUBSCRIPTION",
"SubscriptionPricingDetails": {
"PaymentOption": "ALL_UPFRONT",
"PaymentTerm": "THREE_YEARS",
"UpfrontPrice": 100000.00,
"MonthlyRecurringPrice": 0.0,
"Currency": "USD"
}
}
]
}
],
"CreatedDate": "2026-01-15T10:30:00Z",
"ExpirationDate": "2026-02-14T10:30:00Z"
}
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: