Skip to main content

nominal_api/conjure/objects/timeseries/logicalseries/api/
big_query_locator.rs

1#[derive(
2    Debug,
3    Clone,
4    conjure_object::serde::Serialize,
5    conjure_object::serde::Deserialize,
6    PartialEq,
7    Eq,
8    PartialOrd,
9    Ord,
10    Hash
11)]
12#[serde(crate = "conjure_object::serde")]
13#[conjure_object::private::staged_builder::staged_builder]
14#[builder(crate = conjure_object::private::staged_builder, update, inline)]
15pub struct BigQueryLocator {
16    #[serde(rename = "valueColumn")]
17    value_column: super::ColumnName,
18    #[serde(rename = "timeColumn")]
19    time_column: super::ColumnName,
20    #[builder(
21        default,
22        map(
23            key(type = super::super::super::super::api::TagName),
24            value(type = super::super::super::super::api::TagValue)
25        )
26    )]
27    #[serde(
28        rename = "tagValues",
29        skip_serializing_if = "std::collections::BTreeMap::is_empty",
30        default
31    )]
32    tag_values: std::collections::BTreeMap<
33        super::super::super::super::api::TagName,
34        super::super::super::super::api::TagValue,
35    >,
36    #[serde(rename = "type")]
37    type_: super::BigQueryType,
38}
39impl BigQueryLocator {
40    /// Constructs a new instance of the type.
41    #[inline]
42    pub fn new(
43        value_column: super::ColumnName,
44        time_column: super::ColumnName,
45        type_: super::BigQueryType,
46    ) -> Self {
47        Self::builder()
48            .value_column(value_column)
49            .time_column(time_column)
50            .type_(type_)
51            .build()
52    }
53    /// The name of the column which has the values for this series
54    #[inline]
55    pub fn value_column(&self) -> &super::ColumnName {
56        &self.value_column
57    }
58    /// The name of the column which has the timestamps for this series
59    #[inline]
60    pub fn time_column(&self) -> &super::ColumnName {
61        &self.time_column
62    }
63    /// The mapping of columns to column values to filter on
64    #[inline]
65    pub fn tag_values(
66        &self,
67    ) -> &std::collections::BTreeMap<
68        super::super::super::super::api::TagName,
69        super::super::super::super::api::TagValue,
70    > {
71        &self.tag_values
72    }
73    #[inline]
74    pub fn type_(&self) -> &super::BigQueryType {
75        &self.type_
76    }
77}