v2_powerpack_CreatePowerpack/
v2_powerpack_CreatePowerpack.rs1use 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}