Skip to main content

aws_sdk_lexmodelsv2/protocol_serde/
shape_update_intent.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[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}