nominal_api/conjure/objects/storage/datasource/api/
nominal_data_source.rs1#[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 NominalDataSource {
17 #[serde(rename = "rid")]
18 rid: super::super::super::super::api::rids::NominalDataSourceRid,
19 #[serde(rename = "id")]
20 id: super::NominalDataSourceId,
21 #[builder(default, into)]
22 #[serde(rename = "description", skip_serializing_if = "Option::is_none", default)]
23 description: Option<String>,
24 #[builder(default, into)]
25 #[serde(
26 rename = "dataLastWrittenAt",
27 skip_serializing_if = "Option::is_none",
28 default
29 )]
30 data_last_written_at: Option<conjure_object::DateTime<conjure_object::Utc>>,
31 #[serde(rename = "granularity")]
32 granularity: super::super::super::super::api::Granularity,
33 #[builder(default, into)]
34 #[serde(
35 rename = "inMemoryStreamingEnabled",
36 skip_serializing_if = "Option::is_none",
37 default
38 )]
39 in_memory_streaming_enabled: Option<bool>,
40}
41impl NominalDataSource {
42 #[inline]
44 pub fn new(
45 rid: super::super::super::super::api::rids::NominalDataSourceRid,
46 id: super::NominalDataSourceId,
47 granularity: super::super::super::super::api::Granularity,
48 ) -> Self {
49 Self::builder().rid(rid).id(id).granularity(granularity).build()
50 }
51 #[inline]
52 pub fn rid(&self) -> &super::super::super::super::api::rids::NominalDataSourceRid {
53 &self.rid
54 }
55 #[inline]
56 pub fn id(&self) -> &super::NominalDataSourceId {
57 &self.id
58 }
59 #[inline]
60 pub fn description(&self) -> Option<&str> {
61 self.description.as_ref().map(|o| &**o)
62 }
63 #[inline]
66 pub fn data_last_written_at(
67 &self,
68 ) -> Option<conjure_object::DateTime<conjure_object::Utc>> {
69 self.data_last_written_at.as_ref().map(|o| *o)
70 }
71 #[inline]
72 pub fn granularity(&self) -> &super::super::super::super::api::Granularity {
73 &self.granularity
74 }
75 #[inline]
76 pub fn in_memory_streaming_enabled(&self) -> Option<bool> {
77 self.in_memory_streaming_enabled.as_ref().map(|o| *o)
78 }
79}