v1_dashboards_CreateDashboard_2029850837/
v1_dashboards_CreateDashboard_2029850837.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::LogStreamWidgetDefinition;
7use datadog_api_client::datadogV1::model::LogStreamWidgetDefinitionType;
8use datadog_api_client::datadogV1::model::Widget;
9use datadog_api_client::datadogV1::model::WidgetDefinition;
10use datadog_api_client::datadogV1::model::WidgetFieldSort;
11use datadog_api_client::datadogV1::model::WidgetLayout;
12use datadog_api_client::datadogV1::model::WidgetMessageDisplay;
13use datadog_api_client::datadogV1::model::WidgetSort;
14use datadog_api_client::datadogV1::model::WidgetTextAlign;
15
16#[tokio::main]
17async fn main() {
18 let body = Dashboard::new(
19 DashboardLayoutType::FREE,
20 "Example-Dashboard".to_string(),
21 vec![
22 Widget::new(WidgetDefinition::LogStreamWidgetDefinition(Box::new(
23 LogStreamWidgetDefinition::new(LogStreamWidgetDefinitionType::LOG_STREAM)
24 .columns(vec!["host".to_string(), "service".to_string()])
25 .indexes(vec!["main".to_string()])
26 .message_display(WidgetMessageDisplay::EXPANDED_MEDIUM)
27 .query("".to_string())
28 .show_date_column(true)
29 .show_message_column(true)
30 .sort(WidgetFieldSort::new(
31 "time".to_string(),
32 WidgetSort::DESCENDING,
33 ))
34 .title("".to_string())
35 .title_align(WidgetTextAlign::LEFT)
36 .title_size("16".to_string()),
37 )))
38 .layout(WidgetLayout::new(36, 47, 0, 0)),
39 ],
40 )
41 .description(Some("".to_string()))
42 .notify_list(Some(vec![]))
43 .template_variables(Some(vec![]));
44 let configuration = datadog::Configuration::new();
45 let api = DashboardsAPI::with_config(configuration);
46 let resp = api.create_dashboard(body).await;
47 if let Ok(value) = resp {
48 println!("{:#?}", value);
49 } else {
50 println!("{:#?}", resp.unwrap_err());
51 }
52}