Skip to content

Commit 64b677a

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 983b024 of spec repo
1 parent 60c02c0 commit 64b677a

7 files changed

Lines changed: 586 additions & 143 deletions

File tree

.generator/schemas/v2/openapi.yaml

Lines changed: 48 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -91785,16 +91785,40 @@ components:
9178591785
x-enum-varnames:
9178691786
- RECOMMENDATION
9178791787
RecommendationsFilterRequest:
91788-
description: Request body for filtering cost recommendations.
91788+
description: JSON:API request body for filtering cost recommendations.
9178991789
example:
91790-
filter: "@resource_table:aws_ec2_instance"
91791-
sort:
91792-
- expression: potential_daily_savings.amount
91793-
order: DESC
91790+
data:
91791+
attributes:
91792+
scope: ccm
91793+
sort:
91794+
- expression: potential_daily_savings.amount
91795+
order: DESC
91796+
id: "@resource_table:aws_ec2_instance"
91797+
type: recommendations_filter
9179491798
properties:
91795-
filter:
91796-
description: Filter expression applied to the recommendations.
91799+
data:
91800+
$ref: "#/components/schemas/RecommendationsFilterRequestData"
91801+
type: object
91802+
RecommendationsFilterRequestData:
91803+
description: |-
91804+
JSON:API resource containing the cost recommendations filter. This legacy search contract
91805+
uses the resource ID for the filter expression rather than as a persistent resource identifier.
91806+
properties:
91807+
attributes:
91808+
$ref: "#/components/schemas/RecommendationsFilterRequestDataAttributes"
91809+
id:
91810+
description: |-
91811+
Filter expression applied to the recommendations. The server treats an omitted ID as `*`
91812+
and returns all recommendations.
9179791813
type: string
91814+
type:
91815+
$ref: "#/components/schemas/RecommendationsFilterRequestDataType"
91816+
required:
91817+
- type
91818+
type: object
91819+
RecommendationsFilterRequestDataAttributes:
91820+
description: Attributes used to filter and sort cost recommendations.
91821+
properties:
9179891822
scope:
9179991823
$ref: "#/components/schemas/RecommendationsFilterRequestScope"
9180091824
sort:
@@ -91806,6 +91830,15 @@ components:
9180691830
description: Active view name (for example, `active`, `dismissed`, `open`, `in-progress`, or `completed`).
9180791831
type: string
9180891832
type: object
91833+
RecommendationsFilterRequestDataType:
91834+
default: recommendations_filter
91835+
description: Legacy JSON:API resource type required by the cost recommendations search decoder.
91836+
enum:
91837+
- recommendations_filter
91838+
example: recommendations_filter
91839+
type: string
91840+
x-enum-varnames:
91841+
- RECOMMENDATIONS_FILTER
9180991842
RecommendationsFilterRequestScope:
9181091843
description: Recommendations scope. Defaults to `ccm`; use `experiment` for experimental recommendations or `*` for both.
9181191844
enum:
@@ -145636,10 +145669,14 @@ paths:
145636145669
examples:
145637145670
default:
145638145671
value:
145639-
filter: "@resource_table:aws_ec2_instance"
145640-
sort:
145641-
- expression: potential_daily_savings.amount
145642-
order: DESC
145672+
data:
145673+
attributes:
145674+
scope: ccm
145675+
sort:
145676+
- expression: potential_daily_savings.amount
145677+
order: DESC
145678+
id: "@resource_table:aws_ec2_instance"
145679+
type: recommendations_filter
145643145680
schema:
145644145681
$ref: "#/components/schemas/RecommendationsFilterRequest"
145645145682
required: true

examples/v2/cloud-cost-management/SearchCostRecommendations.java

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
import com.datadog.api.client.v2.api.CloudCostManagementApi;
66
import com.datadog.api.client.v2.model.CostRecommendationArray;
77
import com.datadog.api.client.v2.model.RecommendationsFilterRequest;
8+
import com.datadog.api.client.v2.model.RecommendationsFilterRequestData;
9+
import com.datadog.api.client.v2.model.RecommendationsFilterRequestDataAttributes;
10+
import com.datadog.api.client.v2.model.RecommendationsFilterRequestDataType;
11+
import com.datadog.api.client.v2.model.RecommendationsFilterRequestScope;
812
import com.datadog.api.client.v2.model.RecommendationsFilterRequestSortItems;
913
import java.util.Collections;
1014

@@ -16,12 +20,18 @@ public static void main(String[] args) {
1620

1721
RecommendationsFilterRequest body =
1822
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")));
23+
.data(
24+
new RecommendationsFilterRequestData()
25+
.attributes(
26+
new RecommendationsFilterRequestDataAttributes()
27+
.scope(RecommendationsFilterRequestScope.CCM)
28+
.sort(
29+
Collections.singletonList(
30+
new RecommendationsFilterRequestSortItems()
31+
.expression("potential_daily_savings.amount")
32+
.order("DESC"))))
33+
.id("@resource_table:aws_ec2_instance")
34+
.type(RecommendationsFilterRequestDataType.RECOMMENDATIONS_FILTER));
2535

2636
try {
2737
CostRecommendationArray result = apiInstance.searchCostRecommendations(body);

src/main/java/com/datadog/api/client/v2/model/RecommendationsFilterRequest.java

Lines changed: 20 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -12,142 +12,43 @@
1212
import com.fasterxml.jackson.annotation.JsonInclude;
1313
import com.fasterxml.jackson.annotation.JsonProperty;
1414
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
15-
import java.util.ArrayList;
1615
import java.util.HashMap;
17-
import java.util.List;
1816
import java.util.Map;
1917
import java.util.Objects;
2018

21-
/** Request body for filtering cost recommendations. */
22-
@JsonPropertyOrder({
23-
RecommendationsFilterRequest.JSON_PROPERTY_FILTER,
24-
RecommendationsFilterRequest.JSON_PROPERTY_SCOPE,
25-
RecommendationsFilterRequest.JSON_PROPERTY_SORT,
26-
RecommendationsFilterRequest.JSON_PROPERTY_VIEW
27-
})
19+
/** JSON:API request body for filtering cost recommendations. */
20+
@JsonPropertyOrder({RecommendationsFilterRequest.JSON_PROPERTY_DATA})
2821
@jakarta.annotation.Generated(
2922
value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
3023
public class RecommendationsFilterRequest {
3124
@JsonIgnore public boolean unparsed = false;
32-
public static final String JSON_PROPERTY_FILTER = "filter";
33-
private String filter;
25+
public static final String JSON_PROPERTY_DATA = "data";
26+
private RecommendationsFilterRequestData data;
3427

35-
public static final String JSON_PROPERTY_SCOPE = "scope";
36-
private RecommendationsFilterRequestScope scope;
37-
38-
public static final String JSON_PROPERTY_SORT = "sort";
39-
private List<RecommendationsFilterRequestSortItems> sort = null;
40-
41-
public static final String JSON_PROPERTY_VIEW = "view";
42-
private String view;
43-
44-
public RecommendationsFilterRequest filter(String filter) {
45-
this.filter = filter;
28+
public RecommendationsFilterRequest data(RecommendationsFilterRequestData data) {
29+
this.data = data;
30+
this.unparsed |= data.unparsed;
4631
return this;
4732
}
4833

4934
/**
50-
* Filter expression applied to the recommendations.
35+
* JSON:API resource containing the cost recommendations filter. This legacy search contract uses
36+
* the resource ID for the filter expression rather than as a persistent resource identifier.
5137
*
52-
* @return filter
38+
* @return data
5339
*/
5440
@jakarta.annotation.Nullable
55-
@JsonProperty(JSON_PROPERTY_FILTER)
41+
@JsonProperty(JSON_PROPERTY_DATA)
5642
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
57-
public String getFilter() {
58-
return filter;
59-
}
60-
61-
public void setFilter(String filter) {
62-
this.filter = filter;
63-
}
64-
65-
public RecommendationsFilterRequest scope(RecommendationsFilterRequestScope scope) {
66-
this.scope = scope;
67-
this.unparsed |= !scope.isValid();
68-
return this;
43+
public RecommendationsFilterRequestData getData() {
44+
return data;
6945
}
7046

71-
/**
72-
* Recommendations scope. Defaults to <code>ccm</code>; use <code>experiment</code> for
73-
* experimental recommendations or <code>*</code> for both.
74-
*
75-
* @return scope
76-
*/
77-
@jakarta.annotation.Nullable
78-
@JsonProperty(JSON_PROPERTY_SCOPE)
79-
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
80-
public RecommendationsFilterRequestScope getScope() {
81-
return scope;
82-
}
83-
84-
public void setScope(RecommendationsFilterRequestScope scope) {
85-
if (!scope.isValid()) {
86-
this.unparsed = true;
87-
}
88-
this.scope = scope;
89-
}
90-
91-
public RecommendationsFilterRequest sort(List<RecommendationsFilterRequestSortItems> sort) {
92-
this.sort = sort;
93-
if (sort != null) {
94-
for (RecommendationsFilterRequestSortItems item : sort) {
95-
this.unparsed |= item.unparsed;
96-
}
47+
public void setData(RecommendationsFilterRequestData data) {
48+
this.data = data;
49+
if (data != null) {
50+
this.unparsed |= data.unparsed;
9751
}
98-
return this;
99-
}
100-
101-
public RecommendationsFilterRequest addSortItem(RecommendationsFilterRequestSortItems sortItem) {
102-
if (this.sort == null) {
103-
this.sort = new ArrayList<>();
104-
}
105-
this.sort.add(sortItem);
106-
this.unparsed |= sortItem.unparsed;
107-
return this;
108-
}
109-
110-
/**
111-
* Ordered list of sort clauses applied to the result set.
112-
*
113-
* @return sort
114-
*/
115-
@jakarta.annotation.Nullable
116-
@JsonProperty(JSON_PROPERTY_SORT)
117-
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
118-
public List<RecommendationsFilterRequestSortItems> getSort() {
119-
return sort;
120-
}
121-
122-
public void setSort(List<RecommendationsFilterRequestSortItems> sort) {
123-
this.sort = sort;
124-
if (sort != null) {
125-
for (RecommendationsFilterRequestSortItems item : sort) {
126-
this.unparsed |= item.unparsed;
127-
}
128-
}
129-
}
130-
131-
public RecommendationsFilterRequest view(String view) {
132-
this.view = view;
133-
return this;
134-
}
135-
136-
/**
137-
* Active view name (for example, <code>active</code>, <code>dismissed</code>, <code>open</code>,
138-
* <code>in-progress</code>, or <code>completed</code>).
139-
*
140-
* @return view
141-
*/
142-
@jakarta.annotation.Nullable
143-
@JsonProperty(JSON_PROPERTY_VIEW)
144-
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
145-
public String getView() {
146-
return view;
147-
}
148-
149-
public void setView(String view) {
150-
this.view = view;
15152
}
15253

15354
/**
@@ -206,27 +107,21 @@ public boolean equals(Object o) {
206107
return false;
207108
}
208109
RecommendationsFilterRequest recommendationsFilterRequest = (RecommendationsFilterRequest) o;
209-
return Objects.equals(this.filter, recommendationsFilterRequest.filter)
210-
&& Objects.equals(this.scope, recommendationsFilterRequest.scope)
211-
&& Objects.equals(this.sort, recommendationsFilterRequest.sort)
212-
&& Objects.equals(this.view, recommendationsFilterRequest.view)
110+
return Objects.equals(this.data, recommendationsFilterRequest.data)
213111
&& Objects.equals(
214112
this.additionalProperties, recommendationsFilterRequest.additionalProperties);
215113
}
216114

217115
@Override
218116
public int hashCode() {
219-
return Objects.hash(filter, scope, sort, view, additionalProperties);
117+
return Objects.hash(data, additionalProperties);
220118
}
221119

222120
@Override
223121
public String toString() {
224122
StringBuilder sb = new StringBuilder();
225123
sb.append("class RecommendationsFilterRequest {\n");
226-
sb.append(" filter: ").append(toIndentedString(filter)).append("\n");
227-
sb.append(" scope: ").append(toIndentedString(scope)).append("\n");
228-
sb.append(" sort: ").append(toIndentedString(sort)).append("\n");
229-
sb.append(" view: ").append(toIndentedString(view)).append("\n");
124+
sb.append(" data: ").append(toIndentedString(data)).append("\n");
230125
sb.append(" additionalProperties: ")
231126
.append(toIndentedString(additionalProperties))
232127
.append("\n");

0 commit comments

Comments
 (0)