aws_sdk_databasemigration/protocol_serde/
shape_create_event_subscription.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::unnecessary_wraps)]
3pub fn de_create_event_subscription_http_error(
4    _response_status: u16,
5    _response_headers: &::aws_smithy_runtime_api::http::Headers,
6    _response_body: &[u8],
7) -> std::result::Result<
8    crate::operation::create_event_subscription::CreateEventSubscriptionOutput,
9    crate::operation::create_event_subscription::CreateEventSubscriptionError,
10> {
11    #[allow(unused_mut)]
12    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
13        .map_err(crate::operation::create_event_subscription::CreateEventSubscriptionError::unhandled)?;
14    generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
15    let generic = generic_builder.build();
16    let error_code = match generic.code() {
17        Some(code) => code,
18        None => {
19            return Err(crate::operation::create_event_subscription::CreateEventSubscriptionError::unhandled(
20                generic,
21            ))
22        }
23    };
24
25    let _error_message = generic.message().map(|msg| msg.to_owned());
26    Err(match error_code {
27        "KMSAccessDeniedFault" => crate::operation::create_event_subscription::CreateEventSubscriptionError::KmsAccessDeniedFault({
28            #[allow(unused_mut)]
29            let mut tmp = {
30                #[allow(unused_mut)]
31                let mut output = crate::types::error::builders::KmsAccessDeniedFaultBuilder::default();
32                output = crate::protocol_serde::shape_kms_access_denied_fault::de_kms_access_denied_fault_json_err(_response_body, output)
33                    .map_err(crate::operation::create_event_subscription::CreateEventSubscriptionError::unhandled)?;
34                let output = output.meta(generic);
35                output.build()
36            };
37            if tmp.message.is_none() {
38                tmp.message = _error_message;
39            }
40            tmp
41        }),
42        "KMSDisabledFault" => crate::operation::create_event_subscription::CreateEventSubscriptionError::KmsDisabledFault({
43            #[allow(unused_mut)]
44            let mut tmp = {
45                #[allow(unused_mut)]
46                let mut output = crate::types::error::builders::KmsDisabledFaultBuilder::default();
47                output = crate::protocol_serde::shape_kms_disabled_fault::de_kms_disabled_fault_json_err(_response_body, output)
48                    .map_err(crate::operation::create_event_subscription::CreateEventSubscriptionError::unhandled)?;
49                let output = output.meta(generic);
50                output.build()
51            };
52            if tmp.message.is_none() {
53                tmp.message = _error_message;
54            }
55            tmp
56        }),
57        "KMSInvalidStateFault" => crate::operation::create_event_subscription::CreateEventSubscriptionError::KmsInvalidStateFault({
58            #[allow(unused_mut)]
59            let mut tmp = {
60                #[allow(unused_mut)]
61                let mut output = crate::types::error::builders::KmsInvalidStateFaultBuilder::default();
62                output = crate::protocol_serde::shape_kms_invalid_state_fault::de_kms_invalid_state_fault_json_err(_response_body, output)
63                    .map_err(crate::operation::create_event_subscription::CreateEventSubscriptionError::unhandled)?;
64                let output = output.meta(generic);
65                output.build()
66            };
67            if tmp.message.is_none() {
68                tmp.message = _error_message;
69            }
70            tmp
71        }),
72        "KMSNotFoundFault" => crate::operation::create_event_subscription::CreateEventSubscriptionError::KmsNotFoundFault({
73            #[allow(unused_mut)]
74            let mut tmp = {
75                #[allow(unused_mut)]
76                let mut output = crate::types::error::builders::KmsNotFoundFaultBuilder::default();
77                output = crate::protocol_serde::shape_kms_not_found_fault::de_kms_not_found_fault_json_err(_response_body, output)
78                    .map_err(crate::operation::create_event_subscription::CreateEventSubscriptionError::unhandled)?;
79                let output = output.meta(generic);
80                output.build()
81            };
82            if tmp.message.is_none() {
83                tmp.message = _error_message;
84            }
85            tmp
86        }),
87        "KMSThrottlingFault" => crate::operation::create_event_subscription::CreateEventSubscriptionError::KmsThrottlingFault({
88            #[allow(unused_mut)]
89            let mut tmp = {
90                #[allow(unused_mut)]
91                let mut output = crate::types::error::builders::KmsThrottlingFaultBuilder::default();
92                output = crate::protocol_serde::shape_kms_throttling_fault::de_kms_throttling_fault_json_err(_response_body, output)
93                    .map_err(crate::operation::create_event_subscription::CreateEventSubscriptionError::unhandled)?;
94                let output = output.meta(generic);
95                output.build()
96            };
97            if tmp.message.is_none() {
98                tmp.message = _error_message;
99            }
100            tmp
101        }),
102        "ResourceAlreadyExistsFault" => crate::operation::create_event_subscription::CreateEventSubscriptionError::ResourceAlreadyExistsFault({
103            #[allow(unused_mut)]
104            let mut tmp = {
105                #[allow(unused_mut)]
106                let mut output = crate::types::error::builders::ResourceAlreadyExistsFaultBuilder::default();
107                output =
108                    crate::protocol_serde::shape_resource_already_exists_fault::de_resource_already_exists_fault_json_err(_response_body, output)
109                        .map_err(crate::operation::create_event_subscription::CreateEventSubscriptionError::unhandled)?;
110                let output = output.meta(generic);
111                output.build()
112            };
113            if tmp.message.is_none() {
114                tmp.message = _error_message;
115            }
116            tmp
117        }),
118        "ResourceNotFoundFault" => crate::operation::create_event_subscription::CreateEventSubscriptionError::ResourceNotFoundFault({
119            #[allow(unused_mut)]
120            let mut tmp = {
121                #[allow(unused_mut)]
122                let mut output = crate::types::error::builders::ResourceNotFoundFaultBuilder::default();
123                output = crate::protocol_serde::shape_resource_not_found_fault::de_resource_not_found_fault_json_err(_response_body, output)
124                    .map_err(crate::operation::create_event_subscription::CreateEventSubscriptionError::unhandled)?;
125                let output = output.meta(generic);
126                output.build()
127            };
128            if tmp.message.is_none() {
129                tmp.message = _error_message;
130            }
131            tmp
132        }),
133        "ResourceQuotaExceededFault" => crate::operation::create_event_subscription::CreateEventSubscriptionError::ResourceQuotaExceededFault({
134            #[allow(unused_mut)]
135            let mut tmp = {
136                #[allow(unused_mut)]
137                let mut output = crate::types::error::builders::ResourceQuotaExceededFaultBuilder::default();
138                output =
139                    crate::protocol_serde::shape_resource_quota_exceeded_fault::de_resource_quota_exceeded_fault_json_err(_response_body, output)
140                        .map_err(crate::operation::create_event_subscription::CreateEventSubscriptionError::unhandled)?;
141                let output = output.meta(generic);
142                output.build()
143            };
144            if tmp.message.is_none() {
145                tmp.message = _error_message;
146            }
147            tmp
148        }),
149        "SNSInvalidTopicFault" => crate::operation::create_event_subscription::CreateEventSubscriptionError::SnsInvalidTopicFault({
150            #[allow(unused_mut)]
151            let mut tmp = {
152                #[allow(unused_mut)]
153                let mut output = crate::types::error::builders::SnsInvalidTopicFaultBuilder::default();
154                output = crate::protocol_serde::shape_sns_invalid_topic_fault::de_sns_invalid_topic_fault_json_err(_response_body, output)
155                    .map_err(crate::operation::create_event_subscription::CreateEventSubscriptionError::unhandled)?;
156                let output = output.meta(generic);
157                output.build()
158            };
159            if tmp.message.is_none() {
160                tmp.message = _error_message;
161            }
162            tmp
163        }),
164        "SNSNoAuthorizationFault" => crate::operation::create_event_subscription::CreateEventSubscriptionError::SnsNoAuthorizationFault({
165            #[allow(unused_mut)]
166            let mut tmp = {
167                #[allow(unused_mut)]
168                let mut output = crate::types::error::builders::SnsNoAuthorizationFaultBuilder::default();
169                output = crate::protocol_serde::shape_sns_no_authorization_fault::de_sns_no_authorization_fault_json_err(_response_body, output)
170                    .map_err(crate::operation::create_event_subscription::CreateEventSubscriptionError::unhandled)?;
171                let output = output.meta(generic);
172                output.build()
173            };
174            if tmp.message.is_none() {
175                tmp.message = _error_message;
176            }
177            tmp
178        }),
179        _ => crate::operation::create_event_subscription::CreateEventSubscriptionError::generic(generic),
180    })
181}
182
183#[allow(clippy::unnecessary_wraps)]
184pub fn de_create_event_subscription_http_response(
185    _response_status: u16,
186    _response_headers: &::aws_smithy_runtime_api::http::Headers,
187    _response_body: &[u8],
188) -> std::result::Result<
189    crate::operation::create_event_subscription::CreateEventSubscriptionOutput,
190    crate::operation::create_event_subscription::CreateEventSubscriptionError,
191> {
192    Ok({
193        #[allow(unused_mut)]
194        let mut output = crate::operation::create_event_subscription::builders::CreateEventSubscriptionOutputBuilder::default();
195        output = crate::protocol_serde::shape_create_event_subscription::de_create_event_subscription(_response_body, output)
196            .map_err(crate::operation::create_event_subscription::CreateEventSubscriptionError::unhandled)?;
197        output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
198        output.build()
199    })
200}
201
202pub fn ser_create_event_subscription_input(
203    input: &crate::operation::create_event_subscription::CreateEventSubscriptionInput,
204) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
205    let mut out = String::new();
206    let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
207    crate::protocol_serde::shape_create_event_subscription_input::ser_create_event_subscription_input_input(&mut object, input)?;
208    object.finish();
209    Ok(::aws_smithy_types::body::SdkBody::from(out))
210}
211
212pub(crate) fn de_create_event_subscription(
213    value: &[u8],
214    mut builder: crate::operation::create_event_subscription::builders::CreateEventSubscriptionOutputBuilder,
215) -> ::std::result::Result<
216    crate::operation::create_event_subscription::builders::CreateEventSubscriptionOutputBuilder,
217    ::aws_smithy_json::deserialize::error::DeserializeError,
218> {
219    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
220    let tokens = &mut tokens_owned;
221    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
222    loop {
223        match tokens.next().transpose()? {
224            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
225            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
226                "EventSubscription" => {
227                    builder = builder.set_event_subscription(crate::protocol_serde::shape_event_subscription::de_event_subscription(tokens)?);
228                }
229                _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
230            },
231            other => {
232                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
233                    "expected object key or end object, found: {:?}",
234                    other
235                )))
236            }
237        }
238    }
239    if tokens.next().is_some() {
240        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
241            "found more JSON tokens after completing parsing",
242        ));
243    }
244    Ok(builder)
245}