|
| 1 | +// Create a tag indexing rule returns "Created" response |
| 2 | +use datadog_api_client::datadog; |
| 3 | +use datadog_api_client::datadogV2::api_metrics::MetricsAPI; |
| 4 | +use datadog_api_client::datadogV2::model::TagIndexingRuleCreateAttributes; |
| 5 | +use datadog_api_client::datadogV2::model::TagIndexingRuleCreateData; |
| 6 | +use datadog_api_client::datadogV2::model::TagIndexingRuleCreateRequest; |
| 7 | +use datadog_api_client::datadogV2::model::TagIndexingRuleDynamicTags; |
| 8 | +use datadog_api_client::datadogV2::model::TagIndexingRuleMetricMatch; |
| 9 | +use datadog_api_client::datadogV2::model::TagIndexingRuleOptions; |
| 10 | +use datadog_api_client::datadogV2::model::TagIndexingRuleOptionsData; |
| 11 | +use datadog_api_client::datadogV2::model::TagIndexingRuleType; |
| 12 | + |
| 13 | +#[tokio::main] |
| 14 | +async fn main() { |
| 15 | + let body = TagIndexingRuleCreateRequest::new(TagIndexingRuleCreateData::new( |
| 16 | + TagIndexingRuleCreateAttributes::new( |
| 17 | + vec!["dd.test.*".to_string()], |
| 18 | + "my-indexing-rule".to_string(), |
| 19 | + ) |
| 20 | + .exclude_tags_mode(false) |
| 21 | + .ignored_metric_name_matches(vec![]) |
| 22 | + .options( |
| 23 | + TagIndexingRuleOptions::new() |
| 24 | + .data( |
| 25 | + TagIndexingRuleOptionsData::new() |
| 26 | + .dynamic_tags( |
| 27 | + TagIndexingRuleDynamicTags::new() |
| 28 | + .queried_tags_window_seconds(3600) |
| 29 | + .related_asset_tags(false), |
| 30 | + ) |
| 31 | + .manage_preexisting_metrics(true) |
| 32 | + .metric_match( |
| 33 | + TagIndexingRuleMetricMatch::new().queried_window_seconds(3600), |
| 34 | + ) |
| 35 | + .override_previous_rules(false), |
| 36 | + ) |
| 37 | + .version(1), |
| 38 | + ) |
| 39 | + .tags(vec!["env".to_string(), "service".to_string()]), |
| 40 | + TagIndexingRuleType::TAG_INDEXING_RULES, |
| 41 | + )); |
| 42 | + let configuration = datadog::Configuration::new(); |
| 43 | + let api = MetricsAPI::with_config(configuration); |
| 44 | + let resp = api.create_tag_indexing_rule(body).await; |
| 45 | + if let Ok(value) = resp { |
| 46 | + println!("{:#?}", value); |
| 47 | + } else { |
| 48 | + println!("{:#?}", resp.unwrap_err()); |
| 49 | + } |
| 50 | +} |
0 commit comments