Skip to main content

nominal_api/conjure/objects/scout/template/api/
template.rs

1#[derive(
2    Debug,
3    Clone,
4    conjure_object::serde::Serialize,
5    conjure_object::serde::Deserialize,
6    conjure_object::private::DeriveWith
7)]
8#[serde(crate = "conjure_object::serde")]
9#[derive_with(PartialEq, Eq, PartialOrd, Ord, Hash)]
10#[conjure_object::private::staged_builder::staged_builder]
11#[builder(crate = conjure_object::private::staged_builder, update, inline)]
12pub struct Template {
13    #[serde(rename = "rid")]
14    rid: super::super::super::rids::api::TemplateRid,
15    #[builder(custom(type = super::TemplateMetadata, convert = Box::new))]
16    #[serde(rename = "metadata")]
17    metadata: Box<super::TemplateMetadata>,
18    #[builder(
19        custom(type = super::super::super::versioning::api::Commit, convert = Box::new)
20    )]
21    #[serde(rename = "commit")]
22    commit: Box<super::super::super::versioning::api::Commit>,
23    #[builder(
24        default,
25        list(item(type = super::super::super::rids::api::VersionedVizId))
26    )]
27    #[serde(rename = "charts", skip_serializing_if = "Vec::is_empty", default)]
28    charts: Vec<super::super::super::rids::api::VersionedVizId>,
29    #[builder(
30        custom(
31            type = super::super::super::layout::api::WorkbookLayout,
32            convert = Box::new
33        )
34    )]
35    #[serde(rename = "layout")]
36    layout: Box<super::super::super::layout::api::WorkbookLayout>,
37    #[builder(
38        custom(
39            type = super::super::super::workbookcommon::api::WorkbookContent,
40            convert = Box::new
41        )
42    )]
43    #[serde(rename = "content")]
44    content: Box<super::super::super::workbookcommon::api::WorkbookContent>,
45}
46impl Template {
47    #[inline]
48    pub fn rid(&self) -> &super::super::super::rids::api::TemplateRid {
49        &self.rid
50    }
51    #[inline]
52    pub fn metadata(&self) -> &super::TemplateMetadata {
53        &*self.metadata
54    }
55    #[inline]
56    pub fn commit(&self) -> &super::super::super::versioning::api::Commit {
57        &*self.commit
58    }
59    #[deprecated(
60        note = "charts are no longer versioned resources. They are stored in workbook content."
61    )]
62    #[inline]
63    pub fn charts(&self) -> &[super::super::super::rids::api::VersionedVizId] {
64        &*self.charts
65    }
66    #[inline]
67    pub fn layout(&self) -> &super::super::super::layout::api::WorkbookLayout {
68        &*self.layout
69    }
70    #[inline]
71    pub fn content(&self) -> &super::super::super::workbookcommon::api::WorkbookContent {
72        &*self.content
73    }
74}