v2_security_monitoring_SearchSecurityMonitoringSignals/
v2_security-monitoring_SearchSecurityMonitoringSignals.rs1use 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}