nominal_api/conjure/objects/scout/api/
channel_locator.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 ChannelLocator {
16 #[serde(rename = "dataSourceRef")]
17 data_source_ref: super::DataSourceRefName,
18 #[serde(rename = "channel")]
19 channel: super::super::super::api::Channel,
20 #[builder(
21 default,
22 map(
23 key(type = super::super::super::api::TagName),
24 value(type = super::super::super::api::TagValue)
25 )
26 )]
27 #[serde(
28 rename = "tags",
29 skip_serializing_if = "std::collections::BTreeMap::is_empty",
30 default
31 )]
32 tags: std::collections::BTreeMap<
33 super::super::super::api::TagName,
34 super::super::super::api::TagValue,
35 >,
36 #[builder(default, into)]
37 #[serde(rename = "asset", skip_serializing_if = "Option::is_none", default)]
38 asset: Option<super::super::rids::api::AssetRefName>,
39 #[builder(default, into)]
40 #[serde(rename = "run", skip_serializing_if = "Option::is_none", default)]
41 run: Option<super::super::rids::api::RunRefName>,
42}
43impl ChannelLocator {
44 #[inline]
46 pub fn new(
47 data_source_ref: super::DataSourceRefName,
48 channel: super::super::super::api::Channel,
49 ) -> Self {
50 Self::builder().data_source_ref(data_source_ref).channel(channel).build()
51 }
52 #[inline]
53 pub fn data_source_ref(&self) -> &super::DataSourceRefName {
54 &self.data_source_ref
55 }
56 #[inline]
57 pub fn channel(&self) -> &super::super::super::api::Channel {
58 &self.channel
59 }
60 #[inline]
61 pub fn tags(
62 &self,
63 ) -> &std::collections::BTreeMap<
64 super::super::super::api::TagName,
65 super::super::super::api::TagValue,
66 > {
67 &self.tags
68 }
69 #[inline]
70 pub fn asset(&self) -> Option<&super::super::rids::api::AssetRefName> {
71 self.asset.as_ref().map(|o| &*o)
72 }
73 #[inline]
74 pub fn run(&self) -> Option<&super::super::rids::api::RunRefName> {
75 self.run.as_ref().map(|o| &*o)
76 }
77}