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: conjure_object::ResourceIdentifier,
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(&self) -> &conjure_object::ResourceIdentifier {
62        &self.data_source_rid
63    }
64    #[inline]
65    pub fn locator(&self) -> &super::LocatorTemplate {
66        &*self.locator
67    }
68    #[inline]
69    pub fn unit(&self) -> Option<&super::super::super::super::api::Unit> {
70        self.unit.as_ref().map(|o| &*o)
71    }
72    #[inline]
73    pub fn description(&self) -> Option<&str> {
74        self.description.as_ref().map(|o| &**o)
75    }
76    /// Tags specified here will take precedence over tags specified in the RunDatasource, in the case that both specify the same TagName.
77    #[deprecated(note = "Deprecated. Should not be used.")]
78    #[inline]
79    pub fn tags(
80        &self,
81    ) -> &std::collections::BTreeMap<
82        super::super::super::super::api::TagName,
83        super::super::super::super::api::TagValue,
84    > {
85        &self.tags
86    }
87    #[inline]
88    pub fn series_data_type(
89        &self,
90    ) -> Option<&super::super::super::super::api::SeriesDataType> {
91        self.series_data_type.as_ref().map(|o| &*o)
92    }
93}