Skip to content

Commit d53839f

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit b121712 of spec repo
1 parent 045f3e1 commit d53839f

22 files changed

+889
-5
lines changed

.generator/schemas/v1/openapi.yaml

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1741,6 +1741,9 @@ components:
17411741
type: string
17421742
markers:
17431743
description: List of markers.
1744+
example:
1745+
- display_type: percentile
1746+
value: '90'
17441747
items:
17451748
$ref: '#/components/schemas/WidgetMarker'
17461749
type: array
@@ -1816,6 +1819,11 @@ components:
18161819
$ref: '#/components/schemas/ApmStatsQueryDefinition'
18171820
event_query:
18181821
$ref: '#/components/schemas/LogQueryDefinition'
1822+
formulas:
1823+
description: List of formulas that operate on queries.
1824+
items:
1825+
$ref: '#/components/schemas/WidgetFormula'
1826+
type: array
18191827
log_query:
18201828
$ref: '#/components/schemas/LogQueryDefinition'
18211829
network_query:
@@ -1827,10 +1835,17 @@ components:
18271835
q:
18281836
description: Widget query.
18291837
type: string
1838+
queries:
1839+
description: List of queries that can be returned directly or used in formulas.
1840+
items:
1841+
$ref: '#/components/schemas/FormulaAndFunctionQueryDefinition'
1842+
type: array
18301843
query:
18311844
$ref: '#/components/schemas/DistributionWidgetHistogramRequestQuery'
18321845
request_type:
18331846
$ref: '#/components/schemas/DistributionWidgetHistogramRequestType'
1847+
response_format:
1848+
$ref: '#/components/schemas/FormulaAndFunctionResponseFormat'
18341849
rum_query:
18351850
$ref: '#/components/schemas/LogQueryDefinition'
18361851
security_query:
@@ -1854,6 +1869,11 @@ components:
18541869
description: Specifies minimum value to show on the x-axis. It takes a number,
18551870
percentile (p90 === 90th percentile), or auto for default behavior.
18561871
type: string
1872+
num_buckets:
1873+
description: Number of value buckets to target, also known as the resolution
1874+
of the value bins.
1875+
format: int64
1876+
type: integer
18571877
scale:
18581878
default: linear
18591879
description: Specifies the scale type. Possible values are `linear`.
@@ -3752,6 +3772,14 @@ components:
37523772
type: array
37533773
legend_size:
37543774
$ref: '#/components/schemas/WidgetLegendSize'
3775+
markers:
3776+
description: List of markers.
3777+
example:
3778+
- display_type: percentile
3779+
value: '90'
3780+
items:
3781+
$ref: '#/components/schemas/WidgetMarker'
3782+
type: array
37553783
requests:
37563784
description: List of widget types.
37573785
example:
@@ -3776,6 +3804,8 @@ components:
37763804
type: string
37773805
type:
37783806
$ref: '#/components/schemas/HeatMapWidgetDefinitionType'
3807+
xaxis:
3808+
$ref: '#/components/schemas/HeatMapWidgetXAxis'
37793809
yaxis:
37803810
$ref: '#/components/schemas/WidgetAxis'
37813811
required:
@@ -3819,6 +3849,10 @@ components:
38193849
items:
38203850
$ref: '#/components/schemas/FormulaAndFunctionQueryDefinition'
38213851
type: array
3852+
query:
3853+
$ref: '#/components/schemas/DistributionWidgetHistogramRequestQuery'
3854+
request_type:
3855+
$ref: '#/components/schemas/DistributionWidgetHistogramRequestType'
38223856
response_format:
38233857
$ref: '#/components/schemas/FormulaAndFunctionResponseFormat'
38243858
rum_query:
@@ -3828,6 +3862,16 @@ components:
38283862
style:
38293863
$ref: '#/components/schemas/WidgetStyle'
38303864
type: object
3865+
HeatMapWidgetXAxis:
3866+
description: X Axis controls for the heat map widget.
3867+
properties:
3868+
num_buckets:
3869+
description: Number of time buckets to target, also known as the resolution
3870+
of the time bins. This is only applicable for distribution of points (group
3871+
distributions use the roll-up modifier).
3872+
format: int64
3873+
type: integer
3874+
type: object
38313875
Host:
38323876
description: Object representing a host.
38333877
properties:
@@ -25245,7 +25289,7 @@ components:
2524525289
display_type:
2524625290
description: "Combination of:\n - A severity error, warning, ok, or info\n
2524725291
\ - A line type: dashed, solid, or bold\nIn this case of a Distribution
25248-
widget, this can be set to be `x_axis_percentile`."
25292+
widget, this can be set to be `percentile`."
2524925293
example: error dashed
2525025294
type: string
2525125295
label:
@@ -25256,8 +25300,11 @@ components:
2525625300
description: Timestamp for the widget.
2525725301
type: string
2525825302
value:
25259-
description: Value to apply. Can be a single value y = 15 or a range of
25303+
description: 'Value to apply. Can be a single value y = 15 or a range of
2526025304
values 0 < y < 10.
25305+
25306+
For Distribution widgets with `display_type` set to `percentile`, this
25307+
should be a numeric percentile value (for example, "90" for P90).'
2526125308
example: y = 15
2526225309
type: string
2526325310
required:

.generator/schemas/v2/openapi.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69009,6 +69009,9 @@ paths:
6900969009
operator: OR
6901069010
permissions:
6901169011
- incident_read
69012+
x-unstable: '**Note**: This endpoint is in Preview.
69013+
69014+
If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).'
6901269015
post:
6901369016
description: Create an impact for an incident.
6901469017
operationId: CreateIncidentImpact
@@ -69052,6 +69055,9 @@ paths:
6905269055
operator: OR
6905369056
permissions:
6905469057
- incident_write
69058+
x-unstable: '**Note**: This endpoint is in Preview.
69059+
69060+
If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).'
6905569061
/api/v2/incidents/{incident_id}/impacts/{impact_id}:
6905669062
delete:
6905769063
description: Delete an incident impact.
@@ -69082,6 +69088,9 @@ paths:
6908269088
operator: OR
6908369089
permissions:
6908469090
- incident_write
69091+
x-unstable: '**Note**: This endpoint is in Preview.
69092+
69093+
If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).'
6908569094
/api/v2/incidents/{incident_id}/relationships/integrations:
6908669095
get:
6908769096
description: Get all integration metadata for an incident.
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
// Create a new dashboard with distribution widget with markers and num_buckets
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV1::api_dashboards::DashboardsAPI;
4+
use datadog_api_client::datadogV1::model::Dashboard;
5+
use datadog_api_client::datadogV1::model::DashboardLayoutType;
6+
use datadog_api_client::datadogV1::model::DistributionWidgetDefinition;
7+
use datadog_api_client::datadogV1::model::DistributionWidgetDefinitionType;
8+
use datadog_api_client::datadogV1::model::DistributionWidgetRequest;
9+
use datadog_api_client::datadogV1::model::DistributionWidgetXAxis;
10+
use datadog_api_client::datadogV1::model::DistributionWidgetYAxis;
11+
use datadog_api_client::datadogV1::model::FormulaAndFunctionMetricAggregation;
12+
use datadog_api_client::datadogV1::model::FormulaAndFunctionMetricDataSource;
13+
use datadog_api_client::datadogV1::model::FormulaAndFunctionMetricQueryDefinition;
14+
use datadog_api_client::datadogV1::model::FormulaAndFunctionQueryDefinition;
15+
use datadog_api_client::datadogV1::model::FormulaAndFunctionResponseFormat;
16+
use datadog_api_client::datadogV1::model::Widget;
17+
use datadog_api_client::datadogV1::model::WidgetDefinition;
18+
use datadog_api_client::datadogV1::model::WidgetLayout;
19+
use datadog_api_client::datadogV1::model::WidgetMarker;
20+
use datadog_api_client::datadogV1::model::WidgetTextAlign;
21+
22+
#[tokio::main]
23+
async fn main() {
24+
let body =
25+
Dashboard::new(
26+
DashboardLayoutType::ORDERED,
27+
"Example-Dashboard".to_string(),
28+
vec![
29+
Widget::new(
30+
WidgetDefinition::DistributionWidgetDefinition(
31+
Box::new(
32+
DistributionWidgetDefinition::new(
33+
vec![
34+
DistributionWidgetRequest::new()
35+
.queries(
36+
vec![
37+
FormulaAndFunctionQueryDefinition
38+
::FormulaAndFunctionMetricQueryDefinition(
39+
Box::new(
40+
FormulaAndFunctionMetricQueryDefinition::new(
41+
FormulaAndFunctionMetricDataSource::METRICS,
42+
"query1".to_string(),
43+
"avg:system.cpu.user{*} by {service}".to_string(),
44+
).aggregator(FormulaAndFunctionMetricAggregation::AVG),
45+
),
46+
)
47+
],
48+
)
49+
.response_format(FormulaAndFunctionResponseFormat::SCALAR)
50+
],
51+
DistributionWidgetDefinitionType::DISTRIBUTION,
52+
)
53+
.markers(
54+
vec![
55+
WidgetMarker::new("50".to_string()).display_type("percentile".to_string()),
56+
WidgetMarker::new("99".to_string()).display_type("percentile".to_string()),
57+
WidgetMarker::new("90".to_string()).display_type("percentile".to_string())
58+
],
59+
)
60+
.title("".to_string())
61+
.title_align(WidgetTextAlign::LEFT)
62+
.title_size("16".to_string())
63+
.xaxis(
64+
DistributionWidgetXAxis::new()
65+
.include_zero(true)
66+
.max("auto".to_string())
67+
.min("auto".to_string())
68+
.num_buckets(55)
69+
.scale("linear".to_string()),
70+
)
71+
.yaxis(
72+
DistributionWidgetYAxis::new()
73+
.include_zero(true)
74+
.max("auto".to_string())
75+
.min("auto".to_string())
76+
.scale("linear".to_string()),
77+
),
78+
),
79+
),
80+
).layout(WidgetLayout::new(4, 4, 0, 0))
81+
],
82+
);
83+
let configuration = datadog::Configuration::new();
84+
let api = DashboardsAPI::with_config(configuration);
85+
let resp = api.create_dashboard(body).await;
86+
if let Ok(value) = resp {
87+
println!("{:#?}", value);
88+
} else {
89+
println!("{:#?}", resp.unwrap_err());
90+
}
91+
}
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
// Create a new dashboard with formula and function distribution widget
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV1::api_dashboards::DashboardsAPI;
4+
use datadog_api_client::datadogV1::model::Dashboard;
5+
use datadog_api_client::datadogV1::model::DashboardLayoutType;
6+
use datadog_api_client::datadogV1::model::DistributionWidgetDefinition;
7+
use datadog_api_client::datadogV1::model::DistributionWidgetDefinitionType;
8+
use datadog_api_client::datadogV1::model::DistributionWidgetRequest;
9+
use datadog_api_client::datadogV1::model::FormulaAndFunctionEventAggregation;
10+
use datadog_api_client::datadogV1::model::FormulaAndFunctionEventQueryDefinition;
11+
use datadog_api_client::datadogV1::model::FormulaAndFunctionEventQueryDefinitionCompute;
12+
use datadog_api_client::datadogV1::model::FormulaAndFunctionEventQueryDefinitionSearch;
13+
use datadog_api_client::datadogV1::model::FormulaAndFunctionEventQueryGroupBy;
14+
use datadog_api_client::datadogV1::model::FormulaAndFunctionEventQueryGroupBySort;
15+
use datadog_api_client::datadogV1::model::FormulaAndFunctionEventsDataSource;
16+
use datadog_api_client::datadogV1::model::FormulaAndFunctionQueryDefinition;
17+
use datadog_api_client::datadogV1::model::FormulaAndFunctionResponseFormat;
18+
use datadog_api_client::datadogV1::model::QuerySortOrder;
19+
use datadog_api_client::datadogV1::model::Widget;
20+
use datadog_api_client::datadogV1::model::WidgetDefinition;
21+
use datadog_api_client::datadogV1::model::WidgetLayout;
22+
use datadog_api_client::datadogV1::model::WidgetLegacyLiveSpan;
23+
use datadog_api_client::datadogV1::model::WidgetTextAlign;
24+
use datadog_api_client::datadogV1::model::WidgetTime;
25+
26+
#[tokio::main]
27+
async fn main() {
28+
let body =
29+
Dashboard::new(
30+
DashboardLayoutType::FREE,
31+
"Example-Dashboard".to_string(),
32+
vec![
33+
Widget::new(
34+
WidgetDefinition::DistributionWidgetDefinition(
35+
Box::new(
36+
DistributionWidgetDefinition::new(
37+
vec![
38+
DistributionWidgetRequest::new()
39+
.queries(
40+
vec![
41+
FormulaAndFunctionQueryDefinition
42+
::FormulaAndFunctionEventQueryDefinition(
43+
Box::new(
44+
FormulaAndFunctionEventQueryDefinition::new(
45+
FormulaAndFunctionEventQueryDefinitionCompute::new(
46+
FormulaAndFunctionEventAggregation::AVG,
47+
).metric("@duration".to_string()),
48+
FormulaAndFunctionEventsDataSource::LOGS,
49+
"query1".to_string(),
50+
)
51+
.group_by(
52+
vec![
53+
FormulaAndFunctionEventQueryGroupBy::new(
54+
"service".to_string(),
55+
)
56+
.limit(1000)
57+
.sort(
58+
FormulaAndFunctionEventQueryGroupBySort
59+
::new(
60+
FormulaAndFunctionEventAggregation
61+
::COUNT,
62+
).order(QuerySortOrder::DESC),
63+
)
64+
],
65+
)
66+
.indexes(vec!["*".to_string()])
67+
.search(
68+
FormulaAndFunctionEventQueryDefinitionSearch::new(
69+
"".to_string(),
70+
),
71+
)
72+
.storage("hot".to_string()),
73+
),
74+
)
75+
],
76+
)
77+
.response_format(FormulaAndFunctionResponseFormat::SCALAR)
78+
],
79+
DistributionWidgetDefinitionType::DISTRIBUTION,
80+
)
81+
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
82+
.title("".to_string())
83+
.title_align(WidgetTextAlign::LEFT)
84+
.title_size("16".to_string()),
85+
),
86+
),
87+
).layout(WidgetLayout::new(15, 47, 0, 0))
88+
],
89+
)
90+
.notify_list(Some(vec![]))
91+
.template_variables(Some(vec![]));
92+
let configuration = datadog::Configuration::new();
93+
let api = DashboardsAPI::with_config(configuration);
94+
let resp = api.create_dashboard(body).await;
95+
if let Ok(value) = resp {
96+
println!("{:#?}", value);
97+
} else {
98+
println!("{:#?}", resp.unwrap_err());
99+
}
100+
}

0 commit comments

Comments
 (0)