Skip to main content

nominal_api/conjure/objects/timeseries/logicalseries/api/
timescale_db_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 TimescaleDbLocator {
16    #[serde(rename = "table")]
17    table: super::TableName,
18    #[serde(rename = "schema")]
19    schema: super::SchemaName,
20    #[serde(rename = "column")]
21    column: super::ColumnName,
22    #[serde(rename = "timeColumn")]
23    time_column: super::ColumnName,
24    #[builder(
25        default,
26        map(
27            key(type = super::super::super::super::api::TagName),
28            value(type = super::super::super::super::api::TagValue)
29        )
30    )]
31    #[serde(
32        rename = "dimensions",
33        skip_serializing_if = "std::collections::BTreeMap::is_empty",
34        default
35    )]
36    dimensions: std::collections::BTreeMap<
37        super::super::super::super::api::TagName,
38        super::super::super::super::api::TagValue,
39    >,
40    #[serde(rename = "type")]
41    type_: super::TimescaleType,
42}
43impl TimescaleDbLocator {
44    #[inline]
45    pub fn table(&self) -> &super::TableName {
46        &self.table
47    }
48    #[inline]
49    pub fn schema(&self) -> &super::SchemaName {
50        &self.schema
51    }
52    #[inline]
53    pub fn column(&self) -> &super::ColumnName {
54        &self.column
55    }
56    #[inline]
57    pub fn time_column(&self) -> &super::ColumnName {
58        &self.time_column
59    }
60    #[inline]
61    pub fn dimensions(
62        &self,
63    ) -> &std::collections::BTreeMap<
64        super::super::super::super::api::TagName,
65        super::super::super::super::api::TagValue,
66    > {
67        &self.dimensions
68    }
69    #[inline]
70    pub fn type_(&self) -> &super::TimescaleType {
71        &self.type_
72    }
73}