aws_sdk_ram/protocol_serde/
shape_create_resource_share.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_create_resource_share_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_resource_share::CreateResourceShareOutput,
9 crate::operation::create_resource_share::CreateResourceShareError,
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_resource_share::CreateResourceShareError::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::create_resource_share::CreateResourceShareError::unhandled(generic)),
19 };
20
21 let _error_message = generic.message().map(|msg| msg.to_owned());
22 Err(match error_code {
23 "IdempotentParameterMismatchException" => {
24 crate::operation::create_resource_share::CreateResourceShareError::IdempotentParameterMismatchException({
25 #[allow(unused_mut)]
26 let mut tmp = {
27 #[allow(unused_mut)]
28 let mut output = crate::types::error::builders::IdempotentParameterMismatchExceptionBuilder::default();
29 output =
30 crate::protocol_serde::shape_idempotent_parameter_mismatch_exception::de_idempotent_parameter_mismatch_exception_json_err(
31 _response_body,
32 output,
33 )
34 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?;
35 let output = output.meta(generic);
36 crate::serde_util::idempotent_parameter_mismatch_exception_correct_errors(output)
37 .build()
38 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?
39 };
40 tmp
41 })
42 }
43 "InvalidClientTokenException" => crate::operation::create_resource_share::CreateResourceShareError::InvalidClientTokenException({
44 #[allow(unused_mut)]
45 let mut tmp = {
46 #[allow(unused_mut)]
47 let mut output = crate::types::error::builders::InvalidClientTokenExceptionBuilder::default();
48 output =
49 crate::protocol_serde::shape_invalid_client_token_exception::de_invalid_client_token_exception_json_err(_response_body, output)
50 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?;
51 let output = output.meta(generic);
52 crate::serde_util::invalid_client_token_exception_correct_errors(output)
53 .build()
54 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?
55 };
56 tmp
57 }),
58 "InvalidParameterException" => crate::operation::create_resource_share::CreateResourceShareError::InvalidParameterException({
59 #[allow(unused_mut)]
60 let mut tmp = {
61 #[allow(unused_mut)]
62 let mut output = crate::types::error::builders::InvalidParameterExceptionBuilder::default();
63 output = crate::protocol_serde::shape_invalid_parameter_exception::de_invalid_parameter_exception_json_err(_response_body, output)
64 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?;
65 let output = output.meta(generic);
66 crate::serde_util::invalid_parameter_exception_correct_errors(output)
67 .build()
68 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?
69 };
70 tmp
71 }),
72 "InvalidStateTransitionException" => crate::operation::create_resource_share::CreateResourceShareError::InvalidStateTransitionException({
73 #[allow(unused_mut)]
74 let mut tmp = {
75 #[allow(unused_mut)]
76 let mut output = crate::types::error::builders::InvalidStateTransitionExceptionBuilder::default();
77 output = crate::protocol_serde::shape_invalid_state_transition_exception::de_invalid_state_transition_exception_json_err(
78 _response_body,
79 output,
80 )
81 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?;
82 let output = output.meta(generic);
83 crate::serde_util::invalid_state_transition_exception_correct_errors(output)
84 .build()
85 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?
86 };
87 tmp
88 }),
89 "MalformedArnException" => crate::operation::create_resource_share::CreateResourceShareError::MalformedArnException({
90 #[allow(unused_mut)]
91 let mut tmp = {
92 #[allow(unused_mut)]
93 let mut output = crate::types::error::builders::MalformedArnExceptionBuilder::default();
94 output = crate::protocol_serde::shape_malformed_arn_exception::de_malformed_arn_exception_json_err(_response_body, output)
95 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?;
96 let output = output.meta(generic);
97 crate::serde_util::malformed_arn_exception_correct_errors(output)
98 .build()
99 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?
100 };
101 tmp
102 }),
103 "OperationNotPermittedException" => crate::operation::create_resource_share::CreateResourceShareError::OperationNotPermittedException({
104 #[allow(unused_mut)]
105 let mut tmp = {
106 #[allow(unused_mut)]
107 let mut output = crate::types::error::builders::OperationNotPermittedExceptionBuilder::default();
108 output = crate::protocol_serde::shape_operation_not_permitted_exception::de_operation_not_permitted_exception_json_err(
109 _response_body,
110 output,
111 )
112 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?;
113 let output = output.meta(generic);
114 crate::serde_util::operation_not_permitted_exception_correct_errors(output)
115 .build()
116 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?
117 };
118 tmp
119 }),
120 "ResourceShareLimitExceededException" => {
121 crate::operation::create_resource_share::CreateResourceShareError::ResourceShareLimitExceededException({
122 #[allow(unused_mut)]
123 let mut tmp = {
124 #[allow(unused_mut)]
125 let mut output = crate::types::error::builders::ResourceShareLimitExceededExceptionBuilder::default();
126 output =
127 crate::protocol_serde::shape_resource_share_limit_exceeded_exception::de_resource_share_limit_exceeded_exception_json_err(
128 _response_body,
129 output,
130 )
131 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?;
132 let output = output.meta(generic);
133 crate::serde_util::resource_share_limit_exceeded_exception_correct_errors(output)
134 .build()
135 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?
136 };
137 tmp
138 })
139 }
140 "ServerInternalException" => crate::operation::create_resource_share::CreateResourceShareError::ServerInternalException({
141 #[allow(unused_mut)]
142 let mut tmp = {
143 #[allow(unused_mut)]
144 let mut output = crate::types::error::builders::ServerInternalExceptionBuilder::default();
145 output = crate::protocol_serde::shape_server_internal_exception::de_server_internal_exception_json_err(_response_body, output)
146 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?;
147 let output = output.meta(generic);
148 crate::serde_util::server_internal_exception_correct_errors(output)
149 .build()
150 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?
151 };
152 tmp
153 }),
154 "ServiceUnavailableException" => crate::operation::create_resource_share::CreateResourceShareError::ServiceUnavailableException({
155 #[allow(unused_mut)]
156 let mut tmp = {
157 #[allow(unused_mut)]
158 let mut output = crate::types::error::builders::ServiceUnavailableExceptionBuilder::default();
159 output =
160 crate::protocol_serde::shape_service_unavailable_exception::de_service_unavailable_exception_json_err(_response_body, output)
161 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?;
162 let output = output.meta(generic);
163 crate::serde_util::service_unavailable_exception_correct_errors(output)
164 .build()
165 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?
166 };
167 tmp
168 }),
169 "TagLimitExceededException" => crate::operation::create_resource_share::CreateResourceShareError::TagLimitExceededException({
170 #[allow(unused_mut)]
171 let mut tmp = {
172 #[allow(unused_mut)]
173 let mut output = crate::types::error::builders::TagLimitExceededExceptionBuilder::default();
174 output = crate::protocol_serde::shape_tag_limit_exceeded_exception::de_tag_limit_exceeded_exception_json_err(_response_body, output)
175 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?;
176 let output = output.meta(generic);
177 crate::serde_util::tag_limit_exceeded_exception_correct_errors(output)
178 .build()
179 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?
180 };
181 tmp
182 }),
183 "TagPolicyViolationException" => crate::operation::create_resource_share::CreateResourceShareError::TagPolicyViolationException({
184 #[allow(unused_mut)]
185 let mut tmp = {
186 #[allow(unused_mut)]
187 let mut output = crate::types::error::builders::TagPolicyViolationExceptionBuilder::default();
188 output =
189 crate::protocol_serde::shape_tag_policy_violation_exception::de_tag_policy_violation_exception_json_err(_response_body, output)
190 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?;
191 let output = output.meta(generic);
192 crate::serde_util::tag_policy_violation_exception_correct_errors(output)
193 .build()
194 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?
195 };
196 tmp
197 }),
198 "UnknownResourceException" => crate::operation::create_resource_share::CreateResourceShareError::UnknownResourceException({
199 #[allow(unused_mut)]
200 let mut tmp = {
201 #[allow(unused_mut)]
202 let mut output = crate::types::error::builders::UnknownResourceExceptionBuilder::default();
203 output = crate::protocol_serde::shape_unknown_resource_exception::de_unknown_resource_exception_json_err(_response_body, output)
204 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?;
205 let output = output.meta(generic);
206 crate::serde_util::unknown_resource_exception_correct_errors(output)
207 .build()
208 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?
209 };
210 tmp
211 }),
212 _ => crate::operation::create_resource_share::CreateResourceShareError::generic(generic),
213 })
214}
215
216#[allow(clippy::unnecessary_wraps)]
217pub fn de_create_resource_share_http_response(
218 _response_status: u16,
219 _response_headers: &::aws_smithy_runtime_api::http::Headers,
220 _response_body: &[u8],
221) -> std::result::Result<
222 crate::operation::create_resource_share::CreateResourceShareOutput,
223 crate::operation::create_resource_share::CreateResourceShareError,
224> {
225 Ok({
226 #[allow(unused_mut)]
227 let mut output = crate::operation::create_resource_share::builders::CreateResourceShareOutputBuilder::default();
228 output = crate::protocol_serde::shape_create_resource_share::de_create_resource_share(_response_body, output)
229 .map_err(crate::operation::create_resource_share::CreateResourceShareError::unhandled)?;
230 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
231 output.build()
232 })
233}
234
235pub fn ser_create_resource_share_input(
236 input: &crate::operation::create_resource_share::CreateResourceShareInput,
237) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
238 let mut out = String::new();
239 let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
240 crate::protocol_serde::shape_create_resource_share_input::ser_create_resource_share_input_input(&mut object, input)?;
241 object.finish();
242 Ok(::aws_smithy_types::body::SdkBody::from(out))
243}
244
245pub(crate) fn de_create_resource_share(
246 value: &[u8],
247 mut builder: crate::operation::create_resource_share::builders::CreateResourceShareOutputBuilder,
248) -> ::std::result::Result<
249 crate::operation::create_resource_share::builders::CreateResourceShareOutputBuilder,
250 ::aws_smithy_json::deserialize::error::DeserializeError,
251> {
252 let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
253 let tokens = &mut tokens_owned;
254 ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
255 loop {
256 match tokens.next().transpose()? {
257 Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
258 Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
259 "clientToken" => {
260 builder = builder.set_client_token(
261 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
262 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
263 .transpose()?,
264 );
265 }
266 "resourceShare" => {
267 builder = builder.set_resource_share(crate::protocol_serde::shape_resource_share::de_resource_share(tokens)?);
268 }
269 _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
270 },
271 other => {
272 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
273 "expected object key or end object, found: {other:?}"
274 )))
275 }
276 }
277 }
278 if tokens.next().is_some() {
279 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
280 "found more JSON tokens after completing parsing",
281 ));
282 }
283 Ok(builder)
284}