v1_monitors_UpdateMonitor/
v1_monitors_UpdateMonitor.rs

1// Edit a monitor returns "OK" response
2use datadog_api_client::datadog;
3use datadog_api_client::datadogV1::api_monitors::MonitorsAPI;
4use datadog_api_client::datadogV1::model::MonitorOptions;
5use datadog_api_client::datadogV1::model::MonitorThresholds;
6use datadog_api_client::datadogV1::model::MonitorUpdateRequest;
7
8#[tokio::main]
9async fn main() {
10    // there is a valid "monitor" in the system
11    let monitor_id: i64 = std::env::var("MONITOR_ID").unwrap().parse().unwrap();
12    let body = MonitorUpdateRequest::new()
13        .name("My monitor-updated".to_string())
14        .options(
15            MonitorOptions::new()
16                .evaluation_delay(None)
17                .new_group_delay(Some(600))
18                .new_host_delay(None)
19                .renotify_interval(None)
20                .thresholds(MonitorThresholds::new().critical(2.0 as f64).warning(None))
21                .timeout_h(None),
22        )
23        .priority(None);
24    let configuration = datadog::Configuration::new();
25    let api = MonitorsAPI::with_config(configuration);
26    let resp = api.update_monitor(monitor_id.clone(), body).await;
27    if let Ok(value) = resp {
28        println!("{:#?}", value);
29    } else {
30        println!("{:#?}", resp.unwrap_err());
31    }
32}