v2_reference_tables_UpdateReferenceTable/
v2_reference-tables_UpdateReferenceTable.rs

1// Update reference table returns "OK" response
2use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_reference_tables::ReferenceTablesAPI;
4use datadog_api_client::datadogV2::model::PatchTableRequest;
5use datadog_api_client::datadogV2::model::PatchTableRequestData;
6use datadog_api_client::datadogV2::model::PatchTableRequestDataAttributes;
7use datadog_api_client::datadogV2::model::PatchTableRequestDataAttributesFileMetadata;
8use datadog_api_client::datadogV2::model::PatchTableRequestDataAttributesFileMetadataCloudStorage;
9use datadog_api_client::datadogV2::model::PatchTableRequestDataAttributesFileMetadataOneOfAccessDetails;
10use datadog_api_client::datadogV2::model::PatchTableRequestDataAttributesFileMetadataOneOfAccessDetailsAwsDetail;
11use datadog_api_client::datadogV2::model::PatchTableRequestDataAttributesSchema;
12use datadog_api_client::datadogV2::model::PatchTableRequestDataAttributesSchemaFieldsItems;
13use datadog_api_client::datadogV2::model::PatchTableRequestDataType;
14use datadog_api_client::datadogV2::model::ReferenceTableSchemaFieldType;
15
16#[tokio::main]
17async fn main() {
18    let body =
19        PatchTableRequest
20        ::new().data(
21            PatchTableRequestData::new(PatchTableRequestDataType::REFERENCE_TABLE)
22                .attributes(
23                    PatchTableRequestDataAttributes::new()
24                        .description("this is a cloud table generated via a cloud bucket sync".to_string())
25                        .file_metadata(
26                            PatchTableRequestDataAttributesFileMetadata
27                            ::PatchTableRequestDataAttributesFileMetadataCloudStorage(
28                                Box::new(
29                                    PatchTableRequestDataAttributesFileMetadataCloudStorage::new()
30                                        .access_details(
31                                            PatchTableRequestDataAttributesFileMetadataOneOfAccessDetails
32                                            ::new().aws_detail(
33                                                PatchTableRequestDataAttributesFileMetadataOneOfAccessDetailsAwsDetail
34                                                ::new()
35                                                    .aws_account_id("test-account-id".to_string())
36                                                    .aws_bucket_name("test-bucket".to_string())
37                                                    .file_path("test_rt.csv".to_string()),
38                                            ),
39                                        )
40                                        .sync_enabled(true),
41                                ),
42                            ),
43                        )
44                        .schema(
45                            PatchTableRequestDataAttributesSchema::new(
46                                vec![
47                                    PatchTableRequestDataAttributesSchemaFieldsItems::new(
48                                        "id".to_string(),
49                                        ReferenceTableSchemaFieldType::INT32,
50                                    ),
51                                    PatchTableRequestDataAttributesSchemaFieldsItems::new(
52                                        "name".to_string(),
53                                        ReferenceTableSchemaFieldType::STRING,
54                                    )
55                                ],
56                                vec!["id".to_string()],
57                            ),
58                        )
59                        .sync_enabled(false)
60                        .tags(vec!["test_tag".to_string()]),
61                )
62                .id("00000000-0000-0000-0000-000000000000".to_string()),
63        );
64    let configuration = datadog::Configuration::new();
65    let api = ReferenceTablesAPI::with_config(configuration);
66    let resp = api.update_reference_table("id".to_string(), body).await;
67    if let Ok(value) = resp {
68        println!("{:#?}", value);
69    } else {
70        println!("{:#?}", resp.unwrap_err());
71    }
72}