v1_dashboards_CreateDashboard_2634813877/
v1_dashboards_CreateDashboard_2634813877.rs

1// Create a new dashboard with event_stream widget
2use 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::EventStreamWidgetDefinition;
7use datadog_api_client::datadogV1::model::EventStreamWidgetDefinitionType;
8use datadog_api_client::datadogV1::model::Widget;
9use datadog_api_client::datadogV1::model::WidgetDefinition;
10use datadog_api_client::datadogV1::model::WidgetEventSize;
11use datadog_api_client::datadogV1::model::WidgetLayout;
12use datadog_api_client::datadogV1::model::WidgetTextAlign;
13
14#[tokio::main]
15async fn main() {
16    let body = Dashboard::new(
17        DashboardLayoutType::FREE,
18        "Example-Dashboard".to_string(),
19        vec![
20            Widget::new(WidgetDefinition::EventStreamWidgetDefinition(Box::new(
21                EventStreamWidgetDefinition::new(
22                    "example-query".to_string(),
23                    EventStreamWidgetDefinitionType::EVENT_STREAM,
24                )
25                .event_size(WidgetEventSize::SMALL)
26                .tags_execution("and".to_string())
27                .title("".to_string())
28                .title_align(WidgetTextAlign::LEFT)
29                .title_size("16".to_string()),
30            )))
31            .layout(WidgetLayout::new(38, 47, 0, 0)),
32        ],
33    )
34    .description(Some("".to_string()))
35    .notify_list(Some(vec![]))
36    .template_variables(Some(vec![]));
37    let configuration = datadog::Configuration::new();
38    let api = DashboardsAPI::with_config(configuration);
39    let resp = api.create_dashboard(body).await;
40    if let Ok(value) = resp {
41        println!("{:#?}", value);
42    } else {
43        println!("{:#?}", resp.unwrap_err());
44    }
45}