v2_security_monitoring_ValidateSecurityMonitoringSuppression/
v2_security-monitoring_ValidateSecurityMonitoringSuppression.rs

1// Validate a suppression rule returns "OK" response
2use 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}