aws_sdk_elasticloadbalancingv2/protocol_serde/
shape_modify_rule.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_modify_rule_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_rule::ModifyRuleOutput, crate::operation::modify_rule::ModifyRuleError> {
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_rule::ModifyRuleError::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_rule::ModifyRuleError::unhandled(generic)),
16 };
17
18 let _error_message = generic.message().map(|msg| msg.to_owned());
19 Err(match error_code {
20 "IncompatibleProtocols" => crate::operation::modify_rule::ModifyRuleError::IncompatibleProtocolsException({
21 #[allow(unused_mut)]
22 let mut tmp = {
23 #[allow(unused_mut)]
24 let mut output = crate::types::error::builders::IncompatibleProtocolsExceptionBuilder::default();
25 output = crate::protocol_serde::shape_incompatible_protocols_exception::de_incompatible_protocols_exception_xml_err(
26 _response_body,
27 output,
28 )
29 .map_err(crate::operation::modify_rule::ModifyRuleError::unhandled)?;
30 let output = output.meta(generic);
31 output.build()
32 };
33 if tmp.message.is_none() {
34 tmp.message = _error_message;
35 }
36 tmp
37 }),
38 "InvalidLoadBalancerAction" => crate::operation::modify_rule::ModifyRuleError::InvalidLoadBalancerActionException({
39 #[allow(unused_mut)]
40 let mut tmp = {
41 #[allow(unused_mut)]
42 let mut output = crate::types::error::builders::InvalidLoadBalancerActionExceptionBuilder::default();
43 output = crate::protocol_serde::shape_invalid_load_balancer_action_exception::de_invalid_load_balancer_action_exception_xml_err(
44 _response_body,
45 output,
46 )
47 .map_err(crate::operation::modify_rule::ModifyRuleError::unhandled)?;
48 let output = output.meta(generic);
49 output.build()
50 };
51 if tmp.message.is_none() {
52 tmp.message = _error_message;
53 }
54 tmp
55 }),
56 "OperationNotPermitted" => crate::operation::modify_rule::ModifyRuleError::OperationNotPermittedException({
57 #[allow(unused_mut)]
58 let mut tmp = {
59 #[allow(unused_mut)]
60 let mut output = crate::types::error::builders::OperationNotPermittedExceptionBuilder::default();
61 output = crate::protocol_serde::shape_operation_not_permitted_exception::de_operation_not_permitted_exception_xml_err(
62 _response_body,
63 output,
64 )
65 .map_err(crate::operation::modify_rule::ModifyRuleError::unhandled)?;
66 let output = output.meta(generic);
67 output.build()
68 };
69 if tmp.message.is_none() {
70 tmp.message = _error_message;
71 }
72 tmp
73 }),
74 "RuleNotFound" => crate::operation::modify_rule::ModifyRuleError::RuleNotFoundException({
75 #[allow(unused_mut)]
76 let mut tmp = {
77 #[allow(unused_mut)]
78 let mut output = crate::types::error::builders::RuleNotFoundExceptionBuilder::default();
79 output = crate::protocol_serde::shape_rule_not_found_exception::de_rule_not_found_exception_xml_err(_response_body, output)
80 .map_err(crate::operation::modify_rule::ModifyRuleError::unhandled)?;
81 let output = output.meta(generic);
82 output.build()
83 };
84 if tmp.message.is_none() {
85 tmp.message = _error_message;
86 }
87 tmp
88 }),
89 "TargetGroupAssociationLimit" => crate::operation::modify_rule::ModifyRuleError::TargetGroupAssociationLimitException({
90 #[allow(unused_mut)]
91 let mut tmp = {
92 #[allow(unused_mut)]
93 let mut output = crate::types::error::builders::TargetGroupAssociationLimitExceptionBuilder::default();
94 output = crate::protocol_serde::shape_target_group_association_limit_exception::de_target_group_association_limit_exception_xml_err(
95 _response_body,
96 output,
97 )
98 .map_err(crate::operation::modify_rule::ModifyRuleError::unhandled)?;
99 let output = output.meta(generic);
100 output.build()
101 };
102 if tmp.message.is_none() {
103 tmp.message = _error_message;
104 }
105 tmp
106 }),
107 "TargetGroupNotFound" => crate::operation::modify_rule::ModifyRuleError::TargetGroupNotFoundException({
108 #[allow(unused_mut)]
109 let mut tmp = {
110 #[allow(unused_mut)]
111 let mut output = crate::types::error::builders::TargetGroupNotFoundExceptionBuilder::default();
112 output = crate::protocol_serde::shape_target_group_not_found_exception::de_target_group_not_found_exception_xml_err(
113 _response_body,
114 output,
115 )
116 .map_err(crate::operation::modify_rule::ModifyRuleError::unhandled)?;
117 let output = output.meta(generic);
118 output.build()
119 };
120 if tmp.message.is_none() {
121 tmp.message = _error_message;
122 }
123 tmp
124 }),
125 "TooManyActions" => crate::operation::modify_rule::ModifyRuleError::TooManyActionsException({
126 #[allow(unused_mut)]
127 let mut tmp = {
128 #[allow(unused_mut)]
129 let mut output = crate::types::error::builders::TooManyActionsExceptionBuilder::default();
130 output = crate::protocol_serde::shape_too_many_actions_exception::de_too_many_actions_exception_xml_err(_response_body, output)
131 .map_err(crate::operation::modify_rule::ModifyRuleError::unhandled)?;
132 let output = output.meta(generic);
133 output.build()
134 };
135 if tmp.message.is_none() {
136 tmp.message = _error_message;
137 }
138 tmp
139 }),
140 "TooManyRegistrationsForTargetId" => crate::operation::modify_rule::ModifyRuleError::TooManyRegistrationsForTargetIdException({
141 #[allow(unused_mut)]
142 let mut tmp = {
143 #[allow(unused_mut)]
144 let mut output = crate::types::error::builders::TooManyRegistrationsForTargetIdExceptionBuilder::default();
145 output = crate::protocol_serde::shape_too_many_registrations_for_target_id_exception::de_too_many_registrations_for_target_id_exception_xml_err(_response_body, output).map_err(crate::operation::modify_rule::ModifyRuleError::unhandled)?;
146 let output = output.meta(generic);
147 output.build()
148 };
149 if tmp.message.is_none() {
150 tmp.message = _error_message;
151 }
152 tmp
153 }),
154 "TooManyTargets" => crate::operation::modify_rule::ModifyRuleError::TooManyTargetsException({
155 #[allow(unused_mut)]
156 let mut tmp = {
157 #[allow(unused_mut)]
158 let mut output = crate::types::error::builders::TooManyTargetsExceptionBuilder::default();
159 output = crate::protocol_serde::shape_too_many_targets_exception::de_too_many_targets_exception_xml_err(_response_body, output)
160 .map_err(crate::operation::modify_rule::ModifyRuleError::unhandled)?;
161 let output = output.meta(generic);
162 output.build()
163 };
164 if tmp.message.is_none() {
165 tmp.message = _error_message;
166 }
167 tmp
168 }),
169 "TooManyUniqueTargetGroupsPerLoadBalancer" => {
170 crate::operation::modify_rule::ModifyRuleError::TooManyUniqueTargetGroupsPerLoadBalancerException({
171 #[allow(unused_mut)]
172 let mut tmp = {
173 #[allow(unused_mut)]
174 let mut output = crate::types::error::builders::TooManyUniqueTargetGroupsPerLoadBalancerExceptionBuilder::default();
175 output = crate::protocol_serde::shape_too_many_unique_target_groups_per_load_balancer_exception::de_too_many_unique_target_groups_per_load_balancer_exception_xml_err(_response_body, output).map_err(crate::operation::modify_rule::ModifyRuleError::unhandled)?;
176 let output = output.meta(generic);
177 output.build()
178 };
179 if tmp.message.is_none() {
180 tmp.message = _error_message;
181 }
182 tmp
183 })
184 }
185 "UnsupportedProtocol" => crate::operation::modify_rule::ModifyRuleError::UnsupportedProtocolException({
186 #[allow(unused_mut)]
187 let mut tmp = {
188 #[allow(unused_mut)]
189 let mut output = crate::types::error::builders::UnsupportedProtocolExceptionBuilder::default();
190 output =
191 crate::protocol_serde::shape_unsupported_protocol_exception::de_unsupported_protocol_exception_xml_err(_response_body, output)
192 .map_err(crate::operation::modify_rule::ModifyRuleError::unhandled)?;
193 let output = output.meta(generic);
194 output.build()
195 };
196 if tmp.message.is_none() {
197 tmp.message = _error_message;
198 }
199 tmp
200 }),
201 _ => crate::operation::modify_rule::ModifyRuleError::generic(generic),
202 })
203}
204
205#[allow(clippy::unnecessary_wraps)]
206pub fn de_modify_rule_http_response(
207 _response_status: u16,
208 _response_headers: &::aws_smithy_runtime_api::http::Headers,
209 _response_body: &[u8],
210) -> std::result::Result<crate::operation::modify_rule::ModifyRuleOutput, crate::operation::modify_rule::ModifyRuleError> {
211 Ok({
212 #[allow(unused_mut)]
213 let mut output = crate::operation::modify_rule::builders::ModifyRuleOutputBuilder::default();
214 output = crate::protocol_serde::shape_modify_rule::de_modify_rule(_response_body, output)
215 .map_err(crate::operation::modify_rule::ModifyRuleError::unhandled)?;
216 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
217 output.build()
218 })
219}
220
221#[allow(unused_mut)]
222pub fn de_modify_rule(
223 inp: &[u8],
224 mut builder: crate::operation::modify_rule::builders::ModifyRuleOutputBuilder,
225) -> std::result::Result<crate::operation::modify_rule::builders::ModifyRuleOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
226 let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
227
228 #[allow(unused_mut)]
229 let mut decoder = doc.root_element()?;
230 #[allow(unused_variables)]
231 let start_el = decoder.start_el();
232 if !(start_el.matches("ModifyRuleResponse")) {
233 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
234 "invalid root, expected ModifyRuleResponse got {:?}",
235 start_el
236 )));
237 }
238 if let Some(mut result_tag) = decoder.next_tag() {
239 let start_el = result_tag.start_el();
240 if !(start_el.matches("ModifyRuleResult")) {
241 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
242 "invalid result, expected ModifyRuleResult got {:?}",
243 start_el
244 )));
245 }
246 while let Some(mut tag) = result_tag.next_tag() {
247 match tag.start_el() {
248 s if s.matches("Rules") => {
249 let var_1 =
250 Some(
251 crate::protocol_serde::shape_rules::de_rules(&mut tag)
252 ?
253 )
254 ;
255 builder = builder.set_rules(var_1);
256 }
257 ,
258 _ => {}
259 }
260 }
261 } else {
262 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom("expected ModifyRuleResult tag"));
263 };
264 Ok(builder)
265}