diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 26e1246c4..e1143ac9c 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -17596,6 +17596,18 @@ components: CustomCostListResponseMeta: description: Meta for the response from the List Custom Costs endpoints. properties: + count_by_status: + additionalProperties: + format: int64 + type: integer + description: Number of Custom Costs files per status. + type: object + providers: + description: List of available providers. + items: + description: A provider name. + type: string + type: array total_filtered_count: description: Number of Custom Costs files returned by the List Custom Costs endpoint format: int64 @@ -83201,6 +83213,18 @@ paths: name: filter[status] schema: type: string + - description: Filter files by name with case-insensitive substring matching. + in: query + name: filter[name] + schema: + type: string + - description: Filter by provider. + in: query + name: filter[provider] + schema: + items: + type: string + type: array - description: Sort key with optional descending prefix in: query name: sort diff --git a/src/datadogV2/api/api_cloud_cost_management.rs b/src/datadogV2/api/api_cloud_cost_management.rs index 8671b8c13..fdea13c43 100644 --- a/src/datadogV2/api/api_cloud_cost_management.rs +++ b/src/datadogV2/api/api_cloud_cost_management.rs @@ -20,6 +20,10 @@ pub struct ListCustomCostsFilesOptionalParams { pub page_size: Option, /// Filter by file status pub filter_status: Option, + /// Filter files by name with case-insensitive substring matching. + pub filter_name: Option, + /// Filter by provider. + pub filter_provider: Option>, /// Sort key with optional descending prefix pub sort: Option, } @@ -40,6 +44,16 @@ impl ListCustomCostsFilesOptionalParams { self.filter_status = Some(value); self } + /// Filter files by name with case-insensitive substring matching. + pub fn filter_name(mut self, value: String) -> Self { + self.filter_name = Some(value); + self + } + /// Filter by provider. + pub fn filter_provider(mut self, value: Vec) -> Self { + self.filter_provider = Some(value); + self + } /// Sort key with optional descending prefix pub fn sort(mut self, value: String) -> Self { self.sort = Some(value); @@ -3183,6 +3197,8 @@ impl CloudCostManagementAPI { let page_number = params.page_number; let page_size = params.page_size; let filter_status = params.filter_status; + let filter_name = params.filter_name; + let filter_provider = params.filter_provider; let sort = params.sort; let local_client = &self.client; @@ -3206,6 +3222,16 @@ impl CloudCostManagementAPI { local_req_builder = local_req_builder.query(&[("filter[status]", &local_query_param.to_string())]); }; + if let Some(ref local_query_param) = filter_name { + local_req_builder = + local_req_builder.query(&[("filter[name]", &local_query_param.to_string())]); + }; + if let Some(ref local) = filter_provider { + for param in local { + local_req_builder = + local_req_builder.query(&[("filter[provider]", ¶m.to_string())]); + } + }; if let Some(ref local_query_param) = sort { local_req_builder = local_req_builder.query(&[("sort", &local_query_param.to_string())]); diff --git a/src/datadogV2/model/model_custom_cost_list_response_meta.rs b/src/datadogV2/model/model_custom_cost_list_response_meta.rs index 9b3c1031f..f6025db64 100644 --- a/src/datadogV2/model/model_custom_cost_list_response_meta.rs +++ b/src/datadogV2/model/model_custom_cost_list_response_meta.rs @@ -11,6 +11,12 @@ use std::fmt::{self, Formatter}; #[skip_serializing_none] #[derive(Clone, Debug, PartialEq, Serialize)] pub struct CustomCostListResponseMeta { + /// Number of Custom Costs files per status. + #[serde(rename = "count_by_status")] + pub count_by_status: Option>, + /// List of available providers. + #[serde(rename = "providers")] + pub providers: Option>, /// Number of Custom Costs files returned by the List Custom Costs endpoint #[serde(rename = "total_filtered_count")] pub total_filtered_count: Option, @@ -27,6 +33,8 @@ pub struct CustomCostListResponseMeta { impl CustomCostListResponseMeta { pub fn new() -> CustomCostListResponseMeta { CustomCostListResponseMeta { + count_by_status: None, + providers: None, total_filtered_count: None, version: None, additional_properties: std::collections::BTreeMap::new(), @@ -34,6 +42,16 @@ impl CustomCostListResponseMeta { } } + pub fn count_by_status(mut self, value: std::collections::BTreeMap) -> Self { + self.count_by_status = Some(value); + self + } + + pub fn providers(mut self, value: Vec) -> Self { + self.providers = Some(value); + self + } + pub fn total_filtered_count(mut self, value: i64) -> Self { self.total_filtered_count = Some(value); self @@ -76,6 +94,8 @@ impl<'de> Deserialize<'de> for CustomCostListResponseMeta { where M: MapAccess<'a>, { + let mut count_by_status: Option> = None; + let mut providers: Option> = None; let mut total_filtered_count: Option = None; let mut version: Option = None; let mut additional_properties: std::collections::BTreeMap< @@ -86,6 +106,19 @@ impl<'de> Deserialize<'de> for CustomCostListResponseMeta { while let Some((k, v)) = map.next_entry::()? { match k.as_str() { + "count_by_status" => { + if v.is_null() { + continue; + } + count_by_status = + Some(serde_json::from_value(v).map_err(M::Error::custom)?); + } + "providers" => { + if v.is_null() { + continue; + } + providers = Some(serde_json::from_value(v).map_err(M::Error::custom)?); + } "total_filtered_count" => { if v.is_null() { continue; @@ -108,6 +141,8 @@ impl<'de> Deserialize<'de> for CustomCostListResponseMeta { } let content = CustomCostListResponseMeta { + count_by_status, + providers, total_filtered_count, version, additional_properties, diff --git a/tests/scenarios/function_mappings.rs b/tests/scenarios/function_mappings.rs index 40d6f7cbf..4fb561a88 100644 --- a/tests/scenarios/function_mappings.rs +++ b/tests/scenarios/function_mappings.rs @@ -22637,6 +22637,12 @@ fn test_v2_list_custom_costs_files(world: &mut DatadogWorld, _parameters: &HashM let filter_status = _parameters .get("filter[status]") .and_then(|param| Some(serde_json::from_value(param.clone()).unwrap())); + let filter_name = _parameters + .get("filter[name]") + .and_then(|param| Some(serde_json::from_value(param.clone()).unwrap())); + let filter_provider = _parameters + .get("filter[provider]") + .and_then(|param| Some(serde_json::from_value(param.clone()).unwrap())); let sort = _parameters .get("sort") .and_then(|param| Some(serde_json::from_value(param.clone()).unwrap())); @@ -22645,6 +22651,8 @@ fn test_v2_list_custom_costs_files(world: &mut DatadogWorld, _parameters: &HashM params.page_number = page_number; params.page_size = page_size; params.filter_status = filter_status; + params.filter_name = filter_name; + params.filter_provider = filter_provider; params.sort = sort; let response = match block_on(api.list_custom_costs_files_with_http_info(params)) { Ok(response) => response,