v1_dashboards_CreateDashboard_173805046/
v1_dashboards_CreateDashboard_173805046.rs1use datadog_api_client::datadog;
3use datadog_api_client::datadogV1::api_dashboards::DashboardsAPI;
4use datadog_api_client::datadogV1::model::Dashboard;
5use datadog_api_client::datadogV1::model::DashboardLayoutType;
6use datadog_api_client::datadogV1::model::SLOWidgetDefinition;
7use datadog_api_client::datadogV1::model::SLOWidgetDefinitionType;
8use datadog_api_client::datadogV1::model::Widget;
9use datadog_api_client::datadogV1::model::WidgetDefinition;
10use datadog_api_client::datadogV1::model::WidgetLayout;
11use datadog_api_client::datadogV1::model::WidgetTextAlign;
12use datadog_api_client::datadogV1::model::WidgetTimeWindows;
13use datadog_api_client::datadogV1::model::WidgetViewMode;
14
15#[tokio::main]
16async fn main() {
17 let slo_data_0_id = std::env::var("SLO_DATA_0_ID").unwrap();
19 let body = Dashboard::new(
20 DashboardLayoutType::FREE,
21 "Example-Dashboard".to_string(),
22 vec![Widget::new(WidgetDefinition::SLOWidgetDefinition(Box::new(
23 SLOWidgetDefinition::new(SLOWidgetDefinitionType::SLO, "detail".to_string())
24 .additional_query_filters("!host:excluded_host".to_string())
25 .global_time_target("0".to_string())
26 .show_error_budget(true)
27 .slo_id(slo_data_0_id.clone())
28 .time_windows(vec![WidgetTimeWindows::SEVEN_DAYS])
29 .title_align(WidgetTextAlign::LEFT)
30 .title_size("16".to_string())
31 .view_mode(WidgetViewMode::OVERALL),
32 )))
33 .layout(WidgetLayout::new(21, 60, 0, 0))],
34 )
35 .description(Some("".to_string()))
36 .notify_list(Some(vec![]))
37 .template_variables(Some(vec![]));
38 let configuration = datadog::Configuration::new();
39 let api = DashboardsAPI::with_config(configuration);
40 let resp = api.create_dashboard(body).await;
41 if let Ok(value) = resp {
42 println!("{:#?}", value);
43 } else {
44 println!("{:#?}", resp.unwrap_err());
45 }
46}