aws_sdk_elasticsearch/protocol_serde/
shape_purchase_reserved_elasticsearch_instance_offering.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_purchase_reserved_elasticsearch_instance_offering_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::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingOutput,
9 crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError,
10> {
11 #[allow(unused_mut)]
12 let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body).map_err(
13 crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError::unhandled,
14 )?;
15 generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
16 let generic = generic_builder.build();
17 let error_code =
18 match generic.code() {
19 Some(code) => code,
20 None => return Err(
21 crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError::unhandled(
22 generic,
23 ),
24 ),
25 };
26
27 let _error_message = generic.message().map(|msg| msg.to_owned());
28 Err(match error_code {
29 "DisabledOperationException" => crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError::DisabledOperationException({
30 #[allow(unused_mut)]
31 let mut tmp =
32 {
33 #[allow(unused_mut)]
34 let mut output = crate::types::error::builders::DisabledOperationExceptionBuilder::default();
35 output = crate::protocol_serde::shape_disabled_operation_exception::de_disabled_operation_exception_json_err(_response_body, output).map_err(crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError::unhandled)?;
36 let output = output.meta(generic);
37 output.build()
38 }
39 ;
40 if tmp.message.is_none() {
41 tmp.message = _error_message;
42 }
43 tmp
44 }),
45 "InternalException" => crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError::InternalException({
46 #[allow(unused_mut)]
47 let mut tmp =
48 {
49 #[allow(unused_mut)]
50 let mut output = crate::types::error::builders::InternalExceptionBuilder::default();
51 output = crate::protocol_serde::shape_internal_exception::de_internal_exception_json_err(_response_body, output).map_err(crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError::unhandled)?;
52 let output = output.meta(generic);
53 output.build()
54 }
55 ;
56 if tmp.message.is_none() {
57 tmp.message = _error_message;
58 }
59 tmp
60 }),
61 "LimitExceededException" => crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError::LimitExceededException({
62 #[allow(unused_mut)]
63 let mut tmp =
64 {
65 #[allow(unused_mut)]
66 let mut output = crate::types::error::builders::LimitExceededExceptionBuilder::default();
67 output = crate::protocol_serde::shape_limit_exceeded_exception::de_limit_exceeded_exception_json_err(_response_body, output).map_err(crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError::unhandled)?;
68 let output = output.meta(generic);
69 output.build()
70 }
71 ;
72 if tmp.message.is_none() {
73 tmp.message = _error_message;
74 }
75 tmp
76 }),
77 "ResourceAlreadyExistsException" => crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError::ResourceAlreadyExistsException({
78 #[allow(unused_mut)]
79 let mut tmp =
80 {
81 #[allow(unused_mut)]
82 let mut output = crate::types::error::builders::ResourceAlreadyExistsExceptionBuilder::default();
83 output = crate::protocol_serde::shape_resource_already_exists_exception::de_resource_already_exists_exception_json_err(_response_body, output).map_err(crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError::unhandled)?;
84 let output = output.meta(generic);
85 output.build()
86 }
87 ;
88 if tmp.message.is_none() {
89 tmp.message = _error_message;
90 }
91 tmp
92 }),
93 "ResourceNotFoundException" => crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError::ResourceNotFoundException({
94 #[allow(unused_mut)]
95 let mut tmp =
96 {
97 #[allow(unused_mut)]
98 let mut output = crate::types::error::builders::ResourceNotFoundExceptionBuilder::default();
99 output = crate::protocol_serde::shape_resource_not_found_exception::de_resource_not_found_exception_json_err(_response_body, output).map_err(crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError::unhandled)?;
100 let output = output.meta(generic);
101 output.build()
102 }
103 ;
104 if tmp.message.is_none() {
105 tmp.message = _error_message;
106 }
107 tmp
108 }),
109 "ValidationException" => crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError::ValidationException({
110 #[allow(unused_mut)]
111 let mut tmp =
112 {
113 #[allow(unused_mut)]
114 let mut output = crate::types::error::builders::ValidationExceptionBuilder::default();
115 output = crate::protocol_serde::shape_validation_exception::de_validation_exception_json_err(_response_body, output).map_err(crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError::unhandled)?;
116 let output = output.meta(generic);
117 output.build()
118 }
119 ;
120 if tmp.message.is_none() {
121 tmp.message = _error_message;
122 }
123 tmp
124 }),
125 _ => crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError::generic(generic)
126 })
127}
128
129#[allow(clippy::unnecessary_wraps)]
130pub fn de_purchase_reserved_elasticsearch_instance_offering_http_response(
131 _response_status: u16,
132 _response_headers: &::aws_smithy_runtime_api::http::Headers,
133 _response_body: &[u8],
134) -> std::result::Result<
135 crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingOutput,
136 crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError,
137> {
138 Ok({
139 #[allow(unused_mut)]
140 let mut output = crate::operation::purchase_reserved_elasticsearch_instance_offering::builders::PurchaseReservedElasticsearchInstanceOfferingOutputBuilder::default();
141 output =
142 crate::protocol_serde::shape_purchase_reserved_elasticsearch_instance_offering::de_purchase_reserved_elasticsearch_instance_offering(
143 _response_body,
144 output,
145 )
146 .map_err(
147 crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingError::unhandled,
148 )?;
149 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
150 output.build()
151 })
152}
153
154pub fn ser_purchase_reserved_elasticsearch_instance_offering_input(
155 input: &crate::operation::purchase_reserved_elasticsearch_instance_offering::PurchaseReservedElasticsearchInstanceOfferingInput,
156) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
157 let mut out = String::new();
158 let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
159 crate::protocol_serde::shape_purchase_reserved_elasticsearch_instance_offering_input::ser_purchase_reserved_elasticsearch_instance_offering_input_input(&mut object, input)?;
160 object.finish();
161 Ok(::aws_smithy_types::body::SdkBody::from(out))
162}
163
164pub(crate) fn de_purchase_reserved_elasticsearch_instance_offering(
165 value: &[u8],
166 mut builder: crate::operation::purchase_reserved_elasticsearch_instance_offering::builders::PurchaseReservedElasticsearchInstanceOfferingOutputBuilder,
167) -> ::std::result::Result<
168 crate::operation::purchase_reserved_elasticsearch_instance_offering::builders::PurchaseReservedElasticsearchInstanceOfferingOutputBuilder,
169 ::aws_smithy_json::deserialize::error::DeserializeError,
170> {
171 let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
172 let tokens = &mut tokens_owned;
173 ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
174 loop {
175 match tokens.next().transpose()? {
176 Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
177 Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
178 "ReservationName" => {
179 builder = builder.set_reservation_name(
180 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
181 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
182 .transpose()?,
183 );
184 }
185 "ReservedElasticsearchInstanceId" => {
186 builder = builder.set_reserved_elasticsearch_instance_id(
187 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
188 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
189 .transpose()?,
190 );
191 }
192 _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
193 },
194 other => {
195 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
196 "expected object key or end object, found: {:?}",
197 other
198 )))
199 }
200 }
201 }
202 if tokens.next().is_some() {
203 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
204 "found more JSON tokens after completing parsing",
205 ));
206 }
207 Ok(builder)
208}