Skip to main content

nominal_api/conjure/objects/timeseries/metadata/api/
series_metadata.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 SeriesMetadata {
16    #[serde(rename = "rid")]
17    rid: super::super::super::super::api::SeriesMetadataRid,
18    #[serde(rename = "channel")]
19    channel: super::super::super::super::api::Channel,
20    #[serde(rename = "dataSourceRid")]
21    data_source_rid: super::super::super::super::api::rids::DataSourceRid,
22    #[builder(custom(type = super::LocatorTemplate, convert = Box::new))]
23    #[serde(rename = "locator")]
24    locator: Box<super::LocatorTemplate>,
25    #[builder(default, into)]
26    #[serde(rename = "unit", skip_serializing_if = "Option::is_none", default)]
27    unit: Option<super::super::super::super::api::Unit>,
28    #[builder(default, into)]
29    #[serde(rename = "description", skip_serializing_if = "Option::is_none", default)]
30    description: Option<String>,
31    #[builder(
32        default,
33        map(
34            key(type = super::super::super::super::api::TagName),
35            value(type = super::super::super::super::api::TagValue)
36        )
37    )]
38    #[serde(
39        rename = "tags",
40        skip_serializing_if = "std::collections::BTreeMap::is_empty",
41        default
42    )]
43    tags: std::collections::BTreeMap<
44        super::super::super::super::api::TagName,
45        super::super::super::super::api::TagValue,
46    >,
47    #[builder(default, into)]
48    #[serde(rename = "seriesDataType", skip_serializing_if = "Option::is_none", default)]
49    series_data_type: Option<super::super::super::super::api::SeriesDataType>,
50}
51impl SeriesMetadata {
52    #[inline]
53    pub fn rid(&self) -> &super::super::super::super::api::SeriesMetadataRid {
54        &self.rid
55    }
56    #[inline]
57    pub fn channel(&self) -> &super::super::super::super::api::Channel {
58        &self.channel
59    }
60    #[inline]
61    pub fn data_source_rid(
62        &self,
63    ) -> &super::super::super::super::api::rids::DataSourceRid {
64        &self.data_source_rid
65    }
66    #[inline]
67    pub fn locator(&self) -> &super::LocatorTemplate {
68        &*self.locator
69    }
70    #[inline]
71    pub fn unit(&self) -> Option<&super::super::super::super::api::Unit> {
72        self.unit.as_ref().map(|o| &*o)
73    }
74    #[inline]
75    pub fn description(&self) -> Option<&str> {
76        self.description.as_ref().map(|o| &**o)
77    }
78    /// Tags specified here will take precedence over tags specified in the RunDatasource, in the case that both specify the same TagName.
79    #[deprecated(note = "Deprecated. Should not be used.")]
80    #[inline]
81    pub fn tags(
82        &self,
83    ) -> &std::collections::BTreeMap<
84        super::super::super::super::api::TagName,
85        super::super::super::super::api::TagValue,
86    > {
87        &self.tags
88    }
89    #[inline]
90    pub fn series_data_type(
91        &self,
92    ) -> Option<&super::super::super::super::api::SeriesDataType> {
93        self.series_data_type.as_ref().map(|o| &*o)
94    }
95}