aws_sdk_dynamodb/protocol_serde/
shape_create_table_input.rs1pub fn ser_create_table_input_input(
3 object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
4 input: &crate::operation::create_table::CreateTableInput,
5) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
6 if let Some(var_1) = &input.attribute_definitions {
7 let mut array_2 = object.key("AttributeDefinitions").start_array();
8 for item_3 in var_1 {
9 {
10 #[allow(unused_mut)]
11 let mut object_4 = array_2.value().start_object();
12 crate::protocol_serde::shape_attribute_definition::ser_attribute_definition(&mut object_4, item_3)?;
13 object_4.finish();
14 }
15 }
16 array_2.finish();
17 }
18 if let Some(var_5) = &input.table_name {
19 object.key("TableName").string(var_5.as_str());
20 }
21 if let Some(var_6) = &input.key_schema {
22 let mut array_7 = object.key("KeySchema").start_array();
23 for item_8 in var_6 {
24 {
25 #[allow(unused_mut)]
26 let mut object_9 = array_7.value().start_object();
27 crate::protocol_serde::shape_key_schema_element::ser_key_schema_element(&mut object_9, item_8)?;
28 object_9.finish();
29 }
30 }
31 array_7.finish();
32 }
33 if let Some(var_10) = &input.local_secondary_indexes {
34 let mut array_11 = object.key("LocalSecondaryIndexes").start_array();
35 for item_12 in var_10 {
36 {
37 #[allow(unused_mut)]
38 let mut object_13 = array_11.value().start_object();
39 crate::protocol_serde::shape_local_secondary_index::ser_local_secondary_index(&mut object_13, item_12)?;
40 object_13.finish();
41 }
42 }
43 array_11.finish();
44 }
45 if let Some(var_14) = &input.global_secondary_indexes {
46 let mut array_15 = object.key("GlobalSecondaryIndexes").start_array();
47 for item_16 in var_14 {
48 {
49 #[allow(unused_mut)]
50 let mut object_17 = array_15.value().start_object();
51 crate::protocol_serde::shape_global_secondary_index::ser_global_secondary_index(&mut object_17, item_16)?;
52 object_17.finish();
53 }
54 }
55 array_15.finish();
56 }
57 if let Some(var_18) = &input.billing_mode {
58 object.key("BillingMode").string(var_18.as_str());
59 }
60 if let Some(var_19) = &input.provisioned_throughput {
61 #[allow(unused_mut)]
62 let mut object_20 = object.key("ProvisionedThroughput").start_object();
63 crate::protocol_serde::shape_provisioned_throughput::ser_provisioned_throughput(&mut object_20, var_19)?;
64 object_20.finish();
65 }
66 if let Some(var_21) = &input.stream_specification {
67 #[allow(unused_mut)]
68 let mut object_22 = object.key("StreamSpecification").start_object();
69 crate::protocol_serde::shape_stream_specification::ser_stream_specification(&mut object_22, var_21)?;
70 object_22.finish();
71 }
72 if let Some(var_23) = &input.sse_specification {
73 #[allow(unused_mut)]
74 let mut object_24 = object.key("SSESpecification").start_object();
75 crate::protocol_serde::shape_sse_specification::ser_sse_specification(&mut object_24, var_23)?;
76 object_24.finish();
77 }
78 if let Some(var_25) = &input.tags {
79 let mut array_26 = object.key("Tags").start_array();
80 for item_27 in var_25 {
81 {
82 #[allow(unused_mut)]
83 let mut object_28 = array_26.value().start_object();
84 crate::protocol_serde::shape_tag::ser_tag(&mut object_28, item_27)?;
85 object_28.finish();
86 }
87 }
88 array_26.finish();
89 }
90 if let Some(var_29) = &input.table_class {
91 object.key("TableClass").string(var_29.as_str());
92 }
93 if let Some(var_30) = &input.deletion_protection_enabled {
94 object.key("DeletionProtectionEnabled").boolean(*var_30);
95 }
96 if let Some(var_31) = &input.warm_throughput {
97 #[allow(unused_mut)]
98 let mut object_32 = object.key("WarmThroughput").start_object();
99 crate::protocol_serde::shape_warm_throughput::ser_warm_throughput(&mut object_32, var_31)?;
100 object_32.finish();
101 }
102 if let Some(var_33) = &input.resource_policy {
103 object.key("ResourcePolicy").string(var_33.as_str());
104 }
105 if let Some(var_34) = &input.on_demand_throughput {
106 #[allow(unused_mut)]
107 let mut object_35 = object.key("OnDemandThroughput").start_object();
108 crate::protocol_serde::shape_on_demand_throughput::ser_on_demand_throughput(&mut object_35, var_34)?;
109 object_35.finish();
110 }
111 Ok(())
112}