44 44 | /// <p>Use <code>ReturnValuesOnConditionCheckFailure</code> to get the item attributes if the <code>Delete</code> condition fails. For <code>ReturnValuesOnConditionCheckFailure</code>, the valid values are: NONE and ALL_OLD.</p>
|
45 45 | pub fn return_values_on_condition_check_failure(&self) -> ::std::option::Option<&crate::types::ReturnValuesOnConditionCheckFailure> {
|
46 46 | self.return_values_on_condition_check_failure.as_ref()
|
47 47 | }
|
48 48 | }
|
49 49 | static DELETE_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
|
50 50 | ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.dynamodb#Delete", "com.amazonaws.dynamodb", "Delete");
|
51 51 | static DELETE_MEMBER_KEY: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
52 52 | ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.dynamodb#Delete$Key", "com.amazonaws.dynamodb", "Delete"),
|
53 53 | ::aws_smithy_schema::ShapeType::Map,
|
54 - | "key",
|
54 + | "Key",
|
55 55 | 0,
|
56 56 | );
|
57 57 | static DELETE_MEMBER_TABLE_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
58 58 | ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.dynamodb#Delete$TableName", "com.amazonaws.dynamodb", "Delete"),
|
59 59 | ::aws_smithy_schema::ShapeType::String,
|
60 - | "table_name",
|
60 + | "TableName",
|
61 61 | 1,
|
62 62 | );
|
63 63 | static DELETE_MEMBER_CONDITION_EXPRESSION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
64 64 | ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.dynamodb#Delete$ConditionExpression", "com.amazonaws.dynamodb", "Delete"),
|
65 65 | ::aws_smithy_schema::ShapeType::String,
|
66 - | "condition_expression",
|
66 + | "ConditionExpression",
|
67 67 | 2,
|
68 68 | );
|
69 69 | static DELETE_MEMBER_EXPRESSION_ATTRIBUTE_NAMES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
70 70 | ::aws_smithy_schema::ShapeId::from_static(
|
71 71 | "com.amazonaws.dynamodb#Delete$ExpressionAttributeNames",
|
72 72 | "com.amazonaws.dynamodb",
|
73 73 | "Delete",
|
74 74 | ),
|
75 75 | ::aws_smithy_schema::ShapeType::Map,
|
76 - | "expression_attribute_names",
|
76 + | "ExpressionAttributeNames",
|
77 77 | 3,
|
78 78 | );
|
79 79 | static DELETE_MEMBER_EXPRESSION_ATTRIBUTE_VALUES: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
80 80 | ::aws_smithy_schema::ShapeId::from_static(
|
81 81 | "com.amazonaws.dynamodb#Delete$ExpressionAttributeValues",
|
82 82 | "com.amazonaws.dynamodb",
|
83 83 | "Delete",
|
84 84 | ),
|
85 85 | ::aws_smithy_schema::ShapeType::Map,
|
86 - | "expression_attribute_values",
|
86 + | "ExpressionAttributeValues",
|
87 87 | 4,
|
88 88 | );
|
89 89 | static DELETE_MEMBER_RETURN_VALUES_ON_CONDITION_CHECK_FAILURE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
90 90 | ::aws_smithy_schema::ShapeId::from_static(
|
91 91 | "com.amazonaws.dynamodb#Delete$ReturnValuesOnConditionCheckFailure",
|
92 92 | "com.amazonaws.dynamodb",
|
93 93 | "Delete",
|
94 94 | ),
|
95 95 | ::aws_smithy_schema::ShapeType::String,
|
96 - | "return_values_on_condition_check_failure",
|
96 + | "ReturnValuesOnConditionCheckFailure",
|
97 97 | 5,
|
98 98 | );
|
99 99 | static DELETE_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
|
100 100 | DELETE_SCHEMA_ID,
|
101 101 | ::aws_smithy_schema::ShapeType::Structure,
|
102 102 | &[
|
103 103 | &DELETE_MEMBER_KEY,
|
104 104 | &DELETE_MEMBER_TABLE_NAME,
|
105 105 | &DELETE_MEMBER_CONDITION_EXPRESSION,
|
106 106 | &DELETE_MEMBER_EXPRESSION_ATTRIBUTE_NAMES,
|
107 107 | &DELETE_MEMBER_EXPRESSION_ATTRIBUTE_VALUES,
|
108 108 | &DELETE_MEMBER_RETURN_VALUES_ON_CONDITION_CHECK_FAILURE,
|
109 109 | ],
|
110 110 | );
|
111 111 | impl Delete {
|
112 112 | /// The schema for this shape.
|
113 113 | pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &DELETE_SCHEMA;
|
114 114 | }
|
115 115 | impl ::aws_smithy_schema::serde::SerializableStruct for Delete {
|
116 116 | #[allow(unused_variables, clippy::diverging_sub_expression)]
|
117 117 | fn serialize_members(
|
118 118 | &self,
|
119 119 | ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
|
120 120 | ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
|
121 121 | {
|
122 122 | let val = &self.key;
|
123 123 |
|
124 124 | ser.write_map(&DELETE_MEMBER_KEY, &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
125 125 | for (key, value) in val {
|
126 126 | ser.write_string(&::aws_smithy_schema::prelude::STRING, key)?;
|
127 - | todo!("schema: unsupported map value type");
|
127 + | ser.write_struct(crate::types::AttributeValue::SCHEMA, value)?;
|
128 128 | }
|
129 129 | Ok(())
|
130 130 | })?;
|
131 131 | }
|
132 132 | {
|
133 133 | let val = &self.table_name;
|
134 134 | ser.write_string(&DELETE_MEMBER_TABLE_NAME, val)?;
|
135 135 | }
|
136 136 | if let Some(ref val) = self.condition_expression {
|
137 137 | ser.write_string(&DELETE_MEMBER_CONDITION_EXPRESSION, val)?;
|
138 138 | }
|
139 139 | if let Some(ref val) = self.expression_attribute_names {
|
140 140 | ser.write_map(
|
141 141 | &DELETE_MEMBER_EXPRESSION_ATTRIBUTE_NAMES,
|
142 142 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
143 143 | for (key, value) in val {
|
144 144 | ser.write_string(&::aws_smithy_schema::prelude::STRING, key)?;
|
145 145 | ser.write_string(&::aws_smithy_schema::prelude::STRING, value)?;
|
146 146 | }
|
147 147 | Ok(())
|
148 148 | },
|
149 149 | )?;
|
150 150 | }
|
151 151 | if let Some(ref val) = self.expression_attribute_values {
|
152 152 | ser.write_map(
|
153 153 | &DELETE_MEMBER_EXPRESSION_ATTRIBUTE_VALUES,
|
154 154 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
155 155 | for (key, value) in val {
|
156 156 | ser.write_string(&::aws_smithy_schema::prelude::STRING, key)?;
|
157 - | todo!("schema: unsupported map value type");
|
157 + | ser.write_struct(crate::types::AttributeValue::SCHEMA, value)?;
|
158 158 | }
|
159 159 | Ok(())
|
160 160 | },
|
161 161 | )?;
|
162 162 | }
|
163 163 | if let Some(ref val) = self.return_values_on_condition_check_failure {
|
164 164 | ser.write_string(&DELETE_MEMBER_RETURN_VALUES_ON_CONDITION_CHECK_FAILURE, val.as_str())?;
|
165 165 | }
|
166 166 | Ok(())
|
167 167 | }
|
168 168 | }
|
169 169 | impl Delete {
|
170 170 | /// Deserializes this structure from a [`ShapeDeserializer`].
|
171 - | pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
|
172 - | deserializer: &mut D,
|
171 + | pub fn deserialize(
|
172 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
173 173 | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
174 174 | #[allow(unused_variables, unused_mut)]
|
175 175 | let mut builder = Self::builder();
|
176 176 | #[allow(
|
177 177 | unused_variables,
|
178 178 | unreachable_code,
|
179 179 | clippy::single_match,
|
180 180 | clippy::match_single_binding,
|
181 181 | clippy::diverging_sub_expression
|
182 182 | )]
|
183 - | deserializer.read_struct(&DELETE_SCHEMA, (), |_, member, deser| {
|
183 + | deserializer.read_struct(&DELETE_SCHEMA, &mut |member, deser| {
|
184 184 | match member.member_index() {
|
185 185 | Some(0) => {
|
186 186 | builder.key = Some({
|
187 - | let container = if let Some(cap) = deser.container_size() {
|
188 - | std::collections::HashMap::with_capacity(cap)
|
189 - | } else {
|
190 - | std::collections::HashMap::new()
|
191 - | };
|
192 - | deser.read_map(member, container, |mut map, key, deser| {
|
193 - | map.insert(key, todo!("deserialize nested aggregate"));
|
194 - | Ok(map)
|
195 - | })?
|
187 + | let mut container = std::collections::HashMap::new();
|
188 + | deser.read_map(member, &mut |key, deser| {
|
189 + | container.insert(key, crate::types::AttributeValue::deserialize(deser)?);
|
190 + | Ok(())
|
191 + | })?;
|
192 + | container
|
196 193 | });
|
197 194 | }
|
198 195 | Some(1) => {
|
199 196 | builder.table_name = Some(deser.read_string(member)?);
|
200 197 | }
|
201 198 | Some(2) => {
|
202 199 | builder.condition_expression = Some(deser.read_string(member)?);
|
203 200 | }
|
204 201 | Some(3) => {
|
205 - | builder.expression_attribute_names = Some({
|
206 - | let container = if let Some(cap) = deser.container_size() {
|
207 - | std::collections::HashMap::with_capacity(cap)
|
208 - | } else {
|
209 - | std::collections::HashMap::new()
|
210 - | };
|
211 - | deser.read_map(member, container, |mut map, key, deser| {
|
212 - | map.insert(key, deser.read_string(member)?);
|
213 - | Ok(map)
|
214 - | })?
|
215 - | });
|
202 + | builder.expression_attribute_names = Some(deser.read_string_string_map(member)?);
|
216 203 | }
|
217 204 | Some(4) => {
|
218 205 | builder.expression_attribute_values = Some({
|
219 - | let container = if let Some(cap) = deser.container_size() {
|
220 - | std::collections::HashMap::with_capacity(cap)
|
221 - | } else {
|
222 - | std::collections::HashMap::new()
|
223 - | };
|
224 - | deser.read_map(member, container, |mut map, key, deser| {
|
225 - | map.insert(key, todo!("deserialize nested aggregate"));
|
226 - | Ok(map)
|
227 - | })?
|
206 + | let mut container = std::collections::HashMap::new();
|
207 + | deser.read_map(member, &mut |key, deser| {
|
208 + | container.insert(key, crate::types::AttributeValue::deserialize(deser)?);
|
209 + | Ok(())
|
210 + | })?;
|
211 + | container
|
228 212 | });
|
229 213 | }
|
230 214 | Some(5) => {
|
231 215 | builder.return_values_on_condition_check_failure = Some(crate::types::ReturnValuesOnConditionCheckFailure::from(
|
232 216 | deser.read_string(member)?.as_str(),
|
233 217 | ));
|
234 218 | }
|
235 219 | _ => {}
|
236 220 | }
|
237 221 | Ok(())
|
238 222 | })?;
|
223 + | builder.key = builder.key.or(Some(::std::collections::HashMap::new()));
|
224 + | builder.table_name = builder.table_name.or(Some(String::new()));
|
239 225 | builder
|
240 226 | .build()
|
241 227 | .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
|
242 228 | }
|
243 229 | }
|
230 + | impl Delete {
|
231 + | /// Deserializes this structure from a body deserializer and HTTP response.
|
232 + | pub fn deserialize_with_response(
|
233 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
234 + | _headers: &::aws_smithy_runtime_api::http::Headers,
|
235 + | _status: u16,
|
236 + | _body: &[u8],
|
237 + | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
238 + | Self::deserialize(deserializer)
|
239 + | }
|
240 + | }
|
244 241 | impl Delete {
|
245 242 | /// Creates a new builder-style object to manufacture [`Delete`](crate::types::Delete).
|
246 243 | pub fn builder() -> crate::types::builders::DeleteBuilder {
|
247 244 | crate::types::builders::DeleteBuilder::default()
|
248 245 | }
|
249 246 | }
|
250 247 |
|
251 248 | /// A builder for [`Delete`](crate::types::Delete).
|
252 249 | #[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
|
253 250 | #[non_exhaustive]
|