Skip to main content

nominal_api/conjure/objects/scout/compute/api/
log_union_series.rs

1/// Combines multiple log series together and outputs a single series. The strategy to merge input values with the
2/// same timestamp together is specified in the operation field.
3#[derive(
4    Debug,
5    Clone,
6    conjure_object::serde::Serialize,
7    conjure_object::serde::Deserialize,
8    conjure_object::private::DeriveWith
9)]
10#[serde(crate = "conjure_object::serde")]
11#[derive_with(PartialEq, Eq, PartialOrd, Ord, Hash)]
12#[conjure_object::private::staged_builder::staged_builder]
13#[builder(crate = conjure_object::private::staged_builder, update, inline)]
14pub struct LogUnionSeries {
15    #[builder(default, list(item(type = super::LogSeries)))]
16    #[serde(rename = "input", skip_serializing_if = "Vec::is_empty", default)]
17    input: Vec<super::LogSeries>,
18    #[serde(rename = "operation")]
19    operation: super::LogUnionOperation,
20}
21impl LogUnionSeries {
22    /// Constructs a new instance of the type.
23    #[inline]
24    pub fn new(operation: super::LogUnionOperation) -> Self {
25        Self::builder().operation(operation).build()
26    }
27    #[inline]
28    pub fn input(&self) -> &[super::LogSeries] {
29        &*self.input
30    }
31    /// The strategy to merge points with duplicate timestamps.
32    #[inline]
33    pub fn operation(&self) -> &super::LogUnionOperation {
34        &self.operation
35    }
36}