v2_monitors_UpdateMonitorUserTemplate/
v2_monitors_UpdateMonitorUserTemplate.rs1use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_monitors::MonitorsAPI;
4use datadog_api_client::datadogV2::model::MonitorUserTemplateRequestAttributes;
5use datadog_api_client::datadogV2::model::MonitorUserTemplateResourceType;
6use datadog_api_client::datadogV2::model::MonitorUserTemplateTemplateVariablesItems;
7use datadog_api_client::datadogV2::model::MonitorUserTemplateUpdateData;
8use datadog_api_client::datadogV2::model::MonitorUserTemplateUpdateRequest;
9use serde_json::Value;
10use std::collections::BTreeMap;
11
12#[tokio::main]
13async fn main() {
14 let monitor_user_template_data_id = std::env::var("MONITOR_USER_TEMPLATE_DATA_ID").unwrap();
16 let body = MonitorUserTemplateUpdateRequest::new(MonitorUserTemplateUpdateData::new(
17 MonitorUserTemplateRequestAttributes::new(
18 BTreeMap::from([
19 ("message".to_string(), Value::from("A msg.")),
20 ("name".to_string(), Value::from("A name example-monitor")),
21 (
22 "query".to_string(),
23 Value::from("avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100"),
24 ),
25 ("type".to_string(), Value::from("query alert")),
26 ]),
27 vec!["integration:Azure".to_string()],
28 "Postgres DB example-monitor".to_string(),
29 )
30 .description(Some("A description.".to_string()))
31 .template_variables(vec![MonitorUserTemplateTemplateVariablesItems::new(
32 "regionName".to_string(),
33 )
34 .available_values(vec!["value1".to_string(), "value2".to_string()])
35 .defaults(vec!["defaultValue".to_string()])
36 .tag_key("datacenter".to_string())]),
37 monitor_user_template_data_id.clone(),
38 MonitorUserTemplateResourceType::MONITOR_USER_TEMPLATE,
39 ));
40 let mut configuration = datadog::Configuration::new();
41 configuration.set_unstable_operation_enabled("v2.UpdateMonitorUserTemplate", true);
42 let api = MonitorsAPI::with_config(configuration);
43 let resp = api
44 .update_monitor_user_template(monitor_user_template_data_id.clone(), body)
45 .await;
46 if let Ok(value) = resp {
47 println!("{:#?}", value);
48 } else {
49 println!("{:#?}", resp.unwrap_err());
50 }
51}