v2_monitors_CreateMonitorConfigPolicy/
v2_monitors_CreateMonitorConfigPolicy.rs

1// Create a monitor configuration policy returns "OK" response
2use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_monitors::MonitorsAPI;
4use datadog_api_client::datadogV2::model::MonitorConfigPolicyAttributeCreateRequest;
5use datadog_api_client::datadogV2::model::MonitorConfigPolicyCreateData;
6use datadog_api_client::datadogV2::model::MonitorConfigPolicyCreateRequest;
7use datadog_api_client::datadogV2::model::MonitorConfigPolicyPolicyCreateRequest;
8use datadog_api_client::datadogV2::model::MonitorConfigPolicyResourceType;
9use datadog_api_client::datadogV2::model::MonitorConfigPolicyTagPolicyCreateRequest;
10use datadog_api_client::datadogV2::model::MonitorConfigPolicyType;
11
12#[tokio::main]
13async fn main() {
14    let body = MonitorConfigPolicyCreateRequest::new(MonitorConfigPolicyCreateData::new(
15        MonitorConfigPolicyAttributeCreateRequest::new(
16            MonitorConfigPolicyPolicyCreateRequest::MonitorConfigPolicyTagPolicyCreateRequest(
17                Box::new(MonitorConfigPolicyTagPolicyCreateRequest::new(
18                    "examplemonitor".to_string(),
19                    false,
20                    vec!["prod".to_string(), "staging".to_string()],
21                )),
22            ),
23            MonitorConfigPolicyType::TAG,
24        ),
25        MonitorConfigPolicyResourceType::MONITOR_CONFIG_POLICY,
26    ));
27    let configuration = datadog::Configuration::new();
28    let api = MonitorsAPI::with_config(configuration);
29    let resp = api.create_monitor_config_policy(body).await;
30    if let Ok(value) = resp {
31        println!("{:#?}", value);
32    } else {
33        println!("{:#?}", resp.unwrap_err());
34    }
35}