v2_csm_threats_CreateCloudWorkloadSecurityAgentRule/
v2_csm-threats_CreateCloudWorkloadSecurityAgentRule.rs

1// Create a Workload Protection agent rule (US1-FED) returns "OK" response
2use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_csm_threats::CSMThreatsAPI;
4use datadog_api_client::datadogV2::model::CloudWorkloadSecurityAgentRuleCreateAttributes;
5use datadog_api_client::datadogV2::model::CloudWorkloadSecurityAgentRuleCreateData;
6use datadog_api_client::datadogV2::model::CloudWorkloadSecurityAgentRuleCreateRequest;
7use datadog_api_client::datadogV2::model::CloudWorkloadSecurityAgentRuleType;
8
9#[tokio::main]
10async fn main() {
11    let body = CloudWorkloadSecurityAgentRuleCreateRequest::new(
12        CloudWorkloadSecurityAgentRuleCreateData::new(
13            CloudWorkloadSecurityAgentRuleCreateAttributes::new(
14                r#"exec.file.name == "sh""#.to_string(),
15                "examplecsmthreat".to_string(),
16            )
17            .description("My Agent rule".to_string())
18            .enabled(true)
19            .filters(vec![]),
20            CloudWorkloadSecurityAgentRuleType::AGENT_RULE,
21        ),
22    );
23    let configuration = datadog::Configuration::new();
24    let api = CSMThreatsAPI::with_config(configuration);
25    let resp = api.create_cloud_workload_security_agent_rule(body).await;
26    if let Ok(value) = resp {
27        println!("{:#?}", value);
28    } else {
29        println!("{:#?}", resp.unwrap_err());
30    }
31}