diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index d3b9ce53d..cad18a6d5 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -88653,6 +88653,26 @@ paths: required: false schema: type: boolean + - description: 'The number of seconds of look back (from now) used by the `filter[queried]` + filter logic. + + Must be sent with `filter[queried]` and is only applied when `filter[queried]=true`. + + If `filter[queried]=false`, this parameter is ignored and default queried-window + behavior applies. + + If `filter[queried]` is not provided, sending this parameter returns a 400. + + For example: `GET /api/v2/metrics?filter[queried]=true&filter[queried][window][seconds]=7776000`.' + example: 7776000 + in: query + name: filter[queried][window][seconds] + required: false + schema: + format: int64 + maximum: 15552000 + minimum: 0 + type: integer - description: 'Filter metrics that have been submitted with the given tags. Supports boolean and wildcard expressions. diff --git a/src/datadogV2/api/api_metrics.rs b/src/datadogV2/api/api_metrics.rs index c6b9d4562..30259ad1b 100644 --- a/src/datadogV2/api/api_metrics.rs +++ b/src/datadogV2/api/api_metrics.rs @@ -91,6 +91,12 @@ pub struct ListTagConfigurationsOptionalParams { /// (Preview) Filter custom metrics that have or have not been queried in the specified window[seconds]. /// If no window is provided or the window is less than 2 hours, a default of 2 hours will be applied. pub filter_queried: Option, + /// The number of seconds of look back (from now) used by the `filter[queried]` filter logic. + /// Must be sent with `filter[queried]` and is only applied when `filter[queried]=true`. + /// If `filter[queried]=false`, this parameter is ignored and default queried-window behavior applies. + /// If `filter[queried]` is not provided, sending this parameter returns a 400. + /// For example: `GET /api/v2/metrics?filter[queried]=true&filter[queried][window][seconds]=7776000`. + pub filter_queried_window_seconds: Option, /// Filter metrics that have been submitted with the given tags. Supports boolean and wildcard expressions. /// Can only be combined with the filter[queried] filter. pub filter_tags: Option, @@ -138,6 +144,15 @@ impl ListTagConfigurationsOptionalParams { self.filter_queried = Some(value); self } + /// The number of seconds of look back (from now) used by the `filter[queried]` filter logic. + /// Must be sent with `filter[queried]` and is only applied when `filter[queried]=true`. + /// If `filter[queried]=false`, this parameter is ignored and default queried-window behavior applies. + /// If `filter[queried]` is not provided, sending this parameter returns a 400. + /// For example: `GET /api/v2/metrics?filter[queried]=true&filter[queried][window][seconds]=7776000`. + pub fn filter_queried_window_seconds(mut self, value: i64) -> Self { + self.filter_queried_window_seconds = Some(value); + self + } /// Filter metrics that have been submitted with the given tags. Supports boolean and wildcard expressions. /// Can only be combined with the filter[queried] filter. pub fn filter_tags(mut self, value: String) -> Self { @@ -1732,6 +1747,7 @@ impl MetricsAPI { let filter_metric_type = params.filter_metric_type; let filter_include_percentiles = params.filter_include_percentiles; let filter_queried = params.filter_queried; + let filter_queried_window_seconds = params.filter_queried_window_seconds; let filter_tags = params.filter_tags; let filter_related_assets = params.filter_related_assets; let window_seconds = params.window_seconds; @@ -1769,6 +1785,12 @@ impl MetricsAPI { local_req_builder = local_req_builder.query(&[("filter[queried]", &local_query_param.to_string())]); }; + if let Some(ref local_query_param) = filter_queried_window_seconds { + local_req_builder = local_req_builder.query(&[( + "filter[queried][window][seconds]", + &local_query_param.to_string(), + )]); + }; if let Some(ref local_query_param) = filter_tags { local_req_builder = local_req_builder.query(&[("filter[tags]", &local_query_param.to_string())]); diff --git a/tests/scenarios/function_mappings.rs b/tests/scenarios/function_mappings.rs index dbafb6667..fcaf34eaf 100644 --- a/tests/scenarios/function_mappings.rs +++ b/tests/scenarios/function_mappings.rs @@ -30176,6 +30176,9 @@ fn test_v2_list_tag_configurations(world: &mut DatadogWorld, _parameters: &HashM let filter_queried = _parameters .get("filter[queried]") .and_then(|param| Some(serde_json::from_value(param.clone()).unwrap())); + let filter_queried_window_seconds = _parameters + .get("filter[queried][window][seconds]") + .and_then(|param| Some(serde_json::from_value(param.clone()).unwrap())); let filter_tags = _parameters .get("filter[tags]") .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 params.filter_metric_type = filter_metric_type; params.filter_include_percentiles = filter_include_percentiles; params.filter_queried = filter_queried; + params.filter_queried_window_seconds = filter_queried_window_seconds; params.filter_tags = filter_tags; params.filter_related_assets = filter_related_assets; params.window_seconds = window_seconds; @@ -30243,6 +30247,9 @@ fn test_v2_list_tag_configurations_with_pagination( let filter_queried = _parameters .get("filter[queried]") .and_then(|param| Some(serde_json::from_value(param.clone()).unwrap())); + let filter_queried_window_seconds = _parameters + .get("filter[queried][window][seconds]") + .and_then(|param| Some(serde_json::from_value(param.clone()).unwrap())); let filter_tags = _parameters .get("filter[tags]") .and_then(|param| Some(serde_json::from_value(param.clone()).unwrap())); @@ -30264,6 +30271,7 @@ fn test_v2_list_tag_configurations_with_pagination( params.filter_metric_type = filter_metric_type; params.filter_include_percentiles = filter_include_percentiles; params.filter_queried = filter_queried; + params.filter_queried_window_seconds = filter_queried_window_seconds; params.filter_tags = filter_tags; params.filter_related_assets = filter_related_assets; params.window_seconds = window_seconds;