v2_sensitive_data_scanner_CreateScanningRule/
v2_sensitive-data-scanner_CreateScanningRule.rs1use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_sensitive_data_scanner::SensitiveDataScannerAPI;
4use datadog_api_client::datadogV2::model::SensitiveDataScannerGroup;
5use datadog_api_client::datadogV2::model::SensitiveDataScannerGroupData;
6use datadog_api_client::datadogV2::model::SensitiveDataScannerGroupType;
7use datadog_api_client::datadogV2::model::SensitiveDataScannerIncludedKeywordConfiguration;
8use datadog_api_client::datadogV2::model::SensitiveDataScannerMetaVersionOnly;
9use datadog_api_client::datadogV2::model::SensitiveDataScannerRuleAttributes;
10use datadog_api_client::datadogV2::model::SensitiveDataScannerRuleCreate;
11use datadog_api_client::datadogV2::model::SensitiveDataScannerRuleCreateRequest;
12use datadog_api_client::datadogV2::model::SensitiveDataScannerRuleRelationships;
13use datadog_api_client::datadogV2::model::SensitiveDataScannerRuleType;
14use datadog_api_client::datadogV2::model::SensitiveDataScannerTextReplacement;
15use datadog_api_client::datadogV2::model::SensitiveDataScannerTextReplacementType;
16
17#[tokio::main]
18async fn main() {
19 let group_data_id = std::env::var("GROUP_DATA_ID").unwrap();
21 let body = SensitiveDataScannerRuleCreateRequest::new(
22 SensitiveDataScannerRuleCreate::new(
23 SensitiveDataScannerRuleAttributes::new()
24 .excluded_namespaces(vec!["admin.name".to_string()])
25 .included_keyword_configuration(
26 SensitiveDataScannerIncludedKeywordConfiguration::new(
27 35,
28 vec!["credit card".to_string()],
29 ),
30 )
31 .is_enabled(true)
32 .name("Example-Sensitive-Data-Scanner".to_string())
33 .namespaces(vec!["admin".to_string()])
34 .pattern("pattern".to_string())
35 .priority(1)
36 .tags(vec!["sensitive_data:true".to_string()])
37 .text_replacement(
38 SensitiveDataScannerTextReplacement::new()
39 .type_(SensitiveDataScannerTextReplacementType::NONE),
40 ),
41 SensitiveDataScannerRuleRelationships::new().group(
42 SensitiveDataScannerGroupData::new().data(
43 SensitiveDataScannerGroup::new()
44 .id(group_data_id.clone())
45 .type_(SensitiveDataScannerGroupType::SENSITIVE_DATA_SCANNER_GROUP),
46 ),
47 ),
48 SensitiveDataScannerRuleType::SENSITIVE_DATA_SCANNER_RULE,
49 ),
50 SensitiveDataScannerMetaVersionOnly::new(),
51 );
52 let configuration = datadog::Configuration::new();
53 let api = SensitiveDataScannerAPI::with_config(configuration);
54 let resp = api.create_scanning_rule(body).await;
55 if let Ok(value) = resp {
56 println!("{:#?}", value);
57 } else {
58 println!("{:#?}", resp.unwrap_err());
59 }
60}