list-aws-reserved-instances
dci list-aws-reserved-instances payerAccountId [flags]
Returns the paginated list of Reserved Instances (RIs) for the specified MPA. Filterable by state, instance type/family, region, and offering class.
Flags
--status: (string enum:"active","retired","payment_pending","payment_failed","queued","queued_deleted")
--instance-type: (string)
--instance-family: (string)
--region: (string)
--offering-class: (string enum:"standard","convertible")
--page-token: (string)
--max-results: (integer default:50)
Responses
200 (application/json)
Paginated list of Reserved Instances.
{
"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 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\nexternal snake_case form. Differs from Savings Plan states by design — for example,\nthe terminal state is `retired` here vs `expired` on Savings Plans.\n",
"enum": [
"active",
"retired",
"payment_pending",
"payment_failed",
"queued",
"queued_deleted"
]
},
"instanceType": {
"type": "string",
"description": "EC2 instance type on which the RI can be used (e.g. `m5.large`)."
},
"instanceCount": {
"type": "integer",
"format": "int64",
"nullable": true
},
"instanceTenancy": {
"type": "string",
"description": "Tenancy of the instance (e.g. `default`, `dedicated`)."
},
"availabilityZone": {
"type": "string",
"nullable": true
},
"region": {
"type": "string",
"nullable": true
},
"platform": {
"type": "string",
"nullable": true
},
"description": {
"type": "string",
"description": "Product platform description."
},
"scope": {
"type": "string",
"description": "Scope of the Reserved Instance (e.g. `Availability Zone`, `Region`)."
},
"offeringClass": {
"type": "string",
"enum": [
"standard",
"convertible"
]
},
"offeringType": {
"type": "string",
"description": "RI offering type (e.g. `All Upfront`)."
},
"termDuration": {
"allOf": [
{
"type": "string",
"enum": [
"one_year",
"three_year"
],
"description": "Commitment term length."
}
],
"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",
"nullable": true
},
"endTime": {
"type": "string",
"format": "date-time",
"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)."
},
"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)."
},
"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)."
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
]
},
"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)."
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
]
},
"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)."
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
]
},
"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)."
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
]
},
"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)."
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
]
},
"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)."
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
]
},
"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)."
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
]
},
"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)."
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
]
},
"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)."
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
]
},
"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)."
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
]
},
"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)."
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
]
},
"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)."
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
]
},
"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)."
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
]
},
"purchasedHours": {
"type": "integer",
"format": "int64",
"nullable": true
},
"purchasedUnits": {
"type": "integer",
"format": "int64",
"nullable": true
},
"totalActualHours": {
"type": "integer",
"format": "int64",
"nullable": true
},
"totalNormalizedUnits": {
"type": "integer",
"format": "int64",
"nullable": true
},
"unusedHours": {
"type": "integer",
"format": "int64",
"nullable": true
},
"unusedNormalizedUnits": {
"type": "integer",
"format": "int64",
"nullable": true
},
"utilizationPercentage": {
"type": "number",
"format": "double",
"description": "Cost-explorer reported utilization percentage (0–1).",
"nullable": true
},
"utilizationPercentageInUnits": {
"type": "number",
"format": "double",
"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)."
},
"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\nindistinguishable from unavailable and is returned as null.\n",
"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",
"items": {
"type": "object",
"required": [
"amount",
"frequency"
],
"properties": {
"amount": {
"type": "number",
"format": "double",
"description": "The amount of the recurring charge."
},
"frequency": {
"type": "string",
"description": "The frequency of the recurring charge (e.g. `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
}
}
}
400 (application/problem+json)
Syntactically malformed request, missing required parameter, or unsupported parameter value.
{
"type": "object",
"required": [
"type",
"title",
"status",
"detail",
"instance",
"code",
"retryable"
],
"additionalProperties": true,
"description": "RFC 9457 Problem Details — standard DoiT error envelope for all non-2xx responses.",
"properties": {
"type": {
"type": "string",
"format": "uri",
"example": "https://developer.doit.com/errors/not_found"
},
"title": {
"type": "string",
"example": "Resource not found"
},
"status": {
"type": "integer",
"example": 404
},
"detail": {
"type": "string",
"example": "customer not found"
},
"instance": {
"type": "string",
"format": "uri",
"example": "https://api.doit.com/requests/req_01HX9P2KQVJ8Z3M4T5N6V7W8Y9"
},
"code": {
"type": "string",
"pattern": "^([a-z][a-z0-9_]*|[a-z][a-z0-9]*(?:-[a-z0-9]+)*\\.[a-z][a-z0-9_]*)$",
"example": "not_found"
},
"retryable": {
"type": "boolean",
"example": false
},
"details": {
"type": "array",
"items": {
"type": "object",
"required": [
"issue"
],
"properties": {
"issue": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]*$"
},
"field": {
"type": "string"
}
},
"additionalProperties": true
}
},
"docsUrl": {
"type": "string",
"format": "uri"
}
}
}
401 (application/problem+json)
Missing or invalid credentials.
{
"type": "object",
"required": [
"type",
"title",
"status",
"detail",
"instance",
"code",
"retryable"
],
"additionalProperties": true,
"description": "RFC 9457 Problem Details — standard DoiT error envelope for all non-2xx responses.",
"properties": {
"type": {
"type": "string",
"format": "uri",
"example": "https://developer.doit.com/errors/not_found"
},
"title": {
"type": "string",
"example": "Resource not found"
},
"status": {
"type": "integer",
"example": 404
},
"detail": {
"type": "string",
"example": "customer not found"
},
"instance": {
"type": "string",
"format": "uri",
"example": "https://api.doit.com/requests/req_01HX9P2KQVJ8Z3M4T5N6V7W8Y9"
},
"code": {
"type": "string",
"pattern": "^([a-z][a-z0-9_]*|[a-z][a-z0-9]*(?:-[a-z0-9]+)*\\.[a-z][a-z0-9_]*)$",
"example": "not_found"
},
"retryable": {
"type": "boolean",
"example": false
},
"details": {
"type": "array",
"items": {
"type": "object",
"required": [
"issue"
],
"properties": {
"issue": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]*$"
},
"field": {
"type": "string"
}
},
"additionalProperties": true
}
},
"docsUrl": {
"type": "string",
"format": "uri"
}
}
}
403 (application/problem+json)
Authenticated but not authorised to access this customer's PS4C resources.
{
"type": "object",
"required": [
"type",
"title",
"status",
"detail",
"instance",
"code",
"retryable"
],
"additionalProperties": true,
"description": "RFC 9457 Problem Details — standard DoiT error envelope for all non-2xx responses.",
"properties": {
"type": {
"type": "string",
"format": "uri",
"example": "https://developer.doit.com/errors/not_found"
},
"title": {
"type": "string",
"example": "Resource not found"
},
"status": {
"type": "integer",
"example": 404
},
"detail": {
"type": "string",
"example": "customer not found"
},
"instance": {
"type": "string",
"format": "uri",
"example": "https://api.doit.com/requests/req_01HX9P2KQVJ8Z3M4T5N6V7W8Y9"
},
"code": {
"type": "string",
"pattern": "^([a-z][a-z0-9_]*|[a-z][a-z0-9]*(?:-[a-z0-9]+)*\\.[a-z][a-z0-9_]*)$",
"example": "not_found"
},
"retryable": {
"type": "boolean",
"example": false
},
"details": {
"type": "array",
"items": {
"type": "object",
"required": [
"issue"
],
"properties": {
"issue": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]*$"
},
"field": {
"type": "string"
}
},
"additionalProperties": true
}
},
"docsUrl": {
"type": "string",
"format": "uri"
}
}
}
500 (application/problem+json)
Unexpected server error.
{
"type": "object",
"required": [
"type",
"title",
"status",
"detail",
"instance",
"code",
"retryable"
],
"additionalProperties": true,
"description": "RFC 9457 Problem Details — standard DoiT error envelope for all non-2xx responses.",
"properties": {
"type": {
"type": "string",
"format": "uri",
"example": "https://developer.doit.com/errors/not_found"
},
"title": {
"type": "string",
"example": "Resource not found"
},
"status": {
"type": "integer",
"example": 404
},
"detail": {
"type": "string",
"example": "customer not found"
},
"instance": {
"type": "string",
"format": "uri",
"example": "https://api.doit.com/requests/req_01HX9P2KQVJ8Z3M4T5N6V7W8Y9"
},
"code": {
"type": "string",
"pattern": "^([a-z][a-z0-9_]*|[a-z][a-z0-9]*(?:-[a-z0-9]+)*\\.[a-z][a-z0-9_]*)$",
"example": "not_found"
},
"retryable": {
"type": "boolean",
"example": false
},
"details": {
"type": "array",
"items": {
"type": "object",
"required": [
"issue"
],
"properties": {
"issue": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]*$"
},
"field": {
"type": "string"
}
},
"additionalProperties": true
}
},
"docsUrl": {
"type": "string",
"format": "uri"
}
}
}
503 (application/problem+json)
Service temporarily unavailable; retry after the indicated delay.
{
"type": "object",
"required": [
"type",
"title",
"status",
"detail",
"instance",
"code",
"retryable"
],
"additionalProperties": true,
"description": "RFC 9457 Problem Details — standard DoiT error envelope for all non-2xx responses.",
"properties": {
"type": {
"type": "string",
"format": "uri",
"example": "https://developer.doit.com/errors/not_found"
},
"title": {
"type": "string",
"example": "Resource not found"
},
"status": {
"type": "integer",
"example": 404
},
"detail": {
"type": "string",
"example": "customer not found"
},
"instance": {
"type": "string",
"format": "uri",
"example": "https://api.doit.com/requests/req_01HX9P2KQVJ8Z3M4T5N6V7W8Y9"
},
"code": {
"type": "string",
"pattern": "^([a-z][a-z0-9_]*|[a-z][a-z0-9]*(?:-[a-z0-9]+)*\\.[a-z][a-z0-9_]*)$",
"example": "not_found"
},
"retryable": {
"type": "boolean",
"example": false
},
"details": {
"type": "array",
"items": {
"type": "object",
"required": [
"issue"
],
"properties": {
"issue": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]*$"
},
"field": {
"type": "string"
}
},
"additionalProperties": true
}
},
"docsUrl": {
"type": "string",
"format": "uri"
}
}
}
Aliases: list-aws-reserved-instances, listawsreservedinstances