v2_security_monitoring_CreateSecurityMonitoringSuppression/
v2_security-monitoring_CreateSecurityMonitoringSuppression.rs1use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;
4use datadog_api_client::datadogV2::model::SecurityMonitoringSuppressionCreateAttributes;
5use datadog_api_client::datadogV2::model::SecurityMonitoringSuppressionCreateData;
6use datadog_api_client::datadogV2::model::SecurityMonitoringSuppressionCreateRequest;
7use datadog_api_client::datadogV2::model::SecurityMonitoringSuppressionType;
8
9#[tokio::main]
10async fn main() {
11 let body = SecurityMonitoringSuppressionCreateRequest::new(
12 SecurityMonitoringSuppressionCreateData::new(
13 SecurityMonitoringSuppressionCreateAttributes::new(
14 true,
15 "Example-Security-Monitoring".to_string(),
16 "type:log_detection source:cloudtrail".to_string(),
17 )
18 .description(
19 "This rule suppresses low-severity signals in staging environments.".to_string(),
20 )
21 .expiration_date(1638443471000)
22 .start_date(1637493071000)
23 .suppression_query("env:staging status:low".to_string()),
24 SecurityMonitoringSuppressionType::SUPPRESSIONS,
25 ),
26 );
27 let configuration = datadog::Configuration::new();
28 let api = SecurityMonitoringAPI::with_config(configuration);
29 let resp = api.create_security_monitoring_suppression(body).await;
30 if let Ok(value) = resp {
31 println!("{:#?}", value);
32 } else {
33 println!("{:#?}", resp.unwrap_err());
34 }
35}