Skip to content

Commit 4b10331

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 8f2d39c3 of spec repo
1 parent 97f2b30 commit 4b10331

13 files changed

+588
-4
lines changed

.apigentools-info

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
"spec_versions": {
55
"v1": {
66
"apigentools_version": "1.6.6",
7-
"regenerated": "2025-02-20 18:33:29.867322",
8-
"spec_repo_commit": "d3fcdb89"
7+
"regenerated": "2025-02-21 08:00:35.115496",
8+
"spec_repo_commit": "8f2d39c3"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2025-02-20 18:33:29.882630",
13-
"spec_repo_commit": "d3fcdb89"
12+
"regenerated": "2025-02-21 08:00:35.131024",
13+
"spec_repo_commit": "8f2d39c3"
1414
}
1515
}
1616
}

.generator/schemas/v1/openapi.yaml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17396,11 +17396,13 @@ components:
1739617396
enum:
1739717397
- number
1739817398
- bar
17399+
- trend
1739917400
example: number
1740017401
type: string
1740117402
x-enum-varnames:
1740217403
- NUMBER
1740317404
- BAR
17405+
- TREND
1740417406
TableWidgetDefinition:
1740517407
description: The table visualization is available on timeboards and screenboards.
1740617408
It displays columns of metrics grouped by tag key.
@@ -23089,6 +23091,8 @@ components:
2308923091
type: string
2309023092
cell_display_mode:
2309123093
$ref: '#/components/schemas/TableWidgetCellDisplayMode'
23094+
cell_display_mode_options:
23095+
$ref: '#/components/schemas/WidgetFormulaCellDisplayModeOptions'
2309223096
conditional_formats:
2309323097
description: List of conditional formats.
2309423098
items:
@@ -23107,6 +23111,37 @@ components:
2310723111
required:
2310823112
- formula
2310923113
type: object
23114+
WidgetFormulaCellDisplayModeOptions:
23115+
description: Cell display mode options for the widget formula. (only if `cell_display_mode`
23116+
is set to `trend`).
23117+
properties:
23118+
trend_type:
23119+
$ref: '#/components/schemas/WidgetFormulaCellDisplayModeOptionsTrendType'
23120+
y_scale:
23121+
$ref: '#/components/schemas/WidgetFormulaCellDisplayModeOptionsYScale'
23122+
type: object
23123+
WidgetFormulaCellDisplayModeOptionsTrendType:
23124+
description: Trend type for the cell display mode options.
23125+
enum:
23126+
- area
23127+
- line
23128+
- bars
23129+
example: area
23130+
type: string
23131+
x-enum-varnames:
23132+
- AREA
23133+
- LINE
23134+
- BARS
23135+
WidgetFormulaCellDisplayModeOptionsYScale:
23136+
description: Y scale for the cell display mode options.
23137+
enum:
23138+
- shared
23139+
- independent
23140+
example: shared
23141+
type: string
23142+
x-enum-varnames:
23143+
- SHARED
23144+
- INDEPENDENT
2311023145
WidgetFormulaLimit:
2311123146
description: Options for limiting results returned.
2311223147
properties:
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
// Create a new dashboard with query_table widget and cell_display_mode is trend
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::FormulaAndFunctionMetricAggregation;
7+
use datadog_api_client::datadogV1::model::FormulaAndFunctionMetricDataSource;
8+
use datadog_api_client::datadogV1::model::FormulaAndFunctionMetricQueryDefinition;
9+
use datadog_api_client::datadogV1::model::FormulaAndFunctionQueryDefinition;
10+
use datadog_api_client::datadogV1::model::FormulaAndFunctionResponseFormat;
11+
use datadog_api_client::datadogV1::model::FormulaType;
12+
use datadog_api_client::datadogV1::model::TableWidgetCellDisplayMode;
13+
use datadog_api_client::datadogV1::model::TableWidgetDefinition;
14+
use datadog_api_client::datadogV1::model::TableWidgetDefinitionType;
15+
use datadog_api_client::datadogV1::model::TableWidgetHasSearchBar;
16+
use datadog_api_client::datadogV1::model::TableWidgetRequest;
17+
use datadog_api_client::datadogV1::model::Widget;
18+
use datadog_api_client::datadogV1::model::WidgetDefinition;
19+
use datadog_api_client::datadogV1::model::WidgetFormula;
20+
use datadog_api_client::datadogV1::model::WidgetFormulaCellDisplayModeOptions;
21+
use datadog_api_client::datadogV1::model::WidgetFormulaCellDisplayModeOptionsTrendType;
22+
use datadog_api_client::datadogV1::model::WidgetFormulaCellDisplayModeOptionsYScale;
23+
use datadog_api_client::datadogV1::model::WidgetFormulaSort;
24+
use datadog_api_client::datadogV1::model::WidgetLayout;
25+
use datadog_api_client::datadogV1::model::WidgetLegacyLiveSpan;
26+
use datadog_api_client::datadogV1::model::WidgetSort;
27+
use datadog_api_client::datadogV1::model::WidgetSortBy;
28+
use datadog_api_client::datadogV1::model::WidgetSortOrderBy;
29+
use datadog_api_client::datadogV1::model::WidgetTextAlign;
30+
use datadog_api_client::datadogV1::model::WidgetTime;
31+
32+
#[tokio::main]
33+
async fn main() {
34+
let body =
35+
Dashboard::new(
36+
DashboardLayoutType::FREE,
37+
"Example-Dashboard".to_string(),
38+
vec![
39+
Widget::new(
40+
WidgetDefinition::TableWidgetDefinition(
41+
Box::new(
42+
TableWidgetDefinition::new(
43+
vec![
44+
TableWidgetRequest::new()
45+
.formulas(
46+
vec![
47+
WidgetFormula::new("query1".to_string())
48+
.cell_display_mode(TableWidgetCellDisplayMode::TREND)
49+
.cell_display_mode_options(
50+
WidgetFormulaCellDisplayModeOptions::new()
51+
.trend_type(
52+
WidgetFormulaCellDisplayModeOptionsTrendType::LINE,
53+
)
54+
.y_scale(
55+
WidgetFormulaCellDisplayModeOptionsYScale::SHARED,
56+
),
57+
)
58+
.conditional_formats(vec![])
59+
],
60+
)
61+
.queries(
62+
vec![
63+
FormulaAndFunctionQueryDefinition
64+
::FormulaAndFunctionMetricQueryDefinition(
65+
Box::new(
66+
FormulaAndFunctionMetricQueryDefinition::new(
67+
FormulaAndFunctionMetricDataSource::METRICS,
68+
"query1".to_string(),
69+
"avg:system.cpu.user{*} by {host}".to_string(),
70+
).aggregator(FormulaAndFunctionMetricAggregation::AVG),
71+
),
72+
)
73+
],
74+
)
75+
.response_format(FormulaAndFunctionResponseFormat::SCALAR)
76+
.sort(
77+
WidgetSortBy::new()
78+
.count(500)
79+
.order_by(
80+
vec![
81+
WidgetSortOrderBy::WidgetFormulaSort(
82+
Box::new(
83+
WidgetFormulaSort::new(
84+
0,
85+
WidgetSort::DESCENDING,
86+
FormulaType::FORMULA,
87+
),
88+
),
89+
)
90+
],
91+
),
92+
)
93+
],
94+
TableWidgetDefinitionType::QUERY_TABLE,
95+
)
96+
.has_search_bar(TableWidgetHasSearchBar::AUTO)
97+
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
98+
.title("".to_string())
99+
.title_align(WidgetTextAlign::LEFT)
100+
.title_size("16".to_string()),
101+
),
102+
),
103+
).layout(WidgetLayout::new(32, 54, 0, 0))
104+
],
105+
)
106+
.description(Some("".to_string()))
107+
.notify_list(Some(vec![]))
108+
.template_variables(Some(vec![]));
109+
let configuration = datadog::Configuration::new();
110+
let api = DashboardsAPI::with_config(configuration);
111+
let resp = api.create_dashboard(body).await;
112+
if let Ok(value) = resp {
113+
println!("{:#?}", value);
114+
} else {
115+
println!("{:#?}", resp.unwrap_err());
116+
}
117+
}

src/datadogV1/model/mod.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,12 @@ pub mod model_widget_formula;
152152
pub use self::model_widget_formula::WidgetFormula;
153153
pub mod model_table_widget_cell_display_mode;
154154
pub use self::model_table_widget_cell_display_mode::TableWidgetCellDisplayMode;
155+
pub mod model_widget_formula_cell_display_mode_options;
156+
pub use self::model_widget_formula_cell_display_mode_options::WidgetFormulaCellDisplayModeOptions;
157+
pub mod model_widget_formula_cell_display_mode_options_trend_type;
158+
pub use self::model_widget_formula_cell_display_mode_options_trend_type::WidgetFormulaCellDisplayModeOptionsTrendType;
159+
pub mod model_widget_formula_cell_display_mode_options_y_scale;
160+
pub use self::model_widget_formula_cell_display_mode_options_y_scale::WidgetFormulaCellDisplayModeOptionsYScale;
155161
pub mod model_widget_conditional_format;
156162
pub use self::model_widget_conditional_format::WidgetConditionalFormat;
157163
pub mod model_widget_comparator;

src/datadogV1/model/model_table_widget_cell_display_mode.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use serde::{Deserialize, Deserializer, Serialize, Serializer};
99
pub enum TableWidgetCellDisplayMode {
1010
NUMBER,
1111
BAR,
12+
TREND,
1213
UnparsedObject(crate::datadog::UnparsedObject),
1314
}
1415

@@ -17,6 +18,7 @@ impl ToString for TableWidgetCellDisplayMode {
1718
match self {
1819
Self::NUMBER => String::from("number"),
1920
Self::BAR => String::from("bar"),
21+
Self::TREND => String::from("trend"),
2022
Self::UnparsedObject(v) => v.value.to_string(),
2123
}
2224
}
@@ -43,6 +45,7 @@ impl<'de> Deserialize<'de> for TableWidgetCellDisplayMode {
4345
Ok(match s.as_str() {
4446
"number" => Self::NUMBER,
4547
"bar" => Self::BAR,
48+
"trend" => Self::TREND,
4649
_ => Self::UnparsedObject(crate::datadog::UnparsedObject {
4750
value: serde_json::Value::String(s.into()),
4851
}),

src/datadogV1/model/model_widget_formula.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ pub struct WidgetFormula {
1717
/// Define a display mode for the table cell.
1818
#[serde(rename = "cell_display_mode")]
1919
pub cell_display_mode: Option<crate::datadogV1::model::TableWidgetCellDisplayMode>,
20+
/// Cell display mode options for the widget formula. (only if `cell_display_mode` is set to `trend`).
21+
#[serde(rename = "cell_display_mode_options")]
22+
pub cell_display_mode_options:
23+
Option<crate::datadogV1::model::WidgetFormulaCellDisplayModeOptions>,
2024
/// List of conditional formats.
2125
#[serde(rename = "conditional_formats")]
2226
pub conditional_formats: Option<Vec<crate::datadogV1::model::WidgetConditionalFormat>>,
@@ -44,6 +48,7 @@ impl WidgetFormula {
4448
WidgetFormula {
4549
alias: None,
4650
cell_display_mode: None,
51+
cell_display_mode_options: None,
4752
conditional_formats: None,
4853
formula,
4954
limit: None,
@@ -67,6 +72,14 @@ impl WidgetFormula {
6772
self
6873
}
6974

75+
pub fn cell_display_mode_options(
76+
mut self,
77+
value: crate::datadogV1::model::WidgetFormulaCellDisplayModeOptions,
78+
) -> Self {
79+
self.cell_display_mode_options = Some(value);
80+
self
81+
}
82+
7083
pub fn conditional_formats(
7184
mut self,
7285
value: Vec<crate::datadogV1::model::WidgetConditionalFormat>,
@@ -120,6 +133,9 @@ impl<'de> Deserialize<'de> for WidgetFormula {
120133
let mut cell_display_mode: Option<
121134
crate::datadogV1::model::TableWidgetCellDisplayMode,
122135
> = None;
136+
let mut cell_display_mode_options: Option<
137+
crate::datadogV1::model::WidgetFormulaCellDisplayModeOptions,
138+
> = None;
123139
let mut conditional_formats: Option<
124140
Vec<crate::datadogV1::model::WidgetConditionalFormat>,
125141
> = None;
@@ -156,6 +172,13 @@ impl<'de> Deserialize<'de> for WidgetFormula {
156172
}
157173
}
158174
}
175+
"cell_display_mode_options" => {
176+
if v.is_null() {
177+
continue;
178+
}
179+
cell_display_mode_options =
180+
Some(serde_json::from_value(v).map_err(M::Error::custom)?);
181+
}
159182
"conditional_formats" => {
160183
if v.is_null() {
161184
continue;
@@ -197,6 +220,7 @@ impl<'de> Deserialize<'de> for WidgetFormula {
197220
let content = WidgetFormula {
198221
alias,
199222
cell_display_mode,
223+
cell_display_mode_options,
200224
conditional_formats,
201225
formula,
202226
limit,

0 commit comments

Comments
 (0)