nominal_api/conjure/objects/scout/notebook/api/
duplicate_notebook_request.rs1#[derive(
6 Debug,
7 Clone,
8 conjure_object::serde::Serialize,
9 conjure_object::serde::Deserialize,
10 PartialEq,
11 Eq,
12 PartialOrd,
13 Ord,
14 Hash
15)]
16#[serde(crate = "conjure_object::serde")]
17#[conjure_object::private::staged_builder::staged_builder]
18#[builder(crate = conjure_object::private::staged_builder, update, inline)]
19pub struct DuplicateNotebookRequest {
20 #[builder(default, into)]
21 #[serde(rename = "title", skip_serializing_if = "Option::is_none", default)]
22 title: Option<String>,
23 #[builder(default, into)]
24 #[serde(rename = "titleSuffix", skip_serializing_if = "Option::is_none", default)]
25 title_suffix: Option<String>,
26 #[builder(default, into)]
27 #[serde(rename = "description", skip_serializing_if = "Option::is_none", default)]
28 description: Option<String>,
29 #[builder(
30 default,
31 custom(
32 type = impl
33 Into<Option<super::NotebookDataScope>>,
34 convert = |v|v.into().map(Box::new)
35 )
36 )]
37 #[serde(rename = "dataScope", skip_serializing_if = "Option::is_none", default)]
38 data_scope: Option<Box<super::NotebookDataScope>>,
39 #[builder(default, into)]
40 #[serde(rename = "isDraft", skip_serializing_if = "Option::is_none", default)]
41 is_draft: Option<bool>,
42 #[builder(default, into)]
43 #[serde(rename = "isLocked", skip_serializing_if = "Option::is_none", default)]
44 is_locked: Option<bool>,
45 #[serde(rename = "workspace")]
46 workspace: conjure_object::ResourceIdentifier,
47 #[builder(default, into)]
48 #[serde(rename = "labels", skip_serializing_if = "Option::is_none", default)]
49 labels: Option<std::collections::BTreeSet<String>>,
50 #[builder(default, into)]
51 #[serde(rename = "properties", skip_serializing_if = "Option::is_none", default)]
52 properties: Option<std::collections::BTreeMap<String, String>>,
53 #[builder(
54 default,
55 custom(
56 type = impl
57 Into<Option<super::super::super::super::api::ThemeAwareImage>>,
58 convert = |v|v.into().map(Box::new)
59 )
60 )]
61 #[serde(rename = "previewImage", skip_serializing_if = "Option::is_none", default)]
62 preview_image: Option<Box<super::super::super::super::api::ThemeAwareImage>>,
63}
64impl DuplicateNotebookRequest {
65 #[inline]
67 pub fn new(workspace: conjure_object::ResourceIdentifier) -> Self {
68 Self::builder().workspace(workspace).build()
69 }
70 #[inline]
73 pub fn title(&self) -> Option<&str> {
74 self.title.as_ref().map(|o| &**o)
75 }
76 #[inline]
79 pub fn title_suffix(&self) -> Option<&str> {
80 self.title_suffix.as_ref().map(|o| &**o)
81 }
82 #[inline]
84 pub fn description(&self) -> Option<&str> {
85 self.description.as_ref().map(|o| &**o)
86 }
87 #[inline]
89 pub fn data_scope(&self) -> Option<&super::NotebookDataScope> {
90 self.data_scope.as_ref().map(|o| &**o)
91 }
92 #[inline]
96 pub fn is_draft(&self) -> Option<bool> {
97 self.is_draft.as_ref().map(|o| *o)
98 }
99 #[inline]
102 pub fn is_locked(&self) -> Option<bool> {
103 self.is_locked.as_ref().map(|o| *o)
104 }
105 #[inline]
107 pub fn workspace(&self) -> &conjure_object::ResourceIdentifier {
108 &self.workspace
109 }
110 #[inline]
112 pub fn labels(&self) -> Option<&std::collections::BTreeSet<String>> {
113 self.labels.as_ref().map(|o| &*o)
114 }
115 #[inline]
117 pub fn properties(&self) -> Option<&std::collections::BTreeMap<String, String>> {
118 self.properties.as_ref().map(|o| &*o)
119 }
120 #[inline]
122 pub fn preview_image(
123 &self,
124 ) -> Option<&super::super::super::super::api::ThemeAwareImage> {
125 self.preview_image.as_ref().map(|o| &**o)
126 }
127}