Skip to content

Commit bdbff03

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add tag indexing rule APIs to v2 metrics spec (#1689)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent fe5b19f commit bdbff03

77 files changed

Lines changed: 7992 additions & 449 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.generator/schemas/v2/openapi.yaml

Lines changed: 1052 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
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+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Create a tag indexing rule exemption 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::TagIndexingRuleExemptionCreateAttributes;
5+
use datadog_api_client::datadogV2::model::TagIndexingRuleExemptionCreateData;
6+
use datadog_api_client::datadogV2::model::TagIndexingRuleExemptionCreateRequest;
7+
use datadog_api_client::datadogV2::model::TagIndexingRuleExemptionType;
8+
9+
#[tokio::main]
10+
async fn main() {
11+
let body = TagIndexingRuleExemptionCreateRequest::new(TagIndexingRuleExemptionCreateData::new(
12+
TagIndexingRuleExemptionCreateAttributes::new(
13+
"This metric has a pre-existing tag configuration.".to_string(),
14+
),
15+
TagIndexingRuleExemptionType::TAG_INDEXING_RULE_EXEMPTIONS,
16+
));
17+
let configuration = datadog::Configuration::new();
18+
let api = MetricsAPI::with_config(configuration);
19+
let resp = api
20+
.create_tag_indexing_rule_exemption("metric_name".to_string(), body)
21+
.await;
22+
if let Ok(value) = resp {
23+
println!("{:#?}", value);
24+
} else {
25+
println!("{:#?}", resp.unwrap_err());
26+
}
27+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// Delete a tag indexing rule returns "No Content" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_metrics::MetricsAPI;
4+
5+
#[tokio::main]
6+
async fn main() {
7+
// there is a valid "tag_indexing_rule" in the system
8+
let tag_indexing_rule_data_id = std::env::var("TAG_INDEXING_RULE_DATA_ID").unwrap();
9+
let configuration = datadog::Configuration::new();
10+
let api = MetricsAPI::with_config(configuration);
11+
let resp = api
12+
.delete_tag_indexing_rule(tag_indexing_rule_data_id.clone())
13+
.await;
14+
if let Ok(value) = resp {
15+
println!("{:#?}", value);
16+
} else {
17+
println!("{:#?}", resp.unwrap_err());
18+
}
19+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Delete a tag indexing rule exemption returns "No Content" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_metrics::MetricsAPI;
4+
5+
#[tokio::main]
6+
async fn main() {
7+
let configuration = datadog::Configuration::new();
8+
let api = MetricsAPI::with_config(configuration);
9+
let resp = api
10+
.delete_tag_indexing_rule_exemption("metric_name".to_string())
11+
.await;
12+
if let Ok(value) = resp {
13+
println!("{:#?}", value);
14+
} else {
15+
println!("{:#?}", resp.unwrap_err());
16+
}
17+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// Get a tag indexing rule returns "OK" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_metrics::MetricsAPI;
4+
5+
#[tokio::main]
6+
async fn main() {
7+
// there is a valid "tag_indexing_rule" in the system
8+
let tag_indexing_rule_data_id = std::env::var("TAG_INDEXING_RULE_DATA_ID").unwrap();
9+
let configuration = datadog::Configuration::new();
10+
let api = MetricsAPI::with_config(configuration);
11+
let resp = api
12+
.get_tag_indexing_rule(tag_indexing_rule_data_id.clone())
13+
.await;
14+
if let Ok(value) = resp {
15+
println!("{:#?}", value);
16+
} else {
17+
println!("{:#?}", resp.unwrap_err());
18+
}
19+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Get a tag indexing rule exemption returns "OK" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_metrics::MetricsAPI;
4+
5+
#[tokio::main]
6+
async fn main() {
7+
let configuration = datadog::Configuration::new();
8+
let api = MetricsAPI::with_config(configuration);
9+
let resp = api
10+
.get_tag_indexing_rule_exemption("metric_name".to_string())
11+
.await;
12+
if let Ok(value) = resp {
13+
println!("{:#?}", value);
14+
} else {
15+
println!("{:#?}", resp.unwrap_err());
16+
}
17+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// List tag indexing rules returns "OK" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_metrics::ListTagIndexingRulesOptionalParams;
4+
use datadog_api_client::datadogV2::api_metrics::MetricsAPI;
5+
6+
#[tokio::main]
7+
async fn main() {
8+
let configuration = datadog::Configuration::new();
9+
let api = MetricsAPI::with_config(configuration);
10+
let resp = api
11+
.list_tag_indexing_rules(ListTagIndexingRulesOptionalParams::default())
12+
.await;
13+
if let Ok(value) = resp {
14+
println!("{:#?}", value);
15+
} else {
16+
println!("{:#?}", resp.unwrap_err());
17+
}
18+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// List tag indexing rules for a metric returns "OK" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_metrics::MetricsAPI;
4+
5+
#[tokio::main]
6+
async fn main() {
7+
let configuration = datadog::Configuration::new();
8+
let api = MetricsAPI::with_config(configuration);
9+
let resp = api
10+
.list_tag_indexing_rules_for_metric("ExampleMetric".to_string())
11+
.await;
12+
if let Ok(value) = resp {
13+
println!("{:#?}", value);
14+
} else {
15+
println!("{:#?}", resp.unwrap_err());
16+
}
17+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Reorder tag indexing rules returns "No Content" response
2+
use datadog_api_client::datadog;
3+
use datadog_api_client::datadogV2::api_metrics::MetricsAPI;
4+
use datadog_api_client::datadogV2::model::TagIndexingRuleOrderAttributes;
5+
use datadog_api_client::datadogV2::model::TagIndexingRuleOrderData;
6+
use datadog_api_client::datadogV2::model::TagIndexingRuleOrderRequest;
7+
use datadog_api_client::datadogV2::model::TagIndexingRuleType;
8+
9+
#[tokio::main]
10+
async fn main() {
11+
// there is a valid "tag_indexing_rule" in the system
12+
let tag_indexing_rule_data_id = std::env::var("TAG_INDEXING_RULE_DATA_ID").unwrap();
13+
let body = TagIndexingRuleOrderRequest::new(TagIndexingRuleOrderData::new(
14+
TagIndexingRuleOrderAttributes::new().rule_ids(vec![tag_indexing_rule_data_id.clone()]),
15+
TagIndexingRuleType::TAG_INDEXING_RULES,
16+
));
17+
let configuration = datadog::Configuration::new();
18+
let api = MetricsAPI::with_config(configuration);
19+
let resp = api.reorder_tag_indexing_rules(body).await;
20+
if let Ok(value) = resp {
21+
println!("{:#?}", value);
22+
} else {
23+
println!("{:#?}", resp.unwrap_err());
24+
}
25+
}

0 commit comments

Comments
 (0)