Skip to main content

aws_sdk_pinpointsmsvoicev2/protocol_serde/
shape_update_phone_number.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::unnecessary_wraps)]
3pub fn de_update_phone_number_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_phone_number::UpdatePhoneNumberOutput, crate::operation::update_phone_number::UpdatePhoneNumberError>
8{
9    #[allow(unused_mut)]
10    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
11        .map_err(crate::operation::update_phone_number::UpdatePhoneNumberError::unhandled)?;
12    generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
13    let generic = generic_builder.build();
14    let error_code = match generic.code() {
15        Some(code) => code,
16        None => return Err(crate::operation::update_phone_number::UpdatePhoneNumberError::unhandled(generic)),
17    };
18
19    let _error_message = generic.message().map(|msg| msg.to_owned());
20    Err(match error_code {
21        "AccessDeniedException" => crate::operation::update_phone_number::UpdatePhoneNumberError::AccessDeniedException({
22            #[allow(unused_mut)]
23            let mut tmp = {
24                #[allow(unused_mut)]
25                let mut output = crate::types::error::builders::AccessDeniedExceptionBuilder::default();
26                output = crate::protocol_serde::shape_access_denied_exception::de_access_denied_exception_json_err(_response_body, output)
27                    .map_err(crate::operation::update_phone_number::UpdatePhoneNumberError::unhandled)?;
28                let output = output.meta(generic);
29                output.build()
30            };
31            if tmp.message.is_none() {
32                tmp.message = _error_message;
33            }
34            tmp
35        }),
36        "ConflictException" => crate::operation::update_phone_number::UpdatePhoneNumberError::ConflictException({
37            #[allow(unused_mut)]
38            let mut tmp = {
39                #[allow(unused_mut)]
40                let mut output = crate::types::error::builders::ConflictExceptionBuilder::default();
41                output = crate::protocol_serde::shape_conflict_exception::de_conflict_exception_json_err(_response_body, output)
42                    .map_err(crate::operation::update_phone_number::UpdatePhoneNumberError::unhandled)?;
43                let output = output.meta(generic);
44                output.build()
45            };
46            if tmp.message.is_none() {
47                tmp.message = _error_message;
48            }
49            tmp
50        }),
51        "InternalServerException" => crate::operation::update_phone_number::UpdatePhoneNumberError::InternalServerException({
52            #[allow(unused_mut)]
53            let mut tmp = {
54                #[allow(unused_mut)]
55                let mut output = crate::types::error::builders::InternalServerExceptionBuilder::default();
56                output = crate::protocol_serde::shape_internal_server_exception::de_internal_server_exception_json_err(_response_body, output)
57                    .map_err(crate::operation::update_phone_number::UpdatePhoneNumberError::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        "ResourceNotFoundException" => crate::operation::update_phone_number::UpdatePhoneNumberError::ResourceNotFoundException({
67            #[allow(unused_mut)]
68            let mut tmp = {
69                #[allow(unused_mut)]
70                let mut output = crate::types::error::builders::ResourceNotFoundExceptionBuilder::default();
71                output = crate::protocol_serde::shape_resource_not_found_exception::de_resource_not_found_exception_json_err(_response_body, output)
72                    .map_err(crate::operation::update_phone_number::UpdatePhoneNumberError::unhandled)?;
73                let output = output.meta(generic);
74                output.build()
75            };
76            if tmp.message.is_none() {
77                tmp.message = _error_message;
78            }
79            tmp
80        }),
81        "ThrottlingException" => crate::operation::update_phone_number::UpdatePhoneNumberError::ThrottlingException({
82            #[allow(unused_mut)]
83            let mut tmp = {
84                #[allow(unused_mut)]
85                let mut output = crate::types::error::builders::ThrottlingExceptionBuilder::default();
86                output = crate::protocol_serde::shape_throttling_exception::de_throttling_exception_json_err(_response_body, output)
87                    .map_err(crate::operation::update_phone_number::UpdatePhoneNumberError::unhandled)?;
88                let output = output.meta(generic);
89                output.build()
90            };
91            if tmp.message.is_none() {
92                tmp.message = _error_message;
93            }
94            tmp
95        }),
96        "ValidationException" => crate::operation::update_phone_number::UpdatePhoneNumberError::ValidationException({
97            #[allow(unused_mut)]
98            let mut tmp = {
99                #[allow(unused_mut)]
100                let mut output = crate::types::error::builders::ValidationExceptionBuilder::default();
101                output = crate::protocol_serde::shape_validation_exception::de_validation_exception_json_err(_response_body, output)
102                    .map_err(crate::operation::update_phone_number::UpdatePhoneNumberError::unhandled)?;
103                let output = output.meta(generic);
104                output.build()
105            };
106            if tmp.message.is_none() {
107                tmp.message = _error_message;
108            }
109            tmp
110        }),
111        _ => crate::operation::update_phone_number::UpdatePhoneNumberError::generic(generic),
112    })
113}
114
115#[allow(clippy::unnecessary_wraps)]
116pub fn de_update_phone_number_http_response(
117    _response_status: u16,
118    _response_headers: &::aws_smithy_runtime_api::http::Headers,
119    _response_body: &[u8],
120) -> std::result::Result<crate::operation::update_phone_number::UpdatePhoneNumberOutput, crate::operation::update_phone_number::UpdatePhoneNumberError>
121{
122    Ok({
123        #[allow(unused_mut)]
124        let mut output = crate::operation::update_phone_number::builders::UpdatePhoneNumberOutputBuilder::default();
125        output = crate::protocol_serde::shape_update_phone_number::de_update_phone_number(_response_body, output)
126            .map_err(crate::operation::update_phone_number::UpdatePhoneNumberError::unhandled)?;
127        output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
128        output.build()
129    })
130}
131
132pub fn ser_update_phone_number_input(
133    input: &crate::operation::update_phone_number::UpdatePhoneNumberInput,
134) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
135    let mut out = String::new();
136    let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
137    crate::protocol_serde::shape_update_phone_number_input::ser_update_phone_number_input_input(&mut object, input)?;
138    object.finish();
139    Ok(::aws_smithy_types::body::SdkBody::from(out))
140}
141
142pub(crate) fn de_update_phone_number(
143    _value: &[u8],
144    mut builder: crate::operation::update_phone_number::builders::UpdatePhoneNumberOutputBuilder,
145) -> ::std::result::Result<
146    crate::operation::update_phone_number::builders::UpdatePhoneNumberOutputBuilder,
147    ::aws_smithy_json::deserialize::error::DeserializeError,
148> {
149    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(_value)).peekable();
150    let tokens = &mut tokens_owned;
151    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
152    loop {
153        match tokens.next().transpose()? {
154            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
155            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
156                "PhoneNumberArn" => {
157                    builder = builder.set_phone_number_arn(
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                "PhoneNumberId" => {
164                    builder = builder.set_phone_number_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                "PhoneNumber" => {
171                    builder = builder.set_phone_number(
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                "Status" => {
178                    builder = builder.set_status(
179                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
180                            .map(|s| s.to_unescaped().map(|u| crate::types::NumberStatus::from(u.as_ref())))
181                            .transpose()?,
182                    );
183                }
184                "IsoCountryCode" => {
185                    builder = builder.set_iso_country_code(
186                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
187                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
188                            .transpose()?,
189                    );
190                }
191                "MessageType" => {
192                    builder = builder.set_message_type(
193                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
194                            .map(|s| s.to_unescaped().map(|u| crate::types::MessageType::from(u.as_ref())))
195                            .transpose()?,
196                    );
197                }
198                "NumberCapabilities" => {
199                    builder = builder.set_number_capabilities(crate::protocol_serde::shape_number_capability_list::de_number_capability_list(
200                        tokens, _value,
201                    )?);
202                }
203                "NumberType" => {
204                    builder = builder.set_number_type(
205                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
206                            .map(|s| s.to_unescaped().map(|u| crate::types::NumberType::from(u.as_ref())))
207                            .transpose()?,
208                    );
209                }
210                "MonthlyLeasingPrice" => {
211                    builder = builder.set_monthly_leasing_price(
212                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
213                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
214                            .transpose()?,
215                    );
216                }
217                "TwoWayEnabled" => {
218                    builder = builder.set_two_way_enabled(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
219                }
220                "TwoWayChannelArn" => {
221                    builder = builder.set_two_way_channel_arn(
222                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
223                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
224                            .transpose()?,
225                    );
226                }
227                "TwoWayChannelRole" => {
228                    builder = builder.set_two_way_channel_role(
229                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
230                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
231                            .transpose()?,
232                    );
233                }
234                "SelfManagedOptOutsEnabled" => {
235                    builder = builder.set_self_managed_opt_outs_enabled(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
236                }
237                "OptOutListName" => {
238                    builder = builder.set_opt_out_list_name(
239                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
240                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
241                            .transpose()?,
242                    );
243                }
244                "InternationalSendingEnabled" => {
245                    builder = builder.set_international_sending_enabled(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
246                }
247                "DeletionProtectionEnabled" => {
248                    builder = builder.set_deletion_protection_enabled(::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?);
249                }
250                "RegistrationId" => {
251                    builder = builder.set_registration_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                "CreatedTimestamp" => {
258                    builder = builder.set_created_timestamp(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
259                        tokens.next(),
260                        ::aws_smithy_types::date_time::Format::EpochSeconds,
261                    )?);
262                }
263                _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
264            },
265            other => {
266                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
267                    "expected object key or end object, found: {other:?}"
268                )))
269            }
270        }
271    }
272    if tokens.next().is_some() {
273        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
274            "found more JSON tokens after completing parsing",
275        ));
276    }
277    Ok(builder)
278}