aws_sdk_apigateway/protocol_serde/
shape_put_rest_api.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_put_rest_api_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::put_rest_api::PutRestApiOutput, crate::operation::put_rest_api::PutRestApiError> {
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::put_rest_api::PutRestApiError::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::put_rest_api::PutRestApiError::unhandled(generic)),
16 };
17
18 let _error_message = generic.message().map(|msg| msg.to_owned());
19 Err(match error_code {
20 "BadRequestException" => crate::operation::put_rest_api::PutRestApiError::BadRequestException({
21 #[allow(unused_mut)]
22 let mut tmp = {
23 #[allow(unused_mut)]
24 let mut output = crate::types::error::builders::BadRequestExceptionBuilder::default();
25 output = crate::protocol_serde::shape_bad_request_exception::de_bad_request_exception_json_err(_response_body, output)
26 .map_err(crate::operation::put_rest_api::PutRestApiError::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 "ConflictException" => crate::operation::put_rest_api::PutRestApiError::ConflictException({
36 #[allow(unused_mut)]
37 let mut tmp = {
38 #[allow(unused_mut)]
39 let mut output = crate::types::error::builders::ConflictExceptionBuilder::default();
40 output = crate::protocol_serde::shape_conflict_exception::de_conflict_exception_json_err(_response_body, output)
41 .map_err(crate::operation::put_rest_api::PutRestApiError::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 "LimitExceededException" => crate::operation::put_rest_api::PutRestApiError::LimitExceededException({
51 #[allow(unused_mut)]
52 let mut tmp = {
53 #[allow(unused_mut)]
54 let mut output = crate::types::error::builders::LimitExceededExceptionBuilder::default();
55 output = crate::protocol_serde::shape_limit_exceeded_exception::de_limit_exceeded_exception_json_err(_response_body, output)
56 .map_err(crate::operation::put_rest_api::PutRestApiError::unhandled)?;
57 output = output.set_retry_after_seconds(
58 crate::protocol_serde::shape_limit_exceeded_exception::de_retry_after_seconds_header(_response_headers).map_err(|_| {
59 crate::operation::put_rest_api::PutRestApiError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After")
60 })?,
61 );
62 let output = output.meta(generic);
63 output.build()
64 };
65 if tmp.message.is_none() {
66 tmp.message = _error_message;
67 }
68 tmp
69 }),
70 "NotFoundException" => crate::operation::put_rest_api::PutRestApiError::NotFoundException({
71 #[allow(unused_mut)]
72 let mut tmp = {
73 #[allow(unused_mut)]
74 let mut output = crate::types::error::builders::NotFoundExceptionBuilder::default();
75 output = crate::protocol_serde::shape_not_found_exception::de_not_found_exception_json_err(_response_body, output)
76 .map_err(crate::operation::put_rest_api::PutRestApiError::unhandled)?;
77 let output = output.meta(generic);
78 output.build()
79 };
80 if tmp.message.is_none() {
81 tmp.message = _error_message;
82 }
83 tmp
84 }),
85 "TooManyRequestsException" => crate::operation::put_rest_api::PutRestApiError::TooManyRequestsException({
86 #[allow(unused_mut)]
87 let mut tmp = {
88 #[allow(unused_mut)]
89 let mut output = crate::types::error::builders::TooManyRequestsExceptionBuilder::default();
90 output = crate::protocol_serde::shape_too_many_requests_exception::de_too_many_requests_exception_json_err(_response_body, output)
91 .map_err(crate::operation::put_rest_api::PutRestApiError::unhandled)?;
92 output = output.set_retry_after_seconds(
93 crate::protocol_serde::shape_too_many_requests_exception::de_retry_after_seconds_header(_response_headers).map_err(|_| {
94 crate::operation::put_rest_api::PutRestApiError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After")
95 })?,
96 );
97 let output = output.meta(generic);
98 output.build()
99 };
100 if tmp.message.is_none() {
101 tmp.message = _error_message;
102 }
103 tmp
104 }),
105 "UnauthorizedException" => crate::operation::put_rest_api::PutRestApiError::UnauthorizedException({
106 #[allow(unused_mut)]
107 let mut tmp = {
108 #[allow(unused_mut)]
109 let mut output = crate::types::error::builders::UnauthorizedExceptionBuilder::default();
110 output = crate::protocol_serde::shape_unauthorized_exception::de_unauthorized_exception_json_err(_response_body, output)
111 .map_err(crate::operation::put_rest_api::PutRestApiError::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 _ => crate::operation::put_rest_api::PutRestApiError::generic(generic),
121 })
122}
123
124#[allow(clippy::unnecessary_wraps)]
125pub fn de_put_rest_api_http_response(
126 _response_status: u16,
127 _response_headers: &::aws_smithy_runtime_api::http::Headers,
128 _response_body: &[u8],
129) -> std::result::Result<crate::operation::put_rest_api::PutRestApiOutput, crate::operation::put_rest_api::PutRestApiError> {
130 Ok({
131 #[allow(unused_mut)]
132 let mut output = crate::operation::put_rest_api::builders::PutRestApiOutputBuilder::default();
133 output = crate::protocol_serde::shape_put_rest_api::de_put_rest_api(_response_body, output)
134 .map_err(crate::operation::put_rest_api::PutRestApiError::unhandled)?;
135 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
136 output.build()
137 })
138}
139
140pub(crate) fn de_put_rest_api(
141 value: &[u8],
142 mut builder: crate::operation::put_rest_api::builders::PutRestApiOutputBuilder,
143) -> ::std::result::Result<crate::operation::put_rest_api::builders::PutRestApiOutputBuilder, ::aws_smithy_json::deserialize::error::DeserializeError>
144{
145 let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
146 let tokens = &mut tokens_owned;
147 ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
148 loop {
149 match tokens.next().transpose()? {
150 Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
151 Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
152 "apiKeySource" => {
153 builder = builder.set_api_key_source(
154 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
155 .map(|s| s.to_unescaped().map(|u| crate::types::ApiKeySourceType::from(u.as_ref())))
156 .transpose()?,
157 );
158 }
159 "apiStatus" => {
160 builder = builder.set_api_status(
161 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
162 .map(|s| s.to_unescaped().map(|u| crate::types::ApiStatus::from(u.as_ref())))
163 .transpose()?,
164 );
165 }
166 "apiStatusMessage" => {
167 builder = builder.set_api_status_message(
168 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
169 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
170 .transpose()?,
171 );
172 }
173 "binaryMediaTypes" => {
174 builder = builder.set_binary_media_types(crate::protocol_serde::shape_list_of_string::de_list_of_string(tokens)?);
175 }
176 "createdDate" => {
177 builder = builder.set_created_date(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
178 tokens.next(),
179 ::aws_smithy_types::date_time::Format::EpochSeconds,
180 )?);
181 }
182 "description" => {
183 builder = builder.set_description(
184 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
185 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
186 .transpose()?,
187 );
188 }
189 "disableExecuteApiEndpoint" => {
190 builder = builder.set_disable_execute_api_endpoint(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
191 }
192 "endpointAccessMode" => {
193 builder = builder.set_endpoint_access_mode(
194 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
195 .map(|s| s.to_unescaped().map(|u| crate::types::EndpointAccessMode::from(u.as_ref())))
196 .transpose()?,
197 );
198 }
199 "endpointConfiguration" => {
200 builder =
201 builder.set_endpoint_configuration(crate::protocol_serde::shape_endpoint_configuration::de_endpoint_configuration(tokens)?);
202 }
203 "id" => {
204 builder = builder.set_id(
205 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
206 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
207 .transpose()?,
208 );
209 }
210 "minimumCompressionSize" => {
211 builder = builder.set_minimum_compression_size(
212 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
213 .map(i32::try_from)
214 .transpose()?,
215 );
216 }
217 "name" => {
218 builder = builder.set_name(
219 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
220 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
221 .transpose()?,
222 );
223 }
224 "policy" => {
225 builder = builder.set_policy(
226 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
227 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
228 .transpose()?,
229 );
230 }
231 "rootResourceId" => {
232 builder = builder.set_root_resource_id(
233 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
234 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
235 .transpose()?,
236 );
237 }
238 "securityPolicy" => {
239 builder = builder.set_security_policy(
240 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
241 .map(|s| s.to_unescaped().map(|u| crate::types::SecurityPolicy::from(u.as_ref())))
242 .transpose()?,
243 );
244 }
245 "tags" => {
246 builder = builder.set_tags(crate::protocol_serde::shape_map_of_string_to_string::de_map_of_string_to_string(tokens)?);
247 }
248 "version" => {
249 builder = builder.set_version(
250 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
251 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
252 .transpose()?,
253 );
254 }
255 "warnings" => {
256 builder = builder.set_warnings(crate::protocol_serde::shape_list_of_string::de_list_of_string(tokens)?);
257 }
258 _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
259 },
260 other => {
261 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
262 "expected object key or end object, found: {other:?}"
263 )))
264 }
265 }
266 }
267 if tokens.next().is_some() {
268 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
269 "found more JSON tokens after completing parsing",
270 ));
271 }
272 Ok(builder)
273}