Skip to content

Commit dc50906

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 1a2792a3 of spec repo
1 parent 8ab0cb8 commit dc50906

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-12 18:33:49.810961",
8-
"spec_repo_commit": "6a4cfb82"
7+
"regenerated": "2025-02-14 13:48:38.259877",
8+
"spec_repo_commit": "1a2792a3"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2025-02-12 18:33:49.826925",
13-
"spec_repo_commit": "6a4cfb82"
12+
"regenerated": "2025-02-14 13:48:38.274846",
13+
"spec_repo_commit": "1a2792a3"
1414
}
1515
}
1616
}

.generator/schemas/v1/openapi.yaml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17340,11 +17340,13 @@ components:
1734017340
enum:
1734117341
- number
1734217342
- bar
17343+
- trend
1734317344
example: number
1734417345
type: string
1734517346
x-enum-varnames:
1734617347
- NUMBER
1734717348
- BAR
17349+
- TREND
1734817350
TableWidgetDefinition:
1734917351
description: The table visualization is available on timeboards and screenboards.
1735017352
It displays columns of metrics grouped by tag key.
@@ -23033,6 +23035,8 @@ components:
2303323035
type: string
2303423036
cell_display_mode:
2303523037
$ref: '#/components/schemas/TableWidgetCellDisplayMode'
23038+
cell_display_mode_options:
23039+
$ref: '#/components/schemas/WidgetFormulaCellDisplayModeOptions'
2303623040
conditional_formats:
2303723041
description: List of conditional formats.
2303823042
items:
@@ -23049,6 +23053,37 @@ components:
2304923053
required:
2305023054
- formula
2305123055
type: object
23056+
WidgetFormulaCellDisplayModeOptions:
23057+
description: Cell display mode options for the widget formula. (only if `cell_display_mode`
23058+
is set to `trend`).
23059+
properties:
23060+
trend_type:
23061+
$ref: '#/components/schemas/WidgetFormulaCellDisplayModeOptionsTrendType'
23062+
y_scale:
23063+
$ref: '#/components/schemas/WidgetFormulaCellDisplayModeOptionsYScale'
23064+
type: object
23065+
WidgetFormulaCellDisplayModeOptionsTrendType:
23066+
description: Trend type for the cell display mode options.
23067+
enum:
23068+
- area
23069+
- line
23070+
- bars
23071+
example: area
23072+
type: string
23073+
x-enum-varnames:
23074+
- AREA
23075+
- LINE
23076+
- BARS
23077+
WidgetFormulaCellDisplayModeOptionsYScale:
23078+
description: Y scale for the cell display mode options.
23079+
enum:
23080+
- shared
23081+
- independent
23082+
example: shared
23083+
type: string
23084+
x-enum-varnames:
23085+
- SHARED
23086+
- INDEPENDENT
2305223087
WidgetFormulaLimit:
2305323088
description: Options for limiting results returned.
2305423089
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>>,
@@ -41,6 +45,7 @@ impl WidgetFormula {
4145
WidgetFormula {
4246
alias: None,
4347
cell_display_mode: None,
48+
cell_display_mode_options: None,
4449
conditional_formats: None,
4550
formula,
4651
limit: None,
@@ -63,6 +68,14 @@ impl WidgetFormula {
6368
self
6469
}
6570

71+
pub fn cell_display_mode_options(
72+
mut self,
73+
value: crate::datadogV1::model::WidgetFormulaCellDisplayModeOptions,
74+
) -> Self {
75+
self.cell_display_mode_options = Some(value);
76+
self
77+
}
78+
6679
pub fn conditional_formats(
6780
mut self,
6881
value: Vec<crate::datadogV1::model::WidgetConditionalFormat>,
@@ -111,6 +124,9 @@ impl<'de> Deserialize<'de> for WidgetFormula {
111124
let mut cell_display_mode: Option<
112125
crate::datadogV1::model::TableWidgetCellDisplayMode,
113126
> = None;
127+
let mut cell_display_mode_options: Option<
128+
crate::datadogV1::model::WidgetFormulaCellDisplayModeOptions,
129+
> = None;
114130
let mut conditional_formats: Option<
115131
Vec<crate::datadogV1::model::WidgetConditionalFormat>,
116132
> = None;
@@ -146,6 +162,13 @@ impl<'de> Deserialize<'de> for WidgetFormula {
146162
}
147163
}
148164
}
165+
"cell_display_mode_options" => {
166+
if v.is_null() {
167+
continue;
168+
}
169+
cell_display_mode_options =
170+
Some(serde_json::from_value(v).map_err(M::Error::custom)?);
171+
}
149172
"conditional_formats" => {
150173
if v.is_null() {
151174
continue;
@@ -180,6 +203,7 @@ impl<'de> Deserialize<'de> for WidgetFormula {
180203
let content = WidgetFormula {
181204
alias,
182205
cell_display_mode,
206+
cell_display_mode_options,
183207
conditional_formats,
184208
formula,
185209
limit,

0 commit comments

Comments
 (0)