v2_reference_tables_UpdateReferenceTable/
v2_reference-tables_UpdateReferenceTable.rs1use 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}