Skip to content

Commit 66400bd

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 42058b6 of spec repo
1 parent 08bc435 commit 66400bd

13 files changed

+480
-1
lines changed

.generator/schemas/v1/openapi.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25934,6 +25934,8 @@ components:
2593425934
$ref: '#/components/schemas/WidgetLineType'
2593525935
line_width:
2593625936
$ref: '#/components/schemas/WidgetLineWidth'
25937+
order_by:
25938+
$ref: '#/components/schemas/WidgetStyleOrderBy'
2593725939
palette:
2593825940
description: Color palette to apply to the widget.
2593925941
type: string
@@ -25996,6 +25998,19 @@ components:
2599625998
description: Color palette to apply to the widget.
2599725999
type: string
2599826000
type: object
26001+
WidgetStyleOrderBy:
26002+
description: 'How to order series in timeseries visualizations.
26003+
26004+
- `tags`: Order series alphabetically by tag name (default behavior)
26005+
26006+
- `values`: Order series by their current metric values (typically descending)'
26007+
enum:
26008+
- tags
26009+
- values
26010+
type: string
26011+
x-enum-varnames:
26012+
- TAGS
26013+
- VALUES
2599926014
WidgetSummaryType:
2600026015
description: Which summary type should be used.
2600126016
enum:
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// Create a new dashboard with timeseries widget using order_by values
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v1.api.DashboardsApi;
6+
import com.datadog.api.client.v1.model.Dashboard;
7+
import com.datadog.api.client.v1.model.DashboardLayoutType;
8+
import com.datadog.api.client.v1.model.TimeseriesWidgetDefinition;
9+
import com.datadog.api.client.v1.model.TimeseriesWidgetDefinitionType;
10+
import com.datadog.api.client.v1.model.TimeseriesWidgetRequest;
11+
import com.datadog.api.client.v1.model.Widget;
12+
import com.datadog.api.client.v1.model.WidgetDefinition;
13+
import com.datadog.api.client.v1.model.WidgetDisplayType;
14+
import com.datadog.api.client.v1.model.WidgetRequestStyle;
15+
import com.datadog.api.client.v1.model.WidgetStyleOrderBy;
16+
import java.util.Collections;
17+
18+
public class Example {
19+
public static void main(String[] args) {
20+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
21+
DashboardsApi apiInstance = new DashboardsApi(defaultClient);
22+
23+
Dashboard body =
24+
new Dashboard()
25+
.layoutType(DashboardLayoutType.ORDERED)
26+
.title("Example-Dashboard with order_by values")
27+
.widgets(
28+
Collections.singletonList(
29+
new Widget()
30+
.definition(
31+
new WidgetDefinition(
32+
new TimeseriesWidgetDefinition()
33+
.type(TimeseriesWidgetDefinitionType.TIMESERIES)
34+
.requests(
35+
Collections.singletonList(
36+
new TimeseriesWidgetRequest()
37+
.q("avg:system.cpu.user{*} by {host}")
38+
.style(
39+
new WidgetRequestStyle()
40+
.palette("warm")
41+
.orderBy(WidgetStyleOrderBy.VALUES))
42+
.displayType(WidgetDisplayType.LINE)))))));
43+
44+
try {
45+
Dashboard result = apiInstance.createDashboard(body);
46+
System.out.println(result);
47+
} catch (ApiException e) {
48+
System.err.println("Exception when calling DashboardsApi#createDashboard");
49+
System.err.println("Status code: " + e.getCode());
50+
System.err.println("Reason: " + e.getResponseBody());
51+
System.err.println("Response headers: " + e.getResponseHeaders());
52+
e.printStackTrace();
53+
}
54+
}
55+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
// Create a new dashboard with timeseries widget without order_by for backward compatibility
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v1.api.DashboardsApi;
6+
import com.datadog.api.client.v1.model.Dashboard;
7+
import com.datadog.api.client.v1.model.DashboardLayoutType;
8+
import com.datadog.api.client.v1.model.TimeseriesWidgetDefinition;
9+
import com.datadog.api.client.v1.model.TimeseriesWidgetDefinitionType;
10+
import com.datadog.api.client.v1.model.TimeseriesWidgetRequest;
11+
import com.datadog.api.client.v1.model.Widget;
12+
import com.datadog.api.client.v1.model.WidgetDefinition;
13+
import com.datadog.api.client.v1.model.WidgetDisplayType;
14+
import com.datadog.api.client.v1.model.WidgetLineType;
15+
import com.datadog.api.client.v1.model.WidgetLineWidth;
16+
import com.datadog.api.client.v1.model.WidgetRequestStyle;
17+
import java.util.Collections;
18+
19+
public class Example {
20+
public static void main(String[] args) {
21+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
22+
DashboardsApi apiInstance = new DashboardsApi(defaultClient);
23+
24+
Dashboard body =
25+
new Dashboard()
26+
.layoutType(DashboardLayoutType.ORDERED)
27+
.title("Example-Dashboard without order_by")
28+
.widgets(
29+
Collections.singletonList(
30+
new Widget()
31+
.definition(
32+
new WidgetDefinition(
33+
new TimeseriesWidgetDefinition()
34+
.type(TimeseriesWidgetDefinitionType.TIMESERIES)
35+
.requests(
36+
Collections.singletonList(
37+
new TimeseriesWidgetRequest()
38+
.q("avg:system.cpu.user{*} by {host}")
39+
.style(
40+
new WidgetRequestStyle()
41+
.palette("dog_classic")
42+
.lineType(WidgetLineType.SOLID)
43+
.lineWidth(WidgetLineWidth.NORMAL))
44+
.displayType(WidgetDisplayType.LINE)))))));
45+
46+
try {
47+
Dashboard result = apiInstance.createDashboard(body);
48+
System.out.println(result);
49+
} catch (ApiException e) {
50+
System.err.println("Exception when calling DashboardsApi#createDashboard");
51+
System.err.println("Status code: " + e.getCode());
52+
System.err.println("Reason: " + e.getResponseBody());
53+
System.err.println("Response headers: " + e.getResponseHeaders());
54+
e.printStackTrace();
55+
}
56+
}
57+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// Create a new dashboard with timeseries widget using order_by tags
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v1.api.DashboardsApi;
6+
import com.datadog.api.client.v1.model.Dashboard;
7+
import com.datadog.api.client.v1.model.DashboardLayoutType;
8+
import com.datadog.api.client.v1.model.TimeseriesWidgetDefinition;
9+
import com.datadog.api.client.v1.model.TimeseriesWidgetDefinitionType;
10+
import com.datadog.api.client.v1.model.TimeseriesWidgetRequest;
11+
import com.datadog.api.client.v1.model.Widget;
12+
import com.datadog.api.client.v1.model.WidgetDefinition;
13+
import com.datadog.api.client.v1.model.WidgetDisplayType;
14+
import com.datadog.api.client.v1.model.WidgetRequestStyle;
15+
import com.datadog.api.client.v1.model.WidgetStyleOrderBy;
16+
import java.util.Collections;
17+
18+
public class Example {
19+
public static void main(String[] args) {
20+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
21+
DashboardsApi apiInstance = new DashboardsApi(defaultClient);
22+
23+
Dashboard body =
24+
new Dashboard()
25+
.layoutType(DashboardLayoutType.ORDERED)
26+
.title("Example-Dashboard with order_by tags")
27+
.widgets(
28+
Collections.singletonList(
29+
new Widget()
30+
.definition(
31+
new WidgetDefinition(
32+
new TimeseriesWidgetDefinition()
33+
.type(TimeseriesWidgetDefinitionType.TIMESERIES)
34+
.requests(
35+
Collections.singletonList(
36+
new TimeseriesWidgetRequest()
37+
.q("avg:system.cpu.user{*} by {host}")
38+
.style(
39+
new WidgetRequestStyle()
40+
.palette("dog_classic")
41+
.orderBy(WidgetStyleOrderBy.TAGS))
42+
.displayType(WidgetDisplayType.LINE)))))));
43+
44+
try {
45+
Dashboard result = apiInstance.createDashboard(body);
46+
System.out.println(result);
47+
} catch (ApiException e) {
48+
System.err.println("Exception when calling DashboardsApi#createDashboard");
49+
System.err.println("Status code: " + e.getCode());
50+
System.err.println("Reason: " + e.getResponseBody());
51+
System.err.println("Response headers: " + e.getResponseHeaders());
52+
e.printStackTrace();
53+
}
54+
}
55+
}

src/main/java/com/datadog/api/client/v1/model/WidgetRequestStyle.java

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
@JsonPropertyOrder({
2121
WidgetRequestStyle.JSON_PROPERTY_LINE_TYPE,
2222
WidgetRequestStyle.JSON_PROPERTY_LINE_WIDTH,
23+
WidgetRequestStyle.JSON_PROPERTY_ORDER_BY,
2324
WidgetRequestStyle.JSON_PROPERTY_PALETTE
2425
})
2526
@jakarta.annotation.Generated(
@@ -32,6 +33,9 @@ public class WidgetRequestStyle {
3233
public static final String JSON_PROPERTY_LINE_WIDTH = "line_width";
3334
private WidgetLineWidth lineWidth;
3435

36+
public static final String JSON_PROPERTY_ORDER_BY = "order_by";
37+
private WidgetStyleOrderBy orderBy;
38+
3539
public static final String JSON_PROPERTY_PALETTE = "palette";
3640
private String palette;
3741

@@ -85,6 +89,33 @@ public void setLineWidth(WidgetLineWidth lineWidth) {
8589
this.lineWidth = lineWidth;
8690
}
8791

92+
public WidgetRequestStyle orderBy(WidgetStyleOrderBy orderBy) {
93+
this.orderBy = orderBy;
94+
this.unparsed |= !orderBy.isValid();
95+
return this;
96+
}
97+
98+
/**
99+
* How to order series in timeseries visualizations. - <code>tags</code>: Order series
100+
* alphabetically by tag name (default behavior) - <code>values</code>: Order series by their
101+
* current metric values (typically descending)
102+
*
103+
* @return orderBy
104+
*/
105+
@jakarta.annotation.Nullable
106+
@JsonProperty(JSON_PROPERTY_ORDER_BY)
107+
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
108+
public WidgetStyleOrderBy getOrderBy() {
109+
return orderBy;
110+
}
111+
112+
public void setOrderBy(WidgetStyleOrderBy orderBy) {
113+
if (!orderBy.isValid()) {
114+
this.unparsed = true;
115+
}
116+
this.orderBy = orderBy;
117+
}
118+
88119
public WidgetRequestStyle palette(String palette) {
89120
this.palette = palette;
90121
return this;
@@ -164,13 +195,14 @@ public boolean equals(Object o) {
164195
WidgetRequestStyle widgetRequestStyle = (WidgetRequestStyle) o;
165196
return Objects.equals(this.lineType, widgetRequestStyle.lineType)
166197
&& Objects.equals(this.lineWidth, widgetRequestStyle.lineWidth)
198+
&& Objects.equals(this.orderBy, widgetRequestStyle.orderBy)
167199
&& Objects.equals(this.palette, widgetRequestStyle.palette)
168200
&& Objects.equals(this.additionalProperties, widgetRequestStyle.additionalProperties);
169201
}
170202

171203
@Override
172204
public int hashCode() {
173-
return Objects.hash(lineType, lineWidth, palette, additionalProperties);
205+
return Objects.hash(lineType, lineWidth, orderBy, palette, additionalProperties);
174206
}
175207

176208
@Override
@@ -179,6 +211,7 @@ public String toString() {
179211
sb.append("class WidgetRequestStyle {\n");
180212
sb.append(" lineType: ").append(toIndentedString(lineType)).append("\n");
181213
sb.append(" lineWidth: ").append(toIndentedString(lineWidth)).append("\n");
214+
sb.append(" orderBy: ").append(toIndentedString(orderBy)).append("\n");
182215
sb.append(" palette: ").append(toIndentedString(palette)).append("\n");
183216
sb.append(" additionalProperties: ")
184217
.append(toIndentedString(additionalProperties))
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
/*
2+
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
3+
* This product includes software developed at Datadog (https://www.datadoghq.com/).
4+
* Copyright 2019-Present Datadog, Inc.
5+
*/
6+
7+
package com.datadog.api.client.v1.model;
8+
9+
import com.datadog.api.client.ModelEnum;
10+
import com.fasterxml.jackson.annotation.JsonCreator;
11+
import com.fasterxml.jackson.core.JsonGenerator;
12+
import com.fasterxml.jackson.core.JsonProcessingException;
13+
import com.fasterxml.jackson.databind.SerializerProvider;
14+
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
15+
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
16+
import java.io.IOException;
17+
import java.util.Arrays;
18+
import java.util.HashSet;
19+
import java.util.Set;
20+
21+
/**
22+
* How to order series in timeseries visualizations. - <code>tags</code>: Order series
23+
* alphabetically by tag name (default behavior) - <code>values</code>: Order series by their
24+
* current metric values (typically descending)
25+
*/
26+
@JsonSerialize(using = WidgetStyleOrderBy.WidgetStyleOrderBySerializer.class)
27+
public class WidgetStyleOrderBy extends ModelEnum<String> {
28+
29+
private static final Set<String> allowedValues =
30+
new HashSet<String>(Arrays.asList("tags", "values"));
31+
32+
public static final WidgetStyleOrderBy TAGS = new WidgetStyleOrderBy("tags");
33+
public static final WidgetStyleOrderBy VALUES = new WidgetStyleOrderBy("values");
34+
35+
WidgetStyleOrderBy(String value) {
36+
super(value, allowedValues);
37+
}
38+
39+
public static class WidgetStyleOrderBySerializer extends StdSerializer<WidgetStyleOrderBy> {
40+
public WidgetStyleOrderBySerializer(Class<WidgetStyleOrderBy> t) {
41+
super(t);
42+
}
43+
44+
public WidgetStyleOrderBySerializer() {
45+
this(null);
46+
}
47+
48+
@Override
49+
public void serialize(WidgetStyleOrderBy value, JsonGenerator jgen, SerializerProvider provider)
50+
throws IOException, JsonProcessingException {
51+
jgen.writeObject(value.value);
52+
}
53+
}
54+
55+
@JsonCreator
56+
public static WidgetStyleOrderBy fromValue(String value) {
57+
return new WidgetStyleOrderBy(value);
58+
}
59+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2026-01-20T23:39:22.864Z
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
[
2+
{
3+
"httpRequest": {
4+
"body": {
5+
"type": "JSON",
6+
"json": "{\"layout_type\":\"ordered\",\"title\":\"Test-Create_a_new_dashboard_with_timeseries_widget_using_order_by_tags-1768952362 with order_by tags\",\"widgets\":[{\"definition\":{\"requests\":[{\"display_type\":\"line\",\"q\":\"avg:system.cpu.user{*} by {host}\",\"style\":{\"order_by\":\"tags\",\"palette\":\"dog_classic\"}}],\"type\":\"timeseries\"}}]}"
7+
},
8+
"headers": {},
9+
"method": "POST",
10+
"path": "/api/v1/dashboard",
11+
"keepAlive": false,
12+
"secure": true
13+
},
14+
"httpResponse": {
15+
"body": "{\"id\":\"2r3-a4g-ubz\",\"title\":\"Test-Create_a_new_dashboard_with_timeseries_widget_using_order_by_tags-1768952362 with order_by tags\",\"description\":null,\"author_handle\":\"frog@datadoghq.com\",\"author_name\":\"frog\",\"layout_type\":\"ordered\",\"url\":\"/dashboard/2r3-a4g-ubz/test-createanewdashboardwithtimeserieswidgetusingorderbytags-1768952362-with-ord\",\"template_variables\":null,\"widgets\":[{\"definition\":{\"requests\":[{\"display_type\":\"line\",\"q\":\"avg:system.cpu.user{*} by {host}\",\"style\":{\"order_by\":\"tags\",\"palette\":\"dog_classic\"}}],\"type\":\"timeseries\"},\"id\":8704189893014651}],\"notify_list\":null,\"created_at\":\"2026-01-20T23:39:22.992533+00:00\",\"modified_at\":\"2026-01-20T23:39:22.992533+00:00\",\"restricted_roles\":[]}",
16+
"headers": {
17+
"Content-Type": [
18+
"application/json"
19+
]
20+
},
21+
"statusCode": 200,
22+
"reasonPhrase": "OK"
23+
},
24+
"times": {
25+
"remainingTimes": 1
26+
},
27+
"timeToLive": {
28+
"unlimited": true
29+
},
30+
"id": "abeac4e0-5184-00e1-9b5a-81838f265016"
31+
},
32+
{
33+
"httpRequest": {
34+
"headers": {},
35+
"method": "DELETE",
36+
"path": "/api/v1/dashboard/2r3-a4g-ubz",
37+
"keepAlive": false,
38+
"secure": true
39+
},
40+
"httpResponse": {
41+
"body": "{\"deleted_dashboard_id\":\"2r3-a4g-ubz\"}",
42+
"headers": {
43+
"Content-Type": [
44+
"application/json"
45+
]
46+
},
47+
"statusCode": 200,
48+
"reasonPhrase": "OK"
49+
},
50+
"times": {
51+
"remainingTimes": 1
52+
},
53+
"timeToLive": {
54+
"unlimited": true
55+
},
56+
"id": "b2a45bba-7e7d-6dd1-c196-6614f1adfe42"
57+
}
58+
]

0 commit comments

Comments
 (0)