Skip to content

Commit ff67556

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add new param to api/v2/metrics (#1297)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent 25fb4bd commit ff67556

File tree

3 files changed

+50
-0
lines changed

3 files changed

+50
-0
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88653,6 +88653,26 @@ paths:
8865388653
required: false
8865488654
schema:
8865588655
type: boolean
88656+
- description: 'The number of seconds of look back (from now) used by the `filter[queried]`
88657+
filter logic.
88658+
88659+
Must be sent with `filter[queried]` and is only applied when `filter[queried]=true`.
88660+
88661+
If `filter[queried]=false`, this parameter is ignored and default queried-window
88662+
behavior applies.
88663+
88664+
If `filter[queried]` is not provided, sending this parameter returns a 400.
88665+
88666+
For example: `GET /api/v2/metrics?filter[queried]=true&filter[queried][window][seconds]=7776000`.'
88667+
example: 7776000
88668+
in: query
88669+
name: filter[queried][window][seconds]
88670+
required: false
88671+
schema:
88672+
format: int64
88673+
maximum: 15552000
88674+
minimum: 0
88675+
type: integer
8865688676
- description: 'Filter metrics that have been submitted with the given tags.
8865788677
Supports boolean and wildcard expressions.
8865888678

src/datadogV2/api/api_metrics.rs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,12 @@ pub struct ListTagConfigurationsOptionalParams {
9191
/// (Preview) Filter custom metrics that have or have not been queried in the specified window[seconds].
9292
/// If no window is provided or the window is less than 2 hours, a default of 2 hours will be applied.
9393
pub filter_queried: Option<bool>,
94+
/// The number of seconds of look back (from now) used by the `filter[queried]` filter logic.
95+
/// Must be sent with `filter[queried]` and is only applied when `filter[queried]=true`.
96+
/// If `filter[queried]=false`, this parameter is ignored and default queried-window behavior applies.
97+
/// If `filter[queried]` is not provided, sending this parameter returns a 400.
98+
/// For example: `GET /api/v2/metrics?filter[queried]=true&filter[queried][window][seconds]=7776000`.
99+
pub filter_queried_window_seconds: Option<i64>,
94100
/// Filter metrics that have been submitted with the given tags. Supports boolean and wildcard expressions.
95101
/// Can only be combined with the filter[queried] filter.
96102
pub filter_tags: Option<String>,
@@ -138,6 +144,15 @@ impl ListTagConfigurationsOptionalParams {
138144
self.filter_queried = Some(value);
139145
self
140146
}
147+
/// The number of seconds of look back (from now) used by the `filter[queried]` filter logic.
148+
/// Must be sent with `filter[queried]` and is only applied when `filter[queried]=true`.
149+
/// If `filter[queried]=false`, this parameter is ignored and default queried-window behavior applies.
150+
/// If `filter[queried]` is not provided, sending this parameter returns a 400.
151+
/// For example: `GET /api/v2/metrics?filter[queried]=true&filter[queried][window][seconds]=7776000`.
152+
pub fn filter_queried_window_seconds(mut self, value: i64) -> Self {
153+
self.filter_queried_window_seconds = Some(value);
154+
self
155+
}
141156
/// Filter metrics that have been submitted with the given tags. Supports boolean and wildcard expressions.
142157
/// Can only be combined with the filter[queried] filter.
143158
pub fn filter_tags(mut self, value: String) -> Self {
@@ -1732,6 +1747,7 @@ impl MetricsAPI {
17321747
let filter_metric_type = params.filter_metric_type;
17331748
let filter_include_percentiles = params.filter_include_percentiles;
17341749
let filter_queried = params.filter_queried;
1750+
let filter_queried_window_seconds = params.filter_queried_window_seconds;
17351751
let filter_tags = params.filter_tags;
17361752
let filter_related_assets = params.filter_related_assets;
17371753
let window_seconds = params.window_seconds;
@@ -1769,6 +1785,12 @@ impl MetricsAPI {
17691785
local_req_builder =
17701786
local_req_builder.query(&[("filter[queried]", &local_query_param.to_string())]);
17711787
};
1788+
if let Some(ref local_query_param) = filter_queried_window_seconds {
1789+
local_req_builder = local_req_builder.query(&[(
1790+
"filter[queried][window][seconds]",
1791+
&local_query_param.to_string(),
1792+
)]);
1793+
};
17721794
if let Some(ref local_query_param) = filter_tags {
17731795
local_req_builder =
17741796
local_req_builder.query(&[("filter[tags]", &local_query_param.to_string())]);

tests/scenarios/function_mappings.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30176,6 +30176,9 @@ fn test_v2_list_tag_configurations(world: &mut DatadogWorld, _parameters: &HashM
3017630176
let filter_queried = _parameters
3017730177
.get("filter[queried]")
3017830178
.and_then(|param| Some(serde_json::from_value(param.clone()).unwrap()));
30179+
let filter_queried_window_seconds = _parameters
30180+
.get("filter[queried][window][seconds]")
30181+
.and_then(|param| Some(serde_json::from_value(param.clone()).unwrap()));
3017930182
let filter_tags = _parameters
3018030183
.get("filter[tags]")
3018130184
.and_then(|param| Some(serde_json::from_value(param.clone()).unwrap()));
@@ -30197,6 +30200,7 @@ fn test_v2_list_tag_configurations(world: &mut DatadogWorld, _parameters: &HashM
3019730200
params.filter_metric_type = filter_metric_type;
3019830201
params.filter_include_percentiles = filter_include_percentiles;
3019930202
params.filter_queried = filter_queried;
30203+
params.filter_queried_window_seconds = filter_queried_window_seconds;
3020030204
params.filter_tags = filter_tags;
3020130205
params.filter_related_assets = filter_related_assets;
3020230206
params.window_seconds = window_seconds;
@@ -30243,6 +30247,9 @@ fn test_v2_list_tag_configurations_with_pagination(
3024330247
let filter_queried = _parameters
3024430248
.get("filter[queried]")
3024530249
.and_then(|param| Some(serde_json::from_value(param.clone()).unwrap()));
30250+
let filter_queried_window_seconds = _parameters
30251+
.get("filter[queried][window][seconds]")
30252+
.and_then(|param| Some(serde_json::from_value(param.clone()).unwrap()));
3024630253
let filter_tags = _parameters
3024730254
.get("filter[tags]")
3024830255
.and_then(|param| Some(serde_json::from_value(param.clone()).unwrap()));
@@ -30264,6 +30271,7 @@ fn test_v2_list_tag_configurations_with_pagination(
3026430271
params.filter_metric_type = filter_metric_type;
3026530272
params.filter_include_percentiles = filter_include_percentiles;
3026630273
params.filter_queried = filter_queried;
30274+
params.filter_queried_window_seconds = filter_queried_window_seconds;
3026730275
params.filter_tags = filter_tags;
3026830276
params.filter_related_assets = filter_related_assets;
3026930277
params.window_seconds = window_seconds;

0 commit comments

Comments
 (0)