nominal_api_conjure/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 #[builder(default, into)]
43 #[serde(rename = "inputId", skip_serializing_if = "Option::is_none", default)]
44 input_id: Option<String>,
45}
46impl ChannelLocator {
47 #[inline]
49 pub fn new(
50 data_source_ref: super::DataSourceRefName,
51 channel: super::super::super::api::Channel,
52 ) -> Self {
53 Self::builder().data_source_ref(data_source_ref).channel(channel).build()
54 }
55 #[inline]
56 pub fn data_source_ref(&self) -> &super::DataSourceRefName {
57 &self.data_source_ref
58 }
59 #[inline]
60 pub fn channel(&self) -> &super::super::super::api::Channel {
61 &self.channel
62 }
63 #[inline]
64 pub fn tags(
65 &self,
66 ) -> &std::collections::BTreeMap<
67 super::super::super::api::TagName,
68 super::super::super::api::TagValue,
69 > {
70 &self.tags
71 }
72 #[inline]
73 pub fn asset(&self) -> Option<&super::super::rids::api::AssetRefName> {
74 self.asset.as_ref().map(|o| &*o)
75 }
76 #[inline]
77 pub fn run(&self) -> Option<&super::super::rids::api::RunRefName> {
78 self.run.as_ref().map(|o| &*o)
79 }
80 #[inline]
81 pub fn input_id(&self) -> Option<&str> {
82 self.input_id.as_ref().map(|o| &**o)
83 }
84}