aws_sdk_dynamodb/operation/delete_item/
_delete_item_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Represents the input of a <code>DeleteItem</code> operation.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct DeleteItemInput {
7    /// <p>The name of the table from which to delete the item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.</p>
8    pub table_name: ::std::option::Option<::std::string::String>,
9    /// <p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to delete.</p>
10    /// <p>For the primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.</p>
11    pub key: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
12    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
13    pub expected: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>>,
14    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
15    pub conditional_operator: ::std::option::Option<crate::types::ConditionalOperator>,
16    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were deleted. For <code>DeleteItem</code>, the valid values are:</p>
17    /// <ul>
18    /// <li>
19    /// <p><code>NONE</code> - If <code>ReturnValues</code> is not specified, or if its value is <code>NONE</code>, then nothing is returned. (This setting is the default for <code>ReturnValues</code>.)</p></li>
20    /// <li>
21    /// <p><code>ALL_OLD</code> - The content of the old item is returned.</p></li>
22    /// </ul>
23    /// <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p><note>
24    /// <p>The <code>ReturnValues</code> parameter is used by several DynamoDB operations; however, <code>DeleteItem</code> does not recognize any values other than <code>NONE</code> or <code>ALL_OLD</code>.</p>
25    /// </note>
26    pub return_values: ::std::option::Option<crate::types::ReturnValue>,
27    /// <p>Determines the level of detail about either provisioned or on-demand throughput consumption that is returned in the response:</p>
28    /// <ul>
29    /// <li>
30    /// <p><code>INDEXES</code> - The response includes the aggregate <code>ConsumedCapacity</code> for the operation, together with <code>ConsumedCapacity</code> for each table and secondary index that was accessed.</p>
31    /// <p>Note that some operations, such as <code>GetItem</code> and <code>BatchGetItem</code>, do not access any indexes at all. In these cases, specifying <code>INDEXES</code> will only return <code>ConsumedCapacity</code> information for table(s).</p></li>
32    /// <li>
33    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
34    /// <li>
35    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
36    /// </ul>
37    pub return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
38    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
39    pub return_item_collection_metrics: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>,
40    /// <p>A condition that must be satisfied in order for a conditional <code>DeleteItem</code> to succeed.</p>
41    /// <p>An expression can contain any of the following:</p>
42    /// <ul>
43    /// <li>
44    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
45    /// <p>These function names are case-sensitive.</p></li>
46    /// <li>
47    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
48    /// <li>
49    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
50    /// </ul>
51    /// <p>For more information about condition expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Condition Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
52    pub condition_expression: ::std::option::Option<::std::string::String>,
53    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
54    /// <ul>
55    /// <li>
56    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
57    /// <li>
58    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
59    /// <li>
60    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
61    /// </ul>
62    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
63    /// <ul>
64    /// <li>
65    /// <p><code>Percentile</code></p></li>
66    /// </ul>
67    /// <p>The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html">Reserved Words</a> in the <i>Amazon DynamoDB Developer Guide</i>). To work around this, you could specify the following for <code>ExpressionAttributeNames</code>:</p>
68    /// <ul>
69    /// <li>
70    /// <p><code>{"#P":"Percentile"}</code></p></li>
71    /// </ul>
72    /// <p>You could then use this substitution in an expression, as in this example:</p>
73    /// <ul>
74    /// <li>
75    /// <p><code>#P = :val</code></p></li>
76    /// </ul><note>
77    /// <p>Tokens that begin with the <b>:</b> character are <i>expression attribute values</i>, which are placeholders for the actual value at runtime.</p>
78    /// </note>
79    /// <p>For more information on expression attribute names, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html">Specifying Item Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
80    pub expression_attribute_names: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
81    /// <p>One or more values that can be substituted in an expression.</p>
82    /// <p>Use the <b>:</b> (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the <i>ProductStatus</i> attribute was one of the following:</p>
83    /// <p><code>Available | Backordered | Discontinued</code></p>
84    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
85    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
86    /// <p>You could then use these values in an expression, such as this:</p>
87    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
88    /// <p>For more information on expression attribute values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Condition Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
89    pub expression_attribute_values: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
90    /// <p>An optional parameter that returns the item attributes for a <code>DeleteItem</code> operation that failed a condition check.</p>
91    /// <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p>
92    pub return_values_on_condition_check_failure: ::std::option::Option<crate::types::ReturnValuesOnConditionCheckFailure>,
93}
94impl DeleteItemInput {
95    /// <p>The name of the table from which to delete the item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.</p>
96    pub fn table_name(&self) -> ::std::option::Option<&str> {
97        self.table_name.as_deref()
98    }
99    /// <p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to delete.</p>
100    /// <p>For the primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.</p>
101    pub fn key(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
102        self.key.as_ref()
103    }
104    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
105    pub fn expected(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>> {
106        self.expected.as_ref()
107    }
108    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
109    pub fn conditional_operator(&self) -> ::std::option::Option<&crate::types::ConditionalOperator> {
110        self.conditional_operator.as_ref()
111    }
112    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were deleted. For <code>DeleteItem</code>, the valid values are:</p>
113    /// <ul>
114    /// <li>
115    /// <p><code>NONE</code> - If <code>ReturnValues</code> is not specified, or if its value is <code>NONE</code>, then nothing is returned. (This setting is the default for <code>ReturnValues</code>.)</p></li>
116    /// <li>
117    /// <p><code>ALL_OLD</code> - The content of the old item is returned.</p></li>
118    /// </ul>
119    /// <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p><note>
120    /// <p>The <code>ReturnValues</code> parameter is used by several DynamoDB operations; however, <code>DeleteItem</code> does not recognize any values other than <code>NONE</code> or <code>ALL_OLD</code>.</p>
121    /// </note>
122    pub fn return_values(&self) -> ::std::option::Option<&crate::types::ReturnValue> {
123        self.return_values.as_ref()
124    }
125    /// <p>Determines the level of detail about either provisioned or on-demand throughput consumption that is returned in the response:</p>
126    /// <ul>
127    /// <li>
128    /// <p><code>INDEXES</code> - The response includes the aggregate <code>ConsumedCapacity</code> for the operation, together with <code>ConsumedCapacity</code> for each table and secondary index that was accessed.</p>
129    /// <p>Note that some operations, such as <code>GetItem</code> and <code>BatchGetItem</code>, do not access any indexes at all. In these cases, specifying <code>INDEXES</code> will only return <code>ConsumedCapacity</code> information for table(s).</p></li>
130    /// <li>
131    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
132    /// <li>
133    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
134    /// </ul>
135    pub fn return_consumed_capacity(&self) -> ::std::option::Option<&crate::types::ReturnConsumedCapacity> {
136        self.return_consumed_capacity.as_ref()
137    }
138    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
139    pub fn return_item_collection_metrics(&self) -> ::std::option::Option<&crate::types::ReturnItemCollectionMetrics> {
140        self.return_item_collection_metrics.as_ref()
141    }
142    /// <p>A condition that must be satisfied in order for a conditional <code>DeleteItem</code> to succeed.</p>
143    /// <p>An expression can contain any of the following:</p>
144    /// <ul>
145    /// <li>
146    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
147    /// <p>These function names are case-sensitive.</p></li>
148    /// <li>
149    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
150    /// <li>
151    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
152    /// </ul>
153    /// <p>For more information about condition expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Condition Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
154    pub fn condition_expression(&self) -> ::std::option::Option<&str> {
155        self.condition_expression.as_deref()
156    }
157    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
158    /// <ul>
159    /// <li>
160    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
161    /// <li>
162    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
163    /// <li>
164    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
165    /// </ul>
166    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
167    /// <ul>
168    /// <li>
169    /// <p><code>Percentile</code></p></li>
170    /// </ul>
171    /// <p>The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html">Reserved Words</a> in the <i>Amazon DynamoDB Developer Guide</i>). To work around this, you could specify the following for <code>ExpressionAttributeNames</code>:</p>
172    /// <ul>
173    /// <li>
174    /// <p><code>{"#P":"Percentile"}</code></p></li>
175    /// </ul>
176    /// <p>You could then use this substitution in an expression, as in this example:</p>
177    /// <ul>
178    /// <li>
179    /// <p><code>#P = :val</code></p></li>
180    /// </ul><note>
181    /// <p>Tokens that begin with the <b>:</b> character are <i>expression attribute values</i>, which are placeholders for the actual value at runtime.</p>
182    /// </note>
183    /// <p>For more information on expression attribute names, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html">Specifying Item Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
184    pub fn expression_attribute_names(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
185        self.expression_attribute_names.as_ref()
186    }
187    /// <p>One or more values that can be substituted in an expression.</p>
188    /// <p>Use the <b>:</b> (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the <i>ProductStatus</i> attribute was one of the following:</p>
189    /// <p><code>Available | Backordered | Discontinued</code></p>
190    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
191    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
192    /// <p>You could then use these values in an expression, such as this:</p>
193    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
194    /// <p>For more information on expression attribute values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Condition Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
195    pub fn expression_attribute_values(
196        &self,
197    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
198        self.expression_attribute_values.as_ref()
199    }
200    /// <p>An optional parameter that returns the item attributes for a <code>DeleteItem</code> operation that failed a condition check.</p>
201    /// <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p>
202    pub fn return_values_on_condition_check_failure(&self) -> ::std::option::Option<&crate::types::ReturnValuesOnConditionCheckFailure> {
203        self.return_values_on_condition_check_failure.as_ref()
204    }
205}
206impl DeleteItemInput {
207    /// Creates a new builder-style object to manufacture [`DeleteItemInput`](crate::operation::delete_item::DeleteItemInput).
208    pub fn builder() -> crate::operation::delete_item::builders::DeleteItemInputBuilder {
209        crate::operation::delete_item::builders::DeleteItemInputBuilder::default()
210    }
211}
212
213/// A builder for [`DeleteItemInput`](crate::operation::delete_item::DeleteItemInput).
214#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
215#[non_exhaustive]
216pub struct DeleteItemInputBuilder {
217    pub(crate) table_name: ::std::option::Option<::std::string::String>,
218    pub(crate) key: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
219    pub(crate) expected: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>>,
220    pub(crate) conditional_operator: ::std::option::Option<crate::types::ConditionalOperator>,
221    pub(crate) return_values: ::std::option::Option<crate::types::ReturnValue>,
222    pub(crate) return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
223    pub(crate) return_item_collection_metrics: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>,
224    pub(crate) condition_expression: ::std::option::Option<::std::string::String>,
225    pub(crate) expression_attribute_names: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
226    pub(crate) expression_attribute_values: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
227    pub(crate) return_values_on_condition_check_failure: ::std::option::Option<crate::types::ReturnValuesOnConditionCheckFailure>,
228}
229impl DeleteItemInputBuilder {
230    /// <p>The name of the table from which to delete the item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.</p>
231    /// This field is required.
232    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
233        self.table_name = ::std::option::Option::Some(input.into());
234        self
235    }
236    /// <p>The name of the table from which to delete the item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.</p>
237    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
238        self.table_name = input;
239        self
240    }
241    /// <p>The name of the table from which to delete the item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.</p>
242    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
243        &self.table_name
244    }
245    /// Adds a key-value pair to `key`.
246    ///
247    /// To override the contents of this collection use [`set_key`](Self::set_key).
248    ///
249    /// <p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to delete.</p>
250    /// <p>For the primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.</p>
251    pub fn key(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
252        let mut hash_map = self.key.unwrap_or_default();
253        hash_map.insert(k.into(), v);
254        self.key = ::std::option::Option::Some(hash_map);
255        self
256    }
257    /// <p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to delete.</p>
258    /// <p>For the primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.</p>
259    pub fn set_key(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>) -> Self {
260        self.key = input;
261        self
262    }
263    /// <p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to delete.</p>
264    /// <p>For the primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.</p>
265    pub fn get_key(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
266        &self.key
267    }
268    /// Adds a key-value pair to `expected`.
269    ///
270    /// To override the contents of this collection use [`set_expected`](Self::set_expected).
271    ///
272    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
273    pub fn expected(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::ExpectedAttributeValue) -> Self {
274        let mut hash_map = self.expected.unwrap_or_default();
275        hash_map.insert(k.into(), v);
276        self.expected = ::std::option::Option::Some(hash_map);
277        self
278    }
279    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
280    pub fn set_expected(
281        mut self,
282        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>>,
283    ) -> Self {
284        self.expected = input;
285        self
286    }
287    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
288    pub fn get_expected(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>> {
289        &self.expected
290    }
291    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
292    pub fn conditional_operator(mut self, input: crate::types::ConditionalOperator) -> Self {
293        self.conditional_operator = ::std::option::Option::Some(input);
294        self
295    }
296    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
297    pub fn set_conditional_operator(mut self, input: ::std::option::Option<crate::types::ConditionalOperator>) -> Self {
298        self.conditional_operator = input;
299        self
300    }
301    /// <p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
302    pub fn get_conditional_operator(&self) -> &::std::option::Option<crate::types::ConditionalOperator> {
303        &self.conditional_operator
304    }
305    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were deleted. For <code>DeleteItem</code>, the valid values are:</p>
306    /// <ul>
307    /// <li>
308    /// <p><code>NONE</code> - If <code>ReturnValues</code> is not specified, or if its value is <code>NONE</code>, then nothing is returned. (This setting is the default for <code>ReturnValues</code>.)</p></li>
309    /// <li>
310    /// <p><code>ALL_OLD</code> - The content of the old item is returned.</p></li>
311    /// </ul>
312    /// <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p><note>
313    /// <p>The <code>ReturnValues</code> parameter is used by several DynamoDB operations; however, <code>DeleteItem</code> does not recognize any values other than <code>NONE</code> or <code>ALL_OLD</code>.</p>
314    /// </note>
315    pub fn return_values(mut self, input: crate::types::ReturnValue) -> Self {
316        self.return_values = ::std::option::Option::Some(input);
317        self
318    }
319    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were deleted. For <code>DeleteItem</code>, the valid values are:</p>
320    /// <ul>
321    /// <li>
322    /// <p><code>NONE</code> - If <code>ReturnValues</code> is not specified, or if its value is <code>NONE</code>, then nothing is returned. (This setting is the default for <code>ReturnValues</code>.)</p></li>
323    /// <li>
324    /// <p><code>ALL_OLD</code> - The content of the old item is returned.</p></li>
325    /// </ul>
326    /// <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p><note>
327    /// <p>The <code>ReturnValues</code> parameter is used by several DynamoDB operations; however, <code>DeleteItem</code> does not recognize any values other than <code>NONE</code> or <code>ALL_OLD</code>.</p>
328    /// </note>
329    pub fn set_return_values(mut self, input: ::std::option::Option<crate::types::ReturnValue>) -> Self {
330        self.return_values = input;
331        self
332    }
333    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were deleted. For <code>DeleteItem</code>, the valid values are:</p>
334    /// <ul>
335    /// <li>
336    /// <p><code>NONE</code> - If <code>ReturnValues</code> is not specified, or if its value is <code>NONE</code>, then nothing is returned. (This setting is the default for <code>ReturnValues</code>.)</p></li>
337    /// <li>
338    /// <p><code>ALL_OLD</code> - The content of the old item is returned.</p></li>
339    /// </ul>
340    /// <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p><note>
341    /// <p>The <code>ReturnValues</code> parameter is used by several DynamoDB operations; however, <code>DeleteItem</code> does not recognize any values other than <code>NONE</code> or <code>ALL_OLD</code>.</p>
342    /// </note>
343    pub fn get_return_values(&self) -> &::std::option::Option<crate::types::ReturnValue> {
344        &self.return_values
345    }
346    /// <p>Determines the level of detail about either provisioned or on-demand throughput consumption that is returned in the response:</p>
347    /// <ul>
348    /// <li>
349    /// <p><code>INDEXES</code> - The response includes the aggregate <code>ConsumedCapacity</code> for the operation, together with <code>ConsumedCapacity</code> for each table and secondary index that was accessed.</p>
350    /// <p>Note that some operations, such as <code>GetItem</code> and <code>BatchGetItem</code>, do not access any indexes at all. In these cases, specifying <code>INDEXES</code> will only return <code>ConsumedCapacity</code> information for table(s).</p></li>
351    /// <li>
352    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
353    /// <li>
354    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
355    /// </ul>
356    pub fn return_consumed_capacity(mut self, input: crate::types::ReturnConsumedCapacity) -> Self {
357        self.return_consumed_capacity = ::std::option::Option::Some(input);
358        self
359    }
360    /// <p>Determines the level of detail about either provisioned or on-demand throughput consumption that is returned in the response:</p>
361    /// <ul>
362    /// <li>
363    /// <p><code>INDEXES</code> - The response includes the aggregate <code>ConsumedCapacity</code> for the operation, together with <code>ConsumedCapacity</code> for each table and secondary index that was accessed.</p>
364    /// <p>Note that some operations, such as <code>GetItem</code> and <code>BatchGetItem</code>, do not access any indexes at all. In these cases, specifying <code>INDEXES</code> will only return <code>ConsumedCapacity</code> information for table(s).</p></li>
365    /// <li>
366    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
367    /// <li>
368    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
369    /// </ul>
370    pub fn set_return_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ReturnConsumedCapacity>) -> Self {
371        self.return_consumed_capacity = input;
372        self
373    }
374    /// <p>Determines the level of detail about either provisioned or on-demand throughput consumption that is returned in the response:</p>
375    /// <ul>
376    /// <li>
377    /// <p><code>INDEXES</code> - The response includes the aggregate <code>ConsumedCapacity</code> for the operation, together with <code>ConsumedCapacity</code> for each table and secondary index that was accessed.</p>
378    /// <p>Note that some operations, such as <code>GetItem</code> and <code>BatchGetItem</code>, do not access any indexes at all. In these cases, specifying <code>INDEXES</code> will only return <code>ConsumedCapacity</code> information for table(s).</p></li>
379    /// <li>
380    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
381    /// <li>
382    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
383    /// </ul>
384    pub fn get_return_consumed_capacity(&self) -> &::std::option::Option<crate::types::ReturnConsumedCapacity> {
385        &self.return_consumed_capacity
386    }
387    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
388    pub fn return_item_collection_metrics(mut self, input: crate::types::ReturnItemCollectionMetrics) -> Self {
389        self.return_item_collection_metrics = ::std::option::Option::Some(input);
390        self
391    }
392    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
393    pub fn set_return_item_collection_metrics(mut self, input: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>) -> Self {
394        self.return_item_collection_metrics = input;
395        self
396    }
397    /// <p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>
398    pub fn get_return_item_collection_metrics(&self) -> &::std::option::Option<crate::types::ReturnItemCollectionMetrics> {
399        &self.return_item_collection_metrics
400    }
401    /// <p>A condition that must be satisfied in order for a conditional <code>DeleteItem</code> to succeed.</p>
402    /// <p>An expression can contain any of the following:</p>
403    /// <ul>
404    /// <li>
405    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
406    /// <p>These function names are case-sensitive.</p></li>
407    /// <li>
408    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
409    /// <li>
410    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
411    /// </ul>
412    /// <p>For more information about condition expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Condition Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
413    pub fn condition_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
414        self.condition_expression = ::std::option::Option::Some(input.into());
415        self
416    }
417    /// <p>A condition that must be satisfied in order for a conditional <code>DeleteItem</code> to succeed.</p>
418    /// <p>An expression can contain any of the following:</p>
419    /// <ul>
420    /// <li>
421    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
422    /// <p>These function names are case-sensitive.</p></li>
423    /// <li>
424    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
425    /// <li>
426    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
427    /// </ul>
428    /// <p>For more information about condition expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Condition Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
429    pub fn set_condition_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
430        self.condition_expression = input;
431        self
432    }
433    /// <p>A condition that must be satisfied in order for a conditional <code>DeleteItem</code> to succeed.</p>
434    /// <p>An expression can contain any of the following:</p>
435    /// <ul>
436    /// <li>
437    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
438    /// <p>These function names are case-sensitive.</p></li>
439    /// <li>
440    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
441    /// <li>
442    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
443    /// </ul>
444    /// <p>For more information about condition expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Condition Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
445    pub fn get_condition_expression(&self) -> &::std::option::Option<::std::string::String> {
446        &self.condition_expression
447    }
448    /// Adds a key-value pair to `expression_attribute_names`.
449    ///
450    /// To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
451    ///
452    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
453    /// <ul>
454    /// <li>
455    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
456    /// <li>
457    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
458    /// <li>
459    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
460    /// </ul>
461    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
462    /// <ul>
463    /// <li>
464    /// <p><code>Percentile</code></p></li>
465    /// </ul>
466    /// <p>The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html">Reserved Words</a> in the <i>Amazon DynamoDB Developer Guide</i>). To work around this, you could specify the following for <code>ExpressionAttributeNames</code>:</p>
467    /// <ul>
468    /// <li>
469    /// <p><code>{"#P":"Percentile"}</code></p></li>
470    /// </ul>
471    /// <p>You could then use this substitution in an expression, as in this example:</p>
472    /// <ul>
473    /// <li>
474    /// <p><code>#P = :val</code></p></li>
475    /// </ul><note>
476    /// <p>Tokens that begin with the <b>:</b> character are <i>expression attribute values</i>, which are placeholders for the actual value at runtime.</p>
477    /// </note>
478    /// <p>For more information on expression attribute names, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html">Specifying Item Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
479    pub fn expression_attribute_names(
480        mut self,
481        k: impl ::std::convert::Into<::std::string::String>,
482        v: impl ::std::convert::Into<::std::string::String>,
483    ) -> Self {
484        let mut hash_map = self.expression_attribute_names.unwrap_or_default();
485        hash_map.insert(k.into(), v.into());
486        self.expression_attribute_names = ::std::option::Option::Some(hash_map);
487        self
488    }
489    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
490    /// <ul>
491    /// <li>
492    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
493    /// <li>
494    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
495    /// <li>
496    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
497    /// </ul>
498    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
499    /// <ul>
500    /// <li>
501    /// <p><code>Percentile</code></p></li>
502    /// </ul>
503    /// <p>The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html">Reserved Words</a> in the <i>Amazon DynamoDB Developer Guide</i>). To work around this, you could specify the following for <code>ExpressionAttributeNames</code>:</p>
504    /// <ul>
505    /// <li>
506    /// <p><code>{"#P":"Percentile"}</code></p></li>
507    /// </ul>
508    /// <p>You could then use this substitution in an expression, as in this example:</p>
509    /// <ul>
510    /// <li>
511    /// <p><code>#P = :val</code></p></li>
512    /// </ul><note>
513    /// <p>Tokens that begin with the <b>:</b> character are <i>expression attribute values</i>, which are placeholders for the actual value at runtime.</p>
514    /// </note>
515    /// <p>For more information on expression attribute names, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html">Specifying Item Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
516    pub fn set_expression_attribute_names(
517        mut self,
518        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
519    ) -> Self {
520        self.expression_attribute_names = input;
521        self
522    }
523    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
524    /// <ul>
525    /// <li>
526    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
527    /// <li>
528    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
529    /// <li>
530    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
531    /// </ul>
532    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
533    /// <ul>
534    /// <li>
535    /// <p><code>Percentile</code></p></li>
536    /// </ul>
537    /// <p>The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html">Reserved Words</a> in the <i>Amazon DynamoDB Developer Guide</i>). To work around this, you could specify the following for <code>ExpressionAttributeNames</code>:</p>
538    /// <ul>
539    /// <li>
540    /// <p><code>{"#P":"Percentile"}</code></p></li>
541    /// </ul>
542    /// <p>You could then use this substitution in an expression, as in this example:</p>
543    /// <ul>
544    /// <li>
545    /// <p><code>#P = :val</code></p></li>
546    /// </ul><note>
547    /// <p>Tokens that begin with the <b>:</b> character are <i>expression attribute values</i>, which are placeholders for the actual value at runtime.</p>
548    /// </note>
549    /// <p>For more information on expression attribute names, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html">Specifying Item Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
550    pub fn get_expression_attribute_names(
551        &self,
552    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
553        &self.expression_attribute_names
554    }
555    /// Adds a key-value pair to `expression_attribute_values`.
556    ///
557    /// To override the contents of this collection use [`set_expression_attribute_values`](Self::set_expression_attribute_values).
558    ///
559    /// <p>One or more values that can be substituted in an expression.</p>
560    /// <p>Use the <b>:</b> (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the <i>ProductStatus</i> attribute was one of the following:</p>
561    /// <p><code>Available | Backordered | Discontinued</code></p>
562    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
563    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
564    /// <p>You could then use these values in an expression, such as this:</p>
565    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
566    /// <p>For more information on expression attribute values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Condition Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
567    pub fn expression_attribute_values(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
568        let mut hash_map = self.expression_attribute_values.unwrap_or_default();
569        hash_map.insert(k.into(), v);
570        self.expression_attribute_values = ::std::option::Option::Some(hash_map);
571        self
572    }
573    /// <p>One or more values that can be substituted in an expression.</p>
574    /// <p>Use the <b>:</b> (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the <i>ProductStatus</i> attribute was one of the following:</p>
575    /// <p><code>Available | Backordered | Discontinued</code></p>
576    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
577    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
578    /// <p>You could then use these values in an expression, such as this:</p>
579    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
580    /// <p>For more information on expression attribute values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Condition Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
581    pub fn set_expression_attribute_values(
582        mut self,
583        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
584    ) -> Self {
585        self.expression_attribute_values = input;
586        self
587    }
588    /// <p>One or more values that can be substituted in an expression.</p>
589    /// <p>Use the <b>:</b> (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the <i>ProductStatus</i> attribute was one of the following:</p>
590    /// <p><code>Available | Backordered | Discontinued</code></p>
591    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
592    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
593    /// <p>You could then use these values in an expression, such as this:</p>
594    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
595    /// <p>For more information on expression attribute values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Condition Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
596    pub fn get_expression_attribute_values(
597        &self,
598    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
599        &self.expression_attribute_values
600    }
601    /// <p>An optional parameter that returns the item attributes for a <code>DeleteItem</code> operation that failed a condition check.</p>
602    /// <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p>
603    pub fn return_values_on_condition_check_failure(mut self, input: crate::types::ReturnValuesOnConditionCheckFailure) -> Self {
604        self.return_values_on_condition_check_failure = ::std::option::Option::Some(input);
605        self
606    }
607    /// <p>An optional parameter that returns the item attributes for a <code>DeleteItem</code> operation that failed a condition check.</p>
608    /// <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p>
609    pub fn set_return_values_on_condition_check_failure(
610        mut self,
611        input: ::std::option::Option<crate::types::ReturnValuesOnConditionCheckFailure>,
612    ) -> Self {
613        self.return_values_on_condition_check_failure = input;
614        self
615    }
616    /// <p>An optional parameter that returns the item attributes for a <code>DeleteItem</code> operation that failed a condition check.</p>
617    /// <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p>
618    pub fn get_return_values_on_condition_check_failure(&self) -> &::std::option::Option<crate::types::ReturnValuesOnConditionCheckFailure> {
619        &self.return_values_on_condition_check_failure
620    }
621    /// Consumes the builder and constructs a [`DeleteItemInput`](crate::operation::delete_item::DeleteItemInput).
622    pub fn build(self) -> ::std::result::Result<crate::operation::delete_item::DeleteItemInput, ::aws_smithy_types::error::operation::BuildError> {
623        ::std::result::Result::Ok(crate::operation::delete_item::DeleteItemInput {
624            table_name: self.table_name,
625            key: self.key,
626            expected: self.expected,
627            conditional_operator: self.conditional_operator,
628            return_values: self.return_values,
629            return_consumed_capacity: self.return_consumed_capacity,
630            return_item_collection_metrics: self.return_item_collection_metrics,
631            condition_expression: self.condition_expression,
632            expression_attribute_names: self.expression_attribute_names,
633            expression_attribute_values: self.expression_attribute_values,
634            return_values_on_condition_check_failure: self.return_values_on_condition_check_failure,
635        })
636    }
637}