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