get-commitment
dci get-commitment id
Returns a commitment by the specified Id.
Output
OK - Commitment returned.
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 |
|---|---|---|
id | string | The unique identifier of the commitment. |
name | string | The name of the commitment. |
startDate | string (date-time) | The start date of the commitment. |
endDate | string (date-time) | The end date of the commitment. |
currency | string | The currency of the commitment (e.g., USD). |
cloudProvider | string | The cloud provider associated with the commitment. One of: "google-cloud", "amazon-web-services", "microsoft-azure". |
totalCommitmentValue | number (double) | The total value of the commitment across all periods. |
totalCurrentAttainment | number (double) | The total current spend attainment across all periods. |
totalMarketplaceSpend | number (double) | The total marketplace spend across all periods. |
totalForecastValue | number (double) | The total projected spend at the end of the commitment, summed across all periods. 0 when insufficient history is available to compute a forecast. |
periods | array of object | The list of commitment periods. |
periods[].startDate | string (date-time) | The start date of the period. |
periods[].endDate | string (date-time) | The end date of the period. |
periods[].commitmentValue | number (double) | The commitment value for this period. |
periods[].marketplaceLimitPercentage | number (double) | The marketplace limit as a percentage (0-100). |
periods[].marketplaceSpend | number (double) | The marketplace spend within this period. |
periods[].marketplaceLimitAmount | number (double) | The marketplace limit in absolute currency for this period, derived as commitmentValue * marketplaceLimitPercentage / 100. |
periods[].forecastValue | number (double) | The projected spend at the end of this period, based on a linear regression over the period's total spend series. 0 when insufficient history is available to compute a forecast. |
createTime | integer (int64) | The creation time in milliseconds since epoch. |
updateTime | integer (int64) | The last update time in milliseconds since epoch. |
Raw JSON schema
{
"type": "object",
"description": "A commitment contract.",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the commitment."
},
"name": {
"type": "string",
"description": "The name of the commitment."
},
"startDate": {
"type": "string",
"format": "date-time",
"example": "2024-03-10T23:00:00Z",
"description": "The start date of the commitment."
},
"endDate": {
"type": "string",
"format": "date-time",
"example": "2024-03-10T23:00:00Z",
"description": "The end date of the commitment."
},
"currency": {
"type": "string",
"description": "The currency of the commitment (e.g., USD).",
"example": "USD"
},
"cloudProvider": {
"type": "string",
"description": "The cloud provider associated with the commitment.",
"enum": [
"google-cloud",
"amazon-web-services",
"microsoft-azure"
]
},
"totalCommitmentValue": {
"type": "number",
"format": "double",
"description": "The total value of the commitment across all periods."
},
"totalCurrentAttainment": {
"type": "number",
"format": "double",
"description": "The total current spend attainment across all periods."
},
"totalMarketplaceSpend": {
"type": "number",
"format": "double",
"description": "The total marketplace spend across all periods."
},
"totalForecastValue": {
"type": "number",
"format": "double",
"description": "The total projected spend at the end of the commitment, summed across all periods. 0 when insufficient history is available to compute a forecast."
},
"periods": {
"type": "array",
"description": "The list of commitment periods.",
"items": {
"type": "object",
"description": "A single period within a commitment.",
"properties": {
"startDate": {
"type": "string",
"format": "date-time",
"example": "2024-03-10T23:00:00Z",
"description": "The start date of the period."
},
"endDate": {
"type": "string",
"format": "date-time",
"example": "2024-03-10T23:00:00Z",
"description": "The end date of the period."
},
"commitmentValue": {
"type": "number",
"format": "double",
"description": "The commitment value for this period."
},
"marketplaceLimitPercentage": {
"type": "number",
"format": "double",
"description": "The marketplace limit as a percentage (0-100)."
},
"marketplaceSpend": {
"type": "number",
"format": "double",
"description": "The marketplace spend within this period."
},
"marketplaceLimitAmount": {
"type": "number",
"format": "double",
"description": "The marketplace limit in absolute currency for this period, derived as commitmentValue * marketplaceLimitPercentage / 100."
},
"forecastValue": {
"type": "number",
"format": "double",
"description": "The projected spend at the end of this period, based on a linear regression over the period's total spend series. 0 when insufficient history is available to compute a forecast."
}
}
}
},
"createTime": {
"type": "integer",
"format": "int64",
"description": "The creation time in milliseconds since epoch."
},
"updateTime": {
"type": "integer",
"format": "int64",
"description": "The last update time in milliseconds since epoch."
}
}
}
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 | 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. |
Aliases: getcommitment