Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 13 additions & 6 deletions hugo/content/en/api/v2/cloud-cost-management/examples.json
Original file line number Diff line number Diff line change
Expand Up @@ -3598,27 +3598,34 @@
"request": {
"json_curl": {
"data": {
"attributes": {
"sort": [
{
"order": "DESC"
}
]
},
"type": "recommendations_filter"
}
},
"json": {
"data": {
"attributes": {
"filter": "@resource_table:aws_ec2_instance",
"scope": "string",
"scope": "ccm",
"sort": [
{
"expression": "string",
"order": "string"
"expression": "@potential_daily_savings",
"order": "DESC"
}
],
"view": "string"
"view": "active"
},
"id": "string",
"id": "@resource_table:aws_ec2_instance",
"type": "recommendations_filter"
}
},
"html": "<div class=\"\"><div class=\"row hasChildData \">\n <div class=\"col-12 first-column\">\n <div class=\"row table-row first-row js-collapse-trigger collapse-trigger \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\"><span class=\"toggle-arrow\"><svg width=\"6\" height=\"9\" viewBox=\"0 0 6 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4.7294 4.45711L0.733399 7.82311L1.1294 8.29111L5.6654 4.45711L1.1294 0.641113L0.751398 1.12711L4.7294 4.45711Z\" fill=\"black\"/></svg></span> data&nbsp;[<em>required</em>]</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">object</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">JSON:API resource containing the cost recommendations filter. This legacy search contract\nuses the resource ID for the filter expression rather than as a persistent resource identifier.</p></div>\n </div>\n <div class=\"row isNested d-none hasChildData \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"data\" class=\"row table-row first-row js-collapse-trigger collapse-trigger \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\"><span class=\"toggle-arrow\"><svg width=\"6\" height=\"9\" viewBox=\"0 0 6 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4.7294 4.45711L0.733399 7.82311L1.1294 8.29111L5.6654 4.45711L1.1294 0.641113L0.751398 1.12711L4.7294 4.45711Z\" fill=\"black\"/></svg></span> attributes</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">object</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Attributes used to filter and sort cost recommendations.</p></div>\n </div>\n <div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"attributes\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">filter</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">string</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Filter expression applied to the recommendations. When supplied, this attribute overrides\n<code>data.id</code>, including when empty. When omitted, <code>data.id</code> is used. If the resulting filter\nis empty, it defaults to <code>*</code>. Scope, view, and pagination still apply.</p></div>\n </div>\n \n </div>\n </div><div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"attributes\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">scope</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">enum</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Recommendations scope. Defaults to <code>ccm</code>; use <code>experiment</code> for experimental recommendations\nor <code>*</code> for both. \nAllowed enum values: <code>ccm,experiment,*</code></p></div>\n </div>\n \n </div>\n </div><div class=\"row isNested d-none hasChildData \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"attributes\" class=\"row table-row first-row js-collapse-trigger collapse-trigger \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\"><span class=\"toggle-arrow\"><svg width=\"6\" height=\"9\" viewBox=\"0 0 6 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4.7294 4.45711L0.733399 7.82311L1.1294 8.29111L5.6654 4.45711L1.1294 0.641113L0.751398 1.12711L4.7294 4.45711Z\" fill=\"black\"/></svg></span> sort</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">[object]</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Ordered list of sort clauses applied to the result set.</p></div>\n </div>\n <div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"sort\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">expression</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">string</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Field to sort by (for example, <code>@potential_daily_savings</code>).</p></div>\n </div>\n \n </div>\n </div><div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"sort\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">order</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">string</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Sort direction, either <code>ASC</code> or <code>DESC</code>.</p></div>\n </div>\n \n </div>\n </div>\n </div>\n </div><div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"attributes\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">view</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">string</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Status view to return: <code>all</code>, <code>active</code> (not dismissed), <code>dismissed</code>, <code>open</code>, <code>in-progress</code>,\nor <code>completed</code>. Defaults to <code>all</code>, which returns recommendations in every status.</p></div>\n </div>\n \n </div>\n </div>\n </div>\n </div><div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"data\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">id</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">string</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Filter expression applied to the recommendations when <code>attributes.filter</code> is omitted.\nWhen supplied, <code>attributes.filter</code> overrides this value, including when empty. If the\nresulting filter is empty, it defaults to <code>*</code>. Scope, view, and pagination still apply.</p></div>\n </div>\n \n </div>\n </div><div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"data\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">type&nbsp;[<em>required</em>]</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">enum</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Legacy JSON:API resource type required by the cost recommendations search decoder. \nAllowed enum values: <code>recommendations_filter</code></p><p>default: <code>recommendations_filter</code></p></div>\n </div>\n \n </div>\n </div>\n </div>\n </div></div>"
"html": "<div class=\"\"><div class=\"row hasChildData \">\n <div class=\"col-12 first-column\">\n <div class=\"row table-row first-row js-collapse-trigger collapse-trigger \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\"><span class=\"toggle-arrow\"><svg width=\"6\" height=\"9\" viewBox=\"0 0 6 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4.7294 4.45711L0.733399 7.82311L1.1294 8.29111L5.6654 4.45711L1.1294 0.641113L0.751398 1.12711L4.7294 4.45711Z\" fill=\"black\"/></svg></span> data&nbsp;[<em>required</em>]</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">object</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">JSON:API resource containing the cost recommendations filter. This legacy search contract\nuses the resource ID for the filter expression rather than as a persistent resource identifier.</p></div>\n </div>\n <div class=\"row isNested d-none hasChildData \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"data\" class=\"row table-row first-row js-collapse-trigger collapse-trigger \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\"><span class=\"toggle-arrow\"><svg width=\"6\" height=\"9\" viewBox=\"0 0 6 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4.7294 4.45711L0.733399 7.82311L1.1294 8.29111L5.6654 4.45711L1.1294 0.641113L0.751398 1.12711L4.7294 4.45711Z\" fill=\"black\"/></svg></span> attributes</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">object</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Attributes used to filter and sort cost recommendations.</p></div>\n </div>\n <div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"attributes\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">filter</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">string</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Filter expression applied to the recommendations. When supplied, this attribute overrides\n<code>data.id</code>, including when empty. When omitted, <code>data.id</code> is used. If the resulting filter\nis empty, it defaults to <code>*</code>. Scope, view, and pagination still apply.</p></div>\n </div>\n \n </div>\n </div><div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"attributes\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">scope</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">enum</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Recommendations scope. Defaults to <code>ccm</code>; use <code>experiment</code> for experimental recommendations\nor <code>*</code> for both. An empty value is treated as <code>ccm</code>. \nAllowed enum values: <code>ccm,experiment,*,</code></p></div>\n </div>\n \n </div>\n </div><div class=\"row isNested d-none hasChildData \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"attributes\" class=\"row table-row first-row js-collapse-trigger collapse-trigger \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\"><span class=\"toggle-arrow\"><svg width=\"6\" height=\"9\" viewBox=\"0 0 6 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4.7294 4.45711L0.733399 7.82311L1.1294 8.29111L5.6654 4.45711L1.1294 0.641113L0.751398 1.12711L4.7294 4.45711Z\" fill=\"black\"/></svg></span> sort</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">[object]</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Ordered list of sort clauses applied to the result set.</p></div>\n </div>\n <div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"sort\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">expression</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">string</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Field to sort by (for example, <code>@potential_daily_savings</code>).</p></div>\n </div>\n \n </div>\n </div><div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"sort\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">order&nbsp;[<em>required</em>]</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">string</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Sort direction, either <code>ASC</code> or <code>DESC</code> (case-insensitive).</p></div>\n </div>\n \n </div>\n </div>\n </div>\n </div><div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"attributes\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">view</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">string</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Status view to return: <code>all</code>, <code>active</code> (not dismissed), <code>dismissed</code>, <code>open</code>, <code>in-progress</code>,\nor <code>completed</code>. Defaults to <code>all</code>, which returns recommendations in every status.</p></div>\n </div>\n \n </div>\n </div>\n </div>\n </div><div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"data\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">id</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">string</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Filter expression applied to the recommendations when <code>attributes.filter</code> is omitted.\nWhen supplied, <code>attributes.filter</code> overrides this value, including when empty. If the\nresulting filter is empty, it defaults to <code>*</code>. Scope, view, and pagination still apply.</p></div>\n </div>\n \n </div>\n </div><div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"data\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">type&nbsp;[<em>required</em>]</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">enum</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Legacy JSON:API resource type required by the cost recommendations search decoder. \nAllowed enum values: <code>recommendations_filter</code></p><p>default: <code>recommendations_filter</code></p></div>\n </div>\n \n </div>\n </div>\n </div>\n </div></div>"
}
},
"ListCostTagDescriptions": {
Expand Down
13 changes: 11 additions & 2 deletions hugo/data/api/v2/full_spec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -106393,6 +106393,7 @@ components:
Filter expression applied to the recommendations when `attributes.filter` is omitted.
When supplied, `attributes.filter` overrides this value, including when empty. If the
resulting filter is empty, it defaults to `*`. Scope, view, and pagination still apply.
example: "@resource_table:aws_ec2_instance"
type: string
type:
$ref: "#/components/schemas/RecommendationsFilterRequestDataType"
Expand Down Expand Up @@ -106420,6 +106421,7 @@ components:
description: |-
Status view to return: `all`, `active` (not dismissed), `dismissed`, `open`, `in-progress`,
or `completed`. Defaults to `all`, which returns recommendations in every status.
example: active
type: string
type: object
RecommendationsFilterRequestDataType:
Expand All @@ -106434,25 +106436,32 @@ components:
RecommendationsFilterRequestScope:
description: |-
Recommendations scope. Defaults to `ccm`; use `experiment` for experimental recommendations
or `*` for both.
or `*` for both. An empty value is treated as `ccm`.
enum:
- ccm
- experiment
- "*"
- ""
example: ccm
type: string
x-enum-varnames:
- CCM
- EXPERIMENT
- ALL
- EMPTY
RecommendationsFilterRequestSortItems:
description: A single sort clause applied to the cost recommendations result set.
properties:
expression:
description: Field to sort by (for example, `@potential_daily_savings`).
example: "@potential_daily_savings"
type: string
order:
description: Sort direction, either `ASC` or `DESC`.
description: Sort direction, either `ASC` or `DESC` (case-insensitive).
example: DESC
type: string
required:
- order
type: object
RecommendationsPageMeta:
description: Top-level JSON:API meta object for paginated cost recommendation responses.
Expand Down
7 changes: 7 additions & 0 deletions hugo/data/changelog/cloud-cost-management.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,10 @@ entries:
operations:
- SearchCostRecommendations
title: Document errors and page size limits for cost recommendations search
- change_type: modified
date: '2026-10-30'
link: https://github.com/DataDog/documentation/pull/41230
operations:
- SearchCostRecommendations
title: Fix request examples and document request validation for cost
recommendations search
Loading