v1_dashboards_CreateDashboard_1754992756/
v1_dashboards_CreateDashboard_1754992756.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::PowerpackTemplateVariableContents;
7use datadog_api_client::datadogV1::model::PowerpackTemplateVariables;
8use datadog_api_client::datadogV1::model::PowerpackWidgetDefinition;
9use datadog_api_client::datadogV1::model::PowerpackWidgetDefinitionType;
10use datadog_api_client::datadogV1::model::Widget;
11use datadog_api_client::datadogV1::model::WidgetDefinition;
12use datadog_api_client::datadogV1::model::WidgetLayout;
13
14#[tokio::main]
15async fn main() {
16 let powerpack_data_id = std::env::var("POWERPACK_DATA_ID").unwrap();
18 let body = Dashboard::new(
19 DashboardLayoutType::ORDERED,
20 "Example-Dashboard with powerpack widget".to_string(),
21 vec![
22 Widget::new(WidgetDefinition::PowerpackWidgetDefinition(Box::new(
23 PowerpackWidgetDefinition::new(
24 powerpack_data_id.clone(),
25 PowerpackWidgetDefinitionType::POWERPACK,
26 )
27 .template_variables(
28 PowerpackTemplateVariables::new()
29 .controlled_by_powerpack(vec![PowerpackTemplateVariableContents::new(
30 "foo".to_string(),
31 vec!["baz".to_string(), "qux".to_string(), "quuz".to_string()],
32 )
33 .prefix("bar".to_string())])
34 .controlled_externally(vec![]),
35 ),
36 )))
37 .layout(WidgetLayout::new(2, 2, 1, 1).is_column_break(false)),
38 ],
39 )
40 .description(Some("description".to_string()));
41 let configuration = datadog::Configuration::new();
42 let api = DashboardsAPI::with_config(configuration);
43 let resp = api.create_dashboard(body).await;
44 if let Ok(value) = resp {
45 println!("{:#?}", value);
46 } else {
47 println!("{:#?}", resp.unwrap_err());
48 }
49}