Reference

What AWS sells for a reservation or Savings Plan target

The catalogue one field at a time. choices lists, for every field of the target, the values sold given every field before it, in the order each narrows the next: service, region, engine, deployment, offering_class, tenancy and resource for a reservation, plan_type, instance_family and region for a plan. A field the service does not use has no choices and must be left out. complete says the target is whole; offers then lists every offering sold for it, priced per unit (a reservation, or a dollar an hour of a plan) beside the public on-demand rate where the price list has one. EC2 is read one instance type at a time, so its offers wait for resource. Regions are where the organization's accounts live, hold commitments, run anything or opted in; classes are those it runs and those the catalogue sells. Every page AWS returns is kept a day, fetched_at says when it was read. AWS is read through the role of the optional buying_account_id, the account the purchase would be bought in, then its payer's, then every other connected account's, payers first, passing over a role AWS refuses to assume. 422 for a value the service does not sell; 502 when every connected account refused the offerings lookup.

GET
/api/v1/commitments/offerings

Authorization

BearerAuth
AuthorizationBearer <token>

In: header

Query Parameters

kind*Kind
service?|null
region?|null
engine?|null
deployment?|null
offering_class?|null
tenancy?|null
plan_type?|null
instance_family?|null
resource?|null
buying_account_id?|null

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/commitments/offerings?kind=reserved_instance"
{
  "success": true,
  "timestamp": "2019-08-24T14:15:22Z",
  "data": {
    "choices": {
      "property1": [
        "string"
      ],
      "property2": [
        "string"
      ]
    },
    "complete": true,
    "offers": [
      {
        "offering_id": "string",
        "resource": "string",
        "term_months": 0,
        "payment_option": "string",
        "currency": "string",
        "upfront": 0,
        "recurring_hourly": 0,
        "term_total": 0,
        "effective_hourly": 0,
        "on_demand_hourly": 0,
        "offering_class": "standard",
        "multi_az": true
      }
    ],
    "fetched_at": "string"
  }
}
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
Ask the FinOps Agent about your cloud spend