v2_audit_SearchAuditLogs/
v2_audit_SearchAuditLogs.rs

1// Search Audit Logs events returns "OK" response
2use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_audit::AuditAPI;
4use datadog_api_client::datadogV2::api_audit::SearchAuditLogsOptionalParams;
5use datadog_api_client::datadogV2::model::AuditLogsQueryFilter;
6use datadog_api_client::datadogV2::model::AuditLogsQueryOptions;
7use datadog_api_client::datadogV2::model::AuditLogsQueryPageOptions;
8use datadog_api_client::datadogV2::model::AuditLogsSearchEventsRequest;
9use datadog_api_client::datadogV2::model::AuditLogsSort;
10
11#[tokio::main]
12async fn main() {
13    let body = AuditLogsSearchEventsRequest::new()
14        .filter(
15            AuditLogsQueryFilter::new()
16                .from("now-15m".to_string())
17                .query("@type:session AND @session.type:user".to_string())
18                .to("now".to_string()),
19        )
20        .options(
21            AuditLogsQueryOptions::new()
22                .time_offset(0)
23                .timezone("GMT".to_string()),
24        )
25        .page(AuditLogsQueryPageOptions::new().limit(25))
26        .sort(AuditLogsSort::TIMESTAMP_ASCENDING);
27    let configuration = datadog::Configuration::new();
28    let api = AuditAPI::with_config(configuration);
29    let resp = api
30        .search_audit_logs(SearchAuditLogsOptionalParams::default().body(body))
31        .await;
32    if let Ok(value) = resp {
33        println!("{:#?}", value);
34    } else {
35        println!("{:#?}", resp.unwrap_err());
36    }
37}