aws_sdk_lexmodelbuilding/protocol_serde/
shape_get_migration.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_get_migration_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::get_migration::GetMigrationOutput, crate::operation::get_migration::GetMigrationError> {
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::get_migration::GetMigrationError::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::get_migration::GetMigrationError::unhandled(generic)),
16 };
17
18 let _error_message = generic.message().map(|msg| msg.to_owned());
19 Err(match error_code {
20 "BadRequestException" => crate::operation::get_migration::GetMigrationError::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::get_migration::GetMigrationError::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 "InternalFailureException" => crate::operation::get_migration::GetMigrationError::InternalFailureException({
36 #[allow(unused_mut)]
37 let mut tmp = {
38 #[allow(unused_mut)]
39 let mut output = crate::types::error::builders::InternalFailureExceptionBuilder::default();
40 output = crate::protocol_serde::shape_internal_failure_exception::de_internal_failure_exception_json_err(_response_body, output)
41 .map_err(crate::operation::get_migration::GetMigrationError::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::get_migration::GetMigrationError::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::get_migration::GetMigrationError::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::get_migration::GetMigrationError::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::get_migration::GetMigrationError::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::get_migration::GetMigrationError::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 _ => crate::operation::get_migration::GetMigrationError::generic(generic),
86 })
87}
88
89#[allow(clippy::unnecessary_wraps)]
90pub fn de_get_migration_http_response(
91 _response_status: u16,
92 _response_headers: &::aws_smithy_runtime_api::http::Headers,
93 _response_body: &[u8],
94) -> std::result::Result<crate::operation::get_migration::GetMigrationOutput, crate::operation::get_migration::GetMigrationError> {
95 Ok({
96 #[allow(unused_mut)]
97 let mut output = crate::operation::get_migration::builders::GetMigrationOutputBuilder::default();
98 output = crate::protocol_serde::shape_get_migration::de_get_migration(_response_body, output)
99 .map_err(crate::operation::get_migration::GetMigrationError::unhandled)?;
100 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
101 output.build()
102 })
103}
104
105pub(crate) fn de_get_migration(
106 _value: &[u8],
107 mut builder: crate::operation::get_migration::builders::GetMigrationOutputBuilder,
108) -> ::std::result::Result<
109 crate::operation::get_migration::builders::GetMigrationOutputBuilder,
110 ::aws_smithy_json::deserialize::error::DeserializeError,
111> {
112 let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(_value)).peekable();
113 let tokens = &mut tokens_owned;
114 ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
115 loop {
116 match tokens.next().transpose()? {
117 Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
118 Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
119 "alerts" => {
120 builder = builder.set_alerts(crate::protocol_serde::shape_migration_alerts::de_migration_alerts(tokens, _value)?);
121 }
122 "migrationId" => {
123 builder = builder.set_migration_id(
124 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
125 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
126 .transpose()?,
127 );
128 }
129 "migrationStatus" => {
130 builder = builder.set_migration_status(
131 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
132 .map(|s| s.to_unescaped().map(|u| crate::types::MigrationStatus::from(u.as_ref())))
133 .transpose()?,
134 );
135 }
136 "migrationStrategy" => {
137 builder = builder.set_migration_strategy(
138 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
139 .map(|s| s.to_unescaped().map(|u| crate::types::MigrationStrategy::from(u.as_ref())))
140 .transpose()?,
141 );
142 }
143 "migrationTimestamp" => {
144 builder = builder.set_migration_timestamp(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
145 tokens.next(),
146 ::aws_smithy_types::date_time::Format::EpochSeconds,
147 )?);
148 }
149 "v1BotLocale" => {
150 builder = builder.set_v1_bot_locale(
151 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
152 .map(|s| s.to_unescaped().map(|u| crate::types::Locale::from(u.as_ref())))
153 .transpose()?,
154 );
155 }
156 "v1BotName" => {
157 builder = builder.set_v1_bot_name(
158 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
159 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
160 .transpose()?,
161 );
162 }
163 "v1BotVersion" => {
164 builder = builder.set_v1_bot_version(
165 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
166 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
167 .transpose()?,
168 );
169 }
170 "v2BotId" => {
171 builder = builder.set_v2_bot_id(
172 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
173 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
174 .transpose()?,
175 );
176 }
177 "v2BotRole" => {
178 builder = builder.set_v2_bot_role(
179 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
180 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
181 .transpose()?,
182 );
183 }
184 _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
185 },
186 other => {
187 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
188 "expected object key or end object, found: {other:?}"
189 )))
190 }
191 }
192 }
193 if tokens.next().is_some() {
194 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
195 "found more JSON tokens after completing parsing",
196 ));
197 }
198 Ok(builder)
199}