nominal_api/conjure/objects/scout/compute/api/
persistence_window_configuration.rs1#[derive(
5 Debug,
6 Clone,
7 conjure_object::serde::Serialize,
8 conjure_object::serde::Deserialize,
9 PartialEq,
10 Eq,
11 PartialOrd,
12 Ord,
13 Hash
14)]
15#[serde(crate = "conjure_object::serde")]
16#[conjure_object::private::staged_builder::staged_builder]
17#[builder(crate = conjure_object::private::staged_builder, update, inline)]
18pub struct PersistenceWindowConfiguration {
19 #[builder(
20 default,
21 custom(
22 type = impl
23 Into<Option<super::IntegerConstant>>,
24 convert = |v|v.into().map(Box::new)
25 )
26 )]
27 #[serde(rename = "minPoints", skip_serializing_if = "Option::is_none", default)]
28 min_points: Option<Box<super::IntegerConstant>>,
29 #[builder(
30 default,
31 custom(
32 type = impl
33 Into<Option<super::DurationConstant>>,
34 convert = |v|v.into().map(Box::new)
35 )
36 )]
37 #[serde(rename = "minDuration", skip_serializing_if = "Option::is_none", default)]
38 min_duration: Option<Box<super::DurationConstant>>,
39 #[builder(custom(type = super::OutputRangeStart, convert = Box::new))]
40 #[serde(rename = "outputRangeStart")]
41 output_range_start: Box<super::OutputRangeStart>,
42}
43impl PersistenceWindowConfiguration {
44 #[inline]
46 pub fn new(output_range_start: super::OutputRangeStart) -> Self {
47 Self::builder().output_range_start(output_range_start).build()
48 }
49 #[inline]
52 pub fn min_points(&self) -> Option<&super::IntegerConstant> {
53 self.min_points.as_ref().map(|o| &**o)
54 }
55 #[inline]
58 pub fn min_duration(&self) -> Option<&super::DurationConstant> {
59 self.min_duration.as_ref().map(|o| &**o)
60 }
61 #[inline]
63 pub fn output_range_start(&self) -> &super::OutputRangeStart {
64 &*self.output_range_start
65 }
66}