v2_security_monitoring_TestExistingSecurityMonitoringRule/
v2_security-monitoring_TestExistingSecurityMonitoringRule.rs1use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;
4use datadog_api_client::datadogV2::model::SecurityMonitoringRuleQueryPayload;
5use datadog_api_client::datadogV2::model::SecurityMonitoringRuleQueryPayloadData;
6use datadog_api_client::datadogV2::model::SecurityMonitoringRuleTestRequest;
7
8#[tokio::main]
9async fn main() {
10 let body = SecurityMonitoringRuleTestRequest::new().rule_query_payloads(vec![
11 SecurityMonitoringRuleQueryPayload::new()
12 .expected_result(true)
13 .index(0)
14 .payload(
15 SecurityMonitoringRuleQueryPayloadData::new()
16 .ddsource("nginx".to_string())
17 .ddtags("env:staging,version:5.1".to_string())
18 .hostname("i-012345678".to_string())
19 .message(
20 "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World"
21 .to_string(),
22 )
23 .service("payment".to_string()),
24 ),
25 ]);
26 let configuration = datadog::Configuration::new();
27 let api = SecurityMonitoringAPI::with_config(configuration);
28 let resp = api
29 .test_existing_security_monitoring_rule("rule_id".to_string(), body)
30 .await;
31 if let Ok(value) = resp {
32 println!("{:#?}", value);
33 } else {
34 println!("{:#?}", resp.unwrap_err());
35 }
36}