Skip to main content

get-aws-recommendation

dci get-aws-recommendation managementAccountId serviceId [flags]

Returns full detail for a single recommendation including analysis metrics.

Flags

--granularity: (string default:"day" enum:"hour","day","week","month")

Output

Recommendation detail.

By default dci renders the result as a table. Use --output json to get the full structure described below — see Output formats.

FieldTypeDescription
recommendationobjectRecommended commitments
recommendation.policystringActual configured policy
recommendation.currentCommitmentnumber (double)Active commitments currently applied to this account, measured in hourly spend.
recommendation.recommendedCommitmentnumber (double)Recommended hourly commitment level based on usage patterns and your commitment policy, designed to increase savings while managing underutilization risk.
recommendation.potentialAdditionalSavingsnumber (double)Estimated additional monthly savings from applying the recommended commitment policy.
recommendation.estimatedAverageCoveragenumber (double)Estimated average coverage.
recommendation.estimatedEquivalentRecommendedCommitmentnumber (double)Estimated shelf-price hourly equivalent of the recommended commitment, derived from the median hourly eligible usage over the last 60 days multiplied by the estimated average coverage.
eligibleUsagearray of object
eligibleUsage[].usageTimestring (date-time)
eligibleUsage[].totalUsagenumber (double)Total usage.
eligibleUsage[].minUsagenumber (double)Min usage.
eligibleUsage[].maxUsagenumber (double)Max usage.
eligibleUsage[].medianUsagenumber (double)Median usage.
Raw JSON schema
{
"type": "object",
"description": "Service recommendation with eligible spend data",
"properties": {
"recommendation": {
"allOf": [
{
"type": "object",
"description": "Recommended commitments",
"properties": {
"policy": {
"type": "string",
"description": "Actual configured policy"
},
"currentCommitment": {
"type": "number",
"format": "double",
"description": "Active commitments currently applied to this account, measured in hourly spend."
},
"recommendedCommitment": {
"type": "number",
"format": "double",
"description": "Recommended hourly commitment level 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 from applying the recommended commitment policy."
},
"estimatedAverageCoverage": {
"type": "number",
"format": "double",
"description": "Estimated average coverage."
},
"estimatedEquivalentRecommendedCommitment": {
"type": "number",
"format": "double",
"description": "Estimated shelf-price hourly equivalent of the recommended commitment, derived from the median hourly eligible usage over the last 60 days multiplied by the estimated average coverage."
}
}
}
],
"description": "Recommended commitments"
},
"eligibleUsage": {
"type": "array",
"items": {
"type": "object",
"description": "One time-bucketed eligible-spend usage data point.",
"properties": {
"usageTime": {
"type": "string",
"format": "date-time",
"nullable": true
},
"totalUsage": {
"type": "number",
"format": "double",
"description": "Total usage."
},
"minUsage": {
"type": "number",
"format": "double",
"description": "Min usage."
},
"maxUsage": {
"type": "number",
"format": "double",
"description": "Max usage."
},
"medianUsage": {
"type": "number",
"format": "double",
"description": "Median usage."
}
}
}
}
}
}

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 statusExit codeError codeMeaning
40030VALIDATION_ERRORThe arguments or request body were rejected. Review the command's flags and payload.
40110AUTHENTICATION_FAILEDNot signed in, or the API token is invalid. Run dci login or check DCI_API_KEY.
40311PERMISSION_DENIEDThe DoiT user or the active customer context does not have access.
40420RESOURCE_NOT_FOUNDThe requested resource does not exist. Check the identifier argument.
500, 50340API_SERVER_ERRORThe API failed to process the request. Retryable; contact DoiT support if it persists.

Aliases: getawsrecommendation