Skip to content

Commit ad3522a

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 9d61ce0 of spec repo
1 parent 791f7c2 commit ad3522a

9 files changed

Lines changed: 1349 additions & 10 deletions

File tree

.generator/schemas/v1/openapi.yaml

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26105,6 +26105,7 @@ components:
2610526105
- $ref: '#/components/schemas/ToplistWidgetDefinition'
2610626106
- $ref: '#/components/schemas/TopologyMapWidgetDefinition'
2610726107
- $ref: '#/components/schemas/TreeMapWidgetDefinition'
26108+
- $ref: '#/components/schemas/WildcardWidgetDefinition'
2610826109
WidgetDisplayType:
2610926110
description: Type of display to use for the request.
2611026111
enum:
@@ -26899,6 +26900,104 @@ components:
2689926900
x-enum-varnames:
2690026901
- TIMESERIES
2690126902
- TOPLIST
26903+
WildcardWidgetDefinition:
26904+
description: Custom visualization widget using Vega or Vega-Lite specifications.
26905+
Combines standard Datadog data requests with a Vega or Vega-Lite JSON specification
26906+
for flexible, custom visualizations.
26907+
properties:
26908+
custom_links:
26909+
description: List of custom links.
26910+
items:
26911+
$ref: '#/components/schemas/WidgetCustomLink'
26912+
type: array
26913+
requests:
26914+
description: List of data requests for the wildcard widget.
26915+
example:
26916+
- formulas:
26917+
- formula: query1
26918+
queries:
26919+
- aggregator: avg
26920+
data_source: metrics
26921+
name: query1
26922+
query: avg:system.cpu.user{*} by {env}
26923+
response_format: scalar
26924+
items:
26925+
$ref: '#/components/schemas/WildcardWidgetRequest'
26926+
type: array
26927+
specification:
26928+
$ref: '#/components/schemas/WildcardWidgetSpecification'
26929+
time:
26930+
$ref: '#/components/schemas/WidgetTime'
26931+
title:
26932+
description: Title of the widget.
26933+
type: string
26934+
title_align:
26935+
$ref: '#/components/schemas/WidgetTextAlign'
26936+
title_size:
26937+
description: Size of the title.
26938+
type: string
26939+
type:
26940+
$ref: '#/components/schemas/WildcardWidgetDefinitionType'
26941+
required:
26942+
- type
26943+
- requests
26944+
- specification
26945+
type: object
26946+
WildcardWidgetDefinitionType:
26947+
default: wildcard
26948+
description: Type of the wildcard widget.
26949+
enum:
26950+
- wildcard
26951+
example: wildcard
26952+
type: string
26953+
x-enum-varnames:
26954+
- WILDCARD
26955+
WildcardWidgetRequest:
26956+
description: 'Request object for the wildcard widget. Each variant represents
26957+
a distinct data-fetching pattern: scalar formulas, timeseries formulas, list
26958+
streams, and histograms.'
26959+
oneOf:
26960+
- $ref: '#/components/schemas/TreeMapWidgetRequest'
26961+
- $ref: '#/components/schemas/TimeseriesWidgetRequest'
26962+
- $ref: '#/components/schemas/ListStreamWidgetRequest'
26963+
- $ref: '#/components/schemas/DistributionWidgetRequest'
26964+
WildcardWidgetSpecification:
26965+
description: Vega or Vega-Lite specification for custom visualization rendering.
26966+
See https://vega.github.io/vega-lite/ for the full grammar reference.
26967+
properties:
26968+
contents:
26969+
description: The Vega or Vega-Lite JSON specification object.
26970+
example:
26971+
$schema: https://vega.github.io/schema/vega-lite/v5.json
26972+
data:
26973+
name: table1
26974+
description: A simple bar chart
26975+
encoding:
26976+
x:
26977+
field: env
26978+
sort: -y
26979+
type: nominal
26980+
y:
26981+
field: query1
26982+
type: quantitative
26983+
mark: bar
26984+
type: object
26985+
type:
26986+
$ref: '#/components/schemas/WildcardWidgetSpecificationType'
26987+
required:
26988+
- type
26989+
- contents
26990+
type: object
26991+
WildcardWidgetSpecificationType:
26992+
description: Type of specification used by the wildcard widget.
26993+
enum:
26994+
- vega
26995+
- vega-lite
26996+
example: vega-lite
26997+
type: string
26998+
x-enum-varnames:
26999+
- VEGA
27000+
- VEGA_LITE
2690227001
securitySchemes:
2690327002
AuthZ:
2690427003
description: This API uses OAuth 2 with the implicit grant flow.

.generator/schemas/v2/openapi.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102212,6 +102212,13 @@ paths:
102212102212
get:
102213102213
description: Get the list of all critical assets.
102214102214
operationId: ListSecurityMonitoringCriticalAssets
102215+
parameters:
102216+
- description: Query string.
102217+
in: query
102218+
name: query
102219+
required: false
102220+
schema:
102221+
type: string
102215102222
responses:
102216102223
'200':
102217102224
content:

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

Lines changed: 73 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1653,6 +1653,51 @@ public WidgetDefinition deserialize(JsonParser jp, DeserializationContext ctxt)
16531653
log.log(Level.FINER, "Input data does not match schema 'TreeMapWidgetDefinition'", e);
16541654
}
16551655

1656+
// deserialize WildcardWidgetDefinition
1657+
try {
1658+
boolean attemptParsing = true;
1659+
// ensure that we respect type coercion as set on the client ObjectMapper
1660+
if (WildcardWidgetDefinition.class.equals(Integer.class)
1661+
|| WildcardWidgetDefinition.class.equals(Long.class)
1662+
|| WildcardWidgetDefinition.class.equals(Float.class)
1663+
|| WildcardWidgetDefinition.class.equals(Double.class)
1664+
|| WildcardWidgetDefinition.class.equals(Boolean.class)
1665+
|| WildcardWidgetDefinition.class.equals(String.class)) {
1666+
attemptParsing = typeCoercion;
1667+
if (!attemptParsing) {
1668+
attemptParsing |=
1669+
((WildcardWidgetDefinition.class.equals(Integer.class)
1670+
|| WildcardWidgetDefinition.class.equals(Long.class))
1671+
&& token == JsonToken.VALUE_NUMBER_INT);
1672+
attemptParsing |=
1673+
((WildcardWidgetDefinition.class.equals(Float.class)
1674+
|| WildcardWidgetDefinition.class.equals(Double.class))
1675+
&& (token == JsonToken.VALUE_NUMBER_FLOAT
1676+
|| token == JsonToken.VALUE_NUMBER_INT));
1677+
attemptParsing |=
1678+
(WildcardWidgetDefinition.class.equals(Boolean.class)
1679+
&& (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE));
1680+
attemptParsing |=
1681+
(WildcardWidgetDefinition.class.equals(String.class)
1682+
&& token == JsonToken.VALUE_STRING);
1683+
}
1684+
}
1685+
if (attemptParsing) {
1686+
tmp = tree.traverse(jp.getCodec()).readValueAs(WildcardWidgetDefinition.class);
1687+
// TODO: there is no validation against JSON schema constraints
1688+
// (min, max, enum, pattern...), this does not perform a strict JSON
1689+
// validation, which means the 'match' count may be higher than it should be.
1690+
if (!((WildcardWidgetDefinition) tmp).unparsed) {
1691+
deserialized = tmp;
1692+
match++;
1693+
}
1694+
log.log(Level.FINER, "Input data matches schema 'WildcardWidgetDefinition'");
1695+
}
1696+
} catch (Exception e) {
1697+
// deserialization failed, continue
1698+
log.log(Level.FINER, "Input data does not match schema 'WildcardWidgetDefinition'", e);
1699+
}
1700+
16561701
WidgetDefinition ret = new WidgetDefinition();
16571702
if (match == 1) {
16581703
ret.setActualInstance(deserialized);
@@ -1856,6 +1901,11 @@ public WidgetDefinition(TreeMapWidgetDefinition o) {
18561901
setActualInstance(o);
18571902
}
18581903

1904+
public WidgetDefinition(WildcardWidgetDefinition o) {
1905+
super("oneOf", Boolean.FALSE);
1906+
setActualInstance(o);
1907+
}
1908+
18591909
static {
18601910
schemas.put("AlertGraphWidgetDefinition", new GenericType<AlertGraphWidgetDefinition>() {});
18611911
schemas.put("AlertValueWidgetDefinition", new GenericType<AlertValueWidgetDefinition>() {});
@@ -1895,6 +1945,7 @@ public WidgetDefinition(TreeMapWidgetDefinition o) {
18951945
schemas.put("ToplistWidgetDefinition", new GenericType<ToplistWidgetDefinition>() {});
18961946
schemas.put("TopologyMapWidgetDefinition", new GenericType<TopologyMapWidgetDefinition>() {});
18971947
schemas.put("TreeMapWidgetDefinition", new GenericType<TreeMapWidgetDefinition>() {});
1948+
schemas.put("WildcardWidgetDefinition", new GenericType<WildcardWidgetDefinition>() {});
18981949
JSON.registerDescendants(WidgetDefinition.class, Collections.unmodifiableMap(schemas));
18991950
}
19001951

@@ -1916,7 +1967,8 @@ public Map<String, GenericType> getSchemas() {
19161967
* SLOListWidgetDefinition, SLOWidgetDefinition, ScatterPlotWidgetDefinition,
19171968
* ServiceMapWidgetDefinition, ServiceSummaryWidgetDefinition, SplitGraphWidgetDefinition,
19181969
* SunburstWidgetDefinition, TableWidgetDefinition, TimeseriesWidgetDefinition,
1919-
* ToplistWidgetDefinition, TopologyMapWidgetDefinition, TreeMapWidgetDefinition
1970+
* ToplistWidgetDefinition, TopologyMapWidgetDefinition, TreeMapWidgetDefinition,
1971+
* WildcardWidgetDefinition
19201972
*
19211973
* <p>It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a
19221974
* composed schema (allOf, anyOf, oneOf).
@@ -2065,6 +2117,10 @@ public void setActualInstance(Object instance) {
20652117
super.setActualInstance(instance);
20662118
return;
20672119
}
2120+
if (JSON.isInstanceOf(WildcardWidgetDefinition.class, instance, new HashSet<Class<?>>())) {
2121+
super.setActualInstance(instance);
2122+
return;
2123+
}
20682124

20692125
if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet<Class<?>>())) {
20702126
super.setActualInstance(instance);
@@ -2083,7 +2139,8 @@ public void setActualInstance(Object instance) {
20832139
+ " SLOWidgetDefinition, ScatterPlotWidgetDefinition, ServiceMapWidgetDefinition,"
20842140
+ " ServiceSummaryWidgetDefinition, SplitGraphWidgetDefinition,"
20852141
+ " SunburstWidgetDefinition, TableWidgetDefinition, TimeseriesWidgetDefinition,"
2086-
+ " ToplistWidgetDefinition, TopologyMapWidgetDefinition, TreeMapWidgetDefinition");
2142+
+ " ToplistWidgetDefinition, TopologyMapWidgetDefinition, TreeMapWidgetDefinition,"
2143+
+ " WildcardWidgetDefinition");
20872144
}
20882145

20892146
/**
@@ -2099,7 +2156,7 @@ public void setActualInstance(Object instance) {
20992156
* ScatterPlotWidgetDefinition, ServiceMapWidgetDefinition, ServiceSummaryWidgetDefinition,
21002157
* SplitGraphWidgetDefinition, SunburstWidgetDefinition, TableWidgetDefinition,
21012158
* TimeseriesWidgetDefinition, ToplistWidgetDefinition, TopologyMapWidgetDefinition,
2102-
* TreeMapWidgetDefinition
2159+
* TreeMapWidgetDefinition, WildcardWidgetDefinition
21032160
*
21042161
* @return The actual instance (AlertGraphWidgetDefinition, AlertValueWidgetDefinition,
21052162
* BarChartWidgetDefinition, ChangeWidgetDefinition, CheckStatusWidgetDefinition,
@@ -2112,7 +2169,8 @@ public void setActualInstance(Object instance) {
21122169
* SLOListWidgetDefinition, SLOWidgetDefinition, ScatterPlotWidgetDefinition,
21132170
* ServiceMapWidgetDefinition, ServiceSummaryWidgetDefinition, SplitGraphWidgetDefinition,
21142171
* SunburstWidgetDefinition, TableWidgetDefinition, TimeseriesWidgetDefinition,
2115-
* ToplistWidgetDefinition, TopologyMapWidgetDefinition, TreeMapWidgetDefinition)
2172+
* ToplistWidgetDefinition, TopologyMapWidgetDefinition, TreeMapWidgetDefinition,
2173+
* WildcardWidgetDefinition)
21162174
*/
21172175
@Override
21182176
public Object getActualInstance() {
@@ -2506,4 +2564,15 @@ public TopologyMapWidgetDefinition getTopologyMapWidgetDefinition() throws Class
25062564
public TreeMapWidgetDefinition getTreeMapWidgetDefinition() throws ClassCastException {
25072565
return (TreeMapWidgetDefinition) super.getActualInstance();
25082566
}
2567+
2568+
/**
2569+
* Get the actual instance of `WildcardWidgetDefinition`. If the actual instance is not
2570+
* `WildcardWidgetDefinition`, the ClassCastException will be thrown.
2571+
*
2572+
* @return The actual instance of `WildcardWidgetDefinition`
2573+
* @throws ClassCastException if the instance is not `WildcardWidgetDefinition`
2574+
*/
2575+
public WildcardWidgetDefinition getWildcardWidgetDefinition() throws ClassCastException {
2576+
return (WildcardWidgetDefinition) super.getActualInstance();
2577+
}
25092578
}

0 commit comments

Comments
 (0)