aws_sdk_databasemigration/protocol_serde/
shape_create_replication_instance.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::unnecessary_wraps)]
3pub fn de_create_replication_instance_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_replication_instance::CreateReplicationInstanceOutput,
9    crate::operation::create_replication_instance::CreateReplicationInstanceError,
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_replication_instance::CreateReplicationInstanceError::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_replication_instance::CreateReplicationInstanceError::unhandled(
20                generic,
21            ))
22        }
23    };
24
25    let _error_message = generic.message().map(|msg| msg.to_owned());
26    Err(match error_code {
27        "AccessDeniedFault" => crate::operation::create_replication_instance::CreateReplicationInstanceError::AccessDeniedFault({
28            #[allow(unused_mut)]
29            let mut tmp = {
30                #[allow(unused_mut)]
31                let mut output = crate::types::error::builders::AccessDeniedFaultBuilder::default();
32                output = crate::protocol_serde::shape_access_denied_fault::de_access_denied_fault_json_err(_response_body, output)
33                    .map_err(crate::operation::create_replication_instance::CreateReplicationInstanceError::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        "InsufficientResourceCapacityFault" => {
43            crate::operation::create_replication_instance::CreateReplicationInstanceError::InsufficientResourceCapacityFault({
44                #[allow(unused_mut)]
45                let mut tmp = {
46                    #[allow(unused_mut)]
47                    let mut output = crate::types::error::builders::InsufficientResourceCapacityFaultBuilder::default();
48                    output = crate::protocol_serde::shape_insufficient_resource_capacity_fault::de_insufficient_resource_capacity_fault_json_err(
49                        _response_body,
50                        output,
51                    )
52                    .map_err(crate::operation::create_replication_instance::CreateReplicationInstanceError::unhandled)?;
53                    let output = output.meta(generic);
54                    output.build()
55                };
56                if tmp.message.is_none() {
57                    tmp.message = _error_message;
58                }
59                tmp
60            })
61        }
62        "InvalidResourceStateFault" => crate::operation::create_replication_instance::CreateReplicationInstanceError::InvalidResourceStateFault({
63            #[allow(unused_mut)]
64            let mut tmp = {
65                #[allow(unused_mut)]
66                let mut output = crate::types::error::builders::InvalidResourceStateFaultBuilder::default();
67                output = crate::protocol_serde::shape_invalid_resource_state_fault::de_invalid_resource_state_fault_json_err(_response_body, output)
68                    .map_err(crate::operation::create_replication_instance::CreateReplicationInstanceError::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        "InvalidSubnet" => crate::operation::create_replication_instance::CreateReplicationInstanceError::InvalidSubnet({
78            #[allow(unused_mut)]
79            let mut tmp = {
80                #[allow(unused_mut)]
81                let mut output = crate::types::error::builders::InvalidSubnetBuilder::default();
82                output = crate::protocol_serde::shape_invalid_subnet::de_invalid_subnet_json_err(_response_body, output)
83                    .map_err(crate::operation::create_replication_instance::CreateReplicationInstanceError::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        "KMSKeyNotAccessibleFault" => crate::operation::create_replication_instance::CreateReplicationInstanceError::KmsKeyNotAccessibleFault({
93            #[allow(unused_mut)]
94            let mut tmp = {
95                #[allow(unused_mut)]
96                let mut output = crate::types::error::builders::KmsKeyNotAccessibleFaultBuilder::default();
97                output = crate::protocol_serde::shape_kms_key_not_accessible_fault::de_kms_key_not_accessible_fault_json_err(_response_body, output)
98                    .map_err(crate::operation::create_replication_instance::CreateReplicationInstanceError::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        "ReplicationSubnetGroupDoesNotCoverEnoughAZs" => {
108            crate::operation::create_replication_instance::CreateReplicationInstanceError::ReplicationSubnetGroupDoesNotCoverEnoughAZs({
109                #[allow(unused_mut)]
110                let mut tmp = {
111                    #[allow(unused_mut)]
112                    let mut output = crate::types::error::builders::ReplicationSubnetGroupDoesNotCoverEnoughAZsBuilder::default();
113                    output = crate::protocol_serde::shape_replication_subnet_group_does_not_cover_enough_azs::de_replication_subnet_group_does_not_cover_enough_azs_json_err(_response_body, output).map_err(crate::operation::create_replication_instance::CreateReplicationInstanceError::unhandled)?;
114                    let output = output.meta(generic);
115                    output.build()
116                };
117                if tmp.message.is_none() {
118                    tmp.message = _error_message;
119                }
120                tmp
121            })
122        }
123        "ResourceAlreadyExistsFault" => crate::operation::create_replication_instance::CreateReplicationInstanceError::ResourceAlreadyExistsFault({
124            #[allow(unused_mut)]
125            let mut tmp = {
126                #[allow(unused_mut)]
127                let mut output = crate::types::error::builders::ResourceAlreadyExistsFaultBuilder::default();
128                output =
129                    crate::protocol_serde::shape_resource_already_exists_fault::de_resource_already_exists_fault_json_err(_response_body, output)
130                        .map_err(crate::operation::create_replication_instance::CreateReplicationInstanceError::unhandled)?;
131                let output = output.meta(generic);
132                output.build()
133            };
134            if tmp.message.is_none() {
135                tmp.message = _error_message;
136            }
137            tmp
138        }),
139        "ResourceNotFoundFault" => crate::operation::create_replication_instance::CreateReplicationInstanceError::ResourceNotFoundFault({
140            #[allow(unused_mut)]
141            let mut tmp = {
142                #[allow(unused_mut)]
143                let mut output = crate::types::error::builders::ResourceNotFoundFaultBuilder::default();
144                output = crate::protocol_serde::shape_resource_not_found_fault::de_resource_not_found_fault_json_err(_response_body, output)
145                    .map_err(crate::operation::create_replication_instance::CreateReplicationInstanceError::unhandled)?;
146                let output = output.meta(generic);
147                output.build()
148            };
149            if tmp.message.is_none() {
150                tmp.message = _error_message;
151            }
152            tmp
153        }),
154        "ResourceQuotaExceededFault" => crate::operation::create_replication_instance::CreateReplicationInstanceError::ResourceQuotaExceededFault({
155            #[allow(unused_mut)]
156            let mut tmp = {
157                #[allow(unused_mut)]
158                let mut output = crate::types::error::builders::ResourceQuotaExceededFaultBuilder::default();
159                output =
160                    crate::protocol_serde::shape_resource_quota_exceeded_fault::de_resource_quota_exceeded_fault_json_err(_response_body, output)
161                        .map_err(crate::operation::create_replication_instance::CreateReplicationInstanceError::unhandled)?;
162                let output = output.meta(generic);
163                output.build()
164            };
165            if tmp.message.is_none() {
166                tmp.message = _error_message;
167            }
168            tmp
169        }),
170        "StorageQuotaExceededFault" => crate::operation::create_replication_instance::CreateReplicationInstanceError::StorageQuotaExceededFault({
171            #[allow(unused_mut)]
172            let mut tmp = {
173                #[allow(unused_mut)]
174                let mut output = crate::types::error::builders::StorageQuotaExceededFaultBuilder::default();
175                output = crate::protocol_serde::shape_storage_quota_exceeded_fault::de_storage_quota_exceeded_fault_json_err(_response_body, output)
176                    .map_err(crate::operation::create_replication_instance::CreateReplicationInstanceError::unhandled)?;
177                let output = output.meta(generic);
178                output.build()
179            };
180            if tmp.message.is_none() {
181                tmp.message = _error_message;
182            }
183            tmp
184        }),
185        _ => crate::operation::create_replication_instance::CreateReplicationInstanceError::generic(generic),
186    })
187}
188
189#[allow(clippy::unnecessary_wraps)]
190pub fn de_create_replication_instance_http_response(
191    _response_status: u16,
192    _response_headers: &::aws_smithy_runtime_api::http::Headers,
193    _response_body: &[u8],
194) -> std::result::Result<
195    crate::operation::create_replication_instance::CreateReplicationInstanceOutput,
196    crate::operation::create_replication_instance::CreateReplicationInstanceError,
197> {
198    Ok({
199        #[allow(unused_mut)]
200        let mut output = crate::operation::create_replication_instance::builders::CreateReplicationInstanceOutputBuilder::default();
201        output = crate::protocol_serde::shape_create_replication_instance::de_create_replication_instance(_response_body, output)
202            .map_err(crate::operation::create_replication_instance::CreateReplicationInstanceError::unhandled)?;
203        output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
204        output.build()
205    })
206}
207
208pub fn ser_create_replication_instance_input(
209    input: &crate::operation::create_replication_instance::CreateReplicationInstanceInput,
210) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
211    let mut out = String::new();
212    let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
213    crate::protocol_serde::shape_create_replication_instance_input::ser_create_replication_instance_input_input(&mut object, input)?;
214    object.finish();
215    Ok(::aws_smithy_types::body::SdkBody::from(out))
216}
217
218pub(crate) fn de_create_replication_instance(
219    value: &[u8],
220    mut builder: crate::operation::create_replication_instance::builders::CreateReplicationInstanceOutputBuilder,
221) -> ::std::result::Result<
222    crate::operation::create_replication_instance::builders::CreateReplicationInstanceOutputBuilder,
223    ::aws_smithy_json::deserialize::error::DeserializeError,
224> {
225    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
226    let tokens = &mut tokens_owned;
227    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
228    loop {
229        match tokens.next().transpose()? {
230            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
231            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
232                "ReplicationInstance" => {
233                    builder = builder.set_replication_instance(crate::protocol_serde::shape_replication_instance::de_replication_instance(tokens)?);
234                }
235                _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
236            },
237            other => {
238                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
239                    "expected object key or end object, found: {:?}",
240                    other
241                )))
242            }
243        }
244    }
245    if tokens.next().is_some() {
246        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
247            "found more JSON tokens after completing parsing",
248        ));
249    }
250    Ok(builder)
251}