v2_sensitive_data_scanner_UpdateScanningGroup/
v2_sensitive-data-scanner_UpdateScanningGroup.rs

1// Update Scanning Group returns "OK" response
2use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_sensitive_data_scanner::SensitiveDataScannerAPI;
4use datadog_api_client::datadogV2::model::SensitiveDataScannerConfiguration;
5use datadog_api_client::datadogV2::model::SensitiveDataScannerConfigurationData;
6use datadog_api_client::datadogV2::model::SensitiveDataScannerConfigurationType;
7use datadog_api_client::datadogV2::model::SensitiveDataScannerFilter;
8use datadog_api_client::datadogV2::model::SensitiveDataScannerGroupAttributes;
9use datadog_api_client::datadogV2::model::SensitiveDataScannerGroupRelationships;
10use datadog_api_client::datadogV2::model::SensitiveDataScannerGroupType;
11use datadog_api_client::datadogV2::model::SensitiveDataScannerGroupUpdate;
12use datadog_api_client::datadogV2::model::SensitiveDataScannerGroupUpdateRequest;
13use datadog_api_client::datadogV2::model::SensitiveDataScannerMetaVersionOnly;
14use datadog_api_client::datadogV2::model::SensitiveDataScannerProduct;
15use datadog_api_client::datadogV2::model::SensitiveDataScannerRuleData;
16
17#[tokio::main]
18async fn main() {
19    // there is a valid "scanning_group" in the system
20    let group_data_id = std::env::var("GROUP_DATA_ID").unwrap();
21
22    // a valid "configuration" in the system
23    let configuration_data_id = std::env::var("CONFIGURATION_DATA_ID").unwrap();
24    let body =
25        SensitiveDataScannerGroupUpdateRequest::new(
26            SensitiveDataScannerGroupUpdate::new()
27                .attributes(
28                    SensitiveDataScannerGroupAttributes::new()
29                        .filter(SensitiveDataScannerFilter::new().query("*".to_string()))
30                        .is_enabled(false)
31                        .name("Example-Sensitive-Data-Scanner".to_string())
32                        .product_list(vec![SensitiveDataScannerProduct::LOGS]),
33                )
34                .id(group_data_id.clone())
35                .relationships(
36                    SensitiveDataScannerGroupRelationships::new()
37                        .configuration(
38                            SensitiveDataScannerConfigurationData
39                            ::new().data(
40                                SensitiveDataScannerConfiguration::new()
41                                    .id(configuration_data_id.clone())
42                                    .type_(
43                                        SensitiveDataScannerConfigurationType::SENSITIVE_DATA_SCANNER_CONFIGURATIONS,
44                                    ),
45                            ),
46                        )
47                        .rules(SensitiveDataScannerRuleData::new().data(vec![])),
48                )
49                .type_(SensitiveDataScannerGroupType::SENSITIVE_DATA_SCANNER_GROUP),
50            SensitiveDataScannerMetaVersionOnly::new(),
51        );
52    let configuration = datadog::Configuration::new();
53    let api = SensitiveDataScannerAPI::with_config(configuration);
54    let resp = api.update_scanning_group(group_data_id.clone(), body).await;
55    if let Ok(value) = resp {
56        println!("{:#?}", value);
57    } else {
58        println!("{:#?}", resp.unwrap_err());
59    }
60}