nominal_api/conjure/objects/scout/compute/resolved/api/
summarize_series_node.rs1#[derive(
2 Debug,
3 Clone,
4 conjure_object::serde::Serialize,
5 conjure_object::serde::Deserialize,
6 conjure_object::private::DeriveWith
7)]
8#[serde(crate = "conjure_object::serde")]
9#[derive_with(PartialEq, Eq, PartialOrd, Ord, Hash)]
10#[conjure_object::private::staged_builder::staged_builder]
11#[builder(crate = conjure_object::private::staged_builder, update, inline)]
12pub struct SummarizeSeriesNode {
13 #[builder(custom(type = super::SeriesNode, convert = Box::new))]
14 #[serde(rename = "input")]
15 input: Box<super::SeriesNode>,
16 #[builder(
17 custom(
18 type = super::super::super::api::SummarizationStrategy,
19 convert = Box::new
20 )
21 )]
22 #[serde(rename = "summarizationStrategy")]
23 summarization_strategy: Box<super::super::super::api::SummarizationStrategy>,
24 #[serde(rename = "outputFormat")]
25 output_format: super::super::super::api::OutputFormat,
26 #[builder(default, into)]
27 #[serde(
28 rename = "numericOutputFields",
29 skip_serializing_if = "Option::is_none",
30 default
31 )]
32 numeric_output_fields: Option<
33 std::collections::BTreeSet<super::super::super::api::NumericOutputField>,
34 >,
35 #[builder(
36 default,
37 map(key(type = String, into), value(type = super::ResolvedNumericAggregation))
38 )]
39 #[serde(
40 rename = "numericAggregations",
41 skip_serializing_if = "std::collections::BTreeMap::is_empty",
42 default
43 )]
44 numeric_aggregations: std::collections::BTreeMap<
45 String,
46 super::ResolvedNumericAggregation,
47 >,
48}
49impl SummarizeSeriesNode {
50 #[inline]
52 pub fn new(
53 input: super::SeriesNode,
54 summarization_strategy: super::super::super::api::SummarizationStrategy,
55 output_format: super::super::super::api::OutputFormat,
56 ) -> Self {
57 Self::builder()
58 .input(input)
59 .summarization_strategy(summarization_strategy)
60 .output_format(output_format)
61 .build()
62 }
63 #[inline]
64 pub fn input(&self) -> &super::SeriesNode {
65 &*self.input
66 }
67 #[inline]
68 pub fn summarization_strategy(
69 &self,
70 ) -> &super::super::super::api::SummarizationStrategy {
71 &*self.summarization_strategy
72 }
73 #[inline]
74 pub fn output_format(&self) -> &super::super::super::api::OutputFormat {
75 &self.output_format
76 }
77 #[inline]
78 pub fn numeric_output_fields(
79 &self,
80 ) -> Option<
81 &std::collections::BTreeSet<super::super::super::api::NumericOutputField>,
82 > {
83 self.numeric_output_fields.as_ref().map(|o| &*o)
84 }
85 #[inline]
86 pub fn numeric_aggregations(
87 &self,
88 ) -> &std::collections::BTreeMap<String, super::ResolvedNumericAggregation> {
89 &self.numeric_aggregations
90 }
91}