aws_sdk_wafv2/protocol_serde/
shape_create_web_acl.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_create_web_acl_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::create_web_acl::CreateWebAclOutput, crate::operation::create_web_acl::CreateWebACLError> {
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::create_web_acl::CreateWebACLError::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::create_web_acl::CreateWebACLError::unhandled(generic)),
16 };
17
18 let _error_message = generic.message().map(|msg| msg.to_owned());
19 Err(match error_code {
20 "WAFConfigurationWarningException" => crate::operation::create_web_acl::CreateWebACLError::WafConfigurationWarningException({
21 #[allow(unused_mut)]
22 let mut tmp = {
23 #[allow(unused_mut)]
24 let mut output = crate::types::error::builders::WafConfigurationWarningExceptionBuilder::default();
25 output = crate::protocol_serde::shape_waf_configuration_warning_exception::de_waf_configuration_warning_exception_json_err(
26 _response_body,
27 output,
28 )
29 .map_err(crate::operation::create_web_acl::CreateWebACLError::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 "WAFDuplicateItemException" => crate::operation::create_web_acl::CreateWebACLError::WafDuplicateItemException({
39 #[allow(unused_mut)]
40 let mut tmp = {
41 #[allow(unused_mut)]
42 let mut output = crate::types::error::builders::WafDuplicateItemExceptionBuilder::default();
43 output = crate::protocol_serde::shape_waf_duplicate_item_exception::de_waf_duplicate_item_exception_json_err(_response_body, output)
44 .map_err(crate::operation::create_web_acl::CreateWebACLError::unhandled)?;
45 let output = output.meta(generic);
46 output.build()
47 };
48 if tmp.message.is_none() {
49 tmp.message = _error_message;
50 }
51 tmp
52 }),
53 "WAFExpiredManagedRuleGroupVersionException" => {
54 crate::operation::create_web_acl::CreateWebACLError::WafExpiredManagedRuleGroupVersionException({
55 #[allow(unused_mut)]
56 let mut tmp = {
57 #[allow(unused_mut)]
58 let mut output = crate::types::error::builders::WafExpiredManagedRuleGroupVersionExceptionBuilder::default();
59 output = crate::protocol_serde::shape_waf_expired_managed_rule_group_version_exception::de_waf_expired_managed_rule_group_version_exception_json_err(_response_body, output).map_err(crate::operation::create_web_acl::CreateWebACLError::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 }
69 "WAFInternalErrorException" => crate::operation::create_web_acl::CreateWebACLError::WafInternalErrorException({
70 #[allow(unused_mut)]
71 let mut tmp = {
72 #[allow(unused_mut)]
73 let mut output = crate::types::error::builders::WafInternalErrorExceptionBuilder::default();
74 output = crate::protocol_serde::shape_waf_internal_error_exception::de_waf_internal_error_exception_json_err(_response_body, output)
75 .map_err(crate::operation::create_web_acl::CreateWebACLError::unhandled)?;
76 let output = output.meta(generic);
77 output.build()
78 };
79 if tmp.message.is_none() {
80 tmp.message = _error_message;
81 }
82 tmp
83 }),
84 "WAFInvalidOperationException" => crate::operation::create_web_acl::CreateWebACLError::WafInvalidOperationException({
85 #[allow(unused_mut)]
86 let mut tmp = {
87 #[allow(unused_mut)]
88 let mut output = crate::types::error::builders::WafInvalidOperationExceptionBuilder::default();
89 output =
90 crate::protocol_serde::shape_waf_invalid_operation_exception::de_waf_invalid_operation_exception_json_err(_response_body, output)
91 .map_err(crate::operation::create_web_acl::CreateWebACLError::unhandled)?;
92 let output = output.meta(generic);
93 output.build()
94 };
95 if tmp.message.is_none() {
96 tmp.message = _error_message;
97 }
98 tmp
99 }),
100 "WAFInvalidParameterException" => crate::operation::create_web_acl::CreateWebACLError::WafInvalidParameterException({
101 #[allow(unused_mut)]
102 let mut tmp = {
103 #[allow(unused_mut)]
104 let mut output = crate::types::error::builders::WafInvalidParameterExceptionBuilder::default();
105 output =
106 crate::protocol_serde::shape_waf_invalid_parameter_exception::de_waf_invalid_parameter_exception_json_err(_response_body, output)
107 .map_err(crate::operation::create_web_acl::CreateWebACLError::unhandled)?;
108 let output = output.meta(generic);
109 output.build()
110 };
111 if tmp.message.is_none() {
112 tmp.message = _error_message;
113 }
114 tmp
115 }),
116 "WAFInvalidResourceException" => crate::operation::create_web_acl::CreateWebACLError::WafInvalidResourceException({
117 #[allow(unused_mut)]
118 let mut tmp = {
119 #[allow(unused_mut)]
120 let mut output = crate::types::error::builders::WafInvalidResourceExceptionBuilder::default();
121 output =
122 crate::protocol_serde::shape_waf_invalid_resource_exception::de_waf_invalid_resource_exception_json_err(_response_body, output)
123 .map_err(crate::operation::create_web_acl::CreateWebACLError::unhandled)?;
124 let output = output.meta(generic);
125 output.build()
126 };
127 if tmp.message.is_none() {
128 tmp.message = _error_message;
129 }
130 tmp
131 }),
132 "WAFLimitsExceededException" => crate::operation::create_web_acl::CreateWebACLError::WafLimitsExceededException({
133 #[allow(unused_mut)]
134 let mut tmp = {
135 #[allow(unused_mut)]
136 let mut output = crate::types::error::builders::WafLimitsExceededExceptionBuilder::default();
137 output =
138 crate::protocol_serde::shape_waf_limits_exceeded_exception::de_waf_limits_exceeded_exception_json_err(_response_body, output)
139 .map_err(crate::operation::create_web_acl::CreateWebACLError::unhandled)?;
140 let output = output.meta(generic);
141 output.build()
142 };
143 if tmp.message.is_none() {
144 tmp.message = _error_message;
145 }
146 tmp
147 }),
148 "WAFNonexistentItemException" => crate::operation::create_web_acl::CreateWebACLError::WafNonexistentItemException({
149 #[allow(unused_mut)]
150 let mut tmp = {
151 #[allow(unused_mut)]
152 let mut output = crate::types::error::builders::WafNonexistentItemExceptionBuilder::default();
153 output =
154 crate::protocol_serde::shape_waf_nonexistent_item_exception::de_waf_nonexistent_item_exception_json_err(_response_body, output)
155 .map_err(crate::operation::create_web_acl::CreateWebACLError::unhandled)?;
156 let output = output.meta(generic);
157 output.build()
158 };
159 if tmp.message.is_none() {
160 tmp.message = _error_message;
161 }
162 tmp
163 }),
164 "WAFOptimisticLockException" => crate::operation::create_web_acl::CreateWebACLError::WafOptimisticLockException({
165 #[allow(unused_mut)]
166 let mut tmp = {
167 #[allow(unused_mut)]
168 let mut output = crate::types::error::builders::WafOptimisticLockExceptionBuilder::default();
169 output =
170 crate::protocol_serde::shape_waf_optimistic_lock_exception::de_waf_optimistic_lock_exception_json_err(_response_body, output)
171 .map_err(crate::operation::create_web_acl::CreateWebACLError::unhandled)?;
172 let output = output.meta(generic);
173 output.build()
174 };
175 if tmp.message.is_none() {
176 tmp.message = _error_message;
177 }
178 tmp
179 }),
180 "WAFSubscriptionNotFoundException" => crate::operation::create_web_acl::CreateWebACLError::WafSubscriptionNotFoundException({
181 #[allow(unused_mut)]
182 let mut tmp = {
183 #[allow(unused_mut)]
184 let mut output = crate::types::error::builders::WafSubscriptionNotFoundExceptionBuilder::default();
185 output = crate::protocol_serde::shape_waf_subscription_not_found_exception::de_waf_subscription_not_found_exception_json_err(
186 _response_body,
187 output,
188 )
189 .map_err(crate::operation::create_web_acl::CreateWebACLError::unhandled)?;
190 let output = output.meta(generic);
191 output.build()
192 };
193 if tmp.message.is_none() {
194 tmp.message = _error_message;
195 }
196 tmp
197 }),
198 "WAFTagOperationException" => crate::operation::create_web_acl::CreateWebACLError::WafTagOperationException({
199 #[allow(unused_mut)]
200 let mut tmp = {
201 #[allow(unused_mut)]
202 let mut output = crate::types::error::builders::WafTagOperationExceptionBuilder::default();
203 output = crate::protocol_serde::shape_waf_tag_operation_exception::de_waf_tag_operation_exception_json_err(_response_body, output)
204 .map_err(crate::operation::create_web_acl::CreateWebACLError::unhandled)?;
205 let output = output.meta(generic);
206 output.build()
207 };
208 if tmp.message.is_none() {
209 tmp.message = _error_message;
210 }
211 tmp
212 }),
213 "WAFTagOperationInternalErrorException" => {
214 crate::operation::create_web_acl::CreateWebACLError::WafTagOperationInternalErrorException({
215 #[allow(unused_mut)]
216 let mut tmp = {
217 #[allow(unused_mut)]
218 let mut output = crate::types::error::builders::WafTagOperationInternalErrorExceptionBuilder::default();
219 output = crate::protocol_serde::shape_waf_tag_operation_internal_error_exception::de_waf_tag_operation_internal_error_exception_json_err(_response_body, output).map_err(crate::operation::create_web_acl::CreateWebACLError::unhandled)?;
220 let output = output.meta(generic);
221 output.build()
222 };
223 if tmp.message.is_none() {
224 tmp.message = _error_message;
225 }
226 tmp
227 })
228 }
229 "WAFUnavailableEntityException" => crate::operation::create_web_acl::CreateWebACLError::WafUnavailableEntityException({
230 #[allow(unused_mut)]
231 let mut tmp = {
232 #[allow(unused_mut)]
233 let mut output = crate::types::error::builders::WafUnavailableEntityExceptionBuilder::default();
234 output = crate::protocol_serde::shape_waf_unavailable_entity_exception::de_waf_unavailable_entity_exception_json_err(
235 _response_body,
236 output,
237 )
238 .map_err(crate::operation::create_web_acl::CreateWebACLError::unhandled)?;
239 let output = output.meta(generic);
240 output.build()
241 };
242 if tmp.message.is_none() {
243 tmp.message = _error_message;
244 }
245 tmp
246 }),
247 _ => crate::operation::create_web_acl::CreateWebACLError::generic(generic),
248 })
249}
250
251#[allow(clippy::unnecessary_wraps)]
252pub fn de_create_web_acl_http_response(
253 _response_status: u16,
254 _response_headers: &::aws_smithy_runtime_api::http::Headers,
255 _response_body: &[u8],
256) -> std::result::Result<crate::operation::create_web_acl::CreateWebAclOutput, crate::operation::create_web_acl::CreateWebACLError> {
257 Ok({
258 #[allow(unused_mut)]
259 let mut output = crate::operation::create_web_acl::builders::CreateWebAclOutputBuilder::default();
260 output = crate::protocol_serde::shape_create_web_acl::de_create_web_acl(_response_body, output)
261 .map_err(crate::operation::create_web_acl::CreateWebACLError::unhandled)?;
262 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
263 output.build()
264 })
265}
266
267pub fn ser_create_web_acl_input(
268 input: &crate::operation::create_web_acl::CreateWebAclInput,
269) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
270 let mut out = String::new();
271 let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
272 crate::protocol_serde::shape_create_web_acl_input::ser_create_web_acl_input_input(&mut object, input)?;
273 object.finish();
274 Ok(::aws_smithy_types::body::SdkBody::from(out))
275}
276
277pub(crate) fn de_create_web_acl(
278 value: &[u8],
279 mut builder: crate::operation::create_web_acl::builders::CreateWebAclOutputBuilder,
280) -> ::std::result::Result<
281 crate::operation::create_web_acl::builders::CreateWebAclOutputBuilder,
282 ::aws_smithy_json::deserialize::error::DeserializeError,
283> {
284 let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
285 let tokens = &mut tokens_owned;
286 ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
287 loop {
288 match tokens.next().transpose()? {
289 Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
290 Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
291 "Summary" => {
292 builder = builder.set_summary(crate::protocol_serde::shape_web_acl_summary::de_web_acl_summary(tokens)?);
293 }
294 _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
295 },
296 other => {
297 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
298 "expected object key or end object, found: {:?}",
299 other
300 )))
301 }
302 }
303 }
304 if tokens.next().is_some() {
305 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
306 "found more JSON tokens after completing parsing",
307 ));
308 }
309 Ok(builder)
310}