aws_sdk_databasemigration/protocol_serde/
shape_create_replication_instance.rs1#[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}