nominal_api/conjure/objects/scout/template/api/
duplicate_template_request.rs1#[derive(
5 Debug,
6 Clone,
7 conjure_object::serde::Serialize,
8 conjure_object::serde::Deserialize,
9 PartialEq,
10 Eq,
11 PartialOrd,
12 Ord,
13 Hash
14)]
15#[serde(crate = "conjure_object::serde")]
16#[conjure_object::private::staged_builder::staged_builder]
17#[builder(crate = conjure_object::private::staged_builder, update, inline)]
18pub struct DuplicateTemplateRequest {
19 #[builder(default, into)]
20 #[serde(rename = "title", skip_serializing_if = "Option::is_none", default)]
21 title: Option<String>,
22 #[builder(default, into)]
23 #[serde(rename = "titleSuffix", skip_serializing_if = "Option::is_none", default)]
24 title_suffix: Option<String>,
25 #[builder(default, into)]
26 #[serde(rename = "description", skip_serializing_if = "Option::is_none", default)]
27 description: Option<String>,
28 #[builder(default, into)]
29 #[serde(rename = "isPublished", skip_serializing_if = "Option::is_none", default)]
30 is_published: Option<bool>,
31 #[builder(default, into)]
32 #[serde(rename = "workspace", skip_serializing_if = "Option::is_none", default)]
33 workspace: Option<conjure_object::ResourceIdentifier>,
34 #[builder(default, into)]
35 #[serde(rename = "labels", skip_serializing_if = "Option::is_none", default)]
36 labels: Option<std::collections::BTreeSet<super::super::super::super::api::Label>>,
37 #[builder(default, into)]
38 #[serde(rename = "properties", skip_serializing_if = "Option::is_none", default)]
39 properties: Option<
40 std::collections::BTreeMap<
41 super::super::super::super::api::PropertyName,
42 super::super::super::super::api::PropertyValue,
43 >,
44 >,
45 #[builder(
46 default,
47 custom(
48 type = impl
49 Into<Option<super::super::super::super::api::ThemeAwareImage>>,
50 convert = |v|v.into().map(Box::new)
51 )
52 )]
53 #[serde(rename = "previewImage", skip_serializing_if = "Option::is_none", default)]
54 preview_image: Option<Box<super::super::super::super::api::ThemeAwareImage>>,
55}
56impl DuplicateTemplateRequest {
57 #[inline]
59 pub fn new() -> Self {
60 Self::builder().build()
61 }
62 #[inline]
65 pub fn title(&self) -> Option<&str> {
66 self.title.as_ref().map(|o| &**o)
67 }
68 #[inline]
71 pub fn title_suffix(&self) -> Option<&str> {
72 self.title_suffix.as_ref().map(|o| &**o)
73 }
74 #[inline]
76 pub fn description(&self) -> Option<&str> {
77 self.description.as_ref().map(|o| &**o)
78 }
79 #[inline]
81 pub fn is_published(&self) -> Option<bool> {
82 self.is_published.as_ref().map(|o| *o)
83 }
84 #[inline]
87 pub fn workspace(&self) -> Option<&conjure_object::ResourceIdentifier> {
88 self.workspace.as_ref().map(|o| &*o)
89 }
90 #[inline]
92 pub fn labels(
93 &self,
94 ) -> Option<&std::collections::BTreeSet<super::super::super::super::api::Label>> {
95 self.labels.as_ref().map(|o| &*o)
96 }
97 #[inline]
99 pub fn properties(
100 &self,
101 ) -> Option<
102 &std::collections::BTreeMap<
103 super::super::super::super::api::PropertyName,
104 super::super::super::super::api::PropertyValue,
105 >,
106 > {
107 self.properties.as_ref().map(|o| &*o)
108 }
109 #[inline]
111 pub fn preview_image(
112 &self,
113 ) -> Option<&super::super::super::super::api::ThemeAwareImage> {
114 self.preview_image.as_ref().map(|o| &**o)
115 }
116}