v2_security_monitoring_SearchSecurityMonitoringHistsignals/
v2_security-monitoring_SearchSecurityMonitoringHistsignals.rs

1// Search hist signals returns "OK" response
2use chrono::{DateTime, Utc};
3use datadog_api_client::datadog;
4use datadog_api_client::datadogV2::api_security_monitoring::SearchSecurityMonitoringHistsignalsOptionalParams;
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 mut configuration = datadog::Configuration::new();
38    configuration.set_unstable_operation_enabled("v2.SearchSecurityMonitoringHistsignals", true);
39    let api = SecurityMonitoringAPI::with_config(configuration);
40    let resp = api
41        .search_security_monitoring_histsignals(
42            SearchSecurityMonitoringHistsignalsOptionalParams::default().body(body),
43        )
44        .await;
45    if let Ok(value) = resp {
46        println!("{:#?}", value);
47    } else {
48        println!("{:#?}", resp.unwrap_err());
49    }
50}