メインコンテンツへスキップ

list-aws-reserved-instances

dci list-aws-reserved-instances <managementAccountId> [flags]

Returns a paginated list of Reserved Instances (RIs) for the specified AWS organization. Optionally filter by state, instance type, instance family, region, and offering class. Omit filters to return all RIs for the AWS organization.

  • managementAccountId — 12-digit AWS management (payer) account ID (the account that owns the AWS Organization) that scopes the request.

Filters: --status (active, retired, payment_pending, payment_failed, queued, queued_deleted), --instance-type (exact, e.g. m5.large), --instance-family (e.g. m5), --region, and --offering-class (standard or convertible). Instance type, family and region filters are case-sensitive exact matches. Omit all filters to return every RI.

Examples

# Reserved Instances across the organization, with utilization and savings.
dci list-aws-reserved-instances <management-account-id>
# Active RIs in one region.
dci list-aws-reserved-instances <management-account-id> --status active --region us-east-1
# Convertible RIs of one instance family (the part of the instance type before the dot).
dci list-aws-reserved-instances <management-account-id> --instance-family m5 --offering-class convertible
# Every page as JSON, for scripts.
dci list-aws-reserved-instances <management-account-id> --all --output json

Flags

FlagTypeDefaultExampleDescription
--statusstringFilter by Reserved Instance lifecycle state. Omit to include all states. One of: "active", "retired", "payment_pending", "payment_failed", "queued", "queued_deleted".
--instance-typestringFilter by exact EC2 instance type (for example, m5.large). Case-sensitive. Must match the instanceType value on the RI exactly.
--instance-familystringFilter by EC2 instance family, the leading segment of instanceType before the dot (for example, m5 matches m5.large and m5.xlarge). Case-sensitive.
--regionstringFilter by AWS region (for example, us-east-1). Case-sensitive. Must match the region stored on the RI.
--offering-classstringFilter by RI offering class. Omit to include both standard and convertible. One of: "standard", "convertible".
--page-tokenstringOpaque cursor token returned by a previous list response. Omit to start from the beginning; an empty or absent token in a response means there are no more results. Do not parse it. A structurally invalid cursor returns 400 with code pagination_token_invalid; an expired cursor returns 400 with code pagination_token_expired — restart pagination from the beginning.
--max-resultsinteger50Maximum number of items to return. Server may return fewer. Defaults to 50; maximum 500.

Every command also accepts the CLI-wide flags for output shaping — see Output formats and Table output options.

Output

Paginated list of Reserved Instances.

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

FieldTypeDescription
itemsarray of object
items[].commitmentIdstringReserved Instance ID (AWS-assigned).
items[].reservedInstanceArnstringFull Amazon Resource Name (ARN) of the Reserved Instance, when known.
items[].accountIdstringAWS account ID where the Reserved Instance exists.
items[].statestringReserved Instance state, tracking the AWS EC2 Reserved Instance API verbatim in external snake_case form. Differs from Savings Plan states by design. For example, the terminal state is retired here vs expired on Savings Plans. One of: "active", "retired", "payment_pending", "payment_failed", "queued", "queued_deleted".
items[].instanceTypestringEC2 instance type on which the RI can be used (for example, m5.large).
items[].instanceCountinteger (int64)Number of instances covered by this Reserved Instance. Null when unknown.
items[].instanceTenancystringTenancy of the instance (for example, default, dedicated).
items[].availabilityZonestringAvailability Zone when the RI is AZ-scoped. Null for region-scoped RIs.
items[].regionstringAWS region of the Reserved Instance (for example, us-east-1). Null when unknown.
items[].platformstringPlatform identifier from AWS (for example, Linux/UNIX). Null when unknown.
items[].descriptionstringProduct platform description from AWS inventory.
items[].scopestringScope of the Reserved Instance (for example, Availability Zone, Region).
items[].offeringClassstringRI offering class. One of: "standard", "convertible".
items[].offeringTypestringRI offering type / payment option label from AWS (for example, All Upfront).
items[].termDurationstringTerm inferred from the RI duration. Absent when it does not map cleanly to 1yr / 3yr.
items[].durationSecondsinteger (int64)RI duration in seconds.
items[].startTimestring (date-time)When the Reserved Instance started. Null when unknown.
items[].endTimestring (date-time)When the Reserved Instance ends or ended. Null when unknown.
items[].currencyCodestringISO 4217 currency code (USD in practice).
items[].fixedPriceobjectPurchase price of the Reserved Instance.
items[].fixedPrice.amountstringDecimal monetary amount at ISO 4217 minor-unit precision (string).
items[].fixedPrice.currencystringISO 4217 currency code.
items[].usagePriceobjectUsage price per hour.
items[].usagePrice.amountstringDecimal monetary amount at ISO 4217 minor-unit precision (string).
items[].usagePrice.currencystringISO 4217 currency code.
items[].hourlyRecurringFeeobjectHourly recurring fee for the Reserved Instance.
items[].hourlyRecurringFee.amountstringDecimal monetary amount at ISO 4217 minor-unit precision (string).
items[].hourlyRecurringFee.currencystringISO 4217 currency code.
items[].upfrontFeeobjectUpfront fee paid for the Reserved Instance.
items[].upfrontFee.amountstringDecimal monetary amount at ISO 4217 minor-unit precision (string).
items[].upfrontFee.currencystringISO 4217 currency code.
items[].totalAssetValueobjectTotal asset value of the Reserved Instance over its term.
items[].totalAssetValue.amountstringDecimal monetary amount at ISO 4217 minor-unit precision (string).
items[].totalAssetValue.currencystringISO 4217 currency code.
items[].averageOnDemandHourlyRateobjectAverage on-demand hourly rate used for savings comparisons.
items[].averageOnDemandHourlyRate.amountstringDecimal monetary amount at ISO 4217 minor-unit precision (string).
items[].averageOnDemandHourlyRate.currencystringISO 4217 currency code.
items[].amortizedRecurringFeeobjectAmortized recurring fee over the RI term.
items[].amortizedRecurringFee.amountstringDecimal monetary amount at ISO 4217 minor-unit precision (string).
items[].amortizedRecurringFee.currencystringISO 4217 currency code.
items[].amortizedUpfrontFeeobjectAmortized upfront fee over the RI term.
items[].amortizedUpfrontFee.amountstringDecimal monetary amount at ISO 4217 minor-unit precision (string).
items[].amortizedUpfrontFee.currencystringISO 4217 currency code.
items[].totalAmortizedFeeobjectSum of amortized upfront and recurring fees.
items[].totalAmortizedFee.amountstringDecimal monetary amount at ISO 4217 minor-unit precision (string).
items[].totalAmortizedFee.currencystringISO 4217 currency code.
items[].netRiSavingsobjectNet savings from the Reserved Instance versus on-demand.
items[].netRiSavings.amountstringDecimal monetary amount at ISO 4217 minor-unit precision (string).
items[].netRiSavings.currencystringISO 4217 currency code.
items[].realizedSavingsobjectRealized savings from hours actually covered by the RI.
items[].realizedSavings.amountstringDecimal monetary amount at ISO 4217 minor-unit precision (string).
items[].realizedSavings.currencystringISO 4217 currency code.
items[].unrealizedSavingsobjectForgone savings from unused RI hours.
items[].unrealizedSavings.amountstringDecimal monetary amount at ISO 4217 minor-unit precision (string).
items[].unrealizedSavings.currencystringISO 4217 currency code.
items[].totalPotentialRiSavingsobjectTotal potential savings if the RI were fully utilized.
items[].totalPotentialRiSavings.amountstringDecimal monetary amount at ISO 4217 minor-unit precision (string).
items[].totalPotentialRiSavings.currencystringISO 4217 currency code.
items[].onDemandCostOfRiHoursUsedobjectOn-demand cost equivalent of the RI hours that were used.
items[].onDemandCostOfRiHoursUsed.amountstringDecimal monetary amount at ISO 4217 minor-unit precision (string).
items[].onDemandCostOfRiHoursUsed.currencystringISO 4217 currency code.
items[].riCostForUnusedHoursobjectRI cost attributable to unused hours.
items[].riCostForUnusedHours.amountstringDecimal monetary amount at ISO 4217 minor-unit precision (string).
items[].riCostForUnusedHours.currencystringISO 4217 currency code.
items[].purchasedHoursinteger (int64)Total hours purchased for this RI in the reporting window. Null when unknown.
items[].purchasedUnitsinteger (int64)Total normalized units purchased. Null when unknown.
items[].totalActualHoursinteger (int64)Hours actually used against the RI. Null when unknown.
items[].totalNormalizedUnitsinteger (int64)Normalized units actually used. Null when unknown.
items[].unusedHoursinteger (int64)Purchased hours that were not used. Null when unknown.
items[].unusedNormalizedUnitsinteger (int64)Purchased normalized units that were not used. Null when unknown.
items[].utilizationPercentagenumber (double)Cost Explorer reported utilization percentage (0–1).
items[].utilizationPercentageInUnitsnumber (double)Utilization percentage based on normalized units (0–1). Null when unknown.
items[].mtdSavingsobjectMonth-to-date realized savings.
items[].mtdSavings.amountstringDecimal monetary amount at ISO 4217 minor-unit precision (string).
items[].mtdSavings.currencystringISO 4217 currency code.
items[].mtdUtilizationnumber (double)Month-to-date utilization (0–1). Null when not yet available. A stored 0% is indistinguishable from unavailable and is returned as null.
items[].updatedAtstring (date-time)Timestamp of the last successful inventory sync for this Reserved Instance.
items[].recurringChargesarray of objectRecurring charge schedule from AWS for this Reserved Instance.
items[].recurringCharges[].amountnumber (double)Amount of the recurring charge.
items[].recurringCharges[].frequencystringBilling frequency of the recurring charge (for example, Hourly).
pageTokenstring
rowCountinteger (int64)Best-effort count for the filtered result set. May be null or omitted for expensive counts.
Raw JSON schema
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"commitmentId",
"accountId",
"state",
"instanceType",
"mtdSavings"
],
"description": "Reserved Instance item in the external inventory response. Money fields are wrapped `{amount, currency}` objects.",
"properties": {
"commitmentId": {
"type": "string",
"description": "Reserved Instance ID (AWS-assigned)."
},
"reservedInstanceArn": {
"type": "string",
"description": "Full Amazon Resource Name (ARN) of the Reserved Instance, when known.",
"nullable": true
},
"accountId": {
"type": "string",
"description": "AWS account ID where the Reserved Instance exists."
},
"state": {
"type": "string",
"description": "Reserved Instance state, tracking the AWS EC2 Reserved Instance API verbatim in external snake_case form. Differs from Savings Plan states by design. For example, the terminal state is `retired` here vs `expired` on Savings Plans.",
"enum": [
"active",
"retired",
"payment_pending",
"payment_failed",
"queued",
"queued_deleted"
],
"x-enumDescriptions": {
"active": "RI is active and providing coverage.",
"retired": "RI term has ended (terminal state for RIs).",
"payment_pending": "Purchase payment is pending.",
"payment_failed": "Purchase payment failed.",
"queued": "RI is queued to start at a future time.",
"queued_deleted": "Queued RI that has been deleted before start."
}
},
"instanceType": {
"type": "string",
"description": "EC2 instance type on which the RI can be used (for example, `m5.large`)."
},
"instanceCount": {
"type": "integer",
"format": "int64",
"description": "Number of instances covered by this Reserved Instance. Null when unknown.",
"nullable": true
},
"instanceTenancy": {
"type": "string",
"description": "Tenancy of the instance (for example, `default`, `dedicated`)."
},
"availabilityZone": {
"type": "string",
"description": "Availability Zone when the RI is AZ-scoped. Null for region-scoped RIs.",
"nullable": true
},
"region": {
"type": "string",
"description": "AWS region of the Reserved Instance (for example, `us-east-1`). Null when unknown.",
"nullable": true
},
"platform": {
"type": "string",
"description": "Platform identifier from AWS (for example, Linux/UNIX). Null when unknown.",
"nullable": true
},
"description": {
"type": "string",
"description": "Product platform description from AWS inventory."
},
"scope": {
"type": "string",
"description": "Scope of the Reserved Instance (for example, `Availability Zone`, `Region`)."
},
"offeringClass": {
"type": "string",
"description": "RI offering class.",
"enum": [
"standard",
"convertible"
],
"x-enumDescriptions": {
"standard": "Standard Reserved Instances (fixed instance attributes).",
"convertible": "Convertible Reserved Instances (can be exchanged for other RI configurations)."
}
},
"offeringType": {
"type": "string",
"description": "RI offering type / payment option label from AWS (for example, `All Upfront`)."
},
"termDuration": {
"allOf": [
{
"type": "string",
"enum": [
"one_year",
"three_year"
],
"description": "Preferred or actual commitment term length for Savings Plans and related settings.",
"x-enumDescriptions": {
"one_year": "One-year commitment term.",
"three_year": "Three-year commitment term."
}
}
],
"description": "Term inferred from the RI duration. Absent when it does not map cleanly to 1yr / 3yr."
},
"durationSeconds": {
"type": "integer",
"format": "int64",
"description": "RI duration in seconds.",
"nullable": true
},
"startTime": {
"type": "string",
"format": "date-time",
"description": "When the Reserved Instance started. Null when unknown.",
"nullable": true
},
"endTime": {
"type": "string",
"format": "date-time",
"description": "When the Reserved Instance ends or ended. Null when unknown.",
"nullable": true
},
"currencyCode": {
"type": "string",
"description": "ISO 4217 currency code (USD in practice)."
},
"fixedPrice": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Purchase price of the Reserved Instance."
},
"usagePrice": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Usage price per hour."
},
"hourlyRecurringFee": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Hourly recurring fee for the Reserved Instance."
},
"upfrontFee": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Upfront fee paid for the Reserved Instance."
},
"totalAssetValue": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Total asset value of the Reserved Instance over its term."
},
"averageOnDemandHourlyRate": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Average on-demand hourly rate used for savings comparisons."
},
"amortizedRecurringFee": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Amortized recurring fee over the RI term."
},
"amortizedUpfrontFee": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Amortized upfront fee over the RI term."
},
"totalAmortizedFee": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Sum of amortized upfront and recurring fees."
},
"netRiSavings": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Net savings from the Reserved Instance versus on-demand."
},
"realizedSavings": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Realized savings from hours actually covered by the RI."
},
"unrealizedSavings": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Forgone savings from unused RI hours."
},
"totalPotentialRiSavings": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Total potential savings if the RI were fully utilized."
},
"onDemandCostOfRiHoursUsed": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "On-demand cost equivalent of the RI hours that were used."
},
"riCostForUnusedHours": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "RI cost attributable to unused hours."
},
"purchasedHours": {
"type": "integer",
"format": "int64",
"description": "Total hours purchased for this RI in the reporting window. Null when unknown.",
"nullable": true
},
"purchasedUnits": {
"type": "integer",
"format": "int64",
"description": "Total normalized units purchased. Null when unknown.",
"nullable": true
},
"totalActualHours": {
"type": "integer",
"format": "int64",
"description": "Hours actually used against the RI. Null when unknown.",
"nullable": true
},
"totalNormalizedUnits": {
"type": "integer",
"format": "int64",
"description": "Normalized units actually used. Null when unknown.",
"nullable": true
},
"unusedHours": {
"type": "integer",
"format": "int64",
"description": "Purchased hours that were not used. Null when unknown.",
"nullable": true
},
"unusedNormalizedUnits": {
"type": "integer",
"format": "int64",
"description": "Purchased normalized units that were not used. Null when unknown.",
"nullable": true
},
"utilizationPercentage": {
"type": "number",
"format": "double",
"description": "Cost Explorer reported utilization percentage (0–1).",
"nullable": true
},
"utilizationPercentageInUnits": {
"type": "number",
"format": "double",
"description": "Utilization percentage based on normalized units (0–1). Null when unknown.",
"nullable": true
},
"mtdSavings": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Month-to-date realized savings."
},
"mtdUtilization": {
"type": "number",
"format": "double",
"description": "Month-to-date utilization (0–1). Null when not yet available. A stored 0% is indistinguishable from unavailable and is returned as null.",
"nullable": true
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp of the last successful inventory sync for this Reserved Instance.",
"nullable": true
},
"recurringCharges": {
"type": "array",
"description": "Recurring charge schedule from AWS for this Reserved Instance.",
"items": {
"type": "object",
"required": [
"amount",
"frequency"
],
"properties": {
"amount": {
"type": "number",
"format": "double",
"description": "Amount of the recurring charge."
},
"frequency": {
"type": "string",
"description": "Billing frequency of the recurring charge (for example, `Hourly`)."
}
}
}
}
}
}
},
"pageToken": {
"type": "string",
"nullable": true
},
"rowCount": {
"type": "integer",
"format": "int64",
"description": "Best-effort count for the filtered result set. May be null or omitted for expensive counts.",
"nullable": true
}
}
}

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 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: listawsreservedinstances