177 177 | }
|
178 178 | /// Returns true if this is a [`Ss`](crate::types::AttributeValue::Ss).
|
179 179 | pub fn is_ss(&self) -> bool {
|
180 180 | self.as_ss().is_ok()
|
181 181 | }
|
182 182 | /// Returns true if the enum instance is the `Unknown` variant.
|
183 183 | pub fn is_unknown(&self) -> bool {
|
184 184 | matches!(self, Self::Unknown)
|
185 185 | }
|
186 186 | }
|
187 + | static ATTRIBUTEVALUE_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
|
188 + | ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.dynamodb#AttributeValue", "com.amazonaws.dynamodb", "AttributeValue");
|
189 + | static ATTRIBUTEVALUE_MEMBER_S: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
190 + | ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.dynamodb#AttributeValue$S", "com.amazonaws.dynamodb", "AttributeValue"),
|
191 + | ::aws_smithy_schema::ShapeType::String,
|
192 + | "S",
|
193 + | 0,
|
194 + | );
|
195 + | static ATTRIBUTEVALUE_MEMBER_N: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
196 + | ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.dynamodb#AttributeValue$N", "com.amazonaws.dynamodb", "AttributeValue"),
|
197 + | ::aws_smithy_schema::ShapeType::String,
|
198 + | "N",
|
199 + | 1,
|
200 + | );
|
201 + | static ATTRIBUTEVALUE_MEMBER_B: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
202 + | ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.dynamodb#AttributeValue$B", "com.amazonaws.dynamodb", "AttributeValue"),
|
203 + | ::aws_smithy_schema::ShapeType::Blob,
|
204 + | "B",
|
205 + | 2,
|
206 + | );
|
207 + | static ATTRIBUTEVALUE_MEMBER_SS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
208 + | ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.dynamodb#AttributeValue$SS", "com.amazonaws.dynamodb", "AttributeValue"),
|
209 + | ::aws_smithy_schema::ShapeType::List,
|
210 + | "SS",
|
211 + | 3,
|
212 + | );
|
213 + | static ATTRIBUTEVALUE_MEMBER_NS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
214 + | ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.dynamodb#AttributeValue$NS", "com.amazonaws.dynamodb", "AttributeValue"),
|
215 + | ::aws_smithy_schema::ShapeType::List,
|
216 + | "NS",
|
217 + | 4,
|
218 + | );
|
219 + | static ATTRIBUTEVALUE_MEMBER_BS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
220 + | ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.dynamodb#AttributeValue$BS", "com.amazonaws.dynamodb", "AttributeValue"),
|
221 + | ::aws_smithy_schema::ShapeType::List,
|
222 + | "BS",
|
223 + | 5,
|
224 + | );
|
225 + | static ATTRIBUTEVALUE_MEMBER_M: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
226 + | ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.dynamodb#AttributeValue$M", "com.amazonaws.dynamodb", "AttributeValue"),
|
227 + | ::aws_smithy_schema::ShapeType::Map,
|
228 + | "M",
|
229 + | 6,
|
230 + | );
|
231 + | static ATTRIBUTEVALUE_MEMBER_L: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
232 + | ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.dynamodb#AttributeValue$L", "com.amazonaws.dynamodb", "AttributeValue"),
|
233 + | ::aws_smithy_schema::ShapeType::List,
|
234 + | "L",
|
235 + | 7,
|
236 + | );
|
237 + | static ATTRIBUTEVALUE_MEMBER_NULL: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
238 + | ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.dynamodb#AttributeValue$NULL", "com.amazonaws.dynamodb", "AttributeValue"),
|
239 + | ::aws_smithy_schema::ShapeType::Boolean,
|
240 + | "NULL",
|
241 + | 8,
|
242 + | );
|
243 + | static ATTRIBUTEVALUE_MEMBER_BOOL: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
244 + | ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.dynamodb#AttributeValue$BOOL", "com.amazonaws.dynamodb", "AttributeValue"),
|
245 + | ::aws_smithy_schema::ShapeType::Boolean,
|
246 + | "BOOL",
|
247 + | 9,
|
248 + | );
|
249 + | static ATTRIBUTEVALUE_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
|
250 + | ATTRIBUTEVALUE_SCHEMA_ID,
|
251 + | ::aws_smithy_schema::ShapeType::Union,
|
252 + | &[
|
253 + | &ATTRIBUTEVALUE_MEMBER_S,
|
254 + | &ATTRIBUTEVALUE_MEMBER_N,
|
255 + | &ATTRIBUTEVALUE_MEMBER_B,
|
256 + | &ATTRIBUTEVALUE_MEMBER_SS,
|
257 + | &ATTRIBUTEVALUE_MEMBER_NS,
|
258 + | &ATTRIBUTEVALUE_MEMBER_BS,
|
259 + | &ATTRIBUTEVALUE_MEMBER_M,
|
260 + | &ATTRIBUTEVALUE_MEMBER_L,
|
261 + | &ATTRIBUTEVALUE_MEMBER_NULL,
|
262 + | &ATTRIBUTEVALUE_MEMBER_BOOL,
|
263 + | ],
|
264 + | );
|
265 + | impl AttributeValue {
|
266 + | /// The schema for this shape.
|
267 + | pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &ATTRIBUTEVALUE_SCHEMA;
|
268 + | }
|
269 + | impl ::aws_smithy_schema::serde::SerializableStruct for AttributeValue {
|
270 + | #[allow(unused_variables, clippy::diverging_sub_expression)]
|
271 + | fn serialize_members(
|
272 + | &self,
|
273 + | ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
|
274 + | ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
|
275 + | match self {
|
276 + | Self::S(val) => {
|
277 + | ser.write_string(&ATTRIBUTEVALUE_MEMBER_S, val)?;
|
278 + | }
|
279 + | Self::N(val) => {
|
280 + | ser.write_string(&ATTRIBUTEVALUE_MEMBER_N, val)?;
|
281 + | }
|
282 + | Self::B(val) => {
|
283 + | ser.write_blob(&ATTRIBUTEVALUE_MEMBER_B, val)?;
|
284 + | }
|
285 + | Self::Ss(val) => {
|
286 + | ser.write_string_list(&ATTRIBUTEVALUE_MEMBER_SS, val)?;
|
287 + | }
|
288 + | Self::Ns(val) => {
|
289 + | ser.write_string_list(&ATTRIBUTEVALUE_MEMBER_NS, val)?;
|
290 + | }
|
291 + | Self::Bs(val) => {
|
292 + | ser.write_blob_list(&ATTRIBUTEVALUE_MEMBER_BS, val)?;
|
293 + | }
|
294 + | Self::M(val) => {
|
295 + | ser.write_map(&ATTRIBUTEVALUE_MEMBER_M, &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
296 + | for (key, value) in val {
|
297 + | ser.write_string(&::aws_smithy_schema::prelude::STRING, key)?;
|
298 + | ser.write_struct(crate::types::AttributeValue::SCHEMA, value)?;
|
299 + | }
|
300 + | Ok(())
|
301 + | })?;
|
302 + | }
|
303 + | Self::L(val) => {
|
304 + | ser.write_list(&ATTRIBUTEVALUE_MEMBER_L, &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
305 + | for item in val {
|
306 + | ser.write_struct(crate::types::AttributeValue::SCHEMA, item)?;
|
307 + | }
|
308 + | Ok(())
|
309 + | })?;
|
310 + | }
|
311 + | Self::Null(val) => {
|
312 + | ser.write_boolean(&ATTRIBUTEVALUE_MEMBER_NULL, *val)?;
|
313 + | }
|
314 + | Self::Bool(val) => {
|
315 + | ser.write_boolean(&ATTRIBUTEVALUE_MEMBER_BOOL, *val)?;
|
316 + | }
|
317 + | Self::Unknown => return Err(::aws_smithy_schema::serde::SerdeError::custom("cannot serialize unknown union variant")),
|
318 + | }
|
319 + | Ok(())
|
320 + | }
|
321 + | }
|
322 + | impl AttributeValue {
|
323 + | /// Deserializes this union from a [`ShapeDeserializer`].
|
324 + | pub fn deserialize(
|
325 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
326 + | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
327 + | let mut result: ::std::option::Option<Self> = ::std::option::Option::None;
|
328 + | #[allow(unused_variables, unreachable_code, clippy::single_match, clippy::match_single_binding)]
|
329 + | deserializer.read_struct(&ATTRIBUTEVALUE_SCHEMA, &mut |member, deser| {
|
330 + | result = ::std::option::Option::Some(match member.member_index() {
|
331 + | Some(0) => Self::S(deser.read_string(member)?),
|
332 + | Some(1) => Self::N(deser.read_string(member)?),
|
333 + | Some(2) => Self::B(deser.read_blob(member)?),
|
334 + | Some(3) => Self::Ss(deser.read_string_list(member)?),
|
335 + | Some(4) => Self::Ns(deser.read_string_list(member)?),
|
336 + | Some(5) => Self::Bs(deser.read_blob_list(member)?),
|
337 + | Some(6) => Self::M({
|
338 + | let mut container = std::collections::HashMap::new();
|
339 + | deser.read_map(member, &mut |key, deser| {
|
340 + | container.insert(key, crate::types::AttributeValue::deserialize(deser)?);
|
341 + | Ok(())
|
342 + | })?;
|
343 + | container
|
344 + | }),
|
345 + | Some(7) => Self::L({
|
346 + | let mut container = Vec::new();
|
347 + | deser.read_list(member, &mut |deser| {
|
348 + | container.push(crate::types::AttributeValue::deserialize(deser)?);
|
349 + | Ok(())
|
350 + | })?;
|
351 + | container
|
352 + | }),
|
353 + | Some(8) => Self::Null(deser.read_boolean(member)?),
|
354 + | Some(9) => Self::Bool(deser.read_boolean(member)?),
|
355 + | _ => Self::Unknown,
|
356 + | });
|
357 + | Ok(())
|
358 + | })?;
|
359 + | result.ok_or_else(|| ::aws_smithy_schema::serde::SerdeError::custom("expected a union variant"))
|
360 + | }
|
361 + | }
|