v2_sensitive_data_scanner_CreateScanningGroup/
v2_sensitive-data-scanner_CreateScanningGroup.rs

1// Create 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::SensitiveDataScannerGroupCreate;
10use datadog_api_client::datadogV2::model::SensitiveDataScannerGroupCreateRequest;
11use datadog_api_client::datadogV2::model::SensitiveDataScannerGroupRelationships;
12use datadog_api_client::datadogV2::model::SensitiveDataScannerGroupType;
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    // a valid "configuration" in the system
20    let configuration_data_id = std::env::var("CONFIGURATION_DATA_ID").unwrap();
21    let body =
22        SensitiveDataScannerGroupCreateRequest::new()
23            .data(
24                SensitiveDataScannerGroupCreate::new(
25                    SensitiveDataScannerGroupAttributes::new()
26                        .filter(SensitiveDataScannerFilter::new().query("*".to_string()))
27                        .is_enabled(false)
28                        .name("Example-Sensitive-Data-Scanner".to_string())
29                        .product_list(vec![SensitiveDataScannerProduct::LOGS]),
30                    SensitiveDataScannerGroupType::SENSITIVE_DATA_SCANNER_GROUP,
31                ).relationships(
32                    SensitiveDataScannerGroupRelationships::new()
33                        .configuration(
34                            SensitiveDataScannerConfigurationData
35                            ::new().data(
36                                SensitiveDataScannerConfiguration::new()
37                                    .id(configuration_data_id.clone())
38                                    .type_(
39                                        SensitiveDataScannerConfigurationType::SENSITIVE_DATA_SCANNER_CONFIGURATIONS,
40                                    ),
41                            ),
42                        )
43                        .rules(SensitiveDataScannerRuleData::new().data(vec![])),
44                ),
45            )
46            .meta(SensitiveDataScannerMetaVersionOnly::new());
47    let configuration = datadog::Configuration::new();
48    let api = SensitiveDataScannerAPI::with_config(configuration);
49    let resp = api.create_scanning_group(body).await;
50    if let Ok(value) = resp {
51        println!("{:#?}", value);
52    } else {
53        println!("{:#?}", resp.unwrap_err());
54    }
55}