list-aws-recommendations
dci list-aws-recommendations <managementAccountId>
Returns commitment purchase recommendations for the AWS organization, keyed by commitment type (compute, database). A commitment type is present only when it is onboarded and a recommendation is available.
managementAccountId— 12-digit AWS management (payer) account ID (the account that owns the AWS Organization) that scopes the request.
The response is keyed by commitment type (compute, database); a type is present only
when it is onboarded and a recommendation exists. For the eligible-spend time series
behind one recommendation, use get-aws-recommendation <management-account-id> <service-id>.
Examples
# Current and recommended hourly commitment per onboarded commitment type, with the estimated additional savings.
dci list-aws-recommendations <management-account-id>
# The recommendations as JSON, for scripts.
dci list-aws-recommendations <management-account-id> --output json
# Only the compute recommendation.
dci list-aws-recommendations <management-account-id> --fields compute --output json
Output
List with recommendations for each onboarded commitment type. A commitment type property is present only when that commitment type is onboarded and a recommendation is available.
By default dci renders the result as a table. Use --output json to get the full structure described below — see Output formats.
| Field | Type | Description |
|---|---|---|
compute | object | Recommendation for the Compute commitment type. |
compute.policy | string | Coverage target policy currently configured for this commitment type (for example, conservative, balanced, or max_savings). |
compute.currentCommitment | number (double) | Active hourly commitment ($/h) currently applied to this AWS organization and commitment type, including commitments already purchased. |
compute.recommendedCommitment | number (double) | Recommended total hourly commitment ($/h) based on usage patterns and your commitment policy. Designed to increase savings while managing underutilization risk. |
compute.potentialAdditionalSavings | number (double) | Estimated additional monthly savings ($/month) from applying the recommended commitment relative to currentCommitment. |
compute.estimatedAverageCoverage | number (double) | Estimated average coverage (0–1) of eligible spend if the recommended commitment were in place. |
compute.estimatedEquivalentRecommendedCommitment | number (double) | Shelf-price hourly equivalent ($/h) of the recommended commitment, derived from the median hourly eligible usage over the last 60 days multiplied by estimatedAverageCoverage. Use this to compare the recommendation line to eligible usage on charts. |
database | object | Recommendation for the Database commitment type. |
database.policy | string | Coverage target policy currently configured for this commitment type (for example, conservative, balanced, or max_savings). |
database.currentCommitment | number (double) | Active hourly commitment ($/h) currently applied to this AWS organization and commitment type, including commitments already purchased. |
database.recommendedCommitment | number (double) | Recommended total hourly commitment ($/h) based on usage patterns and your commitment policy. Designed to increase savings while managing underutilization risk. |
database.potentialAdditionalSavings | number (double) | Estimated additional monthly savings ($/month) from applying the recommended commitment relative to currentCommitment. |
database.estimatedAverageCoverage | number (double) | Estimated average coverage (0–1) of eligible spend if the recommended commitment were in place. |
database.estimatedEquivalentRecommendedCommitment | number (double) | Shelf-price hourly equivalent ($/h) of the recommended commitment, derived from the median hourly eligible usage over the last 60 days multiplied by estimatedAverageCoverage. Use this to compare the recommendation line to eligible usage on charts. |
Raw JSON schema
{
"type": "object",
"properties": {
"compute": {
"allOf": [
{
"type": "object",
"description": "Recommended commitment levels and savings estimates for one PerfectScale for Commitments commitment type on an AWS organization.",
"properties": {
"policy": {
"type": "string",
"description": "Coverage target policy currently configured for this commitment type (for example, `conservative`, `balanced`, or `max_savings`)."
},
"currentCommitment": {
"type": "number",
"format": "double",
"description": "Active hourly commitment ($/h) currently applied to this AWS organization and commitment type, including commitments already purchased."
},
"recommendedCommitment": {
"type": "number",
"format": "double",
"description": "Recommended total hourly commitment ($/h) based on usage patterns and your commitment policy. Designed to increase savings while managing underutilization risk."
},
"potentialAdditionalSavings": {
"type": "number",
"format": "double",
"description": "Estimated additional monthly savings ($/month) from applying the recommended commitment relative to `currentCommitment`."
},
"estimatedAverageCoverage": {
"type": "number",
"format": "double",
"description": "Estimated average coverage (0–1) of eligible spend if the recommended commitment were in place."
},
"estimatedEquivalentRecommendedCommitment": {
"type": "number",
"format": "double",
"description": "Shelf-price hourly equivalent ($/h) of the recommended commitment, derived from the median hourly eligible usage over the last 60 days multiplied by `estimatedAverageCoverage`. Use this to compare the recommendation line to eligible usage on charts."
}
}
}
],
"description": "Recommendation for the Compute commitment type."
},
"database": {
"allOf": [
{
"type": "object",
"description": "Recommended commitment levels and savings estimates for one PerfectScale for Commitments commitment type on an AWS organization.",
"properties": {
"policy": {
"type": "string",
"description": "Coverage target policy currently configured for this commitment type (for example, `conservative`, `balanced`, or `max_savings`)."
},
"currentCommitment": {
"type": "number",
"format": "double",
"description": "Active hourly commitment ($/h) currently applied to this AWS organization and commitment type, including commitments already purchased."
},
"recommendedCommitment": {
"type": "number",
"format": "double",
"description": "Recommended total hourly commitment ($/h) based on usage patterns and your commitment policy. Designed to increase savings while managing underutilization risk."
},
"potentialAdditionalSavings": {
"type": "number",
"format": "double",
"description": "Estimated additional monthly savings ($/month) from applying the recommended commitment relative to `currentCommitment`."
},
"estimatedAverageCoverage": {
"type": "number",
"format": "double",
"description": "Estimated average coverage (0–1) of eligible spend if the recommended commitment were in place."
},
"estimatedEquivalentRecommendedCommitment": {
"type": "number",
"format": "double",
"description": "Shelf-price hourly equivalent ($/h) of the recommended commitment, derived from the median hourly eligible usage over the last 60 days multiplied by `estimatedAverageCoverage`. Use this to compare the recommendation line to eligible usage on charts."
}
}
}
],
"description": "Recommendation for the Database commitment type."
}
}
}
Errors
On failure, dci prints a single error message — with a hint when one is available — and exits with a typed code your scripts can branch on. See Errors and exit codes for the full contract.
HTTP status to exit code mapping
| HTTP status | Exit code | Error code | Meaning |
|---|---|---|---|
| 400 | 30 | VALIDATION_ERROR | The arguments or request body were rejected. Review the command's flags and payload. |
| 401 | 10 | AUTHENTICATION_FAILED | Not signed in, or the API token is invalid. Run dci login or check DCI_API_KEY. |
| 403 | 11 | PERMISSION_DENIED | The DoiT user or the active customer context does not have access. |
| 404 | 20 | RESOURCE_NOT_FOUND | The requested resource does not exist. Check the identifier argument. |
| 500, 503 | 40 | API_SERVER_ERROR | The API failed to process the request. Retryable; contact DoiT support if it persists. |
Related
- get-aws-recommendation — Get an AWS recommendation
- list-aws-planned-purchases — List AWS planned purchases
- list-aws-organizations — List AWS organizations
- list-aws-savings-plans — List AWS Savings Plans
- API reference: GET /ps4commitments/v1/aws/organizations/{managementAccountId}/recommendations
Aliases: listawsrecommendations