v2_sensitive_data_scanner_UpdateScanningRule/
v2_sensitive-data-scanner_UpdateScanningRule.rs

1// Update Scanning Rule returns "OK" response
2use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_sensitive_data_scanner::SensitiveDataScannerAPI;
4use datadog_api_client::datadogV2::model::SensitiveDataScannerIncludedKeywordConfiguration;
5use datadog_api_client::datadogV2::model::SensitiveDataScannerMetaVersionOnly;
6use datadog_api_client::datadogV2::model::SensitiveDataScannerRuleAttributes;
7use datadog_api_client::datadogV2::model::SensitiveDataScannerRuleType;
8use datadog_api_client::datadogV2::model::SensitiveDataScannerRuleUpdate;
9use datadog_api_client::datadogV2::model::SensitiveDataScannerRuleUpdateRequest;
10use datadog_api_client::datadogV2::model::SensitiveDataScannerTextReplacement;
11use datadog_api_client::datadogV2::model::SensitiveDataScannerTextReplacementType;
12
13#[tokio::main]
14async fn main() {
15    // the "scanning_group" has a "scanning_rule"
16    let rule_data_id = std::env::var("RULE_DATA_ID").unwrap();
17    let body = SensitiveDataScannerRuleUpdateRequest::new(
18        SensitiveDataScannerRuleUpdate::new()
19            .attributes(
20                SensitiveDataScannerRuleAttributes::new()
21                    .included_keyword_configuration(
22                        SensitiveDataScannerIncludedKeywordConfiguration::new(
23                            35,
24                            vec!["credit card".to_string(), "cc".to_string()],
25                        ),
26                    )
27                    .is_enabled(true)
28                    .name("Example-Sensitive-Data-Scanner".to_string())
29                    .pattern("pattern".to_string())
30                    .priority(5)
31                    .tags(vec!["sensitive_data:true".to_string()])
32                    .text_replacement(
33                        SensitiveDataScannerTextReplacement::new()
34                            .type_(SensitiveDataScannerTextReplacementType::NONE),
35                    ),
36            )
37            .id(rule_data_id.clone())
38            .type_(SensitiveDataScannerRuleType::SENSITIVE_DATA_SCANNER_RULE),
39        SensitiveDataScannerMetaVersionOnly::new(),
40    );
41    let configuration = datadog::Configuration::new();
42    let api = SensitiveDataScannerAPI::with_config(configuration);
43    let resp = api.update_scanning_rule(rule_data_id.clone(), body).await;
44    if let Ok(value) = resp {
45        println!("{:#?}", value);
46    } else {
47        println!("{:#?}", resp.unwrap_err());
48    }
49}