v2_csm_threats_CreateCSMThreatsAgentRule/
v2_csm-threats_CreateCSMThreatsAgentRule.rs1use 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 policy_data_id = std::env::var("POLICY_DATA_ID").unwrap();
13 let body = CloudWorkloadSecurityAgentRuleCreateRequest::new(
14 CloudWorkloadSecurityAgentRuleCreateData::new(
15 CloudWorkloadSecurityAgentRuleCreateAttributes::new(
16 r#"exec.file.name == "sh""#.to_string(),
17 "examplecsmthreat".to_string(),
18 )
19 .agent_version("> 7.60".to_string())
20 .description("My Agent rule".to_string())
21 .enabled(true)
22 .filters(vec![])
23 .policy_id(policy_data_id.clone())
24 .product_tags(vec![]),
25 CloudWorkloadSecurityAgentRuleType::AGENT_RULE,
26 ),
27 );
28 let configuration = datadog::Configuration::new();
29 let api = CSMThreatsAPI::with_config(configuration);
30 let resp = api.create_csm_threats_agent_rule(body).await;
31 if let Ok(value) = resp {
32 println!("{:#?}", value);
33 } else {
34 println!("{:#?}", resp.unwrap_err());
35 }
36}