aws_sdk_lexmodelsv2/protocol_serde/
shape_update_intent.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_update_intent_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::update_intent::UpdateIntentOutput, crate::operation::update_intent::UpdateIntentError> {
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::update_intent::UpdateIntentError::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::update_intent::UpdateIntentError::unhandled(generic)),
16 };
17
18 let _error_message = generic.message().map(|msg| msg.to_owned());
19 Err(match error_code {
20 "ConflictException" => crate::operation::update_intent::UpdateIntentError::ConflictException({
21 #[allow(unused_mut)]
22 let mut tmp = {
23 #[allow(unused_mut)]
24 let mut output = crate::types::error::builders::ConflictExceptionBuilder::default();
25 output = crate::protocol_serde::shape_conflict_exception::de_conflict_exception_json_err(_response_body, output)
26 .map_err(crate::operation::update_intent::UpdateIntentError::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 "InternalServerException" => crate::operation::update_intent::UpdateIntentError::InternalServerException({
36 #[allow(unused_mut)]
37 let mut tmp = {
38 #[allow(unused_mut)]
39 let mut output = crate::types::error::builders::InternalServerExceptionBuilder::default();
40 output = crate::protocol_serde::shape_internal_server_exception::de_internal_server_exception_json_err(_response_body, output)
41 .map_err(crate::operation::update_intent::UpdateIntentError::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 "PreconditionFailedException" => crate::operation::update_intent::UpdateIntentError::PreconditionFailedException({
51 #[allow(unused_mut)]
52 let mut tmp = {
53 #[allow(unused_mut)]
54 let mut output = crate::types::error::builders::PreconditionFailedExceptionBuilder::default();
55 output =
56 crate::protocol_serde::shape_precondition_failed_exception::de_precondition_failed_exception_json_err(_response_body, output)
57 .map_err(crate::operation::update_intent::UpdateIntentError::unhandled)?;
58 let output = output.meta(generic);
59 output.build()
60 };
61 if tmp.message.is_none() {
62 tmp.message = _error_message;
63 }
64 tmp
65 }),
66 "ServiceQuotaExceededException" => crate::operation::update_intent::UpdateIntentError::ServiceQuotaExceededException({
67 #[allow(unused_mut)]
68 let mut tmp = {
69 #[allow(unused_mut)]
70 let mut output = crate::types::error::builders::ServiceQuotaExceededExceptionBuilder::default();
71 output = crate::protocol_serde::shape_service_quota_exceeded_exception::de_service_quota_exceeded_exception_json_err(
72 _response_body,
73 output,
74 )
75 .map_err(crate::operation::update_intent::UpdateIntentError::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 "ThrottlingException" => crate::operation::update_intent::UpdateIntentError::ThrottlingException({
85 #[allow(unused_mut)]
86 let mut tmp = {
87 #[allow(unused_mut)]
88 let mut output = crate::types::error::builders::ThrottlingExceptionBuilder::default();
89 output = crate::protocol_serde::shape_throttling_exception::de_throttling_exception_json_err(_response_body, output)
90 .map_err(crate::operation::update_intent::UpdateIntentError::unhandled)?;
91 output = output.set_retry_after_seconds(
92 crate::protocol_serde::shape_throttling_exception::de_retry_after_seconds_header(_response_headers).map_err(|_| {
93 crate::operation::update_intent::UpdateIntentError::unhandled("Failed to parse retryAfterSeconds from header `Retry-After")
94 })?,
95 );
96 let output = output.meta(generic);
97 output.build()
98 };
99 if tmp.message.is_none() {
100 tmp.message = _error_message;
101 }
102 tmp
103 }),
104 "ValidationException" => crate::operation::update_intent::UpdateIntentError::ValidationException({
105 #[allow(unused_mut)]
106 let mut tmp = {
107 #[allow(unused_mut)]
108 let mut output = crate::types::error::builders::ValidationExceptionBuilder::default();
109 output = crate::protocol_serde::shape_validation_exception::de_validation_exception_json_err(_response_body, output)
110 .map_err(crate::operation::update_intent::UpdateIntentError::unhandled)?;
111 let output = output.meta(generic);
112 output.build()
113 };
114 if tmp.message.is_none() {
115 tmp.message = _error_message;
116 }
117 tmp
118 }),
119 _ => crate::operation::update_intent::UpdateIntentError::generic(generic),
120 })
121}
122
123#[allow(clippy::unnecessary_wraps)]
124pub fn de_update_intent_http_response(
125 _response_status: u16,
126 _response_headers: &::aws_smithy_runtime_api::http::Headers,
127 _response_body: &[u8],
128) -> std::result::Result<crate::operation::update_intent::UpdateIntentOutput, crate::operation::update_intent::UpdateIntentError> {
129 Ok({
130 #[allow(unused_mut)]
131 let mut output = crate::operation::update_intent::builders::UpdateIntentOutputBuilder::default();
132 output = crate::protocol_serde::shape_update_intent::de_update_intent(_response_body, output)
133 .map_err(crate::operation::update_intent::UpdateIntentError::unhandled)?;
134 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
135 output.build()
136 })
137}
138
139pub fn ser_update_intent_input(
140 input: &crate::operation::update_intent::UpdateIntentInput,
141) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
142 let mut out = String::new();
143 let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
144 crate::protocol_serde::shape_update_intent_input::ser_update_intent_input_input(&mut object, input)?;
145 object.finish();
146 Ok(::aws_smithy_types::body::SdkBody::from(out))
147}
148
149pub(crate) fn de_update_intent(
150 _value: &[u8],
151 mut builder: crate::operation::update_intent::builders::UpdateIntentOutputBuilder,
152) -> ::std::result::Result<
153 crate::operation::update_intent::builders::UpdateIntentOutputBuilder,
154 ::aws_smithy_json::deserialize::error::DeserializeError,
155> {
156 let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(_value)).peekable();
157 let tokens = &mut tokens_owned;
158 ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
159 loop {
160 match tokens.next().transpose()? {
161 Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
162 Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
163 "botId" => {
164 builder = builder.set_bot_id(
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 "botVersion" => {
171 builder = builder.set_bot_version(
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 "creationDateTime" => {
178 builder = builder.set_creation_date_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
179 tokens.next(),
180 ::aws_smithy_types::date_time::Format::EpochSeconds,
181 )?);
182 }
183 "description" => {
184 builder = builder.set_description(
185 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
186 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
187 .transpose()?,
188 );
189 }
190 "dialogCodeHook" => {
191 builder = builder.set_dialog_code_hook(crate::protocol_serde::shape_dialog_code_hook_settings::de_dialog_code_hook_settings(
192 tokens, _value,
193 )?);
194 }
195 "fulfillmentCodeHook" => {
196 builder = builder.set_fulfillment_code_hook(
197 crate::protocol_serde::shape_fulfillment_code_hook_settings::de_fulfillment_code_hook_settings(tokens, _value)?,
198 );
199 }
200 "initialResponseSetting" => {
201 builder = builder.set_initial_response_setting(
202 crate::protocol_serde::shape_initial_response_setting::de_initial_response_setting(tokens, _value)?,
203 );
204 }
205 "inputContexts" => {
206 builder = builder.set_input_contexts(crate::protocol_serde::shape_input_contexts_list::de_input_contexts_list(tokens, _value)?);
207 }
208 "intentClosingSetting" => {
209 builder = builder.set_intent_closing_setting(crate::protocol_serde::shape_intent_closing_setting::de_intent_closing_setting(
210 tokens, _value,
211 )?);
212 }
213 "intentConfirmationSetting" => {
214 builder = builder.set_intent_confirmation_setting(
215 crate::protocol_serde::shape_intent_confirmation_setting::de_intent_confirmation_setting(tokens, _value)?,
216 );
217 }
218 "intentDisplayName" => {
219 builder = builder.set_intent_display_name(
220 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
221 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
222 .transpose()?,
223 );
224 }
225 "intentId" => {
226 builder = builder.set_intent_id(
227 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
228 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
229 .transpose()?,
230 );
231 }
232 "intentName" => {
233 builder = builder.set_intent_name(
234 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
235 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
236 .transpose()?,
237 );
238 }
239 "kendraConfiguration" => {
240 builder = builder.set_kendra_configuration(crate::protocol_serde::shape_kendra_configuration::de_kendra_configuration(
241 tokens, _value,
242 )?);
243 }
244 "lastUpdatedDateTime" => {
245 builder = builder.set_last_updated_date_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
246 tokens.next(),
247 ::aws_smithy_types::date_time::Format::EpochSeconds,
248 )?);
249 }
250 "localeId" => {
251 builder = builder.set_locale_id(
252 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
253 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
254 .transpose()?,
255 );
256 }
257 "outputContexts" => {
258 builder = builder.set_output_contexts(crate::protocol_serde::shape_output_contexts_list::de_output_contexts_list(
259 tokens, _value,
260 )?);
261 }
262 "parentIntentSignature" => {
263 builder = builder.set_parent_intent_signature(
264 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
265 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
266 .transpose()?,
267 );
268 }
269 "qInConnectIntentConfiguration" => {
270 builder = builder.set_q_in_connect_intent_configuration(
271 crate::protocol_serde::shape_q_in_connect_intent_configuration::de_q_in_connect_intent_configuration(tokens, _value)?,
272 );
273 }
274 "qnAIntentConfiguration" => {
275 builder = builder.set_qn_a_intent_configuration(
276 crate::protocol_serde::shape_qn_a_intent_configuration::de_qn_a_intent_configuration(tokens, _value)?,
277 );
278 }
279 "sampleUtterances" => {
280 builder = builder.set_sample_utterances(crate::protocol_serde::shape_sample_utterances_list::de_sample_utterances_list(
281 tokens, _value,
282 )?);
283 }
284 "slotPriorities" => {
285 builder = builder.set_slot_priorities(crate::protocol_serde::shape_slot_priorities_list::de_slot_priorities_list(
286 tokens, _value,
287 )?);
288 }
289 _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
290 },
291 other => {
292 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
293 "expected object key or end object, found: {other:?}"
294 )))
295 }
296 }
297 }
298 if tokens.next().is_some() {
299 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
300 "found more JSON tokens after completing parsing",
301 ));
302 }
303 Ok(builder)
304}