aws_sdk_redshift/protocol_serde/
shape_modify_custom_domain_association.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_modify_custom_domain_association_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_custom_domain_association::ModifyCustomDomainAssociationOutput,
9 crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError,
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_custom_domain_association::ModifyCustomDomainAssociationError::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 => return Err(crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError::unhandled(generic)),
19 };
20
21 let _error_message = generic.message().map(|msg| msg.to_owned());
22 Err(match error_code {
23 "ClusterNotFound" => crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError::ClusterNotFoundFault({
24 #[allow(unused_mut)]
25 let mut tmp = {
26 #[allow(unused_mut)]
27 let mut output = crate::types::error::builders::ClusterNotFoundFaultBuilder::default();
28 output = crate::protocol_serde::shape_cluster_not_found_fault::de_cluster_not_found_fault_xml_err(_response_body, output)
29 .map_err(crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError::unhandled)?;
30 let output = output.meta(generic);
31 output.build()
32 };
33 if tmp.message.is_none() {
34 tmp.message = _error_message;
35 }
36 tmp
37 }),
38 "CustomCnameAssociationFault" => {
39 crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError::CustomCnameAssociationFault({
40 #[allow(unused_mut)]
41 let mut tmp = {
42 #[allow(unused_mut)]
43 let mut output = crate::types::error::builders::CustomCnameAssociationFaultBuilder::default();
44 output = crate::protocol_serde::shape_custom_cname_association_fault::de_custom_cname_association_fault_xml_err(
45 _response_body,
46 output,
47 )
48 .map_err(crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError::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 }
58 "CustomDomainAssociationNotFoundFault" => {
59 crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError::CustomDomainAssociationNotFoundFault({
60 #[allow(unused_mut)]
61 let mut tmp = {
62 #[allow(unused_mut)]
63 let mut output = crate::types::error::builders::CustomDomainAssociationNotFoundFaultBuilder::default();
64 output =
65 crate::protocol_serde::shape_custom_domain_association_not_found_fault::de_custom_domain_association_not_found_fault_xml_err(
66 _response_body,
67 output,
68 )
69 .map_err(crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError::unhandled)?;
70 let output = output.meta(generic);
71 output.build()
72 };
73 if tmp.message.is_none() {
74 tmp.message = _error_message;
75 }
76 tmp
77 })
78 }
79 "UnsupportedOperation" => {
80 crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError::UnsupportedOperationFault({
81 #[allow(unused_mut)]
82 let mut tmp = {
83 #[allow(unused_mut)]
84 let mut output = crate::types::error::builders::UnsupportedOperationFaultBuilder::default();
85 output = crate::protocol_serde::shape_unsupported_operation_fault::de_unsupported_operation_fault_xml_err(_response_body, output)
86 .map_err(crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError::unhandled)?;
87 let output = output.meta(generic);
88 output.build()
89 };
90 if tmp.message.is_none() {
91 tmp.message = _error_message;
92 }
93 tmp
94 })
95 }
96 _ => crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError::generic(generic),
97 })
98}
99
100#[allow(clippy::unnecessary_wraps)]
101pub fn de_modify_custom_domain_association_http_response(
102 _response_status: u16,
103 _response_headers: &::aws_smithy_runtime_api::http::Headers,
104 _response_body: &[u8],
105) -> std::result::Result<
106 crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationOutput,
107 crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError,
108> {
109 Ok({
110 #[allow(unused_mut)]
111 let mut output = crate::operation::modify_custom_domain_association::builders::ModifyCustomDomainAssociationOutputBuilder::default();
112 output = crate::protocol_serde::shape_modify_custom_domain_association::de_modify_custom_domain_association(_response_body, output)
113 .map_err(crate::operation::modify_custom_domain_association::ModifyCustomDomainAssociationError::unhandled)?;
114 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
115 output.build()
116 })
117}
118
119#[allow(unused_mut)]
120pub fn de_modify_custom_domain_association(
121 inp: &[u8],
122 mut builder: crate::operation::modify_custom_domain_association::builders::ModifyCustomDomainAssociationOutputBuilder,
123) -> std::result::Result<
124 crate::operation::modify_custom_domain_association::builders::ModifyCustomDomainAssociationOutputBuilder,
125 ::aws_smithy_xml::decode::XmlDecodeError,
126> {
127 let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
128
129 #[allow(unused_mut)]
130 let mut decoder = doc.root_element()?;
131 #[allow(unused_variables)]
132 let start_el = decoder.start_el();
133 if !(start_el.matches("ModifyCustomDomainAssociationResponse")) {
134 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
135 "invalid root, expected ModifyCustomDomainAssociationResponse got {:?}",
136 start_el
137 )));
138 }
139 if let Some(mut result_tag) = decoder.next_tag() {
140 let start_el = result_tag.start_el();
141 if !(start_el.matches("ModifyCustomDomainAssociationResult")) {
142 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
143 "invalid result, expected ModifyCustomDomainAssociationResult got {:?}",
144 start_el
145 )));
146 }
147 while let Some(mut tag) = result_tag.next_tag() {
148 match tag.start_el() {
149 s if s.matches("CustomDomainName") => {
150 let var_1 =
151 Some(
152 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
153 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
154 .into()
155 )
156 ?
157 )
158 ;
159 builder = builder.set_custom_domain_name(var_1);
160 }
161 ,
162 s if s.matches("CustomDomainCertificateArn") => {
163 let var_2 =
164 Some(
165 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
166 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
167 .into()
168 )
169 ?
170 )
171 ;
172 builder = builder.set_custom_domain_certificate_arn(var_2);
173 }
174 ,
175 s if s.matches("ClusterIdentifier") => {
176 let var_3 =
177 Some(
178 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
179 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
180 .into()
181 )
182 ?
183 )
184 ;
185 builder = builder.set_cluster_identifier(var_3);
186 }
187 ,
188 s if s.matches("CustomDomainCertExpiryTime") => {
189 let var_4 =
190 Some(
191 Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
192 ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
193 .into()
194 )
195 ?
196 )
197 ;
198 builder = builder.set_custom_domain_cert_expiry_time(var_4);
199 }
200 ,
201 _ => {}
202 }
203 }
204 } else {
205 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(
206 "expected ModifyCustomDomainAssociationResult tag",
207 ));
208 };
209 Ok(builder)
210}