aws_sdk_redshift/protocol_serde/
shape_modify_event_subscription.rs1#[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") => {
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}