aws_sdk_connectcases/protocol_serde/
shape_create_related_item.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_create_related_item_http_error(
4 _response_status: u16,
5 _response_headers: &::aws_smithy_runtime_api::http::Headers,
6 _response_body: &[u8],
7) -> std::result::Result<crate::operation::create_related_item::CreateRelatedItemOutput, crate::operation::create_related_item::CreateRelatedItemError>
8{
9 #[allow(unused_mut)]
10 let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
11 .map_err(crate::operation::create_related_item::CreateRelatedItemError::unhandled)?;
12 generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
13 let generic = generic_builder.build();
14 let error_code = match generic.code() {
15 Some(code) => code,
16 None => return Err(crate::operation::create_related_item::CreateRelatedItemError::unhandled(generic)),
17 };
18
19 let _error_message = generic.message().map(|msg| msg.to_owned());
20 Err(match error_code {
21 "AccessDeniedException" => crate::operation::create_related_item::CreateRelatedItemError::AccessDeniedException({
22 #[allow(unused_mut)]
23 let mut tmp = {
24 #[allow(unused_mut)]
25 let mut output = crate::types::error::builders::AccessDeniedExceptionBuilder::default();
26 output = crate::protocol_serde::shape_access_denied_exception::de_access_denied_exception_json_err(_response_body, output)
27 .map_err(crate::operation::create_related_item::CreateRelatedItemError::unhandled)?;
28 let output = output.meta(generic);
29 crate::serde_util::access_denied_exception_correct_errors(output)
30 .build()
31 .map_err(crate::operation::create_related_item::CreateRelatedItemError::unhandled)?
32 };
33 tmp
34 }),
35 "InternalServerException" => crate::operation::create_related_item::CreateRelatedItemError::InternalServerException({
36 #[allow(unused_mut)]
37 let mut tmp = {
38 #[allow(unused_mut)]
39 let mut output = crate::types::error::builders::InternalServerExceptionBuilder::default();
40 output = crate::protocol_serde::shape_internal_server_exception::de_internal_server_exception_json_err(_response_body, output)
41 .map_err(crate::operation::create_related_item::CreateRelatedItemError::unhandled)?;
42 output = output.set_retry_after_seconds(
43 crate::protocol_serde::shape_internal_server_exception::de_retry_after_seconds_header(_response_headers).map_err(|_| {
44 crate::operation::create_related_item::CreateRelatedItemError::unhandled(
45 "Failed to parse retryAfterSeconds from header `Retry-After",
46 )
47 })?,
48 );
49 let output = output.meta(generic);
50 crate::serde_util::internal_server_exception_correct_errors(output)
51 .build()
52 .map_err(crate::operation::create_related_item::CreateRelatedItemError::unhandled)?
53 };
54 tmp
55 }),
56 "ResourceNotFoundException" => crate::operation::create_related_item::CreateRelatedItemError::ResourceNotFoundException({
57 #[allow(unused_mut)]
58 let mut tmp = {
59 #[allow(unused_mut)]
60 let mut output = crate::types::error::builders::ResourceNotFoundExceptionBuilder::default();
61 output = crate::protocol_serde::shape_resource_not_found_exception::de_resource_not_found_exception_json_err(_response_body, output)
62 .map_err(crate::operation::create_related_item::CreateRelatedItemError::unhandled)?;
63 let output = output.meta(generic);
64 crate::serde_util::resource_not_found_exception_correct_errors(output)
65 .build()
66 .map_err(crate::operation::create_related_item::CreateRelatedItemError::unhandled)?
67 };
68 tmp
69 }),
70 "ServiceQuotaExceededException" => crate::operation::create_related_item::CreateRelatedItemError::ServiceQuotaExceededException({
71 #[allow(unused_mut)]
72 let mut tmp = {
73 #[allow(unused_mut)]
74 let mut output = crate::types::error::builders::ServiceQuotaExceededExceptionBuilder::default();
75 output = crate::protocol_serde::shape_service_quota_exceeded_exception::de_service_quota_exceeded_exception_json_err(
76 _response_body,
77 output,
78 )
79 .map_err(crate::operation::create_related_item::CreateRelatedItemError::unhandled)?;
80 let output = output.meta(generic);
81 crate::serde_util::service_quota_exceeded_exception_correct_errors(output)
82 .build()
83 .map_err(crate::operation::create_related_item::CreateRelatedItemError::unhandled)?
84 };
85 tmp
86 }),
87 "ThrottlingException" => crate::operation::create_related_item::CreateRelatedItemError::ThrottlingException({
88 #[allow(unused_mut)]
89 let mut tmp = {
90 #[allow(unused_mut)]
91 let mut output = crate::types::error::builders::ThrottlingExceptionBuilder::default();
92 output = crate::protocol_serde::shape_throttling_exception::de_throttling_exception_json_err(_response_body, output)
93 .map_err(crate::operation::create_related_item::CreateRelatedItemError::unhandled)?;
94 let output = output.meta(generic);
95 crate::serde_util::throttling_exception_correct_errors(output)
96 .build()
97 .map_err(crate::operation::create_related_item::CreateRelatedItemError::unhandled)?
98 };
99 tmp
100 }),
101 "ValidationException" => crate::operation::create_related_item::CreateRelatedItemError::ValidationException({
102 #[allow(unused_mut)]
103 let mut tmp = {
104 #[allow(unused_mut)]
105 let mut output = crate::types::error::builders::ValidationExceptionBuilder::default();
106 output = crate::protocol_serde::shape_validation_exception::de_validation_exception_json_err(_response_body, output)
107 .map_err(crate::operation::create_related_item::CreateRelatedItemError::unhandled)?;
108 let output = output.meta(generic);
109 crate::serde_util::validation_exception_correct_errors(output)
110 .build()
111 .map_err(crate::operation::create_related_item::CreateRelatedItemError::unhandled)?
112 };
113 tmp
114 }),
115 _ => crate::operation::create_related_item::CreateRelatedItemError::generic(generic),
116 })
117}
118
119#[allow(clippy::unnecessary_wraps)]
120pub fn de_create_related_item_http_response(
121 _response_status: u16,
122 _response_headers: &::aws_smithy_runtime_api::http::Headers,
123 _response_body: &[u8],
124) -> std::result::Result<crate::operation::create_related_item::CreateRelatedItemOutput, crate::operation::create_related_item::CreateRelatedItemError>
125{
126 Ok({
127 #[allow(unused_mut)]
128 let mut output = crate::operation::create_related_item::builders::CreateRelatedItemOutputBuilder::default();
129 output = crate::protocol_serde::shape_create_related_item::de_create_related_item(_response_body, output)
130 .map_err(crate::operation::create_related_item::CreateRelatedItemError::unhandled)?;
131 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
132 crate::serde_util::create_related_item_output_output_correct_errors(output)
133 .build()
134 .map_err(crate::operation::create_related_item::CreateRelatedItemError::unhandled)?
135 })
136}
137
138pub fn ser_create_related_item_input(
139 input: &crate::operation::create_related_item::CreateRelatedItemInput,
140) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
141 let mut out = String::new();
142 let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
143 crate::protocol_serde::shape_create_related_item_input::ser_create_related_item_input_input(&mut object, input)?;
144 object.finish();
145 Ok(::aws_smithy_types::body::SdkBody::from(out))
146}
147
148pub(crate) fn de_create_related_item(
149 _value: &[u8],
150 mut builder: crate::operation::create_related_item::builders::CreateRelatedItemOutputBuilder,
151) -> ::std::result::Result<
152 crate::operation::create_related_item::builders::CreateRelatedItemOutputBuilder,
153 ::aws_smithy_json::deserialize::error::DeserializeError,
154> {
155 let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(_value)).peekable();
156 let tokens = &mut tokens_owned;
157 ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
158 loop {
159 match tokens.next().transpose()? {
160 Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
161 Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
162 "relatedItemArn" => {
163 builder = builder.set_related_item_arn(
164 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
165 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
166 .transpose()?,
167 );
168 }
169 "relatedItemId" => {
170 builder = builder.set_related_item_id(
171 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
172 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
173 .transpose()?,
174 );
175 }
176 _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
177 },
178 other => {
179 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
180 "expected object key or end object, found: {other:?}"
181 )))
182 }
183 }
184 }
185 if tokens.next().is_some() {
186 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
187 "found more JSON tokens after completing parsing",
188 ));
189 }
190 Ok(builder)
191}