v2_powerpack_CreatePowerpack/
v2_powerpack_CreatePowerpack.rs

1// Create a new powerpack returns "OK" response
2use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_powerpack::PowerpackAPI;
4use datadog_api_client::datadogV2::model::Powerpack;
5use datadog_api_client::datadogV2::model::PowerpackAttributes;
6use datadog_api_client::datadogV2::model::PowerpackData;
7use datadog_api_client::datadogV2::model::PowerpackGroupWidget;
8use datadog_api_client::datadogV2::model::PowerpackGroupWidgetDefinition;
9use datadog_api_client::datadogV2::model::PowerpackGroupWidgetLayout;
10use datadog_api_client::datadogV2::model::PowerpackInnerWidgets;
11use datadog_api_client::datadogV2::model::PowerpackTemplateVariable;
12use datadog_api_client::datadogV2::model::WidgetLiveSpan;
13use serde_json::Value;
14use std::collections::BTreeMap;
15
16#[tokio::main]
17async fn main() {
18    let body = Powerpack::new().data(
19        PowerpackData::new()
20            .attributes(
21                PowerpackAttributes::new(
22                    PowerpackGroupWidget::new(
23                        PowerpackGroupWidgetDefinition::new(
24                            "ordered".to_string(),
25                            "group".to_string(),
26                            vec![PowerpackInnerWidgets::new(BTreeMap::from([
27                                ("content".to_string(), Value::from("test")),
28                                ("type".to_string(), Value::from("note")),
29                            ]))],
30                        )
31                        .show_title(true)
32                        .title("Sample Powerpack".to_string()),
33                    )
34                    .layout(PowerpackGroupWidgetLayout::new(3, 12, 0, 0))
35                    .live_span(WidgetLiveSpan::PAST_ONE_HOUR),
36                    "Example-Powerpack".to_string(),
37                )
38                .description("Sample powerpack".to_string())
39                .tags(vec!["tag:sample".to_string()])
40                .template_variables(vec![PowerpackTemplateVariable::new("sample".to_string())
41                    .defaults(vec!["*".to_string()])]),
42            )
43            .type_("powerpack".to_string()),
44    );
45    let configuration = datadog::Configuration::new();
46    let api = PowerpackAPI::with_config(configuration);
47    let resp = api.create_powerpack(body).await;
48    if let Ok(value) = resp {
49        println!("{:#?}", value);
50    } else {
51        println!("{:#?}", resp.unwrap_err());
52    }
53}