Skip to main content

aws_sdk_redshift/protocol_serde/
shape_modify_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_modify_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::modify_event_subscription::ModifyEventSubscriptionOutput,
9    crate::operation::modify_event_subscription::ModifyEventSubscriptionError,
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::modify_event_subscription::ModifyEventSubscriptionError::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::modify_event_subscription::ModifyEventSubscriptionError::unhandled(
20                generic,
21            ))
22        }
23    };
24
25    let _error_message = generic.message().map(|msg| msg.to_owned());
26    Err(match error_code {
27        "InvalidSubscriptionStateFault" => {
28            crate::operation::modify_event_subscription::ModifyEventSubscriptionError::InvalidSubscriptionStateFault({
29                #[allow(unused_mut)]
30                let mut tmp = {
31                    #[allow(unused_mut)]
32                    let mut output = crate::types::error::builders::InvalidSubscriptionStateFaultBuilder::default();
33                    output = crate::protocol_serde::shape_invalid_subscription_state_fault::de_invalid_subscription_state_fault_xml_err(
34                        _response_body,
35                        output,
36                    )
37                    .map_err(crate::operation::modify_event_subscription::ModifyEventSubscriptionError::unhandled)?;
38                    let output = output.meta(generic);
39                    output.build()
40                };
41                if tmp.message.is_none() {
42                    tmp.message = _error_message;
43                }
44                tmp
45            })
46        }
47        "SNSInvalidTopic" => crate::operation::modify_event_subscription::ModifyEventSubscriptionError::SnsInvalidTopicFault({
48            #[allow(unused_mut)]
49            let mut tmp = {
50                #[allow(unused_mut)]
51                let mut output = crate::types::error::builders::SnsInvalidTopicFaultBuilder::default();
52                output = crate::protocol_serde::shape_sns_invalid_topic_fault::de_sns_invalid_topic_fault_xml_err(_response_body, output)
53                    .map_err(crate::operation::modify_event_subscription::ModifyEventSubscriptionError::unhandled)?;
54                let output = output.meta(generic);
55                output.build()
56            };
57            if tmp.message.is_none() {
58                tmp.message = _error_message;
59            }
60            tmp
61        }),
62        "SNSNoAuthorization" => crate::operation::modify_event_subscription::ModifyEventSubscriptionError::SnsNoAuthorizationFault({
63            #[allow(unused_mut)]
64            let mut tmp = {
65                #[allow(unused_mut)]
66                let mut output = crate::types::error::builders::SnsNoAuthorizationFaultBuilder::default();
67                output = crate::protocol_serde::shape_sns_no_authorization_fault::de_sns_no_authorization_fault_xml_err(_response_body, output)
68                    .map_err(crate::operation::modify_event_subscription::ModifyEventSubscriptionError::unhandled)?;
69                let output = output.meta(generic);
70                output.build()
71            };
72            if tmp.message.is_none() {
73                tmp.message = _error_message;
74            }
75            tmp
76        }),
77        "SNSTopicArnNotFound" => crate::operation::modify_event_subscription::ModifyEventSubscriptionError::SnsTopicArnNotFoundFault({
78            #[allow(unused_mut)]
79            let mut tmp = {
80                #[allow(unused_mut)]
81                let mut output = crate::types::error::builders::SnsTopicArnNotFoundFaultBuilder::default();
82                output = crate::protocol_serde::shape_sns_topic_arn_not_found_fault::de_sns_topic_arn_not_found_fault_xml_err(_response_body, output)
83                    .map_err(crate::operation::modify_event_subscription::ModifyEventSubscriptionError::unhandled)?;
84                let output = output.meta(generic);
85                output.build()
86            };
87            if tmp.message.is_none() {
88                tmp.message = _error_message;
89            }
90            tmp
91        }),
92        "SourceNotFound" => crate::operation::modify_event_subscription::ModifyEventSubscriptionError::SourceNotFoundFault({
93            #[allow(unused_mut)]
94            let mut tmp = {
95                #[allow(unused_mut)]
96                let mut output = crate::types::error::builders::SourceNotFoundFaultBuilder::default();
97                output = crate::protocol_serde::shape_source_not_found_fault::de_source_not_found_fault_xml_err(_response_body, output)
98                    .map_err(crate::operation::modify_event_subscription::ModifyEventSubscriptionError::unhandled)?;
99                let output = output.meta(generic);
100                output.build()
101            };
102            if tmp.message.is_none() {
103                tmp.message = _error_message;
104            }
105            tmp
106        }),
107        "SubscriptionCategoryNotFound" => {
108            crate::operation::modify_event_subscription::ModifyEventSubscriptionError::SubscriptionCategoryNotFoundFault({
109                #[allow(unused_mut)]
110                let mut tmp = {
111                    #[allow(unused_mut)]
112                    let mut output = crate::types::error::builders::SubscriptionCategoryNotFoundFaultBuilder::default();
113                    output = crate::protocol_serde::shape_subscription_category_not_found_fault::de_subscription_category_not_found_fault_xml_err(
114                        _response_body,
115                        output,
116                    )
117                    .map_err(crate::operation::modify_event_subscription::ModifyEventSubscriptionError::unhandled)?;
118                    let output = output.meta(generic);
119                    output.build()
120                };
121                if tmp.message.is_none() {
122                    tmp.message = _error_message;
123                }
124                tmp
125            })
126        }
127        "SubscriptionEventIdNotFound" => {
128            crate::operation::modify_event_subscription::ModifyEventSubscriptionError::SubscriptionEventIdNotFoundFault({
129                #[allow(unused_mut)]
130                let mut tmp = {
131                    #[allow(unused_mut)]
132                    let mut output = crate::types::error::builders::SubscriptionEventIdNotFoundFaultBuilder::default();
133                    output = crate::protocol_serde::shape_subscription_event_id_not_found_fault::de_subscription_event_id_not_found_fault_xml_err(
134                        _response_body,
135                        output,
136                    )
137                    .map_err(crate::operation::modify_event_subscription::ModifyEventSubscriptionError::unhandled)?;
138                    let output = output.meta(generic);
139                    output.build()
140                };
141                if tmp.message.is_none() {
142                    tmp.message = _error_message;
143                }
144                tmp
145            })
146        }
147        "SubscriptionNotFound" => crate::operation::modify_event_subscription::ModifyEventSubscriptionError::SubscriptionNotFoundFault({
148            #[allow(unused_mut)]
149            let mut tmp = {
150                #[allow(unused_mut)]
151                let mut output = crate::types::error::builders::SubscriptionNotFoundFaultBuilder::default();
152                output = crate::protocol_serde::shape_subscription_not_found_fault::de_subscription_not_found_fault_xml_err(_response_body, output)
153                    .map_err(crate::operation::modify_event_subscription::ModifyEventSubscriptionError::unhandled)?;
154                let output = output.meta(generic);
155                output.build()
156            };
157            if tmp.message.is_none() {
158                tmp.message = _error_message;
159            }
160            tmp
161        }),
162        "SubscriptionSeverityNotFound" => {
163            crate::operation::modify_event_subscription::ModifyEventSubscriptionError::SubscriptionSeverityNotFoundFault({
164                #[allow(unused_mut)]
165                let mut tmp = {
166                    #[allow(unused_mut)]
167                    let mut output = crate::types::error::builders::SubscriptionSeverityNotFoundFaultBuilder::default();
168                    output = crate::protocol_serde::shape_subscription_severity_not_found_fault::de_subscription_severity_not_found_fault_xml_err(
169                        _response_body,
170                        output,
171                    )
172                    .map_err(crate::operation::modify_event_subscription::ModifyEventSubscriptionError::unhandled)?;
173                    let output = output.meta(generic);
174                    output.build()
175                };
176                if tmp.message.is_none() {
177                    tmp.message = _error_message;
178                }
179                tmp
180            })
181        }
182        _ => crate::operation::modify_event_subscription::ModifyEventSubscriptionError::generic(generic),
183    })
184}
185
186#[allow(clippy::unnecessary_wraps)]
187pub fn de_modify_event_subscription_http_response(
188    _response_status: u16,
189    _response_headers: &::aws_smithy_runtime_api::http::Headers,
190    _response_body: &[u8],
191) -> std::result::Result<
192    crate::operation::modify_event_subscription::ModifyEventSubscriptionOutput,
193    crate::operation::modify_event_subscription::ModifyEventSubscriptionError,
194> {
195    Ok({
196        #[allow(unused_mut)]
197        let mut output = crate::operation::modify_event_subscription::builders::ModifyEventSubscriptionOutputBuilder::default();
198        output = crate::protocol_serde::shape_modify_event_subscription::de_modify_event_subscription(_response_body, output)
199            .map_err(crate::operation::modify_event_subscription::ModifyEventSubscriptionError::unhandled)?;
200        output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
201        output.build()
202    })
203}
204
205#[allow(unused_mut)]
206pub fn de_modify_event_subscription(
207    inp: &[u8],
208    mut builder: crate::operation::modify_event_subscription::builders::ModifyEventSubscriptionOutputBuilder,
209) -> std::result::Result<
210    crate::operation::modify_event_subscription::builders::ModifyEventSubscriptionOutputBuilder,
211    ::aws_smithy_xml::decode::XmlDecodeError,
212> {
213    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
214
215    #[allow(unused_mut)]
216    let mut decoder = doc.root_element()?;
217    #[allow(unused_variables)]
218    let start_el = decoder.start_el();
219    if !(start_el.matches("ModifyEventSubscriptionResponse")) {
220        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
221            "invalid root, expected ModifyEventSubscriptionResponse got {start_el:?}"
222        )));
223    }
224    if let Some(mut result_tag) = decoder.next_tag() {
225        let start_el = result_tag.start_el();
226        if !(start_el.matches("ModifyEventSubscriptionResult")) {
227            return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
228                "invalid result, expected ModifyEventSubscriptionResult got {start_el:?}"
229            )));
230        }
231        while let Some(mut tag) = result_tag.next_tag() {
232            match tag.start_el() {
233            s if s.matches("EventSubscription") /* EventSubscription com.amazonaws.redshift.synthetic#ModifyEventSubscriptionOutput$EventSubscription */ =>  {
234                let var_1 =
235                    Some(
236                        crate::protocol_serde::shape_event_subscription::de_event_subscription(&mut tag)
237                        ?
238                    )
239                ;
240                builder = builder.set_event_subscription(var_1);
241            }
242            ,
243            _ => {}
244        }
245        }
246    } else {
247        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(
248            "expected ModifyEventSubscriptionResult tag",
249        ));
250    };
251    Ok(builder)
252}