aws_sdk_redshift/protocol_serde/
shape_modify_custom_domain_association.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[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") /* CustomDomainName com.amazonaws.redshift.synthetic#ModifyCustomDomainAssociationOutput$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") /* CustomDomainCertificateArn com.amazonaws.redshift.synthetic#ModifyCustomDomainAssociationOutput$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") /* ClusterIdentifier com.amazonaws.redshift.synthetic#ModifyCustomDomainAssociationOutput$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") /* CustomDomainCertExpiryTime com.amazonaws.redshift.synthetic#ModifyCustomDomainAssociationOutput$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}