v2_monitors_CreateMonitorNotificationRule/
v2_monitors_CreateMonitorNotificationRule.rs1use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_monitors::MonitorsAPI;
4use datadog_api_client::datadogV2::model::MonitorNotificationRuleAttributes;
5use datadog_api_client::datadogV2::model::MonitorNotificationRuleCreateRequest;
6use datadog_api_client::datadogV2::model::MonitorNotificationRuleCreateRequestData;
7use datadog_api_client::datadogV2::model::MonitorNotificationRuleFilter;
8use datadog_api_client::datadogV2::model::MonitorNotificationRuleFilterTags;
9use datadog_api_client::datadogV2::model::MonitorNotificationRuleResourceType;
10
11#[tokio::main]
12async fn main() {
13 let body = MonitorNotificationRuleCreateRequest::new(
14 MonitorNotificationRuleCreateRequestData::new(
15 MonitorNotificationRuleAttributes::new(
16 "test rule".to_string(),
17 vec!["slack-test-channel".to_string(), "jira-test".to_string()],
18 )
19 .filter(
20 MonitorNotificationRuleFilter::MonitorNotificationRuleFilterTags(Box::new(
21 MonitorNotificationRuleFilterTags::new(
22 vec!["test:example-monitor".to_string()],
23 ),
24 )),
25 ),
26 )
27 .type_(MonitorNotificationRuleResourceType::MONITOR_NOTIFICATION_RULE),
28 );
29 let configuration = datadog::Configuration::new();
30 let api = MonitorsAPI::with_config(configuration);
31 let resp = api.create_monitor_notification_rule(body).await;
32 if let Ok(value) = resp {
33 println!("{:#?}", value);
34 } else {
35 println!("{:#?}", resp.unwrap_err());
36 }
37}