Skip to main content

nominal_api/conjure/objects/scout/catalog/
dataset.rs

1#[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 Dataset {
16    #[serde(rename = "rid")]
17    rid: conjure_object::ResourceIdentifier,
18    #[builder(into)]
19    #[serde(rename = "name")]
20    name: String,
21    #[builder(
22        default,
23        custom(
24            type = impl
25            Into<Option<super::Handle>>,
26            convert = |v|v.into().map(Box::new)
27        )
28    )]
29    #[serde(rename = "handle", skip_serializing_if = "Option::is_none", default)]
30    handle: Option<Box<super::Handle>>,
31    #[builder(default, into)]
32    #[serde(rename = "description", skip_serializing_if = "Option::is_none", default)]
33    description: Option<String>,
34    #[builder(custom(type = super::DatasetOriginMetadata, convert = Box::new))]
35    #[serde(rename = "originMetadata")]
36    origin_metadata: Box<super::DatasetOriginMetadata>,
37    #[builder(
38        default,
39        custom(
40            type = impl
41            Into<Option<super::Bounds>>,
42            convert = |v|v.into().map(Box::new)
43        )
44    )]
45    #[serde(rename = "bounds", skip_serializing_if = "Option::is_none", default)]
46    bounds: Option<Box<super::Bounds>>,
47    #[builder(
48        default,
49        map(
50            key(type = super::super::super::api::PropertyName),
51            value(type = super::super::super::api::PropertyValue)
52        )
53    )]
54    #[serde(
55        rename = "properties",
56        skip_serializing_if = "std::collections::BTreeMap::is_empty",
57        default
58    )]
59    properties: std::collections::BTreeMap<
60        super::super::super::api::PropertyName,
61        super::super::super::api::PropertyValue,
62    >,
63    #[builder(default, set(item(type = super::super::super::api::Label)))]
64    #[serde(
65        rename = "labels",
66        skip_serializing_if = "std::collections::BTreeSet::is_empty",
67        default
68    )]
69    labels: std::collections::BTreeSet<super::super::super::api::Label>,
70    #[serde(rename = "timestampType")]
71    timestamp_type: super::WeakTimestampType,
72    #[serde(rename = "allowStreaming")]
73    allow_streaming: bool,
74    #[serde(rename = "granularity")]
75    granularity: super::super::super::api::Granularity,
76    #[serde(rename = "isArchived")]
77    is_archived: bool,
78    #[builder(default, into)]
79    #[serde(rename = "datasetType", skip_serializing_if = "Option::is_none", default)]
80    dataset_type: Option<super::DatasetBackingType>,
81}
82impl Dataset {
83    #[inline]
84    pub fn rid(&self) -> &conjure_object::ResourceIdentifier {
85        &self.rid
86    }
87    #[inline]
88    pub fn name(&self) -> &str {
89        &*self.name
90    }
91    #[deprecated(note = "Deprecated. Use DatasetFile#handle")]
92    #[inline]
93    pub fn handle(&self) -> Option<&super::Handle> {
94        self.handle.as_ref().map(|o| &**o)
95    }
96    #[inline]
97    pub fn description(&self) -> Option<&str> {
98        self.description.as_ref().map(|o| &**o)
99    }
100    #[inline]
101    pub fn origin_metadata(&self) -> &super::DatasetOriginMetadata {
102        &*self.origin_metadata
103    }
104    #[inline]
105    pub fn bounds(&self) -> Option<&super::Bounds> {
106        self.bounds.as_ref().map(|o| &**o)
107    }
108    #[inline]
109    pub fn properties(
110        &self,
111    ) -> &std::collections::BTreeMap<
112        super::super::super::api::PropertyName,
113        super::super::super::api::PropertyValue,
114    > {
115        &self.properties
116    }
117    #[inline]
118    pub fn labels(
119        &self,
120    ) -> &std::collections::BTreeSet<super::super::super::api::Label> {
121        &self.labels
122    }
123    #[inline]
124    pub fn timestamp_type(&self) -> &super::WeakTimestampType {
125        &self.timestamp_type
126    }
127    #[inline]
128    pub fn allow_streaming(&self) -> bool {
129        self.allow_streaming
130    }
131    #[inline]
132    pub fn granularity(&self) -> &super::super::super::api::Granularity {
133        &self.granularity
134    }
135    #[inline]
136    pub fn is_archived(&self) -> bool {
137        self.is_archived
138    }
139    #[inline]
140    pub fn dataset_type(&self) -> Option<&super::DatasetBackingType> {
141        self.dataset_type.as_ref().map(|o| &*o)
142    }
143}