Skip to main content

nominal_api/conjure/objects/scout/video/api/
video_asset_channel.rs

1/// Reference a video channel via an Asset's data scope
2#[derive(
3    Debug,
4    Clone,
5    conjure_object::serde::Serialize,
6    conjure_object::serde::Deserialize,
7    PartialEq,
8    Eq,
9    PartialOrd,
10    Ord,
11    Hash
12)]
13#[serde(crate = "conjure_object::serde")]
14#[conjure_object::private::staged_builder::staged_builder]
15#[builder(crate = conjure_object::private::staged_builder, update, inline)]
16pub struct VideoAssetChannel {
17    #[builder(into)]
18    #[serde(rename = "assetRid")]
19    asset_rid: String,
20    #[builder(into)]
21    #[serde(rename = "dataScopeName")]
22    data_scope_name: String,
23    #[builder(into)]
24    #[serde(rename = "channel")]
25    channel: String,
26    #[builder(default, map(key(type = String, into), value(type = String, into)))]
27    #[serde(
28        rename = "tags",
29        skip_serializing_if = "std::collections::BTreeMap::is_empty",
30        default
31    )]
32    tags: std::collections::BTreeMap<String, String>,
33}
34impl VideoAssetChannel {
35    /// Constructs a new instance of the type.
36    #[inline]
37    pub fn new(
38        asset_rid: impl Into<String>,
39        data_scope_name: impl Into<String>,
40        channel: impl Into<String>,
41    ) -> Self {
42        Self::builder()
43            .asset_rid(asset_rid)
44            .data_scope_name(data_scope_name)
45            .channel(channel)
46            .build()
47    }
48    #[inline]
49    pub fn asset_rid(&self) -> &str {
50        &*self.asset_rid
51    }
52    #[inline]
53    pub fn data_scope_name(&self) -> &str {
54        &*self.data_scope_name
55    }
56    #[inline]
57    pub fn channel(&self) -> &str {
58        &*self.channel
59    }
60    #[inline]
61    pub fn tags(&self) -> &std::collections::BTreeMap<String, String> {
62        &self.tags
63    }
64}