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