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>= | <> | < | > | <= | >= | 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>= | <> | < | > | <= | >= | 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(&self) -> ::std::option::Option<&::std::collections::HashMap::<::std::string::String, crate::types::AttributeValue>> {
196 self.expression_attribute_values.as_ref()
197 }
198 /// <p>An optional parameter that returns the item attributes for a <code>DeleteItem</code> operation that failed a condition check.</p>
199 /// <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>
200 pub fn return_values_on_condition_check_failure(&self) -> ::std::option::Option<&crate::types::ReturnValuesOnConditionCheckFailure> {
201 self.return_values_on_condition_check_failure.as_ref()
202 }
203}
204impl DeleteItemInput {
205 /// Creates a new builder-style object to manufacture [`DeleteItemInput`](crate::operation::delete_item::DeleteItemInput).
206 pub fn builder() -> crate::operation::delete_item::builders::DeleteItemInputBuilder {
207 crate::operation::delete_item::builders::DeleteItemInputBuilder::default()
208 }
209}
210
211/// A builder for [`DeleteItemInput`](crate::operation::delete_item::DeleteItemInput).
212#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
213#[non_exhaustive]
214pub struct DeleteItemInputBuilder {
215 pub(crate) table_name: ::std::option::Option<::std::string::String>,
216 pub(crate) key: ::std::option::Option<::std::collections::HashMap::<::std::string::String, crate::types::AttributeValue>>,
217 pub(crate) expected: ::std::option::Option<::std::collections::HashMap::<::std::string::String, crate::types::ExpectedAttributeValue>>,
218 pub(crate) conditional_operator: ::std::option::Option<crate::types::ConditionalOperator>,
219 pub(crate) return_values: ::std::option::Option<crate::types::ReturnValue>,
220 pub(crate) return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
221 pub(crate) return_item_collection_metrics: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>,
222 pub(crate) condition_expression: ::std::option::Option<::std::string::String>,
223 pub(crate) expression_attribute_names: ::std::option::Option<::std::collections::HashMap::<::std::string::String, ::std::string::String>>,
224 pub(crate) expression_attribute_values: ::std::option::Option<::std::collections::HashMap::<::std::string::String, crate::types::AttributeValue>>,
225 pub(crate) return_values_on_condition_check_failure: ::std::option::Option<crate::types::ReturnValuesOnConditionCheckFailure>,
226}
227impl DeleteItemInputBuilder {
228 /// <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>
229 /// This field is required.
230 pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
231 self.table_name = ::std::option::Option::Some(input.into());
232 self
233 }
234 /// <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>
235 pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
236 self.table_name = input; self
237 }
238 /// <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>
239 pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
240 &self.table_name
241 }
242 /// Adds a key-value pair to `key`.
243 ///
244 /// To override the contents of this collection use [`set_key`](Self::set_key).
245 ///
246 /// <p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to delete.</p>
247 /// <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>
248 pub fn key(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
249 let mut hash_map = self.key.unwrap_or_default();
250 hash_map.insert(k.into(), v);
251 self.key = ::std::option::Option::Some(hash_map);
252 self
253 }
254 /// <p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to delete.</p>
255 /// <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>
256 pub fn set_key(mut self, input: ::std::option::Option<::std::collections::HashMap::<::std::string::String, crate::types::AttributeValue>>) -> Self {
257 self.key = input; self
258 }
259 /// <p>A map of attribute names to <code>AttributeValue</code> objects, representing the primary key of the item to delete.</p>
260 /// <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>
261 pub fn get_key(&self) -> &::std::option::Option<::std::collections::HashMap::<::std::string::String, crate::types::AttributeValue>> {
262 &self.key
263 }
264 /// Adds a key-value pair to `expected`.
265 ///
266 /// To override the contents of this collection use [`set_expected`](Self::set_expected).
267 ///
268 /// <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>
269 pub fn expected(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::ExpectedAttributeValue) -> Self {
270 let mut hash_map = self.expected.unwrap_or_default();
271 hash_map.insert(k.into(), v);
272 self.expected = ::std::option::Option::Some(hash_map);
273 self
274 }
275 /// <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>
276 pub fn set_expected(mut self, input: ::std::option::Option<::std::collections::HashMap::<::std::string::String, crate::types::ExpectedAttributeValue>>) -> Self {
277 self.expected = input; 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 get_expected(&self) -> &::std::option::Option<::std::collections::HashMap::<::std::string::String, crate::types::ExpectedAttributeValue>> {
281 &self.expected
282 }
283 /// <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>
284 pub fn conditional_operator(mut self, input: crate::types::ConditionalOperator) -> Self {
285 self.conditional_operator = ::std::option::Option::Some(input);
286 self
287 }
288 /// <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>
289 pub fn set_conditional_operator(mut self, input: ::std::option::Option<crate::types::ConditionalOperator>) -> Self {
290 self.conditional_operator = input; self
291 }
292 /// <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>
293 pub fn get_conditional_operator(&self) -> &::std::option::Option<crate::types::ConditionalOperator> {
294 &self.conditional_operator
295 }
296 /// <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>
297 /// <ul>
298 /// <li>
299 /// <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>
300 /// <li>
301 /// <p><code>ALL_OLD</code> - The content of the old item is returned.</p></li>
302 /// </ul>
303 /// <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>
304 /// <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>
305 /// </note>
306 pub fn return_values(mut self, input: crate::types::ReturnValue) -> Self {
307 self.return_values = ::std::option::Option::Some(input);
308 self
309 }
310 /// <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>
311 /// <ul>
312 /// <li>
313 /// <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>
314 /// <li>
315 /// <p><code>ALL_OLD</code> - The content of the old item is returned.</p></li>
316 /// </ul>
317 /// <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>
318 /// <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>
319 /// </note>
320 pub fn set_return_values(mut self, input: ::std::option::Option<crate::types::ReturnValue>) -> Self {
321 self.return_values = input; self
322 }
323 /// <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>
324 /// <ul>
325 /// <li>
326 /// <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>
327 /// <li>
328 /// <p><code>ALL_OLD</code> - The content of the old item is returned.</p></li>
329 /// </ul>
330 /// <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>
331 /// <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>
332 /// </note>
333 pub fn get_return_values(&self) -> &::std::option::Option<crate::types::ReturnValue> {
334 &self.return_values
335 }
336 /// <p>Determines the level of detail about either provisioned or on-demand throughput consumption that is returned in the response:</p>
337 /// <ul>
338 /// <li>
339 /// <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>
340 /// <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>
341 /// <li>
342 /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
343 /// <li>
344 /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
345 /// </ul>
346 pub fn return_consumed_capacity(mut self, input: crate::types::ReturnConsumedCapacity) -> Self {
347 self.return_consumed_capacity = ::std::option::Option::Some(input);
348 self
349 }
350 /// <p>Determines the level of detail about either provisioned or on-demand throughput consumption that is returned in the response:</p>
351 /// <ul>
352 /// <li>
353 /// <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>
354 /// <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>
355 /// <li>
356 /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
357 /// <li>
358 /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
359 /// </ul>
360 pub fn set_return_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ReturnConsumedCapacity>) -> Self {
361 self.return_consumed_capacity = input; self
362 }
363 /// <p>Determines the level of detail about either provisioned or on-demand throughput consumption that is returned in the response:</p>
364 /// <ul>
365 /// <li>
366 /// <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>
367 /// <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>
368 /// <li>
369 /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
370 /// <li>
371 /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
372 /// </ul>
373 pub fn get_return_consumed_capacity(&self) -> &::std::option::Option<crate::types::ReturnConsumedCapacity> {
374 &self.return_consumed_capacity
375 }
376 /// <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>
377 pub fn return_item_collection_metrics(mut self, input: crate::types::ReturnItemCollectionMetrics) -> Self {
378 self.return_item_collection_metrics = ::std::option::Option::Some(input);
379 self
380 }
381 /// <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>
382 pub fn set_return_item_collection_metrics(mut self, input: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>) -> Self {
383 self.return_item_collection_metrics = input; self
384 }
385 /// <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>
386 pub fn get_return_item_collection_metrics(&self) -> &::std::option::Option<crate::types::ReturnItemCollectionMetrics> {
387 &self.return_item_collection_metrics
388 }
389 /// <p>A condition that must be satisfied in order for a conditional <code>DeleteItem</code> to succeed.</p>
390 /// <p>An expression can contain any of the following:</p>
391 /// <ul>
392 /// <li>
393 /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
394 /// <p>These function names are case-sensitive.</p></li>
395 /// <li>
396 /// <p>Comparison operators: <code>= | <> | < | > | <= | >= | BETWEEN | IN </code></p></li>
397 /// <li>
398 /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
399 /// </ul>
400 /// <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>
401 pub fn condition_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
402 self.condition_expression = ::std::option::Option::Some(input.into());
403 self
404 }
405 /// <p>A condition that must be satisfied in order for a conditional <code>DeleteItem</code> to succeed.</p>
406 /// <p>An expression can contain any of the following:</p>
407 /// <ul>
408 /// <li>
409 /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
410 /// <p>These function names are case-sensitive.</p></li>
411 /// <li>
412 /// <p>Comparison operators: <code>= | <> | < | > | <= | >= | BETWEEN | IN </code></p></li>
413 /// <li>
414 /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
415 /// </ul>
416 /// <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>
417 pub fn set_condition_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
418 self.condition_expression = input; self
419 }
420 /// <p>A condition that must be satisfied in order for a conditional <code>DeleteItem</code> to succeed.</p>
421 /// <p>An expression can contain any of the following:</p>
422 /// <ul>
423 /// <li>
424 /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
425 /// <p>These function names are case-sensitive.</p></li>
426 /// <li>
427 /// <p>Comparison operators: <code>= | <> | < | > | <= | >= | BETWEEN | IN </code></p></li>
428 /// <li>
429 /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
430 /// </ul>
431 /// <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>
432 pub fn get_condition_expression(&self) -> &::std::option::Option<::std::string::String> {
433 &self.condition_expression
434 }
435 /// Adds a key-value pair to `expression_attribute_names`.
436 ///
437 /// To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
438 ///
439 /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
440 /// <ul>
441 /// <li>
442 /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
443 /// <li>
444 /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
445 /// <li>
446 /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
447 /// </ul>
448 /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
449 /// <ul>
450 /// <li>
451 /// <p><code>Percentile</code></p></li>
452 /// </ul>
453 /// <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>
454 /// <ul>
455 /// <li>
456 /// <p><code>{"#P":"Percentile"}</code></p></li>
457 /// </ul>
458 /// <p>You could then use this substitution in an expression, as in this example:</p>
459 /// <ul>
460 /// <li>
461 /// <p><code>#P = :val</code></p></li>
462 /// </ul><note>
463 /// <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>
464 /// </note>
465 /// <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>
466 pub fn expression_attribute_names(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
467 let mut hash_map = self.expression_attribute_names.unwrap_or_default();
468 hash_map.insert(k.into(), v.into());
469 self.expression_attribute_names = ::std::option::Option::Some(hash_map);
470 self
471 }
472 /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
473 /// <ul>
474 /// <li>
475 /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
476 /// <li>
477 /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
478 /// <li>
479 /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
480 /// </ul>
481 /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
482 /// <ul>
483 /// <li>
484 /// <p><code>Percentile</code></p></li>
485 /// </ul>
486 /// <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>
487 /// <ul>
488 /// <li>
489 /// <p><code>{"#P":"Percentile"}</code></p></li>
490 /// </ul>
491 /// <p>You could then use this substitution in an expression, as in this example:</p>
492 /// <ul>
493 /// <li>
494 /// <p><code>#P = :val</code></p></li>
495 /// </ul><note>
496 /// <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>
497 /// </note>
498 /// <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>
499 pub fn set_expression_attribute_names(mut self, input: ::std::option::Option<::std::collections::HashMap::<::std::string::String, ::std::string::String>>) -> Self {
500 self.expression_attribute_names = input; self
501 }
502 /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
503 /// <ul>
504 /// <li>
505 /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
506 /// <li>
507 /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
508 /// <li>
509 /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
510 /// </ul>
511 /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
512 /// <ul>
513 /// <li>
514 /// <p><code>Percentile</code></p></li>
515 /// </ul>
516 /// <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>
517 /// <ul>
518 /// <li>
519 /// <p><code>{"#P":"Percentile"}</code></p></li>
520 /// </ul>
521 /// <p>You could then use this substitution in an expression, as in this example:</p>
522 /// <ul>
523 /// <li>
524 /// <p><code>#P = :val</code></p></li>
525 /// </ul><note>
526 /// <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>
527 /// </note>
528 /// <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>
529 pub fn get_expression_attribute_names(&self) -> &::std::option::Option<::std::collections::HashMap::<::std::string::String, ::std::string::String>> {
530 &self.expression_attribute_names
531 }
532 /// Adds a key-value pair to `expression_attribute_values`.
533 ///
534 /// To override the contents of this collection use [`set_expression_attribute_values`](Self::set_expression_attribute_values).
535 ///
536 /// <p>One or more values that can be substituted in an expression.</p>
537 /// <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>
538 /// <p><code>Available | Backordered | Discontinued</code></p>
539 /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
540 /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
541 /// <p>You could then use these values in an expression, such as this:</p>
542 /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
543 /// <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>
544 pub fn expression_attribute_values(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
545 let mut hash_map = self.expression_attribute_values.unwrap_or_default();
546 hash_map.insert(k.into(), v);
547 self.expression_attribute_values = ::std::option::Option::Some(hash_map);
548 self
549 }
550 /// <p>One or more values that can be substituted in an expression.</p>
551 /// <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>
552 /// <p><code>Available | Backordered | Discontinued</code></p>
553 /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
554 /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
555 /// <p>You could then use these values in an expression, such as this:</p>
556 /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
557 /// <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>
558 pub fn set_expression_attribute_values(mut self, input: ::std::option::Option<::std::collections::HashMap::<::std::string::String, crate::types::AttributeValue>>) -> Self {
559 self.expression_attribute_values = input; self
560 }
561 /// <p>One or more values that can be substituted in an expression.</p>
562 /// <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>
563 /// <p><code>Available | Backordered | Discontinued</code></p>
564 /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
565 /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
566 /// <p>You could then use these values in an expression, such as this:</p>
567 /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
568 /// <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>
569 pub fn get_expression_attribute_values(&self) -> &::std::option::Option<::std::collections::HashMap::<::std::string::String, crate::types::AttributeValue>> {
570 &self.expression_attribute_values
571 }
572 /// <p>An optional parameter that returns the item attributes for a <code>DeleteItem</code> operation that failed a condition check.</p>
573 /// <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>
574 pub fn return_values_on_condition_check_failure(mut self, input: crate::types::ReturnValuesOnConditionCheckFailure) -> Self {
575 self.return_values_on_condition_check_failure = ::std::option::Option::Some(input);
576 self
577 }
578 /// <p>An optional parameter that returns the item attributes for a <code>DeleteItem</code> operation that failed a condition check.</p>
579 /// <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>
580 pub fn set_return_values_on_condition_check_failure(mut self, input: ::std::option::Option<crate::types::ReturnValuesOnConditionCheckFailure>) -> Self {
581 self.return_values_on_condition_check_failure = input; self
582 }
583 /// <p>An optional parameter that returns the item attributes for a <code>DeleteItem</code> operation that failed a condition check.</p>
584 /// <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>
585 pub fn get_return_values_on_condition_check_failure(&self) -> &::std::option::Option<crate::types::ReturnValuesOnConditionCheckFailure> {
586 &self.return_values_on_condition_check_failure
587 }
588 /// Consumes the builder and constructs a [`DeleteItemInput`](crate::operation::delete_item::DeleteItemInput).
589 pub fn build(self) -> ::std::result::Result<crate::operation::delete_item::DeleteItemInput, ::aws_smithy_types::error::operation::BuildError> {
590 ::std::result::Result::Ok(
591 crate::operation::delete_item::DeleteItemInput {
592 table_name: self.table_name
593 ,
594 key: self.key
595 ,
596 expected: self.expected
597 ,
598 conditional_operator: self.conditional_operator
599 ,
600 return_values: self.return_values
601 ,
602 return_consumed_capacity: self.return_consumed_capacity
603 ,
604 return_item_collection_metrics: self.return_item_collection_metrics
605 ,
606 condition_expression: self.condition_expression
607 ,
608 expression_attribute_names: self.expression_attribute_names
609 ,
610 expression_attribute_values: self.expression_attribute_values
611 ,
612 return_values_on_condition_check_failure: self.return_values_on_condition_check_failure
613 ,
614 }
615 )
616 }
617}
618