v2_security_monitoring_ValidateSecurityMonitoringSuppression/
v2_security-monitoring_ValidateSecurityMonitoringSuppression.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 "Custom suppression".to_string(),
16 "type:log_detection source:cloudtrail".to_string(),
17 )
18 .data_exclusion_query("source:cloudtrail account_id:12345".to_string())
19 .description(
20 "This rule suppresses low-severity signals in staging environments.".to_string(),
21 ),
22 SecurityMonitoringSuppressionType::SUPPRESSIONS,
23 ),
24 );
25 let configuration = datadog::Configuration::new();
26 let api = SecurityMonitoringAPI::with_config(configuration);
27 let resp = api.validate_security_monitoring_suppression(body).await;
28 if let Ok(value) = resp {
29 println!("{:#?}", value);
30 } else {
31 println!("{:#?}", resp.unwrap_err());
32 }
33}