aws_sdk_connectcases/operation/create_template/
_create_template_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateTemplateInput {
6 pub domain_id: ::std::option::Option<::std::string::String>,
8 pub name: ::std::option::Option<::std::string::String>,
10 pub description: ::std::option::Option<::std::string::String>,
12 pub layout_configuration: ::std::option::Option<crate::types::LayoutConfiguration>,
14 pub required_fields: ::std::option::Option<::std::vec::Vec<crate::types::RequiredField>>,
16 pub status: ::std::option::Option<crate::types::TemplateStatus>,
18 pub rules: ::std::option::Option<::std::vec::Vec<crate::types::TemplateRule>>,
20}
21impl CreateTemplateInput {
22 pub fn domain_id(&self) -> ::std::option::Option<&str> {
24 self.domain_id.as_deref()
25 }
26 pub fn name(&self) -> ::std::option::Option<&str> {
28 self.name.as_deref()
29 }
30 pub fn description(&self) -> ::std::option::Option<&str> {
32 self.description.as_deref()
33 }
34 pub fn layout_configuration(&self) -> ::std::option::Option<&crate::types::LayoutConfiguration> {
36 self.layout_configuration.as_ref()
37 }
38 pub fn required_fields(&self) -> &[crate::types::RequiredField] {
42 self.required_fields.as_deref().unwrap_or_default()
43 }
44 pub fn status(&self) -> ::std::option::Option<&crate::types::TemplateStatus> {
46 self.status.as_ref()
47 }
48 pub fn rules(&self) -> &[crate::types::TemplateRule] {
52 self.rules.as_deref().unwrap_or_default()
53 }
54}
55impl CreateTemplateInput {
56 pub fn builder() -> crate::operation::create_template::builders::CreateTemplateInputBuilder {
58 crate::operation::create_template::builders::CreateTemplateInputBuilder::default()
59 }
60}
61
62#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
64#[non_exhaustive]
65pub struct CreateTemplateInputBuilder {
66 pub(crate) domain_id: ::std::option::Option<::std::string::String>,
67 pub(crate) name: ::std::option::Option<::std::string::String>,
68 pub(crate) description: ::std::option::Option<::std::string::String>,
69 pub(crate) layout_configuration: ::std::option::Option<crate::types::LayoutConfiguration>,
70 pub(crate) required_fields: ::std::option::Option<::std::vec::Vec<crate::types::RequiredField>>,
71 pub(crate) status: ::std::option::Option<crate::types::TemplateStatus>,
72 pub(crate) rules: ::std::option::Option<::std::vec::Vec<crate::types::TemplateRule>>,
73}
74impl CreateTemplateInputBuilder {
75 pub fn domain_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
78 self.domain_id = ::std::option::Option::Some(input.into());
79 self
80 }
81 pub fn set_domain_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
83 self.domain_id = input;
84 self
85 }
86 pub fn get_domain_id(&self) -> &::std::option::Option<::std::string::String> {
88 &self.domain_id
89 }
90 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
93 self.name = ::std::option::Option::Some(input.into());
94 self
95 }
96 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
98 self.name = input;
99 self
100 }
101 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
103 &self.name
104 }
105 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
107 self.description = ::std::option::Option::Some(input.into());
108 self
109 }
110 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
112 self.description = input;
113 self
114 }
115 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
117 &self.description
118 }
119 pub fn layout_configuration(mut self, input: crate::types::LayoutConfiguration) -> Self {
121 self.layout_configuration = ::std::option::Option::Some(input);
122 self
123 }
124 pub fn set_layout_configuration(mut self, input: ::std::option::Option<crate::types::LayoutConfiguration>) -> Self {
126 self.layout_configuration = input;
127 self
128 }
129 pub fn get_layout_configuration(&self) -> &::std::option::Option<crate::types::LayoutConfiguration> {
131 &self.layout_configuration
132 }
133 pub fn required_fields(mut self, input: crate::types::RequiredField) -> Self {
139 let mut v = self.required_fields.unwrap_or_default();
140 v.push(input);
141 self.required_fields = ::std::option::Option::Some(v);
142 self
143 }
144 pub fn set_required_fields(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::RequiredField>>) -> Self {
146 self.required_fields = input;
147 self
148 }
149 pub fn get_required_fields(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::RequiredField>> {
151 &self.required_fields
152 }
153 pub fn status(mut self, input: crate::types::TemplateStatus) -> Self {
155 self.status = ::std::option::Option::Some(input);
156 self
157 }
158 pub fn set_status(mut self, input: ::std::option::Option<crate::types::TemplateStatus>) -> Self {
160 self.status = input;
161 self
162 }
163 pub fn get_status(&self) -> &::std::option::Option<crate::types::TemplateStatus> {
165 &self.status
166 }
167 pub fn rules(mut self, input: crate::types::TemplateRule) -> Self {
173 let mut v = self.rules.unwrap_or_default();
174 v.push(input);
175 self.rules = ::std::option::Option::Some(v);
176 self
177 }
178 pub fn set_rules(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TemplateRule>>) -> Self {
180 self.rules = input;
181 self
182 }
183 pub fn get_rules(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TemplateRule>> {
185 &self.rules
186 }
187 pub fn build(
189 self,
190 ) -> ::std::result::Result<crate::operation::create_template::CreateTemplateInput, ::aws_smithy_types::error::operation::BuildError> {
191 ::std::result::Result::Ok(crate::operation::create_template::CreateTemplateInput {
192 domain_id: self.domain_id,
193 name: self.name,
194 description: self.description,
195 layout_configuration: self.layout_configuration,
196 required_fields: self.required_fields,
197 status: self.status,
198 rules: self.rules,
199 })
200 }
201}