aws_sdk_elasticache/protocol_serde/
shape_modify_user_group.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_modify_user_group_http_error(
4 _response_status: u16,
5 _response_headers: &::aws_smithy_runtime_api::http::Headers,
6 _response_body: &[u8],
7) -> std::result::Result<crate::operation::modify_user_group::ModifyUserGroupOutput, crate::operation::modify_user_group::ModifyUserGroupError> {
8 #[allow(unused_mut)]
9 let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
10 .map_err(crate::operation::modify_user_group::ModifyUserGroupError::unhandled)?;
11 generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
12 let generic = generic_builder.build();
13 let error_code = match generic.code() {
14 Some(code) => code,
15 None => return Err(crate::operation::modify_user_group::ModifyUserGroupError::unhandled(generic)),
16 };
17
18 let _error_message = generic.message().map(|msg| msg.to_owned());
19 Err(match error_code {
20 "DefaultUserRequired" => crate::operation::modify_user_group::ModifyUserGroupError::DefaultUserRequired({
21 #[allow(unused_mut)]
22 let mut tmp = {
23 #[allow(unused_mut)]
24 let mut output = crate::types::error::builders::DefaultUserRequiredBuilder::default();
25 output = crate::protocol_serde::shape_default_user_required::de_default_user_required_xml_err(_response_body, output)
26 .map_err(crate::operation::modify_user_group::ModifyUserGroupError::unhandled)?;
27 let output = output.meta(generic);
28 output.build()
29 };
30 if tmp.message.is_none() {
31 tmp.message = _error_message;
32 }
33 tmp
34 }),
35 "DuplicateUserName" => crate::operation::modify_user_group::ModifyUserGroupError::DuplicateUserNameFault({
36 #[allow(unused_mut)]
37 let mut tmp = {
38 #[allow(unused_mut)]
39 let mut output = crate::types::error::builders::DuplicateUserNameFaultBuilder::default();
40 output = crate::protocol_serde::shape_duplicate_user_name_fault::de_duplicate_user_name_fault_xml_err(_response_body, output)
41 .map_err(crate::operation::modify_user_group::ModifyUserGroupError::unhandled)?;
42 let output = output.meta(generic);
43 output.build()
44 };
45 if tmp.message.is_none() {
46 tmp.message = _error_message;
47 }
48 tmp
49 }),
50 "InvalidParameterCombination" => crate::operation::modify_user_group::ModifyUserGroupError::InvalidParameterCombinationException({
51 #[allow(unused_mut)]
52 let mut tmp = {
53 #[allow(unused_mut)]
54 let mut output = crate::types::error::builders::InvalidParameterCombinationExceptionBuilder::default();
55 output = crate::protocol_serde::shape_invalid_parameter_combination_exception::de_invalid_parameter_combination_exception_xml_err(
56 _response_body,
57 output,
58 )
59 .map_err(crate::operation::modify_user_group::ModifyUserGroupError::unhandled)?;
60 let output = output.meta(generic);
61 output.build()
62 };
63 if tmp.message.is_none() {
64 tmp.message = _error_message;
65 }
66 tmp
67 }),
68 "InvalidParameterValue" => crate::operation::modify_user_group::ModifyUserGroupError::InvalidParameterValueException({
69 #[allow(unused_mut)]
70 let mut tmp = {
71 #[allow(unused_mut)]
72 let mut output = crate::types::error::builders::InvalidParameterValueExceptionBuilder::default();
73 output = crate::protocol_serde::shape_invalid_parameter_value_exception::de_invalid_parameter_value_exception_xml_err(
74 _response_body,
75 output,
76 )
77 .map_err(crate::operation::modify_user_group::ModifyUserGroupError::unhandled)?;
78 let output = output.meta(generic);
79 output.build()
80 };
81 if tmp.message.is_none() {
82 tmp.message = _error_message;
83 }
84 tmp
85 }),
86 "InvalidUserGroupState" => crate::operation::modify_user_group::ModifyUserGroupError::InvalidUserGroupStateFault({
87 #[allow(unused_mut)]
88 let mut tmp = {
89 #[allow(unused_mut)]
90 let mut output = crate::types::error::builders::InvalidUserGroupStateFaultBuilder::default();
91 output =
92 crate::protocol_serde::shape_invalid_user_group_state_fault::de_invalid_user_group_state_fault_xml_err(_response_body, output)
93 .map_err(crate::operation::modify_user_group::ModifyUserGroupError::unhandled)?;
94 let output = output.meta(generic);
95 output.build()
96 };
97 if tmp.message.is_none() {
98 tmp.message = _error_message;
99 }
100 tmp
101 }),
102 "ServiceLinkedRoleNotFoundFault" => crate::operation::modify_user_group::ModifyUserGroupError::ServiceLinkedRoleNotFoundFault({
103 #[allow(unused_mut)]
104 let mut tmp = {
105 #[allow(unused_mut)]
106 let mut output = crate::types::error::builders::ServiceLinkedRoleNotFoundFaultBuilder::default();
107 output = crate::protocol_serde::shape_service_linked_role_not_found_fault::de_service_linked_role_not_found_fault_xml_err(
108 _response_body,
109 output,
110 )
111 .map_err(crate::operation::modify_user_group::ModifyUserGroupError::unhandled)?;
112 let output = output.meta(generic);
113 output.build()
114 };
115 if tmp.message.is_none() {
116 tmp.message = _error_message;
117 }
118 tmp
119 }),
120 "UserGroupNotFound" => crate::operation::modify_user_group::ModifyUserGroupError::UserGroupNotFoundFault({
121 #[allow(unused_mut)]
122 let mut tmp = {
123 #[allow(unused_mut)]
124 let mut output = crate::types::error::builders::UserGroupNotFoundFaultBuilder::default();
125 output = crate::protocol_serde::shape_user_group_not_found_fault::de_user_group_not_found_fault_xml_err(_response_body, output)
126 .map_err(crate::operation::modify_user_group::ModifyUserGroupError::unhandled)?;
127 let output = output.meta(generic);
128 output.build()
129 };
130 if tmp.message.is_none() {
131 tmp.message = _error_message;
132 }
133 tmp
134 }),
135 "UserNotFound" => crate::operation::modify_user_group::ModifyUserGroupError::UserNotFoundFault({
136 #[allow(unused_mut)]
137 let mut tmp = {
138 #[allow(unused_mut)]
139 let mut output = crate::types::error::builders::UserNotFoundFaultBuilder::default();
140 output = crate::protocol_serde::shape_user_not_found_fault::de_user_not_found_fault_xml_err(_response_body, output)
141 .map_err(crate::operation::modify_user_group::ModifyUserGroupError::unhandled)?;
142 let output = output.meta(generic);
143 output.build()
144 };
145 if tmp.message.is_none() {
146 tmp.message = _error_message;
147 }
148 tmp
149 }),
150 _ => crate::operation::modify_user_group::ModifyUserGroupError::generic(generic),
151 })
152}
153
154#[allow(clippy::unnecessary_wraps)]
155pub fn de_modify_user_group_http_response(
156 _response_status: u16,
157 _response_headers: &::aws_smithy_runtime_api::http::Headers,
158 _response_body: &[u8],
159) -> std::result::Result<crate::operation::modify_user_group::ModifyUserGroupOutput, crate::operation::modify_user_group::ModifyUserGroupError> {
160 Ok({
161 #[allow(unused_mut)]
162 let mut output = crate::operation::modify_user_group::builders::ModifyUserGroupOutputBuilder::default();
163 output = crate::protocol_serde::shape_modify_user_group::de_modify_user_group(_response_body, output)
164 .map_err(crate::operation::modify_user_group::ModifyUserGroupError::unhandled)?;
165 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
166 output.build()
167 })
168}
169
170#[allow(unused_mut)]
171pub fn de_modify_user_group(
172 inp: &[u8],
173 mut builder: crate::operation::modify_user_group::builders::ModifyUserGroupOutputBuilder,
174) -> std::result::Result<crate::operation::modify_user_group::builders::ModifyUserGroupOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
175 let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
176
177 #[allow(unused_mut)]
178 let mut decoder = doc.root_element()?;
179 #[allow(unused_variables)]
180 let start_el = decoder.start_el();
181 if !(start_el.matches("ModifyUserGroupResponse")) {
182 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
183 "invalid root, expected ModifyUserGroupResponse got {start_el:?}"
184 )));
185 }
186 if let Some(mut result_tag) = decoder.next_tag() {
187 let start_el = result_tag.start_el();
188 if !(start_el.matches("ModifyUserGroupResult")) {
189 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
190 "invalid result, expected ModifyUserGroupResult got {start_el:?}"
191 )));
192 }
193 while let Some(mut tag) = result_tag.next_tag() {
194 match tag.start_el() {
195 s if s.matches("UserGroupId") => {
196 let var_1 =
197 Some(
198 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
199 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
200 .into()
201 )
202 ?
203 )
204 ;
205 builder = builder.set_user_group_id(var_1);
206 }
207 ,
208 s if s.matches("Status") => {
209 let var_2 =
210 Some(
211 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
212 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
213 .into()
214 )
215 ?
216 )
217 ;
218 builder = builder.set_status(var_2);
219 }
220 ,
221 s if s.matches("Engine") => {
222 let var_3 =
223 Some(
224 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
225 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
226 .into()
227 )
228 ?
229 )
230 ;
231 builder = builder.set_engine(var_3);
232 }
233 ,
234 s if s.matches("UserIds") => {
235 let var_4 =
236 Some(
237 crate::protocol_serde::shape_user_id_list::de_user_id_list(&mut tag)
238 ?
239 )
240 ;
241 builder = builder.set_user_ids(var_4);
242 }
243 ,
244 s if s.matches("MinimumEngineVersion") => {
245 let var_5 =
246 Some(
247 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
248 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
249 .into()
250 )
251 ?
252 )
253 ;
254 builder = builder.set_minimum_engine_version(var_5);
255 }
256 ,
257 s if s.matches("PendingChanges") => {
258 let var_6 =
259 Some(
260 crate::protocol_serde::shape_user_group_pending_changes::de_user_group_pending_changes(&mut tag)
261 ?
262 )
263 ;
264 builder = builder.set_pending_changes(var_6);
265 }
266 ,
267 s if s.matches("ReplicationGroups") => {
268 let var_7 =
269 Some(
270 crate::protocol_serde::shape_ug_replication_group_id_list::de_ug_replication_group_id_list(&mut tag)
271 ?
272 )
273 ;
274 builder = builder.set_replication_groups(var_7);
275 }
276 ,
277 s if s.matches("ServerlessCaches") => {
278 let var_8 =
279 Some(
280 crate::protocol_serde::shape_ug_serverless_cache_id_list::de_ug_serverless_cache_id_list(&mut tag)
281 ?
282 )
283 ;
284 builder = builder.set_serverless_caches(var_8);
285 }
286 ,
287 s if s.matches("ARN") => {
288 let var_9 =
289 Some(
290 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
291 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
292 .into()
293 )
294 ?
295 )
296 ;
297 builder = builder.set_arn(var_9);
298 }
299 ,
300 _ => {}
301 }
302 }
303 } else {
304 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom("expected ModifyUserGroupResult tag"));
305 };
306 Ok(builder)
307}