v2_security_monitoring_SearchSecurityMonitoringSignals/
v2_security-monitoring_SearchSecurityMonitoringSignals.rs

1// Get a list of security signals returns "OK" response
2use chrono::{DateTime, Utc};
3use datadog_api_client::datadog;
4use datadog_api_client::datadogV2::api_security_monitoring::SearchSecurityMonitoringSignalsOptionalParams;
5use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;
6use datadog_api_client::datadogV2::model::SecurityMonitoringSignalListRequest;
7use datadog_api_client::datadogV2::model::SecurityMonitoringSignalListRequestFilter;
8use datadog_api_client::datadogV2::model::SecurityMonitoringSignalListRequestPage;
9use datadog_api_client::datadogV2::model::SecurityMonitoringSignalsSort;
10
11#[tokio::main]
12async fn main() {
13    let body =
14        SecurityMonitoringSignalListRequest::new()
15            .filter(
16                SecurityMonitoringSignalListRequestFilter::new()
17                    .from(
18                        DateTime::parse_from_rfc3339("2019-01-02T09:42:36.320000+00:00")
19                            .expect("Failed to parse datetime")
20                            .with_timezone(&Utc),
21                    )
22                    .query("security:attack status:high".to_string())
23                    .to(
24                        DateTime::parse_from_rfc3339("2019-01-03T09:42:36.320000+00:00")
25                            .expect("Failed to parse datetime")
26                            .with_timezone(&Utc),
27                    ),
28            )
29            .page(
30                SecurityMonitoringSignalListRequestPage::new()
31                    .cursor(
32                        "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==".to_string(),
33                    )
34                    .limit(25),
35            )
36            .sort(SecurityMonitoringSignalsSort::TIMESTAMP_ASCENDING);
37    let configuration = datadog::Configuration::new();
38    let api = SecurityMonitoringAPI::with_config(configuration);
39    let resp = api
40        .search_security_monitoring_signals(
41            SearchSecurityMonitoringSignalsOptionalParams::default().body(body),
42        )
43        .await;
44    if let Ok(value) = resp {
45        println!("{:#?}", value);
46    } else {
47        println!("{:#?}", resp.unwrap_err());
48    }
49}