nominal_api/conjure/objects/datasource/api/
channel_metadata.rs1#[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 ChannelMetadata {
16 #[serde(rename = "name")]
17 name: super::super::super::api::Channel,
18 #[serde(rename = "dataSource")]
19 data_source: super::super::super::api::rids::DataSourceRid,
20 #[builder(
21 default,
22 custom(
23 type = impl
24 Into<Option<super::super::super::scout::run::api::Unit>>,
25 convert = |v|v.into().map(Box::new)
26 )
27 )]
28 #[serde(rename = "unit", skip_serializing_if = "Option::is_none", default)]
29 unit: Option<Box<super::super::super::scout::run::api::Unit>>,
30 #[builder(default, into)]
31 #[serde(rename = "description", skip_serializing_if = "Option::is_none", default)]
32 description: Option<String>,
33 #[builder(default, into)]
34 #[serde(rename = "dataType", skip_serializing_if = "Option::is_none", default)]
35 data_type: Option<super::super::super::api::SeriesDataType>,
36 #[builder(
37 custom(type = super::SeriesMetadataRidOrLogicalSeriesRid, convert = Box::new)
38 )]
39 #[serde(rename = "seriesRid")]
40 series_rid: Box<super::SeriesMetadataRidOrLogicalSeriesRid>,
41}
42impl ChannelMetadata {
43 #[inline]
45 pub fn new(
46 name: super::super::super::api::Channel,
47 data_source: super::super::super::api::rids::DataSourceRid,
48 series_rid: super::SeriesMetadataRidOrLogicalSeriesRid,
49 ) -> Self {
50 Self::builder()
51 .name(name)
52 .data_source(data_source)
53 .series_rid(series_rid)
54 .build()
55 }
56 #[inline]
57 pub fn name(&self) -> &super::super::super::api::Channel {
58 &self.name
59 }
60 #[inline]
61 pub fn data_source(&self) -> &super::super::super::api::rids::DataSourceRid {
62 &self.data_source
63 }
64 #[inline]
65 pub fn unit(&self) -> Option<&super::super::super::scout::run::api::Unit> {
66 self.unit.as_ref().map(|o| &**o)
67 }
68 #[inline]
69 pub fn description(&self) -> Option<&str> {
70 self.description.as_ref().map(|o| &**o)
71 }
72 #[inline]
73 pub fn data_type(&self) -> Option<&super::super::super::api::SeriesDataType> {
74 self.data_type.as_ref().map(|o| &*o)
75 }
76 #[inline]
77 pub fn series_rid(&self) -> &super::SeriesMetadataRidOrLogicalSeriesRid {
78 &*self.series_rid
79 }
80}