Skip to main content

nominal_api/conjure/objects/timeseries/metadata/api/
create_video_series_request.rs

1/// Creates series and metadata for a video channel if it doesn't exist.
2/// Returns the SeriesMetadataRid of the created or existing series metadata.
3#[derive(
4    Debug,
5    Clone,
6    conjure_object::serde::Serialize,
7    conjure_object::serde::Deserialize,
8    PartialEq,
9    Eq,
10    PartialOrd,
11    Ord,
12    Hash
13)]
14#[serde(crate = "conjure_object::serde")]
15#[conjure_object::private::staged_builder::staged_builder]
16#[builder(crate = conjure_object::private::staged_builder, update, inline)]
17pub struct CreateVideoSeriesRequest {
18    #[serde(rename = "datasetRid")]
19    dataset_rid: conjure_object::ResourceIdentifier,
20    #[builder(into)]
21    #[serde(rename = "channel")]
22    channel: String,
23    #[builder(default, map(key(type = String, into), value(type = String, into)))]
24    #[serde(
25        rename = "tags",
26        skip_serializing_if = "std::collections::BTreeMap::is_empty",
27        default
28    )]
29    tags: std::collections::BTreeMap<String, String>,
30    #[builder(custom(type = super::TimeBounds, convert = Box::new))]
31    #[serde(rename = "timeBounds")]
32    time_bounds: Box<super::TimeBounds>,
33}
34impl CreateVideoSeriesRequest {
35    /// Constructs a new instance of the type.
36    #[inline]
37    pub fn new(
38        dataset_rid: conjure_object::ResourceIdentifier,
39        channel: impl Into<String>,
40        time_bounds: super::TimeBounds,
41    ) -> Self {
42        Self::builder()
43            .dataset_rid(dataset_rid)
44            .channel(channel)
45            .time_bounds(time_bounds)
46            .build()
47    }
48    #[inline]
49    pub fn dataset_rid(&self) -> &conjure_object::ResourceIdentifier {
50        &self.dataset_rid
51    }
52    #[inline]
53    pub fn channel(&self) -> &str {
54        &*self.channel
55    }
56    #[inline]
57    pub fn tags(&self) -> &std::collections::BTreeMap<String, String> {
58        &self.tags
59    }
60    #[inline]
61    pub fn time_bounds(&self) -> &super::TimeBounds {
62        &*self.time_bounds
63    }
64}