Skip to content

Commit ec16d66

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit e9f1ce6 of spec repo
1 parent 659796b commit ec16d66

15 files changed

Lines changed: 2157 additions & 0 deletions

.generator/schemas/v2/openapi.yaml

Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16658,6 +16658,76 @@ components:
1665816658
type: string
1665916659
x-enum-varnames:
1666016660
- COST_BY_ORG
16661+
CostRecommendationArray:
16662+
description: A page of cost recommendations with pagination metadata.
16663+
properties:
16664+
data:
16665+
description: The list of cost recommendations on this page.
16666+
items:
16667+
$ref: "#/components/schemas/CostRecommendationData"
16668+
type: array
16669+
meta:
16670+
$ref: "#/components/schemas/RecommendationsPageMeta"
16671+
required:
16672+
- data
16673+
type: object
16674+
CostRecommendationData:
16675+
description: A single cost recommendation entry in JSON:API form.
16676+
properties:
16677+
attributes:
16678+
$ref: "#/components/schemas/CostRecommendationDataAttributes"
16679+
id:
16680+
description: Unique identifier for the recommendation.
16681+
type: string
16682+
type:
16683+
$ref: "#/components/schemas/CostRecommendationDataType"
16684+
required:
16685+
- type
16686+
type: object
16687+
CostRecommendationDataAttributes:
16688+
description: Attributes describing a single cost recommendation.
16689+
properties:
16690+
dd_resource_key:
16691+
description: Datadog resource key identifying the recommended resource.
16692+
type: string
16693+
potential_daily_savings:
16694+
$ref: "#/components/schemas/CostRecommendationDataAttributesPotentialDailySavings"
16695+
recommendation_type:
16696+
description: The kind of recommendation (for example, `terminate` or `rightsize`).
16697+
type: string
16698+
resource_id:
16699+
description: Cloud provider identifier of the resource.
16700+
type: string
16701+
resource_type:
16702+
description: Resource type (for example, `aws_ec2_instance`).
16703+
type: string
16704+
tags:
16705+
description: Tags attached to the recommended resource.
16706+
items:
16707+
description: A single resource tag.
16708+
type: string
16709+
type: array
16710+
type: object
16711+
CostRecommendationDataAttributesPotentialDailySavings:
16712+
description: Estimated daily savings if the recommendation is applied.
16713+
properties:
16714+
amount:
16715+
description: Numeric amount of the potential daily savings.
16716+
format: double
16717+
type: number
16718+
currency:
16719+
description: ISO 4217 currency code for the savings amount.
16720+
type: string
16721+
type: object
16722+
CostRecommendationDataType:
16723+
default: recommendation
16724+
description: Recommendation resource type.
16725+
enum:
16726+
- recommendation
16727+
example: recommendation
16728+
type: string
16729+
x-enum-varnames:
16730+
- RECOMMENDATION
1666116731
CostTag:
1666216732
description: A Cloud Cost Management tag.
1666316733
properties:
@@ -59600,6 +59670,64 @@ components:
5960059670
type: string
5960159671
x-enum-varnames:
5960259672
- RECOMMENDATION
59673+
RecommendationsFilterRequest:
59674+
description: Request body for filtering cost recommendations.
59675+
example:
59676+
filter: "@resource_table:aws_ec2_instance"
59677+
sort:
59678+
- expression: potential_daily_savings.amount
59679+
order: DESC
59680+
properties:
59681+
filter:
59682+
description: Filter expression applied to the recommendations.
59683+
type: string
59684+
scope:
59685+
description: Recommendations scope. Defaults to `ccm`; use `experiment` for experimental recommendations or `*` for both.
59686+
type: string
59687+
sort:
59688+
description: Ordered list of sort clauses applied to the result set.
59689+
items:
59690+
$ref: "#/components/schemas/RecommendationsFilterRequestSortItems"
59691+
type: array
59692+
view:
59693+
description: Active view name (for example, `active`, `dismissed`, `open`, `in-progress`, or `completed`).
59694+
type: string
59695+
type: object
59696+
RecommendationsFilterRequestSortItems:
59697+
description: A single sort clause applied to the cost recommendations result set.
59698+
properties:
59699+
expression:
59700+
description: Field to sort by (for example, `potential_daily_savings.amount`).
59701+
type: string
59702+
order:
59703+
description: Sort direction, either `ASC` or `DESC`.
59704+
type: string
59705+
type: object
59706+
RecommendationsPageMeta:
59707+
description: Top-level JSON:API meta object for paginated cost recommendation responses.
59708+
properties:
59709+
page:
59710+
$ref: "#/components/schemas/RecommendationsPageMetaPage"
59711+
type: object
59712+
RecommendationsPageMetaPage:
59713+
description: Pagination metadata for a page of cost recommendations.
59714+
properties:
59715+
filter:
59716+
description: The filter expression that was applied to produce this page.
59717+
type: string
59718+
next_page_token:
59719+
description: Opaque token used to fetch the next page; absent on the last page.
59720+
type: string
59721+
page_size:
59722+
description: Number of items returned in this page (1–10000).
59723+
format: int32
59724+
maximum: 10000
59725+
minimum: 1
59726+
type: integer
59727+
page_token:
59728+
description: Pagination token echoed back from the request.
59729+
type: string
59730+
type: object
5960359731
ReferenceTableCreateSourceType:
5960459732
description: The source type for creating reference table data. Only these source types can be created through this API.
5960559733
enum:
@@ -100097,6 +100225,76 @@ paths:
100097100225
operator: OR
100098100226
permissions:
100099100227
- cloud_cost_management_read
100228+
/api/v2/cost/recommendations:
100229+
post:
100230+
description: List cost recommendations matching a filter, with pagination and sorting.
100231+
operationId: GetRecommendationsByFilter
100232+
parameters:
100233+
- description: Number of results per page (1–10000).
100234+
in: query
100235+
name: page[size]
100236+
schema:
100237+
type: string
100238+
- description: Pagination token from a previous response.
100239+
in: query
100240+
name: page[token]
100241+
schema:
100242+
type: string
100243+
requestBody:
100244+
content:
100245+
application/json:
100246+
examples:
100247+
default:
100248+
value:
100249+
filter: "@resource_table:aws_ec2_instance"
100250+
sort:
100251+
- expression: potential_daily_savings.amount
100252+
order: DESC
100253+
schema:
100254+
$ref: "#/components/schemas/RecommendationsFilterRequest"
100255+
required: true
100256+
responses:
100257+
"200":
100258+
content:
100259+
application/json:
100260+
examples:
100261+
default:
100262+
value:
100263+
data:
100264+
- attributes:
100265+
dd_resource_key: "arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"
100266+
potential_daily_savings:
100267+
amount: 1.23
100268+
currency: USD
100269+
recommendation_type: terminate
100270+
resource_id: i-1234567890abcdef0
100271+
resource_type: aws_ec2_instance
100272+
tags:
100273+
- "env:prod"
100274+
- "team:ccm"
100275+
id: encoded-event-id-1
100276+
type: recommendation
100277+
meta:
100278+
page:
100279+
filter: "@resource_table:aws_ec2_instance"
100280+
next_page_token: ""
100281+
page_size: 100
100282+
schema:
100283+
$ref: "#/components/schemas/CostRecommendationArray"
100284+
description: OK
100285+
"429":
100286+
$ref: "#/components/responses/TooManyRequestsResponse"
100287+
security:
100288+
- apiKeyAuth: []
100289+
appKeyAuth: []
100290+
- AuthZ:
100291+
- cloud_cost_management_read
100292+
summary: Get recommendations by filter
100293+
tags:
100294+
- Cloud Cost Management
100295+
x-unstable: |-
100296+
**Note**: This endpoint is in preview and is subject to change.
100297+
If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
100100100298
/api/v2/cost/tag_descriptions:
100101100299
get:
100102100300
description: List Cloud Cost Management tag key descriptions for the organization. Use `filter[cloud]` to scope the result to a single cloud provider; when omitted, both cross-cloud defaults and cloud-specific descriptions are returned.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
// Get recommendations by filter returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.CloudCostManagementApi;
6+
import com.datadog.api.client.v2.model.CostRecommendationArray;
7+
import com.datadog.api.client.v2.model.RecommendationsFilterRequest;
8+
import com.datadog.api.client.v2.model.RecommendationsFilterRequestSortItems;
9+
import java.util.Collections;
10+
11+
public class Example {
12+
public static void main(String[] args) {
13+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
14+
defaultClient.setUnstableOperationEnabled("v2.getRecommendationsByFilter", true);
15+
CloudCostManagementApi apiInstance = new CloudCostManagementApi(defaultClient);
16+
17+
RecommendationsFilterRequest body =
18+
new RecommendationsFilterRequest()
19+
.filter("@resource_table:aws_ec2_instance")
20+
.sort(
21+
Collections.singletonList(
22+
new RecommendationsFilterRequestSortItems()
23+
.expression("potential_daily_savings.amount")
24+
.order("DESC")));
25+
26+
try {
27+
CostRecommendationArray result = apiInstance.getRecommendationsByFilter(body);
28+
System.out.println(result);
29+
} catch (ApiException e) {
30+
System.err.println(
31+
"Exception when calling CloudCostManagementApi#getRecommendationsByFilter");
32+
System.err.println("Status code: " + e.getCode());
33+
System.err.println("Reason: " + e.getResponseBody());
34+
System.err.println("Response headers: " + e.getResponseHeaders());
35+
e.printStackTrace();
36+
}
37+
}
38+
}

src/main/java/com/datadog/api/client/ApiClient.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -869,6 +869,7 @@ public class ApiClient {
869869
put("v2.getCommitmentsUtilizationScalar", false);
870870
put("v2.getCommitmentsUtilizationTimeseries", false);
871871
put("v2.getCostAnomaly", false);
872+
put("v2.getRecommendationsByFilter", false);
872873
put("v2.listCostAnomalies", false);
873874
put("v2.createDashboardSecureEmbed", false);
874875
put("v2.deleteDashboardSecureEmbed", false);

0 commit comments

Comments
 (0)