Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943 (ignoring whitespace)

Files changed:

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/operation/put_item/_put_item_input.rs

@@ -1,1 +625,795 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents the input of a <code>PutItem</code> operation.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents the input of a <code>PutItem</code> operation.</p>
           4  +
/* RustType.kt:516 */
    4      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    5      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct PutItemInput {
    7         -
    /// <p>The name of the table to contain the item.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct PutItemInput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The name of the table to contain the item.</p>
    8     10   
    pub table_name: ::std::option::Option<::std::string::String>,
    9         -
    /// <p>A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.</p>
   10     12   
    /// <p>You must provide all of the attributes for the primary key. 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 both values for both the partition key and the sort key.</p>
   11     13   
    /// <p>If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.</p>
   12     14   
    /// <p>Empty String and Binary attribute values are allowed. Attribute values of type String and Binary must have a length greater than zero if the attribute is used as a key attribute for a table or index.</p>
   13     15   
    /// <p>For more information about primary keys, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey">Primary Key</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   14     16   
    /// <p>Each element in the <code>Item</code> map is an <code>AttributeValue</code> object.</p>
   15     17   
    pub item: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
   16         -
    /// <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>
          18  +
    /// /* StructureGenerator.kt:231 */<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>
   17     19   
    pub expected: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>>,
   18         -
    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were updated with the <code>PutItem</code> request. For <code>PutItem</code>, the valid values are:</p>
          20  +
    /// /* StructureGenerator.kt:231 */<p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were updated with the <code>PutItem</code> request. For <code>PutItem</code>, the valid values are:</p>
   19     21   
    /// <ul>
   20     22   
    /// <li>
   21     23   
    /// <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>
   22     24   
    /// <li>
   23     25   
    /// <p><code>ALL_OLD</code> - If <code>PutItem</code> overwrote an attribute name-value pair, then the content of the old item is returned.</p></li>
   24     26   
    /// </ul><note>
   25     27   
    /// <p>The <code>ReturnValues</code> parameter is used by several DynamoDB operations; however, <code>PutItem</code> does not recognize any values other than <code>NONE</code> or <code>ALL_OLD</code>.</p>
   26     28   
    /// </note>
   27     29   
    pub return_values: ::std::option::Option<crate::types::ReturnValue>,
   28         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
          30  +
    /// /* StructureGenerator.kt:231 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
   29     31   
    /// <ul>
   30     32   
    /// <li>
   31     33   
    /// <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>
   32     34   
    /// <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>
   33     35   
    /// <li>
   34     36   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
   35     37   
    /// <li>
   36     38   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
   37     39   
    /// </ul>
   38     40   
    pub return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
   39         -
    /// <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>
          41  +
    /// /* StructureGenerator.kt:231 */<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>
   40     42   
    pub return_item_collection_metrics: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>,
   41         -
    /// <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>
          43  +
    /// /* StructureGenerator.kt:231 */<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>
   42     44   
    pub conditional_operator: ::std::option::Option<crate::types::ConditionalOperator>,
   43         -
    /// <p>A condition that must be satisfied in order for a conditional <code>PutItem</code> operation to succeed.</p>
          45  +
    /// /* StructureGenerator.kt:231 */<p>A condition that must be satisfied in order for a conditional <code>PutItem</code> operation to succeed.</p>
   44     46   
    /// <p>An expression can contain any of the following:</p>
   45     47   
    /// <ul>
   46     48   
    /// <li>
   47     49   
    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
   48     50   
    /// <p>These function names are case-sensitive.</p></li>
   49     51   
    /// <li>
   50     52   
    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
   51     53   
    /// <li>
   52     54   
    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
   53     55   
    /// </ul>
   54     56   
    /// <p>For more information on 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>
   55     57   
    pub condition_expression: ::std::option::Option<::std::string::String>,
   56         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
          58  +
    /// /* StructureGenerator.kt:231 */<p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
   57     59   
    /// <ul>
   58     60   
    /// <li>
   59     61   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
   60     62   
    /// <li>
   61     63   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
   62     64   
    /// <li>
   63     65   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
   64     66   
    /// </ul>
   65     67   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
   66     68   
    /// <ul>
   67     69   
    /// <li>
   68     70   
    /// <p><code>Percentile</code></p></li>
   69     71   
    /// </ul>
   70     72   
    /// <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>
   71     73   
    /// <ul>
   72     74   
    /// <li>
   73     75   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
   74     76   
    /// </ul>
   75     77   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
   76     78   
    /// <ul>
   77     79   
    /// <li>
   78     80   
    /// <p><code>#P = :val</code></p></li>
   79     81   
    /// </ul><note>
   80     82   
    /// <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>
   81     83   
    /// </note>
   82     84   
    /// <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>
   83     85   
    pub expression_attribute_names: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
   84         -
    /// <p>One or more values that can be substituted in an expression.</p>
          86  +
    /// /* StructureGenerator.kt:231 */<p>One or more values that can be substituted in an expression.</p>
   85     87   
    /// <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>
   86     88   
    /// <p><code>Available | Backordered | Discontinued</code></p>
   87     89   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
   88     90   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
   89     91   
    /// <p>You could then use these values in an expression, such as this:</p>
   90     92   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
   91     93   
    /// <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>
   92     94   
    pub expression_attribute_values: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
          95  +
    /* StructureGenerator.kt:201 */
   93     96   
}
          97  +
/* StructureGenerator.kt:135 */
   94     98   
impl PutItemInput {
   95         -
    /// <p>The name of the table to contain the item.</p>
          99  +
    /// /* StructureGenerator.kt:231 */<p>The name of the table to contain the item.</p>
         100  +
    /* StructureGenerator.kt:166 */
   96    101   
    pub fn table_name(&self) -> ::std::option::Option<&str> {
         102  +
        /* StructureGenerator.kt:169 */
   97    103   
        self.table_name.as_deref()
         104  +
        /* StructureGenerator.kt:166 */
   98    105   
    }
   99         -
    /// <p>A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.</p>
         106  +
    /// /* StructureGenerator.kt:231 */<p>A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.</p>
  100    107   
    /// <p>You must provide all of the attributes for the primary key. 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 both values for both the partition key and the sort key.</p>
  101    108   
    /// <p>If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.</p>
  102    109   
    /// <p>Empty String and Binary attribute values are allowed. Attribute values of type String and Binary must have a length greater than zero if the attribute is used as a key attribute for a table or index.</p>
  103    110   
    /// <p>For more information about primary keys, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey">Primary Key</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
  104    111   
    /// <p>Each element in the <code>Item</code> map is an <code>AttributeValue</code> object.</p>
         112  +
    /* StructureGenerator.kt:166 */
  105    113   
    pub fn item(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         114  +
        /* StructureGenerator.kt:170 */
  106    115   
        self.item.as_ref()
         116  +
        /* StructureGenerator.kt:166 */
  107    117   
    }
  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.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         118  +
    /// /* StructureGenerator.kt:231 */<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>
         119  +
    /* StructureGenerator.kt:166 */
  109    120   
    pub fn expected(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>> {
         121  +
        /* StructureGenerator.kt:170 */
  110    122   
        self.expected.as_ref()
         123  +
        /* StructureGenerator.kt:166 */
  111    124   
    }
  112         -
    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were updated with the <code>PutItem</code> request. For <code>PutItem</code>, the valid values are:</p>
         125  +
    /// /* StructureGenerator.kt:231 */<p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were updated with the <code>PutItem</code> request. For <code>PutItem</code>, the valid values are:</p>
  113    126   
    /// <ul>
  114    127   
    /// <li>
  115    128   
    /// <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    129   
    /// <li>
  117    130   
    /// <p><code>ALL_OLD</code> - If <code>PutItem</code> overwrote an attribute name-value pair, then the content of the old item is returned.</p></li>
  118    131   
    /// </ul><note>
  119    132   
    /// <p>The <code>ReturnValues</code> parameter is used by several DynamoDB operations; however, <code>PutItem</code> does not recognize any values other than <code>NONE</code> or <code>ALL_OLD</code>.</p>
  120    133   
    /// </note>
         134  +
    /* StructureGenerator.kt:166 */
  121    135   
    pub fn return_values(&self) -> ::std::option::Option<&crate::types::ReturnValue> {
         136  +
        /* StructureGenerator.kt:170 */
  122    137   
        self.return_values.as_ref()
         138  +
        /* StructureGenerator.kt:166 */
  123    139   
    }
  124         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         140  +
    /// /* StructureGenerator.kt:231 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  125    141   
    /// <ul>
  126    142   
    /// <li>
  127    143   
    /// <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>
  128    144   
    /// <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>
  129    145   
    /// <li>
  130    146   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  131    147   
    /// <li>
  132    148   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  133    149   
    /// </ul>
         150  +
    /* StructureGenerator.kt:166 */
  134    151   
    pub fn return_consumed_capacity(&self) -> ::std::option::Option<&crate::types::ReturnConsumedCapacity> {
         152  +
        /* StructureGenerator.kt:170 */
  135    153   
        self.return_consumed_capacity.as_ref()
         154  +
        /* StructureGenerator.kt:166 */
  136    155   
    }
  137         -
    /// <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>
         156  +
    /// /* StructureGenerator.kt:231 */<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>
         157  +
    /* StructureGenerator.kt:166 */
  138    158   
    pub fn return_item_collection_metrics(&self) -> ::std::option::Option<&crate::types::ReturnItemCollectionMetrics> {
         159  +
        /* StructureGenerator.kt:170 */
  139    160   
        self.return_item_collection_metrics.as_ref()
         161  +
        /* StructureGenerator.kt:166 */
  140    162   
    }
  141         -
    /// <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>
         163  +
    /// /* StructureGenerator.kt:231 */<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>
         164  +
    /* StructureGenerator.kt:166 */
  142    165   
    pub fn conditional_operator(&self) -> ::std::option::Option<&crate::types::ConditionalOperator> {
         166  +
        /* StructureGenerator.kt:170 */
  143    167   
        self.conditional_operator.as_ref()
         168  +
        /* StructureGenerator.kt:166 */
  144    169   
    }
  145         -
    /// <p>A condition that must be satisfied in order for a conditional <code>PutItem</code> operation to succeed.</p>
         170  +
    /// /* StructureGenerator.kt:231 */<p>A condition that must be satisfied in order for a conditional <code>PutItem</code> operation to succeed.</p>
  146    171   
    /// <p>An expression can contain any of the following:</p>
  147    172   
    /// <ul>
  148    173   
    /// <li>
  149    174   
    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
  150    175   
    /// <p>These function names are case-sensitive.</p></li>
  151    176   
    /// <li>
  152    177   
    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
  153    178   
    /// <li>
  154    179   
    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
  155    180   
    /// </ul>
  156    181   
    /// <p>For more information on 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>
         182  +
    /* StructureGenerator.kt:166 */
  157    183   
    pub fn condition_expression(&self) -> ::std::option::Option<&str> {
         184  +
        /* StructureGenerator.kt:169 */
  158    185   
        self.condition_expression.as_deref()
         186  +
        /* StructureGenerator.kt:166 */
  159    187   
    }
  160         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         188  +
    /// /* StructureGenerator.kt:231 */<p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
  161    189   
    /// <ul>
  162    190   
    /// <li>
  163    191   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  164    192   
    /// <li>
  165    193   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  166    194   
    /// <li>
  167    195   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  168    196   
    /// </ul>
  169    197   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  170    198   
    /// <ul>
  171    199   
    /// <li>
  172    200   
    /// <p><code>Percentile</code></p></li>
  173    201   
    /// </ul>
  174    202   
    /// <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>
  175    203   
    /// <ul>
  176    204   
    /// <li>
  177    205   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  178    206   
    /// </ul>
  179    207   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  180    208   
    /// <ul>
  181    209   
    /// <li>
  182    210   
    /// <p><code>#P = :val</code></p></li>
  183    211   
    /// </ul><note>
  184    212   
    /// <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>
  185    213   
    /// </note>
  186    214   
    /// <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>
         215  +
    /* StructureGenerator.kt:166 */
  187    216   
    pub fn expression_attribute_names(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
         217  +
        /* StructureGenerator.kt:170 */
  188    218   
        self.expression_attribute_names.as_ref()
         219  +
        /* StructureGenerator.kt:166 */
  189    220   
    }
  190         -
    /// <p>One or more values that can be substituted in an expression.</p>
         221  +
    /// /* StructureGenerator.kt:231 */<p>One or more values that can be substituted in an expression.</p>
  191    222   
    /// <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>
  192    223   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  193    224   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  194    225   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  195    226   
    /// <p>You could then use these values in an expression, such as this:</p>
  196    227   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  197    228   
    /// <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>
         229  +
    /* StructureGenerator.kt:166 */
  198    230   
    pub fn expression_attribute_values(
  199    231   
        &self,
  200    232   
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         233  +
        /* StructureGenerator.kt:170 */
  201    234   
        self.expression_attribute_values.as_ref()
         235  +
        /* StructureGenerator.kt:166 */
  202    236   
    }
         237  +
    /* StructureGenerator.kt:135 */
  203    238   
}
         239  +
/* ClientCodegenVisitor.kt:237 */
  204    240   
impl PutItemInput {
  205         -
    /// Creates a new builder-style object to manufacture [`PutItemInput`](crate::operation::put_item::PutItemInput).
         241  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`PutItemInput`](crate::operation::put_item::PutItemInput).
         242  +
    /* BuilderGenerator.kt:175 */
  206    243   
    pub fn builder() -> crate::operation::put_item::builders::PutItemInputBuilder {
         244  +
        /* BuilderGenerator.kt:176 */
  207    245   
        crate::operation::put_item::builders::PutItemInputBuilder::default()
         246  +
        /* BuilderGenerator.kt:175 */
  208    247   
    }
         248  +
    /* ClientCodegenVisitor.kt:237 */
  209    249   
}
  210    250   
  211         -
/// A builder for [`PutItemInput`](crate::operation::put_item::PutItemInput).
         251  +
/// /* BuilderGenerator.kt:342 */A builder for [`PutItemInput`](crate::operation::put_item::PutItemInput).
         252  +
/* RustType.kt:516 */
  212    253   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         254  +
/* RustType.kt:516 */
  213    255   
#[non_exhaustive]
         256  +
/* BuilderGenerator.kt:345 */
  214    257   
pub struct PutItemInputBuilder {
  215         -
    pub(crate) table_name: ::std::option::Option<::std::string::String>,
         258  +
    /* BuilderGenerator.kt:275 */ pub(crate) table_name: ::std::option::Option<::std::string::String>,
         259  +
    /* BuilderGenerator.kt:275 */
  216    260   
    pub(crate) item: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
         261  +
    /* BuilderGenerator.kt:275 */
  217    262   
    pub(crate) expected: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>>,
  218         -
    pub(crate) return_values: ::std::option::Option<crate::types::ReturnValue>,
  219         -
    pub(crate) return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
  220         -
    pub(crate) return_item_collection_metrics: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>,
  221         -
    pub(crate) conditional_operator: ::std::option::Option<crate::types::ConditionalOperator>,
  222         -
    pub(crate) condition_expression: ::std::option::Option<::std::string::String>,
         263  +
    /* BuilderGenerator.kt:275 */ pub(crate) return_values: ::std::option::Option<crate::types::ReturnValue>,
         264  +
    /* BuilderGenerator.kt:275 */ pub(crate) return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
         265  +
    /* BuilderGenerator.kt:275 */ pub(crate) return_item_collection_metrics: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>,
         266  +
    /* BuilderGenerator.kt:275 */ pub(crate) conditional_operator: ::std::option::Option<crate::types::ConditionalOperator>,
         267  +
    /* BuilderGenerator.kt:275 */ pub(crate) condition_expression: ::std::option::Option<::std::string::String>,
         268  +
    /* BuilderGenerator.kt:275 */
  223    269   
    pub(crate) expression_attribute_names: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
         270  +
    /* BuilderGenerator.kt:275 */
  224    271   
    pub(crate) expression_attribute_values: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
         272  +
    /* BuilderGenerator.kt:345 */
  225    273   
}
         274  +
/* BuilderGenerator.kt:355 */
  226    275   
impl PutItemInputBuilder {
  227         -
    /// <p>The name of the table to contain the item.</p>
  228         -
    /// This field is required.
         276  +
    /// /* BuilderGenerator.kt:286 */<p>The name of the table to contain the item.</p>
         277  +
    /// /* BuilderGenerator.kt:288 */This field is required.
         278  +
    /* BuilderGenerator.kt:291 */
  229    279   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         280  +
        /* BuilderGenerator.kt:292 */
  230    281   
        self.table_name = ::std::option::Option::Some(input.into());
         282  +
        /* BuilderGenerator.kt:293 */
  231    283   
        self
         284  +
        /* BuilderGenerator.kt:291 */
  232    285   
    }
  233         -
    /// <p>The name of the table to contain the item.</p>
         286  +
    /// /* BuilderGenerator.kt:312 */<p>The name of the table to contain the item.</p>
         287  +
    /* BuilderGenerator.kt:314 */
  234    288   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         289  +
        /* BuilderGenerator.kt:315 */
  235    290   
        self.table_name = input;
  236    291   
        self
         292  +
        /* BuilderGenerator.kt:314 */
  237    293   
    }
  238         -
    /// <p>The name of the table to contain the item.</p>
         294  +
    /// /* BuilderGenerator.kt:334 */<p>The name of the table to contain the item.</p>
         295  +
    /* BuilderGenerator.kt:336 */
  239    296   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
         297  +
        /* BuilderGenerator.kt:337 */
  240    298   
        &self.table_name
         299  +
        /* BuilderGenerator.kt:336 */
  241    300   
    }
  242         -
    /// Adds a key-value pair to `item`.
         301  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `item`.
         302  +
    /* BuilderGenerator.kt:437 */
  243    303   
    ///
  244         -
    /// To override the contents of this collection use [`set_item`](Self::set_item).
         304  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_item`](Self::set_item).
         305  +
    /* BuilderGenerator.kt:439 */
  245    306   
    ///
  246         -
    /// <p>A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.</p>
         307  +
    /// /* BuilderGenerator.kt:440 */<p>A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.</p>
  247    308   
    /// <p>You must provide all of the attributes for the primary key. 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 both values for both the partition key and the sort key.</p>
  248    309   
    /// <p>If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.</p>
  249    310   
    /// <p>Empty String and Binary attribute values are allowed. Attribute values of type String and Binary must have a length greater than zero if the attribute is used as a key attribute for a table or index.</p>
  250    311   
    /// <p>For more information about primary keys, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey">Primary Key</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
  251    312   
    /// <p>Each element in the <code>Item</code> map is an <code>AttributeValue</code> object.</p>
         313  +
    /* BuilderGenerator.kt:445 */
  252    314   
    pub fn item(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
         315  +
        /* BuilderGenerator.kt:448 */
  253    316   
        let mut hash_map = self.item.unwrap_or_default();
  254    317   
        hash_map.insert(k.into(), v);
  255    318   
        self.item = ::std::option::Option::Some(hash_map);
  256    319   
        self
         320  +
        /* BuilderGenerator.kt:445 */
  257    321   
    }
  258         -
    /// <p>A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.</p>
         322  +
    /// /* BuilderGenerator.kt:312 */<p>A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.</p>
  259    323   
    /// <p>You must provide all of the attributes for the primary key. 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 both values for both the partition key and the sort key.</p>
  260    324   
    /// <p>If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.</p>
  261    325   
    /// <p>Empty String and Binary attribute values are allowed. Attribute values of type String and Binary must have a length greater than zero if the attribute is used as a key attribute for a table or index.</p>
  262    326   
    /// <p>For more information about primary keys, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey">Primary Key</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
  263    327   
    /// <p>Each element in the <code>Item</code> map is an <code>AttributeValue</code> object.</p>
         328  +
    /* BuilderGenerator.kt:314 */
  264    329   
    pub fn set_item(
  265    330   
        mut self,
  266    331   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  267    332   
    ) -> Self {
         333  +
        /* BuilderGenerator.kt:315 */
  268    334   
        self.item = input;
  269    335   
        self
         336  +
        /* BuilderGenerator.kt:314 */
  270    337   
    }
  271         -
    /// <p>A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.</p>
         338  +
    /// /* BuilderGenerator.kt:334 */<p>A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.</p>
  272    339   
    /// <p>You must provide all of the attributes for the primary key. 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 both values for both the partition key and the sort key.</p>
  273    340   
    /// <p>If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.</p>
  274    341   
    /// <p>Empty String and Binary attribute values are allowed. Attribute values of type String and Binary must have a length greater than zero if the attribute is used as a key attribute for a table or index.</p>
  275    342   
    /// <p>For more information about primary keys, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey">Primary Key</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
  276    343   
    /// <p>Each element in the <code>Item</code> map is an <code>AttributeValue</code> object.</p>
         344  +
    /* BuilderGenerator.kt:336 */
  277    345   
    pub fn get_item(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         346  +
        /* BuilderGenerator.kt:337 */
  278    347   
        &self.item
         348  +
        /* BuilderGenerator.kt:336 */
  279    349   
    }
  280         -
    /// Adds a key-value pair to `expected`.
         350  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `expected`.
         351  +
    /* BuilderGenerator.kt:437 */
  281    352   
    ///
  282         -
    /// To override the contents of this collection use [`set_expected`](Self::set_expected).
         353  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_expected`](Self::set_expected).
         354  +
    /* BuilderGenerator.kt:439 */
  283    355   
    ///
  284         -
    /// <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>
         356  +
    /// /* BuilderGenerator.kt:440 */<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>
         357  +
    /* BuilderGenerator.kt:445 */
  285    358   
    pub fn expected(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::ExpectedAttributeValue) -> Self {
         359  +
        /* BuilderGenerator.kt:448 */
  286    360   
        let mut hash_map = self.expected.unwrap_or_default();
  287    361   
        hash_map.insert(k.into(), v);
  288    362   
        self.expected = ::std::option::Option::Some(hash_map);
  289    363   
        self
         364  +
        /* BuilderGenerator.kt:445 */
  290    365   
    }
  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.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         366  +
    /// /* BuilderGenerator.kt:312 */<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>
         367  +
    /* BuilderGenerator.kt:314 */
  292    368   
    pub fn set_expected(
  293    369   
        mut self,
  294    370   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>>,
  295    371   
    ) -> Self {
         372  +
        /* BuilderGenerator.kt:315 */
  296    373   
        self.expected = input;
  297    374   
        self
         375  +
        /* BuilderGenerator.kt:314 */
  298    376   
    }
  299         -
    /// <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>
         377  +
    /// /* BuilderGenerator.kt:334 */<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>
         378  +
    /* BuilderGenerator.kt:336 */
  300    379   
    pub fn get_expected(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>> {
         380  +
        /* BuilderGenerator.kt:337 */
  301    381   
        &self.expected
         382  +
        /* BuilderGenerator.kt:336 */
  302    383   
    }
  303         -
    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were updated with the <code>PutItem</code> request. For <code>PutItem</code>, the valid values are:</p>
         384  +
    /// /* BuilderGenerator.kt:286 */<p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were updated with the <code>PutItem</code> request. For <code>PutItem</code>, the valid values are:</p>
  304    385   
    /// <ul>
  305    386   
    /// <li>
  306    387   
    /// <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>
  307    388   
    /// <li>
  308    389   
    /// <p><code>ALL_OLD</code> - If <code>PutItem</code> overwrote an attribute name-value pair, then the content of the old item is returned.</p></li>
  309    390   
    /// </ul><note>
  310    391   
    /// <p>The <code>ReturnValues</code> parameter is used by several DynamoDB operations; however, <code>PutItem</code> does not recognize any values other than <code>NONE</code> or <code>ALL_OLD</code>.</p>
  311    392   
    /// </note>
         393  +
    /* BuilderGenerator.kt:291 */
  312    394   
    pub fn return_values(mut self, input: crate::types::ReturnValue) -> Self {
         395  +
        /* BuilderGenerator.kt:292 */
  313    396   
        self.return_values = ::std::option::Option::Some(input);
         397  +
        /* BuilderGenerator.kt:293 */
  314    398   
        self
         399  +
        /* BuilderGenerator.kt:291 */
  315    400   
    }
  316         -
    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were updated with the <code>PutItem</code> request. For <code>PutItem</code>, the valid values are:</p>
         401  +
    /// /* BuilderGenerator.kt:312 */<p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were updated with the <code>PutItem</code> request. For <code>PutItem</code>, the valid values are:</p>
  317    402   
    /// <ul>
  318    403   
    /// <li>
  319    404   
    /// <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>
  320    405   
    /// <li>
  321    406   
    /// <p><code>ALL_OLD</code> - If <code>PutItem</code> overwrote an attribute name-value pair, then the content of the old item is returned.</p></li>
  322    407   
    /// </ul><note>
  323    408   
    /// <p>The <code>ReturnValues</code> parameter is used by several DynamoDB operations; however, <code>PutItem</code> does not recognize any values other than <code>NONE</code> or <code>ALL_OLD</code>.</p>
  324    409   
    /// </note>
         410  +
    /* BuilderGenerator.kt:314 */
  325    411   
    pub fn set_return_values(mut self, input: ::std::option::Option<crate::types::ReturnValue>) -> Self {
         412  +
        /* BuilderGenerator.kt:315 */
  326    413   
        self.return_values = input;
  327    414   
        self
         415  +
        /* BuilderGenerator.kt:314 */
  328    416   
    }
  329         -
    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were updated with the <code>PutItem</code> request. For <code>PutItem</code>, the valid values are:</p>
         417  +
    /// /* BuilderGenerator.kt:334 */<p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were updated with the <code>PutItem</code> request. For <code>PutItem</code>, the valid values are:</p>
  330    418   
    /// <ul>
  331    419   
    /// <li>
  332    420   
    /// <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>
  333    421   
    /// <li>
  334    422   
    /// <p><code>ALL_OLD</code> - If <code>PutItem</code> overwrote an attribute name-value pair, then the content of the old item is returned.</p></li>
  335    423   
    /// </ul><note>
  336    424   
    /// <p>The <code>ReturnValues</code> parameter is used by several DynamoDB operations; however, <code>PutItem</code> does not recognize any values other than <code>NONE</code> or <code>ALL_OLD</code>.</p>
  337    425   
    /// </note>
         426  +
    /* BuilderGenerator.kt:336 */
  338    427   
    pub fn get_return_values(&self) -> &::std::option::Option<crate::types::ReturnValue> {
         428  +
        /* BuilderGenerator.kt:337 */
  339    429   
        &self.return_values
         430  +
        /* BuilderGenerator.kt:336 */
  340    431   
    }
  341         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         432  +
    /// /* BuilderGenerator.kt:286 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  342    433   
    /// <ul>
  343    434   
    /// <li>
  344    435   
    /// <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>
  345    436   
    /// <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>
  346    437   
    /// <li>
  347    438   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  348    439   
    /// <li>
  349    440   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  350    441   
    /// </ul>
         442  +
    /* BuilderGenerator.kt:291 */
  351    443   
    pub fn return_consumed_capacity(mut self, input: crate::types::ReturnConsumedCapacity) -> Self {
         444  +
        /* BuilderGenerator.kt:292 */
  352    445   
        self.return_consumed_capacity = ::std::option::Option::Some(input);
         446  +
        /* BuilderGenerator.kt:293 */
  353    447   
        self
         448  +
        /* BuilderGenerator.kt:291 */
  354    449   
    }
  355         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         450  +
    /// /* BuilderGenerator.kt:312 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  356    451   
    /// <ul>
  357    452   
    /// <li>
  358    453   
    /// <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>
  359    454   
    /// <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>
  360    455   
    /// <li>
  361    456   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  362    457   
    /// <li>
  363    458   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  364    459   
    /// </ul>
         460  +
    /* BuilderGenerator.kt:314 */
  365    461   
    pub fn set_return_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ReturnConsumedCapacity>) -> Self {
         462  +
        /* BuilderGenerator.kt:315 */
  366    463   
        self.return_consumed_capacity = input;
  367    464   
        self
         465  +
        /* BuilderGenerator.kt:314 */
  368    466   
    }
  369         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         467  +
    /// /* BuilderGenerator.kt:334 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  370    468   
    /// <ul>
  371    469   
    /// <li>
  372    470   
    /// <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>
  373    471   
    /// <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>
  374    472   
    /// <li>
  375    473   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  376    474   
    /// <li>
  377    475   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  378    476   
    /// </ul>
         477  +
    /* BuilderGenerator.kt:336 */
  379    478   
    pub fn get_return_consumed_capacity(&self) -> &::std::option::Option<crate::types::ReturnConsumedCapacity> {
         479  +
        /* BuilderGenerator.kt:337 */
  380    480   
        &self.return_consumed_capacity
         481  +
        /* BuilderGenerator.kt:336 */
  381    482   
    }
  382         -
    /// <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>
         483  +
    /// /* BuilderGenerator.kt:286 */<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>
         484  +
    /* BuilderGenerator.kt:291 */
  383    485   
    pub fn return_item_collection_metrics(mut self, input: crate::types::ReturnItemCollectionMetrics) -> Self {
         486  +
        /* BuilderGenerator.kt:292 */
  384    487   
        self.return_item_collection_metrics = ::std::option::Option::Some(input);
         488  +
        /* BuilderGenerator.kt:293 */
  385    489   
        self
         490  +
        /* BuilderGenerator.kt:291 */
  386    491   
    }
  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>
         492  +
    /// /* BuilderGenerator.kt:312 */<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>
         493  +
    /* BuilderGenerator.kt:314 */
  388    494   
    pub fn set_return_item_collection_metrics(mut self, input: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>) -> Self {
         495  +
        /* BuilderGenerator.kt:315 */
  389    496   
        self.return_item_collection_metrics = input;
  390    497   
        self
         498  +
        /* BuilderGenerator.kt:314 */
  391    499   
    }
  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>
         500  +
    /// /* BuilderGenerator.kt:334 */<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>
         501  +
    /* BuilderGenerator.kt:336 */
  393    502   
    pub fn get_return_item_collection_metrics(&self) -> &::std::option::Option<crate::types::ReturnItemCollectionMetrics> {
         503  +
        /* BuilderGenerator.kt:337 */
  394    504   
        &self.return_item_collection_metrics
         505  +
        /* BuilderGenerator.kt:336 */
  395    506   
    }
  396         -
    /// <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>
         507  +
    /// /* BuilderGenerator.kt:286 */<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>
         508  +
    /* BuilderGenerator.kt:291 */
  397    509   
    pub fn conditional_operator(mut self, input: crate::types::ConditionalOperator) -> Self {
         510  +
        /* BuilderGenerator.kt:292 */
  398    511   
        self.conditional_operator = ::std::option::Option::Some(input);
         512  +
        /* BuilderGenerator.kt:293 */
  399    513   
        self
         514  +
        /* BuilderGenerator.kt:291 */
  400    515   
    }
  401         -
    /// <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>
         516  +
    /// /* BuilderGenerator.kt:312 */<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>
         517  +
    /* BuilderGenerator.kt:314 */
  402    518   
    pub fn set_conditional_operator(mut self, input: ::std::option::Option<crate::types::ConditionalOperator>) -> Self {
         519  +
        /* BuilderGenerator.kt:315 */
  403    520   
        self.conditional_operator = input;
  404    521   
        self
         522  +
        /* BuilderGenerator.kt:314 */
  405    523   
    }
  406         -
    /// <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>
         524  +
    /// /* BuilderGenerator.kt:334 */<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>
         525  +
    /* BuilderGenerator.kt:336 */
  407    526   
    pub fn get_conditional_operator(&self) -> &::std::option::Option<crate::types::ConditionalOperator> {
         527  +
        /* BuilderGenerator.kt:337 */
  408    528   
        &self.conditional_operator
         529  +
        /* BuilderGenerator.kt:336 */
  409    530   
    }
  410         -
    /// <p>A condition that must be satisfied in order for a conditional <code>PutItem</code> operation to succeed.</p>
         531  +
    /// /* BuilderGenerator.kt:286 */<p>A condition that must be satisfied in order for a conditional <code>PutItem</code> operation to succeed.</p>
  411    532   
    /// <p>An expression can contain any of the following:</p>
  412    533   
    /// <ul>
  413    534   
    /// <li>
  414    535   
    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
  415    536   
    /// <p>These function names are case-sensitive.</p></li>
  416    537   
    /// <li>
  417    538   
    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
  418    539   
    /// <li>
  419    540   
    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
  420    541   
    /// </ul>
  421    542   
    /// <p>For more information on 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>
         543  +
    /* BuilderGenerator.kt:291 */
  422    544   
    pub fn condition_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         545  +
        /* BuilderGenerator.kt:292 */
  423    546   
        self.condition_expression = ::std::option::Option::Some(input.into());
         547  +
        /* BuilderGenerator.kt:293 */
  424    548   
        self
         549  +
        /* BuilderGenerator.kt:291 */
  425    550   
    }
  426         -
    /// <p>A condition that must be satisfied in order for a conditional <code>PutItem</code> operation to succeed.</p>
         551  +
    /// /* BuilderGenerator.kt:312 */<p>A condition that must be satisfied in order for a conditional <code>PutItem</code> operation to succeed.</p>
  427    552   
    /// <p>An expression can contain any of the following:</p>
  428    553   
    /// <ul>
  429    554   
    /// <li>
  430    555   
    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
  431    556   
    /// <p>These function names are case-sensitive.</p></li>
  432    557   
    /// <li>
  433    558   
    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
  434    559   
    /// <li>
  435    560   
    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
  436    561   
    /// </ul>
  437    562   
    /// <p>For more information on 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>
         563  +
    /* BuilderGenerator.kt:314 */
  438    564   
    pub fn set_condition_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         565  +
        /* BuilderGenerator.kt:315 */
  439    566   
        self.condition_expression = input;
  440    567   
        self
         568  +
        /* BuilderGenerator.kt:314 */
  441    569   
    }
  442         -
    /// <p>A condition that must be satisfied in order for a conditional <code>PutItem</code> operation to succeed.</p>
         570  +
    /// /* BuilderGenerator.kt:334 */<p>A condition that must be satisfied in order for a conditional <code>PutItem</code> operation to succeed.</p>
  443    571   
    /// <p>An expression can contain any of the following:</p>
  444    572   
    /// <ul>
  445    573   
    /// <li>
  446    574   
    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
  447    575   
    /// <p>These function names are case-sensitive.</p></li>
  448    576   
    /// <li>
  449    577   
    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
  450    578   
    /// <li>
  451    579   
    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
  452    580   
    /// </ul>
  453    581   
    /// <p>For more information on 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>
         582  +
    /* BuilderGenerator.kt:336 */
  454    583   
    pub fn get_condition_expression(&self) -> &::std::option::Option<::std::string::String> {
         584  +
        /* BuilderGenerator.kt:337 */
  455    585   
        &self.condition_expression
         586  +
        /* BuilderGenerator.kt:336 */
  456    587   
    }
  457         -
    /// Adds a key-value pair to `expression_attribute_names`.
         588  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `expression_attribute_names`.
         589  +
    /* BuilderGenerator.kt:437 */
  458    590   
    ///
  459         -
    /// To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
         591  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
         592  +
    /* BuilderGenerator.kt:439 */
  460    593   
    ///
  461         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         594  +
    /// /* BuilderGenerator.kt:440 */<p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
  462    595   
    /// <ul>
  463    596   
    /// <li>
  464    597   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  465    598   
    /// <li>
  466    599   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  467    600   
    /// <li>
  468    601   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  469    602   
    /// </ul>
  470    603   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  471    604   
    /// <ul>
  472    605   
    /// <li>
  473    606   
    /// <p><code>Percentile</code></p></li>
  474    607   
    /// </ul>
  475    608   
    /// <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>
  476    609   
    /// <ul>
  477    610   
    /// <li>
  478    611   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  479    612   
    /// </ul>
  480    613   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  481    614   
    /// <ul>
  482    615   
    /// <li>
  483    616   
    /// <p><code>#P = :val</code></p></li>
  484    617   
    /// </ul><note>
  485    618   
    /// <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>
  486    619   
    /// </note>
  487    620   
    /// <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>
         621  +
    /* BuilderGenerator.kt:445 */
  488    622   
    pub fn expression_attribute_names(
  489    623   
        mut self,
  490    624   
        k: impl ::std::convert::Into<::std::string::String>,
  491    625   
        v: impl ::std::convert::Into<::std::string::String>,
  492    626   
    ) -> Self {
         627  +
        /* BuilderGenerator.kt:448 */
  493    628   
        let mut hash_map = self.expression_attribute_names.unwrap_or_default();
  494    629   
        hash_map.insert(k.into(), v.into());
  495    630   
        self.expression_attribute_names = ::std::option::Option::Some(hash_map);
  496    631   
        self
         632  +
        /* BuilderGenerator.kt:445 */
  497    633   
    }
  498         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         634  +
    /// /* BuilderGenerator.kt:312 */<p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
  499    635   
    /// <ul>
  500    636   
    /// <li>
  501    637   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  502    638   
    /// <li>
  503    639   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  504    640   
    /// <li>
  505    641   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  506    642   
    /// </ul>
  507    643   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  508    644   
    /// <ul>
  509    645   
    /// <li>
  510    646   
    /// <p><code>Percentile</code></p></li>
  511    647   
    /// </ul>
  512    648   
    /// <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>
  513    649   
    /// <ul>
  514    650   
    /// <li>
  515    651   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  516    652   
    /// </ul>
  517    653   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  518    654   
    /// <ul>
  519    655   
    /// <li>
  520    656   
    /// <p><code>#P = :val</code></p></li>
  521    657   
    /// </ul><note>
  522    658   
    /// <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>
  523    659   
    /// </note>
  524    660   
    /// <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>
         661  +
    /* BuilderGenerator.kt:314 */
  525    662   
    pub fn set_expression_attribute_names(
  526    663   
        mut self,
  527    664   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
  528    665   
    ) -> Self {
         666  +
        /* BuilderGenerator.kt:315 */
  529    667   
        self.expression_attribute_names = input;
  530    668   
        self
         669  +
        /* BuilderGenerator.kt:314 */
  531    670   
    }
  532         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         671  +
    /// /* BuilderGenerator.kt:334 */<p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
  533    672   
    /// <ul>
  534    673   
    /// <li>
  535    674   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  536    675   
    /// <li>
  537    676   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  538    677   
    /// <li>
  539    678   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  540    679   
    /// </ul>
  541    680   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  542    681   
    /// <ul>
  543    682   
    /// <li>
  544    683   
    /// <p><code>Percentile</code></p></li>
  545    684   
    /// </ul>
  546    685   
    /// <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>
  547    686   
    /// <ul>
  548    687   
    /// <li>
  549    688   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  550    689   
    /// </ul>
  551    690   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  552    691   
    /// <ul>
  553    692   
    /// <li>
  554    693   
    /// <p><code>#P = :val</code></p></li>
  555    694   
    /// </ul><note>
  556    695   
    /// <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>
  557    696   
    /// </note>
  558    697   
    /// <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>
         698  +
    /* BuilderGenerator.kt:336 */
  559    699   
    pub fn get_expression_attribute_names(
  560    700   
        &self,
  561    701   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
         702  +
        /* BuilderGenerator.kt:337 */
  562    703   
        &self.expression_attribute_names
         704  +
        /* BuilderGenerator.kt:336 */
  563    705   
    }
  564         -
    /// Adds a key-value pair to `expression_attribute_values`.
         706  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `expression_attribute_values`.
         707  +
    /* BuilderGenerator.kt:437 */
  565    708   
    ///
  566         -
    /// To override the contents of this collection use [`set_expression_attribute_values`](Self::set_expression_attribute_values).
         709  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_expression_attribute_values`](Self::set_expression_attribute_values).
         710  +
    /* BuilderGenerator.kt:439 */
  567    711   
    ///
  568         -
    /// <p>One or more values that can be substituted in an expression.</p>
         712  +
    /// /* BuilderGenerator.kt:440 */<p>One or more values that can be substituted in an expression.</p>
  569    713   
    /// <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>
  570    714   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  571    715   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  572    716   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  573    717   
    /// <p>You could then use these values in an expression, such as this:</p>
  574    718   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  575    719   
    /// <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>
         720  +
    /* BuilderGenerator.kt:445 */
  576    721   
    pub fn expression_attribute_values(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
         722  +
        /* BuilderGenerator.kt:448 */
  577    723   
        let mut hash_map = self.expression_attribute_values.unwrap_or_default();
  578    724   
        hash_map.insert(k.into(), v);
  579    725   
        self.expression_attribute_values = ::std::option::Option::Some(hash_map);
  580    726   
        self
         727  +
        /* BuilderGenerator.kt:445 */
  581    728   
    }
  582         -
    /// <p>One or more values that can be substituted in an expression.</p>
         729  +
    /// /* BuilderGenerator.kt:312 */<p>One or more values that can be substituted in an expression.</p>
  583    730   
    /// <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>
  584    731   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  585    732   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  586    733   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  587    734   
    /// <p>You could then use these values in an expression, such as this:</p>
  588    735   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  589    736   
    /// <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>
         737  +
    /* BuilderGenerator.kt:314 */
  590    738   
    pub fn set_expression_attribute_values(
  591    739   
        mut self,
  592    740   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  593    741   
    ) -> Self {
         742  +
        /* BuilderGenerator.kt:315 */
  594    743   
        self.expression_attribute_values = input;
  595    744   
        self
         745  +
        /* BuilderGenerator.kt:314 */
  596    746   
    }
  597         -
    /// <p>One or more values that can be substituted in an expression.</p>
         747  +
    /// /* BuilderGenerator.kt:334 */<p>One or more values that can be substituted in an expression.</p>
  598    748   
    /// <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>
  599    749   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  600    750   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  601    751   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  602    752   
    /// <p>You could then use these values in an expression, such as this:</p>
  603    753   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  604    754   
    /// <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>
         755  +
    /* BuilderGenerator.kt:336 */
  605    756   
    pub fn get_expression_attribute_values(
  606    757   
        &self,
  607    758   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         759  +
        /* BuilderGenerator.kt:337 */
  608    760   
        &self.expression_attribute_values
         761  +
        /* BuilderGenerator.kt:336 */
  609    762   
    }
  610         -
    /// Consumes the builder and constructs a [`PutItemInput`](crate::operation::put_item::PutItemInput).
         763  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`PutItemInput`](crate::operation::put_item::PutItemInput).
         764  +
    /* BuilderGenerator.kt:253 */
  611    765   
    pub fn build(self) -> ::std::result::Result<crate::operation::put_item::PutItemInput, ::aws_smithy_types::error::operation::BuildError> {
  612         -
        ::std::result::Result::Ok(crate::operation::put_item::PutItemInput {
  613         -
            table_name: self.table_name,
         766  +
        /* BuilderGenerator.kt:254 */
         767  +
        ::std::result::Result::Ok(
         768  +
            /* BuilderGenerator.kt:477 */
         769  +
            crate::operation::put_item::PutItemInput {
         770  +
                /* BuilderGenerator.kt:481 */ table_name: self.table_name,
         771  +
                /* BuilderGenerator.kt:481 */
  614    772   
                item: self.item,
         773  +
                /* BuilderGenerator.kt:481 */
  615    774   
                expected: self.expected,
         775  +
                /* BuilderGenerator.kt:481 */
  616    776   
                return_values: self.return_values,
         777  +
                /* BuilderGenerator.kt:481 */
  617    778   
                return_consumed_capacity: self.return_consumed_capacity,
         779  +
                /* BuilderGenerator.kt:481 */
  618    780   
                return_item_collection_metrics: self.return_item_collection_metrics,
         781  +
                /* BuilderGenerator.kt:481 */
  619    782   
                conditional_operator: self.conditional_operator,
         783  +
                /* BuilderGenerator.kt:481 */
  620    784   
                condition_expression: self.condition_expression,
         785  +
                /* BuilderGenerator.kt:481 */
  621    786   
                expression_attribute_names: self.expression_attribute_names,
         787  +
                /* BuilderGenerator.kt:481 */
  622    788   
                expression_attribute_values: self.expression_attribute_values,
  623         -
        })
         789  +
                /* BuilderGenerator.kt:477 */
         790  +
            }, /* BuilderGenerator.kt:254 */
         791  +
        )
         792  +
        /* BuilderGenerator.kt:253 */
  624    793   
    }
         794  +
    /* BuilderGenerator.kt:355 */
  625    795   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/operation/put_item/_put_item_output.rs

@@ -1,1 +143,207 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents the output of a <code>PutItem</code> operation.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents the output of a <code>PutItem</code> operation.</p>
           4  +
/* RustType.kt:516 */
    4      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    5      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct PutItemOutput {
    7         -
    /// <p>The attribute values as they appeared before the <code>PutItem</code> operation, but only if <code>ReturnValues</code> is specified as <code>ALL_OLD</code> in the request. Each element consists of an attribute name and an attribute value.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct PutItemOutput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The attribute values as they appeared before the <code>PutItem</code> operation, but only if <code>ReturnValues</code> is specified as <code>ALL_OLD</code> in the request. Each element consists of an attribute name and an attribute value.</p>
    8     10   
    pub attributes: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
    9         -
    /// <p>The capacity units consumed by the <code>PutItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>The capacity units consumed by the <code>PutItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   10     12   
    pub consumed_capacity: ::std::option::Option<crate::types::ConsumedCapacity>,
   11         -
    /// <p>Information about item collections, if any, that were affected by the <code>PutItem</code> operation. <code>ItemCollectionMetrics</code> is only returned if the <code>ReturnItemCollectionMetrics</code> parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.</p>
          13  +
    /// /* StructureGenerator.kt:231 */<p>Information about item collections, if any, that were affected by the <code>PutItem</code> operation. <code>ItemCollectionMetrics</code> is only returned if the <code>ReturnItemCollectionMetrics</code> parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.</p>
   12     14   
    /// <p>Each <code>ItemCollectionMetrics</code> element consists of:</p>
   13     15   
    /// <ul>
   14     16   
    /// <li>
   15     17   
    /// <p><code>ItemCollectionKey</code> - The partition key value of the item collection. This is the same as the partition key value of the item itself.</p></li>
   16     18   
    /// <li>
   17     19   
    /// <p><code>SizeEstimateRangeGB</code> - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.</p>
   18     20   
    /// <p>The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.</p></li>
   19     21   
    /// </ul>
   20     22   
    pub item_collection_metrics: ::std::option::Option<crate::types::ItemCollectionMetrics>,
          23  +
    /* StructureGenerator.kt:201 */
   21     24   
}
          25  +
/* StructureGenerator.kt:135 */
   22     26   
impl PutItemOutput {
   23         -
    /// <p>The attribute values as they appeared before the <code>PutItem</code> operation, but only if <code>ReturnValues</code> is specified as <code>ALL_OLD</code> in the request. Each element consists of an attribute name and an attribute value.</p>
          27  +
    /// /* StructureGenerator.kt:231 */<p>The attribute values as they appeared before the <code>PutItem</code> operation, but only if <code>ReturnValues</code> is specified as <code>ALL_OLD</code> in the request. Each element consists of an attribute name and an attribute value.</p>
          28  +
    /* StructureGenerator.kt:166 */
   24     29   
    pub fn attributes(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
          30  +
        /* StructureGenerator.kt:170 */
   25     31   
        self.attributes.as_ref()
          32  +
        /* StructureGenerator.kt:166 */
   26     33   
    }
   27         -
    /// <p>The capacity units consumed by the <code>PutItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          34  +
    /// /* StructureGenerator.kt:231 */<p>The capacity units consumed by the <code>PutItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          35  +
    /* StructureGenerator.kt:166 */
   28     36   
    pub fn consumed_capacity(&self) -> ::std::option::Option<&crate::types::ConsumedCapacity> {
          37  +
        /* StructureGenerator.kt:170 */
   29     38   
        self.consumed_capacity.as_ref()
          39  +
        /* StructureGenerator.kt:166 */
   30     40   
    }
   31         -
    /// <p>Information about item collections, if any, that were affected by the <code>PutItem</code> operation. <code>ItemCollectionMetrics</code> is only returned if the <code>ReturnItemCollectionMetrics</code> parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.</p>
          41  +
    /// /* StructureGenerator.kt:231 */<p>Information about item collections, if any, that were affected by the <code>PutItem</code> operation. <code>ItemCollectionMetrics</code> is only returned if the <code>ReturnItemCollectionMetrics</code> parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.</p>
   32     42   
    /// <p>Each <code>ItemCollectionMetrics</code> element consists of:</p>
   33     43   
    /// <ul>
   34     44   
    /// <li>
   35     45   
    /// <p><code>ItemCollectionKey</code> - The partition key value of the item collection. This is the same as the partition key value of the item itself.</p></li>
   36     46   
    /// <li>
   37     47   
    /// <p><code>SizeEstimateRangeGB</code> - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.</p>
   38     48   
    /// <p>The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.</p></li>
   39     49   
    /// </ul>
          50  +
    /* StructureGenerator.kt:166 */
   40     51   
    pub fn item_collection_metrics(&self) -> ::std::option::Option<&crate::types::ItemCollectionMetrics> {
          52  +
        /* StructureGenerator.kt:170 */
   41     53   
        self.item_collection_metrics.as_ref()
          54  +
        /* StructureGenerator.kt:166 */
   42     55   
    }
          56  +
    /* StructureGenerator.kt:135 */
   43     57   
}
          58  +
/* ClientCodegenVisitor.kt:237 */
   44     59   
impl PutItemOutput {
   45         -
    /// Creates a new builder-style object to manufacture [`PutItemOutput`](crate::operation::put_item::PutItemOutput).
          60  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`PutItemOutput`](crate::operation::put_item::PutItemOutput).
          61  +
    /* BuilderGenerator.kt:175 */
   46     62   
    pub fn builder() -> crate::operation::put_item::builders::PutItemOutputBuilder {
          63  +
        /* BuilderGenerator.kt:176 */
   47     64   
        crate::operation::put_item::builders::PutItemOutputBuilder::default()
          65  +
        /* BuilderGenerator.kt:175 */
   48     66   
    }
          67  +
    /* ClientCodegenVisitor.kt:237 */
   49     68   
}
   50     69   
   51         -
/// A builder for [`PutItemOutput`](crate::operation::put_item::PutItemOutput).
          70  +
/// /* BuilderGenerator.kt:342 */A builder for [`PutItemOutput`](crate::operation::put_item::PutItemOutput).
          71  +
/* RustType.kt:516 */
   52     72   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          73  +
/* RustType.kt:516 */
   53     74   
#[non_exhaustive]
          75  +
/* BuilderGenerator.kt:345 */
   54     76   
pub struct PutItemOutputBuilder {
          77  +
    /* BuilderGenerator.kt:275 */
   55     78   
    pub(crate) attributes: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
   56         -
    pub(crate) consumed_capacity: ::std::option::Option<crate::types::ConsumedCapacity>,
          79  +
    /* BuilderGenerator.kt:275 */ pub(crate) consumed_capacity: ::std::option::Option<crate::types::ConsumedCapacity>,
          80  +
    /* BuilderGenerator.kt:275 */
   57     81   
    pub(crate) item_collection_metrics: ::std::option::Option<crate::types::ItemCollectionMetrics>,
          82  +
    /* BuilderGenerator.kt:345 */
   58     83   
}
          84  +
/* BuilderGenerator.kt:355 */
   59     85   
impl PutItemOutputBuilder {
   60         -
    /// Adds a key-value pair to `attributes`.
          86  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `attributes`.
          87  +
    /* BuilderGenerator.kt:437 */
   61     88   
    ///
   62         -
    /// To override the contents of this collection use [`set_attributes`](Self::set_attributes).
          89  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_attributes`](Self::set_attributes).
          90  +
    /* BuilderGenerator.kt:439 */
   63     91   
    ///
   64         -
    /// <p>The attribute values as they appeared before the <code>PutItem</code> operation, but only if <code>ReturnValues</code> is specified as <code>ALL_OLD</code> in the request. Each element consists of an attribute name and an attribute value.</p>
          92  +
    /// /* BuilderGenerator.kt:440 */<p>The attribute values as they appeared before the <code>PutItem</code> operation, but only if <code>ReturnValues</code> is specified as <code>ALL_OLD</code> in the request. Each element consists of an attribute name and an attribute value.</p>
          93  +
    /* BuilderGenerator.kt:445 */
   65     94   
    pub fn attributes(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
          95  +
        /* BuilderGenerator.kt:448 */
   66     96   
        let mut hash_map = self.attributes.unwrap_or_default();
   67     97   
        hash_map.insert(k.into(), v);
   68     98   
        self.attributes = ::std::option::Option::Some(hash_map);
   69     99   
        self
         100  +
        /* BuilderGenerator.kt:445 */
   70    101   
    }
   71         -
    /// <p>The attribute values as they appeared before the <code>PutItem</code> operation, but only if <code>ReturnValues</code> is specified as <code>ALL_OLD</code> in the request. Each element consists of an attribute name and an attribute value.</p>
         102  +
    /// /* BuilderGenerator.kt:312 */<p>The attribute values as they appeared before the <code>PutItem</code> operation, but only if <code>ReturnValues</code> is specified as <code>ALL_OLD</code> in the request. Each element consists of an attribute name and an attribute value.</p>
         103  +
    /* BuilderGenerator.kt:314 */
   72    104   
    pub fn set_attributes(
   73    105   
        mut self,
   74    106   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
   75    107   
    ) -> Self {
         108  +
        /* BuilderGenerator.kt:315 */
   76    109   
        self.attributes = input;
   77    110   
        self
         111  +
        /* BuilderGenerator.kt:314 */
   78    112   
    }
   79         -
    /// <p>The attribute values as they appeared before the <code>PutItem</code> operation, but only if <code>ReturnValues</code> is specified as <code>ALL_OLD</code> in the request. Each element consists of an attribute name and an attribute value.</p>
         113  +
    /// /* BuilderGenerator.kt:334 */<p>The attribute values as they appeared before the <code>PutItem</code> operation, but only if <code>ReturnValues</code> is specified as <code>ALL_OLD</code> in the request. Each element consists of an attribute name and an attribute value.</p>
         114  +
    /* BuilderGenerator.kt:336 */
   80    115   
    pub fn get_attributes(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         116  +
        /* BuilderGenerator.kt:337 */
   81    117   
        &self.attributes
         118  +
        /* BuilderGenerator.kt:336 */
   82    119   
    }
   83         -
    /// <p>The capacity units consumed by the <code>PutItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         120  +
    /// /* BuilderGenerator.kt:286 */<p>The capacity units consumed by the <code>PutItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         121  +
    /* BuilderGenerator.kt:291 */
   84    122   
    pub fn consumed_capacity(mut self, input: crate::types::ConsumedCapacity) -> Self {
         123  +
        /* BuilderGenerator.kt:292 */
   85    124   
        self.consumed_capacity = ::std::option::Option::Some(input);
         125  +
        /* BuilderGenerator.kt:293 */
   86    126   
        self
         127  +
        /* BuilderGenerator.kt:291 */
   87    128   
    }
   88         -
    /// <p>The capacity units consumed by the <code>PutItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         129  +
    /// /* BuilderGenerator.kt:312 */<p>The capacity units consumed by the <code>PutItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         130  +
    /* BuilderGenerator.kt:314 */
   89    131   
    pub fn set_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ConsumedCapacity>) -> Self {
         132  +
        /* BuilderGenerator.kt:315 */
   90    133   
        self.consumed_capacity = input;
   91    134   
        self
         135  +
        /* BuilderGenerator.kt:314 */
   92    136   
    }
   93         -
    /// <p>The capacity units consumed by the <code>PutItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         137  +
    /// /* BuilderGenerator.kt:334 */<p>The capacity units consumed by the <code>PutItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Read/Write Capacity Mode</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         138  +
    /* BuilderGenerator.kt:336 */
   94    139   
    pub fn get_consumed_capacity(&self) -> &::std::option::Option<crate::types::ConsumedCapacity> {
         140  +
        /* BuilderGenerator.kt:337 */
   95    141   
        &self.consumed_capacity
         142  +
        /* BuilderGenerator.kt:336 */
   96    143   
    }
   97         -
    /// <p>Information about item collections, if any, that were affected by the <code>PutItem</code> operation. <code>ItemCollectionMetrics</code> is only returned if the <code>ReturnItemCollectionMetrics</code> parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.</p>
         144  +
    /// /* BuilderGenerator.kt:286 */<p>Information about item collections, if any, that were affected by the <code>PutItem</code> operation. <code>ItemCollectionMetrics</code> is only returned if the <code>ReturnItemCollectionMetrics</code> parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.</p>
   98    145   
    /// <p>Each <code>ItemCollectionMetrics</code> element consists of:</p>
   99    146   
    /// <ul>
  100    147   
    /// <li>
  101    148   
    /// <p><code>ItemCollectionKey</code> - The partition key value of the item collection. This is the same as the partition key value of the item itself.</p></li>
  102    149   
    /// <li>
  103    150   
    /// <p><code>SizeEstimateRangeGB</code> - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.</p>
  104    151   
    /// <p>The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.</p></li>
  105    152   
    /// </ul>
         153  +
    /* BuilderGenerator.kt:291 */
  106    154   
    pub fn item_collection_metrics(mut self, input: crate::types::ItemCollectionMetrics) -> Self {
         155  +
        /* BuilderGenerator.kt:292 */
  107    156   
        self.item_collection_metrics = ::std::option::Option::Some(input);
         157  +
        /* BuilderGenerator.kt:293 */
  108    158   
        self
         159  +
        /* BuilderGenerator.kt:291 */
  109    160   
    }
  110         -
    /// <p>Information about item collections, if any, that were affected by the <code>PutItem</code> operation. <code>ItemCollectionMetrics</code> is only returned if the <code>ReturnItemCollectionMetrics</code> parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.</p>
         161  +
    /// /* BuilderGenerator.kt:312 */<p>Information about item collections, if any, that were affected by the <code>PutItem</code> operation. <code>ItemCollectionMetrics</code> is only returned if the <code>ReturnItemCollectionMetrics</code> parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.</p>
  111    162   
    /// <p>Each <code>ItemCollectionMetrics</code> element consists of:</p>
  112    163   
    /// <ul>
  113    164   
    /// <li>
  114    165   
    /// <p><code>ItemCollectionKey</code> - The partition key value of the item collection. This is the same as the partition key value of the item itself.</p></li>
  115    166   
    /// <li>
  116    167   
    /// <p><code>SizeEstimateRangeGB</code> - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.</p>
  117    168   
    /// <p>The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.</p></li>
  118    169   
    /// </ul>
         170  +
    /* BuilderGenerator.kt:314 */
  119    171   
    pub fn set_item_collection_metrics(mut self, input: ::std::option::Option<crate::types::ItemCollectionMetrics>) -> Self {
         172  +
        /* BuilderGenerator.kt:315 */
  120    173   
        self.item_collection_metrics = input;
  121    174   
        self
         175  +
        /* BuilderGenerator.kt:314 */
  122    176   
    }
  123         -
    /// <p>Information about item collections, if any, that were affected by the <code>PutItem</code> operation. <code>ItemCollectionMetrics</code> is only returned if the <code>ReturnItemCollectionMetrics</code> parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.</p>
         177  +
    /// /* BuilderGenerator.kt:334 */<p>Information about item collections, if any, that were affected by the <code>PutItem</code> operation. <code>ItemCollectionMetrics</code> is only returned if the <code>ReturnItemCollectionMetrics</code> parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.</p>
  124    178   
    /// <p>Each <code>ItemCollectionMetrics</code> element consists of:</p>
  125    179   
    /// <ul>
  126    180   
    /// <li>
  127    181   
    /// <p><code>ItemCollectionKey</code> - The partition key value of the item collection. This is the same as the partition key value of the item itself.</p></li>
  128    182   
    /// <li>
  129    183   
    /// <p><code>SizeEstimateRangeGB</code> - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.</p>
  130    184   
    /// <p>The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.</p></li>
  131    185   
    /// </ul>
         186  +
    /* BuilderGenerator.kt:336 */
  132    187   
    pub fn get_item_collection_metrics(&self) -> &::std::option::Option<crate::types::ItemCollectionMetrics> {
         188  +
        /* BuilderGenerator.kt:337 */
  133    189   
        &self.item_collection_metrics
         190  +
        /* BuilderGenerator.kt:336 */
  134    191   
    }
  135         -
    /// Consumes the builder and constructs a [`PutItemOutput`](crate::operation::put_item::PutItemOutput).
         192  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`PutItemOutput`](crate::operation::put_item::PutItemOutput).
         193  +
    /* BuilderGenerator.kt:253 */
  136    194   
    pub fn build(self) -> crate::operation::put_item::PutItemOutput {
         195  +
        /* BuilderGenerator.kt:477 */
  137    196   
        crate::operation::put_item::PutItemOutput {
  138         -
            attributes: self.attributes,
         197  +
            /* BuilderGenerator.kt:481 */ attributes: self.attributes,
         198  +
            /* BuilderGenerator.kt:481 */
  139    199   
            consumed_capacity: self.consumed_capacity,
         200  +
            /* BuilderGenerator.kt:481 */
  140    201   
            item_collection_metrics: self.item_collection_metrics,
         202  +
            /* BuilderGenerator.kt:477 */
  141    203   
        }
         204  +
        /* BuilderGenerator.kt:253 */
  142    205   
    }
         206  +
    /* BuilderGenerator.kt:355 */
  143    207   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/operation/put_item/builders.rs

@@ -1,1 +509,551 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CodegenDelegator.kt:255 */
    2      3   
pub use crate::operation::put_item::_put_item_output::PutItemOutputBuilder;
    3      4   
           5  +
/* CodegenDelegator.kt:255 */
    4      6   
pub use crate::operation::put_item::_put_item_input::PutItemInputBuilder;
    5      7   
           8  +
/* FluentBuilderGenerator.kt:408 */
    6      9   
impl crate::operation::put_item::builders::PutItemInputBuilder {
    7     10   
    /// Sends a request with this input using the given client.
    8     11   
    pub async fn send_with(
    9     12   
        self,
   10     13   
        client: &crate::Client,
   11     14   
    ) -> ::std::result::Result<
   12     15   
        crate::operation::put_item::PutItemOutput,
   13     16   
        ::aws_smithy_runtime_api::client::result::SdkError<
   14     17   
            crate::operation::put_item::PutItemError,
   15     18   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   16     19   
        >,
   17     20   
    > {
   18     21   
        let mut fluent_builder = client.put_item();
   19     22   
        fluent_builder.inner = self;
   20     23   
        fluent_builder.send().await
   21     24   
    }
   22     25   
}
   23         -
/// Fluent builder constructing a request to `PutItem`.
          26  +
/// /* FluentBuilderGenerator.kt:129 */Fluent builder constructing a request to `PutItem`.
   24     27   
///
   25         -
/// <p>Creates a new item, or replaces an old item with a new item. If an item that has the same primary key as the new item already exists in the specified table, the new item completely replaces the existing item. You can perform a conditional put operation (add a new item if one with the specified primary key doesn't exist), or replace an existing item if it has certain attribute values. You can return the item's attribute values in the same operation, using the <code>ReturnValues</code> parameter.</p><important>
          28  +
/// /* FluentBuilderGenerator.kt:130 */<p>Creates a new item, or replaces an old item with a new item. If an item that has the same primary key as the new item already exists in the specified table, the new item completely replaces the existing item. You can perform a conditional put operation (add a new item if one with the specified primary key doesn't exist), or replace an existing item if it has certain attribute values. You can return the item's attribute values in the same operation, using the <code>ReturnValues</code> parameter.</p><important>
   26     29   
/// <p>This topic provides general information about the <code>PutItem</code> API.</p>
   27     30   
/// <p>For information on how to call the <code>PutItem</code> API using the AWS SDK in specific languages, see the following:</p>
   28     31   
/// <ul>
   29     32   
/// <li>
   30     33   
/// <p><a href="http://docs.aws.amazon.com/goto/aws-cli/dynamodb-2012-08-10/PutItem"> PutItem in the AWS Command Line Interface</a></p></li>
   31     34   
/// <li>
   32     35   
/// <p><a href="http://docs.aws.amazon.com/goto/DotNetSDKV3/dynamodb-2012-08-10/PutItem"> PutItem in the AWS SDK for .NET</a></p></li>
   33     36   
/// <li>
   34     37   
/// <p><a href="http://docs.aws.amazon.com/goto/SdkForCpp/dynamodb-2012-08-10/PutItem"> PutItem in the AWS SDK for C++</a></p></li>
   35     38   
/// <li>
   36     39   
/// <p><a href="http://docs.aws.amazon.com/goto/SdkForGoV1/dynamodb-2012-08-10/PutItem"> PutItem in the AWS SDK for Go</a></p></li>
   37     40   
/// <li>
   38     41   
/// <p><a href="http://docs.aws.amazon.com/goto/SdkForJava/dynamodb-2012-08-10/PutItem"> PutItem in the AWS SDK for Java</a></p></li>
   39     42   
/// <li>
   40     43   
/// <p><a href="http://docs.aws.amazon.com/goto/AWSJavaScriptSDK/dynamodb-2012-08-10/PutItem"> PutItem in the AWS SDK for JavaScript</a></p></li>
   41     44   
/// <li>
   42     45   
/// <p><a href="http://docs.aws.amazon.com/goto/SdkForPHPV3/dynamodb-2012-08-10/PutItem"> PutItem in the AWS SDK for PHP V3</a></p></li>
   43     46   
/// <li>
   44     47   
/// <p><a href="http://docs.aws.amazon.com/goto/boto3/dynamodb-2012-08-10/PutItem"> PutItem in the AWS SDK for Python</a></p></li>
   45     48   
/// <li>
   46     49   
/// <p><a href="http://docs.aws.amazon.com/goto/SdkForRubyV2/dynamodb-2012-08-10/PutItem"> PutItem in the AWS SDK for Ruby V2</a></p></li>
   47     50   
/// </ul>
   48     51   
/// </important>
   49     52   
/// <p>When you add an item, the primary key attributes are the only required attributes. Attribute values cannot be null.</p>
   50     53   
/// <p>Empty String and Binary attribute values are allowed. Attribute values of type String and Binary must have a length greater than zero if the attribute is used as a key attribute for a table or index. Set type attributes cannot be empty.</p>
   51     54   
/// <p>Invalid Requests with empty values will be rejected with a <code>ValidationException</code> exception.</p><note>
   52     55   
/// <p>To prevent a new item from replacing an existing item, use a conditional expression that contains the <code>attribute_not_exists</code> function with the name of the attribute being used as the partition key for the table. Since every record must contain that attribute, the <code>attribute_not_exists</code> function will only succeed if no matching item exists.</p>
   53     56   
/// </note>
   54     57   
/// <p>For more information about <code>PutItem</code>, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html">Working with Items</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          58  +
/* RustType.kt:516 */
   55     59   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          60  +
/* FluentBuilderGenerator.kt:270 */
   56     61   
pub struct PutItemFluentBuilder {
   57     62   
    handle: ::std::sync::Arc<crate::client::Handle>,
   58     63   
    inner: crate::operation::put_item::builders::PutItemInputBuilder,
   59     64   
    config_override: ::std::option::Option<crate::config::Builder>,
   60     65   
}
          66  +
/* FluentBuilderGenerator.kt:381 */
   61     67   
impl crate::client::customize::internal::CustomizableSend<crate::operation::put_item::PutItemOutput, crate::operation::put_item::PutItemError>
   62     68   
    for PutItemFluentBuilder
   63     69   
{
   64     70   
    fn send(
   65     71   
        self,
   66     72   
        config_override: crate::config::Builder,
   67     73   
    ) -> crate::client::customize::internal::BoxFuture<
   68     74   
        crate::client::customize::internal::SendResult<crate::operation::put_item::PutItemOutput, crate::operation::put_item::PutItemError>,
   69     75   
    > {
   70     76   
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
   71     77   
    }
   72     78   
}
          79  +
/* FluentBuilderGenerator.kt:282 */
   73     80   
impl PutItemFluentBuilder {
          81  +
    /* FluentBuilderGenerator.kt:288 */
   74     82   
    /// Creates a new `PutItemFluentBuilder`.
   75     83   
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
   76     84   
        Self {
   77     85   
            handle,
   78     86   
            inner: ::std::default::Default::default(),
   79     87   
            config_override: ::std::option::Option::None,
   80     88   
        }
   81     89   
    }
          90  +
    /* FluentBuilderGenerator.kt:301 */
   82     91   
    /// Access the PutItem as a reference.
   83     92   
    pub fn as_input(&self) -> &crate::operation::put_item::builders::PutItemInputBuilder {
   84     93   
        &self.inner
   85     94   
    }
          95  +
    /* FluentBuilderGenerator.kt:145 */
   86     96   
    /// Sends the request and returns the response.
   87     97   
    ///
   88     98   
    /// If an error occurs, an `SdkError` will be returned with additional details that
   89     99   
    /// can be matched against.
   90    100   
    ///
   91    101   
    /// By default, any retryable failures will be retried twice. Retry behavior
   92    102   
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
   93    103   
    /// set when configuring the client.
   94    104   
    pub async fn send(
   95    105   
        self,
   96    106   
    ) -> ::std::result::Result<
   97    107   
        crate::operation::put_item::PutItemOutput,
   98    108   
        ::aws_smithy_runtime_api::client::result::SdkError<
   99    109   
            crate::operation::put_item::PutItemError,
  100    110   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  101    111   
        >,
  102    112   
    > {
  103    113   
        let input = self
  104    114   
            .inner
  105    115   
            .build()
  106    116   
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
  107    117   
        let runtime_plugins = crate::operation::put_item::PutItem::operation_runtime_plugins(
  108    118   
            self.handle.runtime_plugins.clone(),
  109    119   
            &self.handle.conf,
  110    120   
            self.config_override,
  111    121   
        );
  112    122   
        crate::operation::put_item::PutItem::orchestrate(&runtime_plugins, input).await
  113    123   
    }
  114    124   
  115    125   
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
  116    126   
    pub fn customize(
  117    127   
        self,
  118    128   
    ) -> crate::client::customize::CustomizableOperation<crate::operation::put_item::PutItemOutput, crate::operation::put_item::PutItemError, Self>
  119    129   
    {
  120    130   
        crate::client::customize::CustomizableOperation::new(self)
  121    131   
    }
         132  +
    /* FluentBuilderGenerator.kt:315 */
  122    133   
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
  123    134   
        self.set_config_override(::std::option::Option::Some(config_override.into()));
  124    135   
        self
  125    136   
    }
  126    137   
  127    138   
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
  128    139   
        self.config_override = config_override;
  129    140   
        self
  130    141   
    }
  131         -
    /// <p>The name of the table to contain the item.</p>
         142  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the table to contain the item.</p>
         143  +
    /* FluentBuilderGenerator.kt:500 */
  132    144   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  133    145   
        self.inner = self.inner.table_name(input.into());
  134    146   
        self
  135    147   
    }
  136         -
    /// <p>The name of the table to contain the item.</p>
         148  +
    /// /* FluentBuilderGenerator.kt:498 */<p>The name of the table to contain the item.</p>
         149  +
    /* FluentBuilderGenerator.kt:500 */
  137    150   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  138    151   
        self.inner = self.inner.set_table_name(input);
  139    152   
        self
  140    153   
    }
  141         -
    /// <p>The name of the table to contain the item.</p>
         154  +
    /// /* FluentBuilderGenerator.kt:518 */<p>The name of the table to contain the item.</p>
         155  +
    /* FluentBuilderGenerator.kt:520 */
  142    156   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
  143    157   
        self.inner.get_table_name()
  144    158   
    }
  145         -
    ///
         159  +
    /// /* FluentBuilderGenerator.kt:466 */
  146    160   
    /// Adds a key-value pair to `Item`.
  147    161   
    ///
  148    162   
    /// To override the contents of this collection use [`set_item`](Self::set_item).
  149    163   
    ///
  150         -
    /// <p>A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.</p>
         164  +
    /// /* FluentBuilderGenerator.kt:473 */<p>A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.</p>
  151    165   
    /// <p>You must provide all of the attributes for the primary key. 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 both values for both the partition key and the sort key.</p>
  152    166   
    /// <p>If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.</p>
  153    167   
    /// <p>Empty String and Binary attribute values are allowed. Attribute values of type String and Binary must have a length greater than zero if the attribute is used as a key attribute for a table or index.</p>
  154    168   
    /// <p>For more information about primary keys, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey">Primary Key</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
  155    169   
    /// <p>Each element in the <code>Item</code> map is an <code>AttributeValue</code> object.</p>
         170  +
    /* FluentBuilderGenerator.kt:475 */
  156    171   
    pub fn item(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
  157    172   
        self.inner = self.inner.item(k.into(), v);
  158    173   
        self
  159    174   
    }
  160         -
    /// <p>A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.</p>
         175  +
    /// /* FluentBuilderGenerator.kt:498 */<p>A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.</p>
  161    176   
    /// <p>You must provide all of the attributes for the primary key. 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 both values for both the partition key and the sort key.</p>
  162    177   
    /// <p>If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.</p>
  163    178   
    /// <p>Empty String and Binary attribute values are allowed. Attribute values of type String and Binary must have a length greater than zero if the attribute is used as a key attribute for a table or index.</p>
  164    179   
    /// <p>For more information about primary keys, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey">Primary Key</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
  165    180   
    /// <p>Each element in the <code>Item</code> map is an <code>AttributeValue</code> object.</p>
         181  +
    /* FluentBuilderGenerator.kt:500 */
  166    182   
    pub fn set_item(
  167    183   
        mut self,
  168    184   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  169    185   
    ) -> Self {
  170    186   
        self.inner = self.inner.set_item(input);
  171    187   
        self
  172    188   
    }
  173         -
    /// <p>A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.</p>
         189  +
    /// /* FluentBuilderGenerator.kt:518 */<p>A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.</p>
  174    190   
    /// <p>You must provide all of the attributes for the primary key. 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 both values for both the partition key and the sort key.</p>
  175    191   
    /// <p>If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.</p>
  176    192   
    /// <p>Empty String and Binary attribute values are allowed. Attribute values of type String and Binary must have a length greater than zero if the attribute is used as a key attribute for a table or index.</p>
  177    193   
    /// <p>For more information about primary keys, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey">Primary Key</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
  178    194   
    /// <p>Each element in the <code>Item</code> map is an <code>AttributeValue</code> object.</p>
         195  +
    /* FluentBuilderGenerator.kt:520 */
  179    196   
    pub fn get_item(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
  180    197   
        self.inner.get_item()
  181    198   
    }
  182         -
    ///
         199  +
    /// /* FluentBuilderGenerator.kt:466 */
  183    200   
    /// Adds a key-value pair to `Expected`.
  184    201   
    ///
  185    202   
    /// To override the contents of this collection use [`set_expected`](Self::set_expected).
  186    203   
    ///
  187         -
    /// <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>
         204  +
    /// /* FluentBuilderGenerator.kt:473 */<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>
         205  +
    /* FluentBuilderGenerator.kt:475 */
  188    206   
    pub fn expected(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::ExpectedAttributeValue) -> Self {
  189    207   
        self.inner = self.inner.expected(k.into(), v);
  190    208   
        self
  191    209   
    }
  192         -
    /// <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>
         210  +
    /// /* FluentBuilderGenerator.kt:498 */<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>
         211  +
    /* FluentBuilderGenerator.kt:500 */
  193    212   
    pub fn set_expected(
  194    213   
        mut self,
  195    214   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>>,
  196    215   
    ) -> Self {
  197    216   
        self.inner = self.inner.set_expected(input);
  198    217   
        self
  199    218   
    }
  200         -
    /// <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>
         219  +
    /// /* FluentBuilderGenerator.kt:518 */<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>
         220  +
    /* FluentBuilderGenerator.kt:520 */
  201    221   
    pub fn get_expected(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::ExpectedAttributeValue>> {
  202    222   
        self.inner.get_expected()
  203    223   
    }
  204         -
    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were updated with the <code>PutItem</code> request. For <code>PutItem</code>, the valid values are:</p>
         224  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were updated with the <code>PutItem</code> request. For <code>PutItem</code>, the valid values are:</p>
  205    225   
    /// <ul>
  206    226   
    /// <li>
  207    227   
    /// <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>
  208    228   
    /// <li>
  209    229   
    /// <p><code>ALL_OLD</code> - If <code>PutItem</code> overwrote an attribute name-value pair, then the content of the old item is returned.</p></li>
  210    230   
    /// </ul><note>
  211    231   
    /// <p>The <code>ReturnValues</code> parameter is used by several DynamoDB operations; however, <code>PutItem</code> does not recognize any values other than <code>NONE</code> or <code>ALL_OLD</code>.</p>
  212    232   
    /// </note>
         233  +
    /* FluentBuilderGenerator.kt:500 */
  213    234   
    pub fn return_values(mut self, input: crate::types::ReturnValue) -> Self {
  214    235   
        self.inner = self.inner.return_values(input);
  215    236   
        self
  216    237   
    }
  217         -
    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were updated with the <code>PutItem</code> request. For <code>PutItem</code>, the valid values are:</p>
         238  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were updated with the <code>PutItem</code> request. For <code>PutItem</code>, the valid values are:</p>
  218    239   
    /// <ul>
  219    240   
    /// <li>
  220    241   
    /// <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>
  221    242   
    /// <li>
  222    243   
    /// <p><code>ALL_OLD</code> - If <code>PutItem</code> overwrote an attribute name-value pair, then the content of the old item is returned.</p></li>
  223    244   
    /// </ul><note>
  224    245   
    /// <p>The <code>ReturnValues</code> parameter is used by several DynamoDB operations; however, <code>PutItem</code> does not recognize any values other than <code>NONE</code> or <code>ALL_OLD</code>.</p>
  225    246   
    /// </note>
         247  +
    /* FluentBuilderGenerator.kt:500 */
  226    248   
    pub fn set_return_values(mut self, input: ::std::option::Option<crate::types::ReturnValue>) -> Self {
  227    249   
        self.inner = self.inner.set_return_values(input);
  228    250   
        self
  229    251   
    }
  230         -
    /// <p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were updated with the <code>PutItem</code> request. For <code>PutItem</code>, the valid values are:</p>
         252  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared before they were updated with the <code>PutItem</code> request. For <code>PutItem</code>, the valid values are:</p>
  231    253   
    /// <ul>
  232    254   
    /// <li>
  233    255   
    /// <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>
  234    256   
    /// <li>
  235    257   
    /// <p><code>ALL_OLD</code> - If <code>PutItem</code> overwrote an attribute name-value pair, then the content of the old item is returned.</p></li>
  236    258   
    /// </ul><note>
  237    259   
    /// <p>The <code>ReturnValues</code> parameter is used by several DynamoDB operations; however, <code>PutItem</code> does not recognize any values other than <code>NONE</code> or <code>ALL_OLD</code>.</p>
  238    260   
    /// </note>
         261  +
    /* FluentBuilderGenerator.kt:520 */
  239    262   
    pub fn get_return_values(&self) -> &::std::option::Option<crate::types::ReturnValue> {
  240    263   
        self.inner.get_return_values()
  241    264   
    }
  242         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         265  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  243    266   
    /// <ul>
  244    267   
    /// <li>
  245    268   
    /// <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>
  246    269   
    /// <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>
  247    270   
    /// <li>
  248    271   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  249    272   
    /// <li>
  250    273   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  251    274   
    /// </ul>
         275  +
    /* FluentBuilderGenerator.kt:500 */
  252    276   
    pub fn return_consumed_capacity(mut self, input: crate::types::ReturnConsumedCapacity) -> Self {
  253    277   
        self.inner = self.inner.return_consumed_capacity(input);
  254    278   
        self
  255    279   
    }
  256         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         280  +
    /// /* FluentBuilderGenerator.kt:498 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  257    281   
    /// <ul>
  258    282   
    /// <li>
  259    283   
    /// <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>
  260    284   
    /// <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>
  261    285   
    /// <li>
  262    286   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  263    287   
    /// <li>
  264    288   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  265    289   
    /// </ul>
         290  +
    /* FluentBuilderGenerator.kt:500 */
  266    291   
    pub fn set_return_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ReturnConsumedCapacity>) -> Self {
  267    292   
        self.inner = self.inner.set_return_consumed_capacity(input);
  268    293   
        self
  269    294   
    }
  270         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         295  +
    /// /* FluentBuilderGenerator.kt:518 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  271    296   
    /// <ul>
  272    297   
    /// <li>
  273    298   
    /// <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>
  274    299   
    /// <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>
  275    300   
    /// <li>
  276    301   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  277    302   
    /// <li>
  278    303   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  279    304   
    /// </ul>
         305  +
    /* FluentBuilderGenerator.kt:520 */
  280    306   
    pub fn get_return_consumed_capacity(&self) -> &::std::option::Option<crate::types::ReturnConsumedCapacity> {
  281    307   
        self.inner.get_return_consumed_capacity()
  282    308   
    }
  283         -
    /// <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>
         309  +
    /// /* FluentBuilderGenerator.kt:498 */<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>
         310  +
    /* FluentBuilderGenerator.kt:500 */
  284    311   
    pub fn return_item_collection_metrics(mut self, input: crate::types::ReturnItemCollectionMetrics) -> Self {
  285    312   
        self.inner = self.inner.return_item_collection_metrics(input);
  286    313   
        self
  287    314   
    }
  288         -
    /// <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>
         315  +
    /// /* FluentBuilderGenerator.kt:498 */<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>
         316  +
    /* FluentBuilderGenerator.kt:500 */
  289    317   
    pub fn set_return_item_collection_metrics(mut self, input: ::std::option::Option<crate::types::ReturnItemCollectionMetrics>) -> Self {
  290    318   
        self.inner = self.inner.set_return_item_collection_metrics(input);
  291    319   
        self
  292    320   
    }
  293         -
    /// <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>
         321  +
    /// /* FluentBuilderGenerator.kt:518 */<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>
         322  +
    /* FluentBuilderGenerator.kt:520 */
  294    323   
    pub fn get_return_item_collection_metrics(&self) -> &::std::option::Option<crate::types::ReturnItemCollectionMetrics> {
  295    324   
        self.inner.get_return_item_collection_metrics()
  296    325   
    }
  297         -
    /// <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>
         326  +
    /// /* FluentBuilderGenerator.kt:498 */<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>
         327  +
    /* FluentBuilderGenerator.kt:500 */
  298    328   
    pub fn conditional_operator(mut self, input: crate::types::ConditionalOperator) -> Self {
  299    329   
        self.inner = self.inner.conditional_operator(input);
  300    330   
        self
  301    331   
    }
  302         -
    /// <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>
         332  +
    /// /* FluentBuilderGenerator.kt:498 */<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>
         333  +
    /* FluentBuilderGenerator.kt:500 */
  303    334   
    pub fn set_conditional_operator(mut self, input: ::std::option::Option<crate::types::ConditionalOperator>) -> Self {
  304    335   
        self.inner = self.inner.set_conditional_operator(input);
  305    336   
        self
  306    337   
    }
  307         -
    /// <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>
         338  +
    /// /* FluentBuilderGenerator.kt:518 */<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>
         339  +
    /* FluentBuilderGenerator.kt:520 */
  308    340   
    pub fn get_conditional_operator(&self) -> &::std::option::Option<crate::types::ConditionalOperator> {
  309    341   
        self.inner.get_conditional_operator()
  310    342   
    }
  311         -
    /// <p>A condition that must be satisfied in order for a conditional <code>PutItem</code> operation to succeed.</p>
         343  +
    /// /* FluentBuilderGenerator.kt:498 */<p>A condition that must be satisfied in order for a conditional <code>PutItem</code> operation to succeed.</p>
  312    344   
    /// <p>An expression can contain any of the following:</p>
  313    345   
    /// <ul>
  314    346   
    /// <li>
  315    347   
    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
  316    348   
    /// <p>These function names are case-sensitive.</p></li>
  317    349   
    /// <li>
  318    350   
    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
  319    351   
    /// <li>
  320    352   
    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
  321    353   
    /// </ul>
  322    354   
    /// <p>For more information on 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>
         355  +
    /* FluentBuilderGenerator.kt:500 */
  323    356   
    pub fn condition_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
  324    357   
        self.inner = self.inner.condition_expression(input.into());
  325    358   
        self
  326    359   
    }
  327         -
    /// <p>A condition that must be satisfied in order for a conditional <code>PutItem</code> operation to succeed.</p>
         360  +
    /// /* FluentBuilderGenerator.kt:498 */<p>A condition that must be satisfied in order for a conditional <code>PutItem</code> operation to succeed.</p>
  328    361   
    /// <p>An expression can contain any of the following:</p>
  329    362   
    /// <ul>
  330    363   
    /// <li>
  331    364   
    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
  332    365   
    /// <p>These function names are case-sensitive.</p></li>
  333    366   
    /// <li>
  334    367   
    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
  335    368   
    /// <li>
  336    369   
    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
  337    370   
    /// </ul>
  338    371   
    /// <p>For more information on 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>
         372  +
    /* FluentBuilderGenerator.kt:500 */
  339    373   
    pub fn set_condition_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  340    374   
        self.inner = self.inner.set_condition_expression(input);
  341    375   
        self
  342    376   
    }
  343         -
    /// <p>A condition that must be satisfied in order for a conditional <code>PutItem</code> operation to succeed.</p>
         377  +
    /// /* FluentBuilderGenerator.kt:518 */<p>A condition that must be satisfied in order for a conditional <code>PutItem</code> operation to succeed.</p>
  344    378   
    /// <p>An expression can contain any of the following:</p>
  345    379   
    /// <ul>
  346    380   
    /// <li>
  347    381   
    /// <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>
  348    382   
    /// <p>These function names are case-sensitive.</p></li>
  349    383   
    /// <li>
  350    384   
    /// <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>
  351    385   
    /// <li>
  352    386   
    /// <p>Logical operators: <code>AND | OR | NOT</code></p></li>
  353    387   
    /// </ul>
  354    388   
    /// <p>For more information on 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>
         389  +
    /* FluentBuilderGenerator.kt:520 */
  355    390   
    pub fn get_condition_expression(&self) -> &::std::option::Option<::std::string::String> {
  356    391   
        self.inner.get_condition_expression()
  357    392   
    }
  358         -
    ///
         393  +
    /// /* FluentBuilderGenerator.kt:466 */
  359    394   
    /// Adds a key-value pair to `ExpressionAttributeNames`.
  360    395   
    ///
  361    396   
    /// To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
  362    397   
    ///
  363         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         398  +
    /// /* FluentBuilderGenerator.kt:473 */<p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
  364    399   
    /// <ul>
  365    400   
    /// <li>
  366    401   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  367    402   
    /// <li>
  368    403   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  369    404   
    /// <li>
  370    405   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  371    406   
    /// </ul>
  372    407   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  373    408   
    /// <ul>
  374    409   
    /// <li>
  375    410   
    /// <p><code>Percentile</code></p></li>
  376    411   
    /// </ul>
  377    412   
    /// <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>
  378    413   
    /// <ul>
  379    414   
    /// <li>
  380    415   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  381    416   
    /// </ul>
  382    417   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  383    418   
    /// <ul>
  384    419   
    /// <li>
  385    420   
    /// <p><code>#P = :val</code></p></li>
  386    421   
    /// </ul><note>
  387    422   
    /// <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>
  388    423   
    /// </note>
  389    424   
    /// <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>
         425  +
    /* FluentBuilderGenerator.kt:475 */
  390    426   
    pub fn expression_attribute_names(
  391    427   
        mut self,
  392    428   
        k: impl ::std::convert::Into<::std::string::String>,
  393    429   
        v: impl ::std::convert::Into<::std::string::String>,
  394    430   
    ) -> Self {
  395    431   
        self.inner = self.inner.expression_attribute_names(k.into(), v.into());
  396    432   
        self
  397    433   
    }
  398         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         434  +
    /// /* FluentBuilderGenerator.kt:498 */<p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
  399    435   
    /// <ul>
  400    436   
    /// <li>
  401    437   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  402    438   
    /// <li>
  403    439   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  404    440   
    /// <li>
  405    441   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  406    442   
    /// </ul>
  407    443   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  408    444   
    /// <ul>
  409    445   
    /// <li>
  410    446   
    /// <p><code>Percentile</code></p></li>
  411    447   
    /// </ul>
  412    448   
    /// <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>
  413    449   
    /// <ul>
  414    450   
    /// <li>
  415    451   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  416    452   
    /// </ul>
  417    453   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  418    454   
    /// <ul>
  419    455   
    /// <li>
  420    456   
    /// <p><code>#P = :val</code></p></li>
  421    457   
    /// </ul><note>
  422    458   
    /// <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>
  423    459   
    /// </note>
  424    460   
    /// <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>
         461  +
    /* FluentBuilderGenerator.kt:500 */
  425    462   
    pub fn set_expression_attribute_names(
  426    463   
        mut self,
  427    464   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
  428    465   
    ) -> Self {
  429    466   
        self.inner = self.inner.set_expression_attribute_names(input);
  430    467   
        self
  431    468   
    }
  432         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         469  +
    /// /* FluentBuilderGenerator.kt:518 */<p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
  433    470   
    /// <ul>
  434    471   
    /// <li>
  435    472   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  436    473   
    /// <li>
  437    474   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  438    475   
    /// <li>
  439    476   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  440    477   
    /// </ul>
  441    478   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  442    479   
    /// <ul>
  443    480   
    /// <li>
  444    481   
    /// <p><code>Percentile</code></p></li>
  445    482   
    /// </ul>
  446    483   
    /// <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>
  447    484   
    /// <ul>
  448    485   
    /// <li>
  449    486   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  450    487   
    /// </ul>
  451    488   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  452    489   
    /// <ul>
  453    490   
    /// <li>
  454    491   
    /// <p><code>#P = :val</code></p></li>
  455    492   
    /// </ul><note>
  456    493   
    /// <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>
  457    494   
    /// </note>
  458    495   
    /// <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>
         496  +
    /* FluentBuilderGenerator.kt:520 */
  459    497   
    pub fn get_expression_attribute_names(
  460    498   
        &self,
  461    499   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
  462    500   
        self.inner.get_expression_attribute_names()
  463    501   
    }
  464         -
    ///
         502  +
    /// /* FluentBuilderGenerator.kt:466 */
  465    503   
    /// Adds a key-value pair to `ExpressionAttributeValues`.
  466    504   
    ///
  467    505   
    /// To override the contents of this collection use [`set_expression_attribute_values`](Self::set_expression_attribute_values).
  468    506   
    ///
  469         -
    /// <p>One or more values that can be substituted in an expression.</p>
         507  +
    /// /* FluentBuilderGenerator.kt:473 */<p>One or more values that can be substituted in an expression.</p>
  470    508   
    /// <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>
  471    509   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  472    510   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  473    511   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  474    512   
    /// <p>You could then use these values in an expression, such as this:</p>
  475    513   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  476    514   
    /// <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>
         515  +
    /* FluentBuilderGenerator.kt:475 */
  477    516   
    pub fn expression_attribute_values(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
  478    517   
        self.inner = self.inner.expression_attribute_values(k.into(), v);
  479    518   
        self
  480    519   
    }
  481         -
    /// <p>One or more values that can be substituted in an expression.</p>
         520  +
    /// /* FluentBuilderGenerator.kt:498 */<p>One or more values that can be substituted in an expression.</p>
  482    521   
    /// <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>
  483    522   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  484    523   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  485    524   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  486    525   
    /// <p>You could then use these values in an expression, such as this:</p>
  487    526   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  488    527   
    /// <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>
         528  +
    /* FluentBuilderGenerator.kt:500 */
  489    529   
    pub fn set_expression_attribute_values(
  490    530   
        mut self,
  491    531   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  492    532   
    ) -> Self {
  493    533   
        self.inner = self.inner.set_expression_attribute_values(input);
  494    534   
        self
  495    535   
    }
  496         -
    /// <p>One or more values that can be substituted in an expression.</p>
         536  +
    /// /* FluentBuilderGenerator.kt:518 */<p>One or more values that can be substituted in an expression.</p>
  497    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>
  498    538   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  499    539   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  500    540   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  501    541   
    /// <p>You could then use these values in an expression, such as this:</p>
  502    542   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  503    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  +
    /* FluentBuilderGenerator.kt:520 */
  504    545   
    pub fn get_expression_attribute_values(
  505    546   
        &self,
  506    547   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
  507    548   
        self.inner.get_expression_attribute_values()
  508    549   
    }
         550  +
    /* FluentBuilderGenerator.kt:282 */
  509    551   
}

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/operation/query.rs

@@ -1,1 +40,49 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* OperationGenerator.kt:77 */
    2      3   
/// Orchestration and serialization glue logic for `Query`.
           4  +
/* RustType.kt:516 */
    3      5   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
           6  +
/* RustType.kt:516 */
    4      7   
#[non_exhaustive]
           8  +
/* OperationGenerator.kt:84 */
    5      9   
pub struct Query;
          10  +
/* OperationGenerator.kt:85 */
    6     11   
impl Query {
    7         -
    /// Creates a new `Query`
          12  +
    /// /* OperationGenerator.kt:86 */Creates a new `Query`
          13  +
    /* OperationGenerator.kt:87 */
    8     14   
    pub fn new() -> Self {
          15  +
        /* OperationGenerator.kt:88 */
    9     16   
        Self
          17  +
        /* OperationGenerator.kt:87 */
   10     18   
    }
          19  +
    /* OperationGenerator.kt:138 */
   11     20   
    pub(crate) async fn orchestrate(
   12     21   
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13     22   
        input: crate::operation::query::QueryInput,
   14     23   
    ) -> ::std::result::Result<
   15     24   
        crate::operation::query::QueryOutput,
   16     25   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     26   
            crate::operation::query::QueryError,
   18     27   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     28   
        >,
   20     29   
    > {
@@ -48,57 +370,562 @@
   68     77   
                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
   69     78   
            }
   70     79   
            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
   71     80   
                config_override,
   72     81   
                client_config.config.clone(),
   73     82   
                &client_config.runtime_components,
   74     83   
            ));
   75     84   
        }
   76     85   
        runtime_plugins
   77     86   
    }
          87  +
    /* OperationGenerator.kt:85 */
   78     88   
}
          89  +
/* OperationRuntimePluginGenerator.kt:55 */
   79     90   
impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for Query {
   80     91   
    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
   81     92   
        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("Query");
   82     93   
   83     94   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
   84     95   
            QueryRequestSerializer,
   85     96   
        ));
   86     97   
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
   87     98   
            QueryResponseDeserializer,
   88     99   
        ));
   89    100   
   90    101   
        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
   91    102   
            ::aws_smithy_runtime_api::client::auth::static_resolver::StaticAuthSchemeOptionResolverParams::new(),
   92    103   
        ));
   93    104   
   94    105   
        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new("Query", "DynamoDB"));
   95    106   
   96    107   
        ::std::option::Option::Some(cfg.freeze())
   97    108   
    }
   98    109   
   99    110   
    fn runtime_components(
  100    111   
        &self,
  101    112   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
  102    113   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
  103    114   
        #[allow(unused_mut)]
  104    115   
        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("Query")
  105    116   
            .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default())
  106    117   
            .with_interceptor(QueryEndpointParamsInterceptor)
  107    118   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
  108    119   
                crate::operation::query::QueryError,
  109    120   
            >::new())
  110    121   
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
  111    122   
                crate::operation::query::QueryError,
  112    123   
            >::new());
  113    124   
  114    125   
        ::std::borrow::Cow::Owned(rcb)
  115    126   
    }
  116    127   
}
  117    128   
         129  +
/* ResponseDeserializerGenerator.kt:64 */
  118    130   
#[derive(Debug)]
  119    131   
struct QueryResponseDeserializer;
  120    132   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for QueryResponseDeserializer {
  121    133   
    fn deserialize_nonstreaming(
  122    134   
        &self,
  123    135   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
  124    136   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  125    137   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  126    138   
        let headers = response.headers();
  127    139   
        let body = response.body().bytes().expect("body loaded");
  128    140   
        #[allow(unused_mut)]
  129    141   
        let mut force_error = false;
  130    142   
  131    143   
        let parse_result = if !success && status != 200 || force_error {
  132    144   
            crate::protocol_serde::shape_query::de_query_http_error(status, headers, body)
  133    145   
        } else {
  134    146   
            crate::protocol_serde::shape_query::de_query_http_response(status, headers, body)
  135    147   
        };
  136    148   
        crate::protocol_serde::type_erase_result(parse_result)
  137    149   
    }
  138    150   
}
         151  +
/* RequestSerializerGenerator.kt:67 */
  139    152   
#[derive(Debug)]
  140    153   
struct QueryRequestSerializer;
  141    154   
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for QueryRequestSerializer {
  142    155   
    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
  143    156   
    fn serialize_input(
  144    157   
        &self,
  145    158   
        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
  146    159   
        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  147    160   
    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
  148    161   
        let input = input.downcast::<crate::operation::query::QueryInput>().expect("correct type");
  149    162   
        let _header_serialization_settings = _cfg
  150    163   
            .load::<crate::serialization_settings::HeaderSerializationSettings>()
  151    164   
            .cloned()
  152    165   
            .unwrap_or_default();
  153    166   
        let mut request_builder = {
  154    167   
            fn uri_base(
  155    168   
                _input: &crate::operation::query::QueryInput,
  156    169   
                output: &mut ::std::string::String,
  157    170   
            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
  158    171   
                use ::std::fmt::Write as _;
  159    172   
                ::std::write!(output, "/").expect("formatting should succeed");
  160    173   
                ::std::result::Result::Ok(())
  161    174   
            }
  162    175   
            #[allow(clippy::unnecessary_wraps)]
  163    176   
            fn update_http_builder(
  164    177   
                input: &crate::operation::query::QueryInput,
  165    178   
                builder: ::http::request::Builder,
  166    179   
            ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
  167    180   
                let mut uri = ::std::string::String::new();
  168    181   
                uri_base(input, &mut uri)?;
  169    182   
                ::std::result::Result::Ok(builder.method("POST").uri(uri))
  170    183   
            }
  171    184   
            let mut builder = update_http_builder(&input, ::http::request::Builder::new())?;
  172    185   
            builder = _header_serialization_settings.set_default_header(builder, ::http::header::CONTENT_TYPE, "application/x-amz-json-1.0");
  173    186   
            builder = _header_serialization_settings.set_default_header(
  174    187   
                builder,
  175    188   
                ::http::header::HeaderName::from_static("x-amz-target"),
  176    189   
                "DynamoDB_20120810.Query",
  177    190   
            );
  178    191   
            builder
  179    192   
        };
  180    193   
        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_query::ser_query_input(&input)?);
  181    194   
        if let Some(content_length) = body.content_length() {
  182    195   
            let content_length = content_length.to_string();
  183    196   
            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http::header::CONTENT_LENGTH, &content_length);
  184    197   
        }
  185    198   
        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
  186    199   
    }
  187    200   
}
         201  +
/* EndpointParamsInterceptorGenerator.kt:86 */
  188    202   
#[derive(Debug)]
  189    203   
struct QueryEndpointParamsInterceptor;
  190    204   
  191    205   
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for QueryEndpointParamsInterceptor {
  192    206   
    fn name(&self) -> &'static str {
  193    207   
        "QueryEndpointParamsInterceptor"
  194    208   
    }
  195    209   
  196    210   
    fn read_before_execution(
  197    211   
        &self,
  198    212   
        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
  199    213   
            '_,
  200    214   
            ::aws_smithy_runtime_api::client::interceptors::context::Input,
  201    215   
            ::aws_smithy_runtime_api::client::interceptors::context::Output,
  202    216   
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
  203    217   
        >,
  204    218   
        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  205    219   
    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
  206    220   
        let _input = context.input().downcast_ref::<QueryInput>().ok_or("failed to downcast to QueryInput")?;
  207    221   
  208    222   
        let params = crate::config::endpoint::Params::builder().build().map_err(|err| {
  209    223   
            ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  210    224   
        })?;
  211    225   
        cfg.interceptor_state()
  212    226   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  213    227   
        ::std::result::Result::Ok(())
  214    228   
    }
  215    229   
}
  216    230   
  217    231   
// The get_* functions below are generated from JMESPath expressions in the
  218    232   
// operationContextParams trait. They target the operation's input shape.
  219    233   
         234  +
/* OperationErrorGenerator.kt:79 */
  220    235   
/// Error type for the `QueryError` operation.
         236  +
/* RustType.kt:516 */
  221    237   
#[non_exhaustive]
         238  +
/* RustType.kt:516 */
  222    239   
#[derive(::std::fmt::Debug)]
  223         -
pub enum QueryError {
  224         -
    /// <p>An error occurred on the server side.</p>
         240  +
pub /* OperationErrorGenerator.kt:81 */ enum QueryError {
         241  +
    /// /* OperationErrorGenerator.kt:83 */<p>An error occurred on the server side.</p>
         242  +
    /* OperationErrorGenerator.kt:86 */
  225    243   
    InternalServerError(crate::types::error::InternalServerError),
         244  +
    /* OperationErrorGenerator.kt:83 */
  226    245   
    #[allow(missing_docs)] // documentation missing in model
         246  +
    /* OperationErrorGenerator.kt:86 */
  227    247   
    InvalidEndpointError(crate::types::error::InvalidEndpointError),
  228         -
    /// <p>Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff">Error Retries and Exponential Backoff</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         248  +
    /// /* OperationErrorGenerator.kt:83 */<p>Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff">Error Retries and Exponential Backoff</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         249  +
    /* OperationErrorGenerator.kt:86 */
  229    250   
    ProvisionedThroughputExceededError(crate::types::error::ProvisionedThroughputExceededError),
  230         -
    /// <p>Throughput exceeds the current throughput quota for your account. Please contact AWS Support at <a href="https://aws.amazon.com/support">AWS Support</a> to request a quota increase.</p>
         251  +
    /// /* OperationErrorGenerator.kt:83 */<p>Throughput exceeds the current throughput quota for your account. Please contact AWS Support at <a href="https://aws.amazon.com/support">AWS Support</a> to request a quota increase.</p>
         252  +
    /* OperationErrorGenerator.kt:86 */
  231    253   
    RequestLimitExceeded(crate::types::error::RequestLimitExceeded),
  232         -
    /// <p>The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be <code>ACTIVE</code>.</p>
         254  +
    /// /* OperationErrorGenerator.kt:83 */<p>The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be <code>ACTIVE</code>.</p>
         255  +
    /* OperationErrorGenerator.kt:86 */
  233    256   
    ResourceNotFoundError(crate::types::error::ResourceNotFoundError),
         257  +
    /* OperationErrorGenerator.kt:88 */
  234    258   
    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
  235    259   
    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
  236    260   
    variable wildcard pattern and check `.code()`:
  237    261   
     \
  238    262   
    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
  239    263   
     \
  240    264   
    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-QueryError) for what information is available for the error.")]
  241    265   
    Unhandled(crate::error::sealed_unhandled::Unhandled),
         266  +
    /* OperationErrorGenerator.kt:81 */
  242    267   
}
         268  +
/* OperationErrorGenerator.kt:218 */
  243    269   
impl QueryError {
         270  +
    /* OperationErrorGenerator.kt:219 */
  244    271   
    /// Creates the `QueryError::Unhandled` variant from any error type.
  245    272   
    pub fn unhandled(
  246    273   
        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
  247    274   
    ) -> Self {
  248    275   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  249    276   
            source: err.into(),
  250    277   
            meta: ::std::default::Default::default(),
  251    278   
        })
  252    279   
    }
  253    280   
  254    281   
    /// Creates the `QueryError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
  255    282   
    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
  256    283   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  257    284   
            source: err.clone().into(),
  258    285   
            meta: err,
  259    286   
        })
  260    287   
    }
  261         -
    ///
         288  +
    /// /* OperationErrorGenerator.kt:236 */
  262    289   
    /// Returns error metadata, which includes the error code, message,
  263    290   
    /// request ID, and potentially additional information.
  264    291   
    ///
         292  +
    /* OperationErrorGenerator.kt:242 */
  265    293   
    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         294  +
        /* OperationErrorGenerator.kt:243 */
  266    295   
        match self {
         296  +
            /* OperationErrorGenerator.kt:246 */
  267    297   
            Self::InternalServerError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         298  +
            /* OperationErrorGenerator.kt:246 */
  268    299   
            Self::InvalidEndpointError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         300  +
            /* OperationErrorGenerator.kt:246 */
  269    301   
            Self::ProvisionedThroughputExceededError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         302  +
            /* OperationErrorGenerator.kt:246 */
  270    303   
            Self::RequestLimitExceeded(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         304  +
            /* OperationErrorGenerator.kt:246 */
  271    305   
            Self::ResourceNotFoundError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
  272         -
            Self::Unhandled(e) => &e.meta,
         306  +
            /* OperationErrorGenerator.kt:251 */ Self::Unhandled(e) => &e.meta,
         307  +
            /* OperationErrorGenerator.kt:243 */
  273    308   
        }
         309  +
        /* OperationErrorGenerator.kt:242 */
  274    310   
    }
         311  +
    /* OperationErrorGenerator.kt:257 */
  275    312   
    /// Returns `true` if the error kind is `QueryError::InternalServerError`.
         313  +
    /* OperationErrorGenerator.kt:258 */
  276    314   
    pub fn is_internal_server_error(&self) -> bool {
         315  +
        /* OperationErrorGenerator.kt:259 */
  277    316   
        matches!(self, Self::InternalServerError(_))
         317  +
        /* OperationErrorGenerator.kt:258 */
  278    318   
    }
         319  +
    /* OperationErrorGenerator.kt:257 */
  279    320   
    /// Returns `true` if the error kind is `QueryError::InvalidEndpointError`.
         321  +
    /* OperationErrorGenerator.kt:258 */
  280    322   
    pub fn is_invalid_endpoint_error(&self) -> bool {
         323  +
        /* OperationErrorGenerator.kt:259 */
  281    324   
        matches!(self, Self::InvalidEndpointError(_))
         325  +
        /* OperationErrorGenerator.kt:258 */
  282    326   
    }
         327  +
    /* OperationErrorGenerator.kt:257 */
  283    328   
    /// Returns `true` if the error kind is `QueryError::ProvisionedThroughputExceededError`.
         329  +
    /* OperationErrorGenerator.kt:258 */
  284    330   
    pub fn is_provisioned_throughput_exceeded_error(&self) -> bool {
         331  +
        /* OperationErrorGenerator.kt:259 */
  285    332   
        matches!(self, Self::ProvisionedThroughputExceededError(_))
         333  +
        /* OperationErrorGenerator.kt:258 */
  286    334   
    }
         335  +
    /* OperationErrorGenerator.kt:257 */
  287    336   
    /// Returns `true` if the error kind is `QueryError::RequestLimitExceeded`.
         337  +
    /* OperationErrorGenerator.kt:258 */
  288    338   
    pub fn is_request_limit_exceeded(&self) -> bool {
         339  +
        /* OperationErrorGenerator.kt:259 */
  289    340   
        matches!(self, Self::RequestLimitExceeded(_))
         341  +
        /* OperationErrorGenerator.kt:258 */
  290    342   
    }
         343  +
    /* OperationErrorGenerator.kt:257 */
  291    344   
    /// Returns `true` if the error kind is `QueryError::ResourceNotFoundError`.
         345  +
    /* OperationErrorGenerator.kt:258 */
  292    346   
    pub fn is_resource_not_found_error(&self) -> bool {
         347  +
        /* OperationErrorGenerator.kt:259 */
  293    348   
        matches!(self, Self::ResourceNotFoundError(_))
         349  +
        /* OperationErrorGenerator.kt:258 */
  294    350   
    }
         351  +
    /* OperationErrorGenerator.kt:218 */
  295    352   
}
         353  +
/* OperationErrorGenerator.kt:269 */
  296    354   
impl ::std::error::Error for QueryError {
         355  +
    /* OperationErrorGenerator.kt:270 */
  297    356   
    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
         357  +
        /* OperationErrorGenerator.kt:318 */
  298    358   
        match self {
  299         -
            Self::InternalServerError(_inner) => ::std::option::Option::Some(_inner),
  300         -
            Self::InvalidEndpointError(_inner) => ::std::option::Option::Some(_inner),
  301         -
            Self::ProvisionedThroughputExceededError(_inner) => ::std::option::Option::Some(_inner),
  302         -
            Self::RequestLimitExceeded(_inner) => ::std::option::Option::Some(_inner),
  303         -
            Self::ResourceNotFoundError(_inner) => ::std::option::Option::Some(_inner),
  304         -
            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
         359  +
            /* OperationErrorGenerator.kt:321 */
         360  +
            Self::InternalServerError(_inner) =>
         361  +
            /* OperationErrorGenerator.kt:283 */
         362  +
            {
         363  +
                ::std::option::Option::Some(_inner)
         364  +
            }
         365  +
            ,
         366  +
            /* OperationErrorGenerator.kt:321 */
         367  +
            Self::InvalidEndpointError(_inner) =>
         368  +
            /* OperationErrorGenerator.kt:283 */
         369  +
            {
         370  +
                ::std::option::Option::Some(_inner)
         371  +
            }
         372  +
            ,
         373  +
            /* OperationErrorGenerator.kt:321 */
         374  +
            Self::ProvisionedThroughputExceededError(_inner) =>
         375  +
            /* OperationErrorGenerator.kt:283 */
         376  +
            {
         377  +
                ::std::option::Option::Some(_inner)
         378  +
            }
         379  +
            ,
         380  +
            /* OperationErrorGenerator.kt:321 */
         381  +
            Self::RequestLimitExceeded(_inner) =>
         382  +
            /* OperationErrorGenerator.kt:283 */
         383  +
            {
         384  +
                ::std::option::Option::Some(_inner)
         385  +
            }
         386  +
            ,
         387  +
            /* OperationErrorGenerator.kt:321 */
         388  +
            Self::ResourceNotFoundError(_inner) =>
         389  +
            /* OperationErrorGenerator.kt:283 */
         390  +
            {
         391  +
                ::std::option::Option::Some(_inner)
         392  +
            }
         393  +
            ,
         394  +
            /* OperationErrorGenerator.kt:326 */
         395  +
            Self::Unhandled(_inner) => {
         396  +
                /* OperationErrorGenerator.kt:279 */
         397  +
                ::std::option::Option::Some(&*_inner.source)
         398  +
                /* OperationErrorGenerator.kt:326 */
         399  +
            } /* OperationErrorGenerator.kt:318 */
  305    400   
        }
         401  +
        /* OperationErrorGenerator.kt:270 */
  306    402   
    }
         403  +
    /* OperationErrorGenerator.kt:269 */
  307    404   
}
         405  +
/* OperationErrorGenerator.kt:133 */
  308    406   
impl ::std::fmt::Display for QueryError {
         407  +
    /* OperationErrorGenerator.kt:134 */
  309    408   
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         409  +
        /* OperationErrorGenerator.kt:318 */
  310    410   
        match self {
  311         -
            Self::InternalServerError(_inner) => _inner.fmt(f),
  312         -
            Self::InvalidEndpointError(_inner) => _inner.fmt(f),
  313         -
            Self::ProvisionedThroughputExceededError(_inner) => _inner.fmt(f),
  314         -
            Self::RequestLimitExceeded(_inner) => _inner.fmt(f),
  315         -
            Self::ResourceNotFoundError(_inner) => _inner.fmt(f),
         411  +
            /* OperationErrorGenerator.kt:321 */
         412  +
            Self::InternalServerError(_inner) =>
         413  +
            /* OperationErrorGenerator.kt:151 */
         414  +
            {
         415  +
                _inner.fmt(f)
         416  +
            }
         417  +
            ,
         418  +
            /* OperationErrorGenerator.kt:321 */
         419  +
            Self::InvalidEndpointError(_inner) =>
         420  +
            /* OperationErrorGenerator.kt:151 */
         421  +
            {
         422  +
                _inner.fmt(f)
         423  +
            }
         424  +
            ,
         425  +
            /* OperationErrorGenerator.kt:321 */
         426  +
            Self::ProvisionedThroughputExceededError(_inner) =>
         427  +
            /* OperationErrorGenerator.kt:151 */
         428  +
            {
         429  +
                _inner.fmt(f)
         430  +
            }
         431  +
            ,
         432  +
            /* OperationErrorGenerator.kt:321 */
         433  +
            Self::RequestLimitExceeded(_inner) =>
         434  +
            /* OperationErrorGenerator.kt:151 */
         435  +
            {
         436  +
                _inner.fmt(f)
         437  +
            }
         438  +
            ,
         439  +
            /* OperationErrorGenerator.kt:321 */
         440  +
            Self::ResourceNotFoundError(_inner) =>
         441  +
            /* OperationErrorGenerator.kt:151 */
         442  +
            {
         443  +
                _inner.fmt(f)
         444  +
            }
         445  +
            ,
         446  +
            /* OperationErrorGenerator.kt:326 */
  316    447   
            Self::Unhandled(_inner) => {
         448  +
                /* OperationErrorGenerator.kt:139 */
  317    449   
                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
  318    450   
                    write!(f, "unhandled error ({code})")
  319    451   
                } else {
  320    452   
                    f.write_str("unhandled error")
  321    453   
                }
         454  +
                /* OperationErrorGenerator.kt:326 */
         455  +
            } /* OperationErrorGenerator.kt:318 */
  322    456   
        }
         457  +
        /* OperationErrorGenerator.kt:134 */
  323    458   
    }
  324         -
    }
         459  +
    /* OperationErrorGenerator.kt:133 */
  325    460   
}
         461  +
/* OperationErrorGenerator.kt:182 */
  326    462   
impl ::aws_smithy_types::retry::ProvideErrorKind for QueryError {
         463  +
    /* OperationErrorGenerator.kt:186 */
  327    464   
    fn code(&self) -> ::std::option::Option<&str> {
         465  +
        /* OperationErrorGenerator.kt:187 */
  328    466   
        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
         467  +
        /* OperationErrorGenerator.kt:186 */
  329    468   
    }
         469  +
    /* OperationErrorGenerator.kt:190 */
  330    470   
    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
         471  +
        /* OperationErrorGenerator.kt:197 */
  331    472   
        ::std::option::Option::None
         473  +
        /* OperationErrorGenerator.kt:190 */
  332    474   
    }
         475  +
    /* OperationErrorGenerator.kt:182 */
  333    476   
}
         477  +
/* OperationErrorGenerator.kt:163 */
  334    478   
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for QueryError {
         479  +
    /* OperationErrorGenerator.kt:164 */
  335    480   
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         481  +
        /* OperationErrorGenerator.kt:318 */
  336    482   
        match self {
  337         -
            Self::InternalServerError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  338         -
            Self::InvalidEndpointError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  339         -
            Self::ProvisionedThroughputExceededError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  340         -
            Self::RequestLimitExceeded(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  341         -
            Self::ResourceNotFoundError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
  342         -
            Self::Unhandled(_inner) => &_inner.meta,
         483  +
            /* OperationErrorGenerator.kt:321 */
         484  +
            Self::InternalServerError(_inner) =>
         485  +
            /* OperationErrorGenerator.kt:169 */
         486  +
            {
         487  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         488  +
            }
         489  +
            ,
         490  +
            /* OperationErrorGenerator.kt:321 */
         491  +
            Self::InvalidEndpointError(_inner) =>
         492  +
            /* OperationErrorGenerator.kt:169 */
         493  +
            {
         494  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         495  +
            }
         496  +
            ,
         497  +
            /* OperationErrorGenerator.kt:321 */
         498  +
            Self::ProvisionedThroughputExceededError(_inner) =>
         499  +
            /* OperationErrorGenerator.kt:169 */
         500  +
            {
         501  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         502  +
            }
         503  +
            ,
         504  +
            /* OperationErrorGenerator.kt:321 */
         505  +
            Self::RequestLimitExceeded(_inner) =>
         506  +
            /* OperationErrorGenerator.kt:169 */
         507  +
            {
         508  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         509  +
            }
         510  +
            ,
         511  +
            /* OperationErrorGenerator.kt:321 */
         512  +
            Self::ResourceNotFoundError(_inner) =>
         513  +
            /* OperationErrorGenerator.kt:169 */
         514  +
            {
         515  +
                ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner)
         516  +
            }
         517  +
            ,
         518  +
            /* OperationErrorGenerator.kt:326 */
         519  +
            Self::Unhandled(_inner) => {
         520  +
                /* OperationErrorGenerator.kt:168 */
         521  +
                &_inner.meta
         522  +
                /* OperationErrorGenerator.kt:326 */
         523  +
            } /* OperationErrorGenerator.kt:318 */
  343    524   
        }
         525  +
        /* OperationErrorGenerator.kt:164 */
  344    526   
    }
         527  +
    /* OperationErrorGenerator.kt:163 */
  345    528   
}
         529  +
/* OperationErrorGenerator.kt:109 */
  346    530   
impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for QueryError {
         531  +
    /* OperationErrorGenerator.kt:110 */
  347    532   
    fn create_unhandled_error(
  348    533   
        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
  349    534   
        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
  350    535   
    ) -> Self {
         536  +
        /* OperationErrorGenerator.kt:121 */
  351    537   
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
  352    538   
            source,
  353    539   
            meta: meta.unwrap_or_default(),
  354    540   
        })
         541  +
        /* OperationErrorGenerator.kt:110 */
  355    542   
    }
         543  +
    /* OperationErrorGenerator.kt:109 */
  356    544   
}
  357    545   
         546  +
/* CodegenDelegator.kt:255 */
  358    547   
pub use crate::operation::query::_query_output::QueryOutput;
  359    548   
         549  +
/* CodegenDelegator.kt:255 */
  360    550   
pub use crate::operation::query::_query_input::QueryInput;
  361    551   
         552  +
/* RustModule.kt:172 */
  362    553   
mod _query_input;
  363    554   
         555  +
/* RustModule.kt:172 */
  364    556   
mod _query_output;
  365    557   
  366         -
/// Builders
         558  +
/// /* CodegenDelegator.kt:51 */Builders
  367    559   
pub mod builders;
  368    560   
  369         -
/// Paginator for this operation
         561  +
/// /* CodegenDelegator.kt:51 */Paginator for this operation
  370    562   
pub mod paginator;

tmp-codegen-diff/codegen-client-test/dynamo/rust-client-codegen/src/operation/query/_query_input.rs

@@ -1,1 +983,1257 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Represents the input of a <code>Query</code> operation.</p>
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */<p>Represents the input of a <code>Query</code> operation.</p>
           4  +
/* RustType.kt:516 */
    4      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    5      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    6         -
pub struct QueryInput {
    7         -
    /// <p>The name of the table containing the requested items.</p>
           8  +
pub /* StructureGenerator.kt:201 */ struct QueryInput {
           9  +
    /// /* StructureGenerator.kt:231 */<p>The name of the table containing the requested items.</p>
    8     10   
    pub table_name: ::std::option::Option<::std::string::String>,
    9         -
    /// <p>The name of an index to query. This index can be any local secondary index or global secondary index on the table. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName.</code></p>
          11  +
    /// /* StructureGenerator.kt:231 */<p>The name of an index to query. This index can be any local secondary index or global secondary index on the table. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName.</code></p>
   10     12   
    pub index_name: ::std::option::Option<::std::string::String>,
   11         -
    /// <p>The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.</p>
          13  +
    /// /* StructureGenerator.kt:231 */<p>The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.</p>
   12     14   
    /// <ul>
   13     15   
    /// <li>
   14     16   
    /// <p><code>ALL_ATTRIBUTES</code> - Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index, DynamoDB fetches the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.</p></li>
   15     17   
    /// <li>
   16     18   
    /// <p><code>ALL_PROJECTED_ATTRIBUTES</code> - Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying <code>ALL_ATTRIBUTES</code>.</p></li>
   17     19   
    /// <li>
   18     20   
    /// <p><code>COUNT</code> - Returns the number of matching items, rather than the matching items themselves.</p></li>
   19     21   
    /// <li>
   20     22   
    /// <p><code>SPECIFIC_ATTRIBUTES</code> - Returns only the attributes listed in <code>AttributesToGet</code>. This return value is equivalent to specifying <code>AttributesToGet</code> without specifying any value for <code>Select</code>.</p>
   21     23   
    /// <p>If you query or scan a local secondary index and request only attributes that are projected into that index, the operation will read only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB fetches each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency.</p>
   22     24   
    /// <p>If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table.</p></li>
   23     25   
    /// </ul>
   24     26   
    /// <p>If neither <code>Select</code> nor <code>AttributesToGet</code> are specified, DynamoDB defaults to <code>ALL_ATTRIBUTES</code> when accessing a table, and <code>ALL_PROJECTED_ATTRIBUTES</code> when accessing an index. You cannot use both <code>Select</code> and <code>AttributesToGet</code> together in a single request, unless the value for <code>Select</code> is <code>SPECIFIC_ATTRIBUTES</code>. (This usage is equivalent to specifying <code>AttributesToGet</code> without any value for <code>Select</code>.)</p><note>
   25     27   
    /// <p>If you use the <code>ProjectionExpression</code> parameter, then the value for <code>Select</code> can only be <code>SPECIFIC_ATTRIBUTES</code>. Any other value for <code>Select</code> will return an error.</p>
   26     28   
    /// </note>
   27     29   
    pub select: ::std::option::Option<crate::types::Select>,
   28         -
    /// <p>This is a legacy parameter. Use <code>ProjectionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html">AttributesToGet</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          30  +
    /// /* StructureGenerator.kt:231 */<p>This is a legacy parameter. Use <code>ProjectionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html">AttributesToGet</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   29     31   
    pub attributes_to_get: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
   30         -
    /// <p>The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation to continue the operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html">Query and Scan</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          32  +
    /// /* StructureGenerator.kt:231 */<p>The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation to continue the operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html">Query and Scan</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   31     33   
    pub limit: ::std::option::Option<i32>,
   32         -
    /// <p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
          34  +
    /// /* StructureGenerator.kt:231 */<p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
   33     35   
    /// <p>Strongly consistent reads are not supported on global secondary indexes. If you query a global secondary index with <code>ConsistentRead</code> set to <code>true</code>, you will receive a <code>ValidationException</code>.</p>
   34     36   
    pub consistent_read: ::std::option::Option<bool>,
   35         -
    /// <p>This is a legacy parameter. Use <code>KeyConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html">KeyConditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          37  +
    /// /* StructureGenerator.kt:231 */<p>This is a legacy parameter. Use <code>KeyConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html">KeyConditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   36     38   
    pub key_conditions: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Condition>>,
   37         -
    /// <p>This is a legacy parameter. Use <code>FilterExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html">QueryFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
          39  +
    /// /* StructureGenerator.kt:231 */<p>This is a legacy parameter. Use <code>FilterExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html">QueryFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   38     40   
    pub query_filter: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Condition>>,
   39         -
    /// <p>This is a legacy parameter. Use <code>FilterExpression</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>
          41  +
    /// /* StructureGenerator.kt:231 */<p>This is a legacy parameter. Use <code>FilterExpression</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>
   40     42   
    pub conditional_operator: ::std::option::Option<crate::types::ConditionalOperator>,
   41         -
    /// <p>Specifies the order for index traversal: If <code>true</code> (default), the traversal is performed in ascending order; if <code>false</code>, the traversal is performed in descending order.</p>
          43  +
    /// /* StructureGenerator.kt:231 */<p>Specifies the order for index traversal: If <code>true</code> (default), the traversal is performed in ascending order; if <code>false</code>, the traversal is performed in descending order.</p>
   42     44   
    /// <p>Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte of the binary data as unsigned.</p>
   43     45   
    /// <p>If <code>ScanIndexForward</code> is <code>true</code>, DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If <code>ScanIndexForward</code> is <code>false</code>, DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client.</p>
   44     46   
    pub scan_index_forward: ::std::option::Option<bool>,
   45         -
    /// <p>The primary key of the first item that this operation will evaluate. Use the value that was returned for <code>LastEvaluatedKey</code> in the previous operation.</p>
          47  +
    /// /* StructureGenerator.kt:231 */<p>The primary key of the first item that this operation will evaluate. Use the value that was returned for <code>LastEvaluatedKey</code> in the previous operation.</p>
   46     48   
    /// <p>The data type for <code>ExclusiveStartKey</code> must be String, Number, or Binary. No set data types are allowed.</p>
   47     49   
    pub exclusive_start_key: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
   48         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
          50  +
    /// /* StructureGenerator.kt:231 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
   49     51   
    /// <ul>
   50     52   
    /// <li>
   51     53   
    /// <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>
   52     54   
    /// <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>
   53     55   
    /// <li>
   54     56   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
   55     57   
    /// <li>
   56     58   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
   57     59   
    /// </ul>
   58     60   
    pub return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
   59         -
    /// <p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
          61  +
    /// /* StructureGenerator.kt:231 */<p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
   60     62   
    /// <p>If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.</p>
   61     63   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html">Accessing Item Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   62     64   
    pub projection_expression: ::std::option::Option<::std::string::String>,
   63         -
    /// <p>A string that contains conditions that DynamoDB applies after the <code>Query</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p>
          65  +
    /// /* StructureGenerator.kt:231 */<p>A string that contains conditions that DynamoDB applies after the <code>Query</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p>
   64     66   
    /// <p>A <code>FilterExpression</code> does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.</p><note>
   65     67   
    /// <p>A <code>FilterExpression</code> is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.</p>
   66     68   
    /// </note>
   67     69   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults">Filter Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   68     70   
    pub filter_expression: ::std::option::Option<::std::string::String>,
   69         -
    /// <p>The condition that specifies the key values for items to be retrieved by the <code>Query</code> action.</p>
          71  +
    /// /* StructureGenerator.kt:231 */<p>The condition that specifies the key values for items to be retrieved by the <code>Query</code> action.</p>
   70     72   
    /// <p>The condition must perform an equality test on a single partition key value.</p>
   71     73   
    /// <p>The condition can optionally perform one of several comparison tests on a single sort key value. This allows <code>Query</code> to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values.</p>
   72     74   
    /// <p>The partition key equality test is required, and must be specified in the following format:</p>
   73     75   
    /// <p><code>partitionKeyName</code> <i>=</i> <code>:partitionkeyval</code></p>
   74     76   
    /// <p>If you also want to provide a condition for the sort key, it must be combined using <code>AND</code> with the condition for the sort key. Following is an example, using the <b>=</b> comparison operator for the sort key:</p>
   75     77   
    /// <p><code>partitionKeyName</code> <code>=</code> <code>:partitionkeyval</code> <code>AND</code> <code>sortKeyName</code> <code>=</code> <code>:sortkeyval</code></p>
   76     78   
    /// <p>Valid comparisons for the sort key condition are as follows:</p>
   77     79   
    /// <ul>
   78     80   
    /// <li>
   79     81   
    /// <p><code>sortKeyName</code> <code>=</code> <code>:sortkeyval</code> - true if the sort key value is equal to <code>:sortkeyval</code>.</p></li>
   80     82   
    /// <li>
   81     83   
    /// <p><code>sortKeyName</code> <code>&lt;</code> <code>:sortkeyval</code> - true if the sort key value is less than <code>:sortkeyval</code>.</p></li>
   82     84   
    /// <li>
   83     85   
    /// <p><code>sortKeyName</code> <code>&lt;=</code> <code>:sortkeyval</code> - true if the sort key value is less than or equal to <code>:sortkeyval</code>.</p></li>
   84     86   
    /// <li>
   85     87   
    /// <p><code>sortKeyName</code> <code>&gt;</code> <code>:sortkeyval</code> - true if the sort key value is greater than <code>:sortkeyval</code>.</p></li>
   86     88   
    /// <li>
   87     89   
    /// <p><code>sortKeyName</code> <code>&gt;= </code> <code>:sortkeyval</code> - true if the sort key value is greater than or equal to <code>:sortkeyval</code>.</p></li>
   88     90   
    /// <li>
   89     91   
    /// <p><code>sortKeyName</code> <code>BETWEEN</code> <code>:sortkeyval1</code> <code>AND</code> <code>:sortkeyval2</code> - true if the sort key value is greater than or equal to <code>:sortkeyval1</code>, and less than or equal to <code>:sortkeyval2</code>.</p></li>
   90     92   
    /// <li>
   91     93   
    /// <p><code>begins_with (</code> <code>sortKeyName</code>, <code>:sortkeyval</code> <code>)</code> - true if the sort key value begins with a particular operand. (You cannot use this function with a sort key that is of type Number.) Note that the function name <code>begins_with</code> is case-sensitive.</p></li>
   92     94   
    /// </ul>
   93     95   
    /// <p>Use the <code>ExpressionAttributeValues</code> parameter to replace tokens such as <code>:partitionval</code> and <code>:sortval</code> with actual values at runtime.</p>
   94     96   
    /// <p>You can optionally use the <code>ExpressionAttributeNames</code> parameter to replace the names of the partition key and sort key with placeholder tokens. This option might be necessary if an attribute name conflicts with a DynamoDB reserved word. For example, the following <code>KeyConditionExpression</code> parameter causes an error because <i>Size</i> is a reserved word:</p>
   95     97   
    /// <ul>
   96     98   
    /// <li>
   97     99   
    /// <p><code>Size = :myval</code></p></li>
   98    100   
    /// </ul>
   99    101   
    /// <p>To work around this, define a placeholder (such a <code>#S</code>) to represent the attribute name <i>Size</i>. <code>KeyConditionExpression</code> then is as follows:</p>
  100    102   
    /// <ul>
  101    103   
    /// <li>
  102    104   
    /// <p><code>#S = :myval</code></p></li>
  103    105   
    /// </ul>
  104    106   
    /// <p>For a 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>.</p>
  105    107   
    /// <p>For more information on <code>ExpressionAttributeNames</code> and <code>ExpressionAttributeValues</code>, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html">Using Placeholders for Attribute Names and Values</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
  106    108   
    pub key_condition_expression: ::std::option::Option<::std::string::String>,
  107         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         109  +
    /// /* StructureGenerator.kt:231 */<p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
  108    110   
    /// <ul>
  109    111   
    /// <li>
  110    112   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  111    113   
    /// <li>
  112    114   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  113    115   
    /// <li>
  114    116   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  115    117   
    /// </ul>
  116    118   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  117    119   
    /// <ul>
  118    120   
    /// <li>
  119    121   
    /// <p><code>Percentile</code></p></li>
  120    122   
    /// </ul>
  121    123   
    /// <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>
  122    124   
    /// <ul>
  123    125   
    /// <li>
  124    126   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  125    127   
    /// </ul>
  126    128   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  127    129   
    /// <ul>
  128    130   
    /// <li>
  129    131   
    /// <p><code>#P = :val</code></p></li>
  130    132   
    /// </ul><note>
  131    133   
    /// <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>
  132    134   
    /// </note>
  133    135   
    /// <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>
  134    136   
    pub expression_attribute_names: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
  135         -
    /// <p>One or more values that can be substituted in an expression.</p>
         137  +
    /// /* StructureGenerator.kt:231 */<p>One or more values that can be substituted in an expression.</p>
  136    138   
    /// <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>
  137    139   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  138    140   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  139    141   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  140    142   
    /// <p>You could then use these values in an expression, such as this:</p>
  141    143   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  142    144   
    /// <p>For more information on expression attribute values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Specifying Conditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
  143    145   
    pub expression_attribute_values: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
         146  +
    /* StructureGenerator.kt:201 */
  144    147   
}
         148  +
/* StructureGenerator.kt:135 */
  145    149   
impl QueryInput {
  146         -
    /// <p>The name of the table containing the requested items.</p>
         150  +
    /// /* StructureGenerator.kt:231 */<p>The name of the table containing the requested items.</p>
         151  +
    /* StructureGenerator.kt:166 */
  147    152   
    pub fn table_name(&self) -> ::std::option::Option<&str> {
         153  +
        /* StructureGenerator.kt:169 */
  148    154   
        self.table_name.as_deref()
         155  +
        /* StructureGenerator.kt:166 */
  149    156   
    }
  150         -
    /// <p>The name of an index to query. This index can be any local secondary index or global secondary index on the table. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName.</code></p>
         157  +
    /// /* StructureGenerator.kt:231 */<p>The name of an index to query. This index can be any local secondary index or global secondary index on the table. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName.</code></p>
         158  +
    /* StructureGenerator.kt:166 */
  151    159   
    pub fn index_name(&self) -> ::std::option::Option<&str> {
         160  +
        /* StructureGenerator.kt:169 */
  152    161   
        self.index_name.as_deref()
         162  +
        /* StructureGenerator.kt:166 */
  153    163   
    }
  154         -
    /// <p>The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.</p>
         164  +
    /// /* StructureGenerator.kt:231 */<p>The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.</p>
  155    165   
    /// <ul>
  156    166   
    /// <li>
  157    167   
    /// <p><code>ALL_ATTRIBUTES</code> - Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index, DynamoDB fetches the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.</p></li>
  158    168   
    /// <li>
  159    169   
    /// <p><code>ALL_PROJECTED_ATTRIBUTES</code> - Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying <code>ALL_ATTRIBUTES</code>.</p></li>
  160    170   
    /// <li>
  161    171   
    /// <p><code>COUNT</code> - Returns the number of matching items, rather than the matching items themselves.</p></li>
  162    172   
    /// <li>
  163    173   
    /// <p><code>SPECIFIC_ATTRIBUTES</code> - Returns only the attributes listed in <code>AttributesToGet</code>. This return value is equivalent to specifying <code>AttributesToGet</code> without specifying any value for <code>Select</code>.</p>
  164    174   
    /// <p>If you query or scan a local secondary index and request only attributes that are projected into that index, the operation will read only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB fetches each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency.</p>
  165    175   
    /// <p>If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table.</p></li>
  166    176   
    /// </ul>
  167    177   
    /// <p>If neither <code>Select</code> nor <code>AttributesToGet</code> are specified, DynamoDB defaults to <code>ALL_ATTRIBUTES</code> when accessing a table, and <code>ALL_PROJECTED_ATTRIBUTES</code> when accessing an index. You cannot use both <code>Select</code> and <code>AttributesToGet</code> together in a single request, unless the value for <code>Select</code> is <code>SPECIFIC_ATTRIBUTES</code>. (This usage is equivalent to specifying <code>AttributesToGet</code> without any value for <code>Select</code>.)</p><note>
  168    178   
    /// <p>If you use the <code>ProjectionExpression</code> parameter, then the value for <code>Select</code> can only be <code>SPECIFIC_ATTRIBUTES</code>. Any other value for <code>Select</code> will return an error.</p>
  169    179   
    /// </note>
         180  +
    /* StructureGenerator.kt:166 */
  170    181   
    pub fn select(&self) -> ::std::option::Option<&crate::types::Select> {
         182  +
        /* StructureGenerator.kt:170 */
  171    183   
        self.select.as_ref()
         184  +
        /* StructureGenerator.kt:166 */
  172    185   
    }
  173         -
    /// <p>This is a legacy parameter. Use <code>ProjectionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html">AttributesToGet</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
  174         -
    ///
  175         -
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.attributes_to_get.is_none()`.
         186  +
    /// /* StructureGenerator.kt:231 */<p>This is a legacy parameter. Use <code>ProjectionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html">AttributesToGet</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         187  +
    /// /* StructureGenerator.kt:162 */
         188  +
    /// /* StructureGenerator.kt:163 */If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.attributes_to_get.is_none()`.
         189  +
    /* StructureGenerator.kt:166 */
  176    190   
    pub fn attributes_to_get(&self) -> &[::std::string::String] {
  177         -
        self.attributes_to_get.as_deref().unwrap_or_default()
  178         -
    }
  179         -
    /// <p>The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation to continue the operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html">Query and Scan</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         191  +
        /* StructureGenerator.kt:169 */
         192  +
        self.attributes_to_get
         193  +
            .as_deref()
         194  +
            /* StructureGenerator.kt:175 */
         195  +
            .unwrap_or_default()
         196  +
        /* StructureGenerator.kt:166 */
         197  +
    }
         198  +
    /// /* StructureGenerator.kt:231 */<p>The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation to continue the operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html">Query and Scan</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         199  +
    /* StructureGenerator.kt:166 */
  180    200   
    pub fn limit(&self) -> ::std::option::Option<i32> {
         201  +
        /* StructureGenerator.kt:168 */
  181    202   
        self.limit
         203  +
        /* StructureGenerator.kt:166 */
  182    204   
    }
  183         -
    /// <p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
         205  +
    /// /* StructureGenerator.kt:231 */<p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
  184    206   
    /// <p>Strongly consistent reads are not supported on global secondary indexes. If you query a global secondary index with <code>ConsistentRead</code> set to <code>true</code>, you will receive a <code>ValidationException</code>.</p>
         207  +
    /* StructureGenerator.kt:166 */
  185    208   
    pub fn consistent_read(&self) -> ::std::option::Option<bool> {
         209  +
        /* StructureGenerator.kt:168 */
  186    210   
        self.consistent_read
         211  +
        /* StructureGenerator.kt:166 */
  187    212   
    }
  188         -
    /// <p>This is a legacy parameter. Use <code>KeyConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html">KeyConditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         213  +
    /// /* StructureGenerator.kt:231 */<p>This is a legacy parameter. Use <code>KeyConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html">KeyConditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         214  +
    /* StructureGenerator.kt:166 */
  189    215   
    pub fn key_conditions(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::Condition>> {
         216  +
        /* StructureGenerator.kt:170 */
  190    217   
        self.key_conditions.as_ref()
         218  +
        /* StructureGenerator.kt:166 */
  191    219   
    }
  192         -
    /// <p>This is a legacy parameter. Use <code>FilterExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html">QueryFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         220  +
    /// /* StructureGenerator.kt:231 */<p>This is a legacy parameter. Use <code>FilterExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html">QueryFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         221  +
    /* StructureGenerator.kt:166 */
  193    222   
    pub fn query_filter(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::Condition>> {
         223  +
        /* StructureGenerator.kt:170 */
  194    224   
        self.query_filter.as_ref()
         225  +
        /* StructureGenerator.kt:166 */
  195    226   
    }
  196         -
    /// <p>This is a legacy parameter. Use <code>FilterExpression</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>
         227  +
    /// /* StructureGenerator.kt:231 */<p>This is a legacy parameter. Use <code>FilterExpression</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>
         228  +
    /* StructureGenerator.kt:166 */
  197    229   
    pub fn conditional_operator(&self) -> ::std::option::Option<&crate::types::ConditionalOperator> {
         230  +
        /* StructureGenerator.kt:170 */
  198    231   
        self.conditional_operator.as_ref()
         232  +
        /* StructureGenerator.kt:166 */
  199    233   
    }
  200         -
    /// <p>Specifies the order for index traversal: If <code>true</code> (default), the traversal is performed in ascending order; if <code>false</code>, the traversal is performed in descending order.</p>
         234  +
    /// /* StructureGenerator.kt:231 */<p>Specifies the order for index traversal: If <code>true</code> (default), the traversal is performed in ascending order; if <code>false</code>, the traversal is performed in descending order.</p>
  201    235   
    /// <p>Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte of the binary data as unsigned.</p>
  202    236   
    /// <p>If <code>ScanIndexForward</code> is <code>true</code>, DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If <code>ScanIndexForward</code> is <code>false</code>, DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client.</p>
         237  +
    /* StructureGenerator.kt:166 */
  203    238   
    pub fn scan_index_forward(&self) -> ::std::option::Option<bool> {
         239  +
        /* StructureGenerator.kt:168 */
  204    240   
        self.scan_index_forward
         241  +
        /* StructureGenerator.kt:166 */
  205    242   
    }
  206         -
    /// <p>The primary key of the first item that this operation will evaluate. Use the value that was returned for <code>LastEvaluatedKey</code> in the previous operation.</p>
         243  +
    /// /* StructureGenerator.kt:231 */<p>The primary key of the first item that this operation will evaluate. Use the value that was returned for <code>LastEvaluatedKey</code> in the previous operation.</p>
  207    244   
    /// <p>The data type for <code>ExclusiveStartKey</code> must be String, Number, or Binary. No set data types are allowed.</p>
         245  +
    /* StructureGenerator.kt:166 */
  208    246   
    pub fn exclusive_start_key(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         247  +
        /* StructureGenerator.kt:170 */
  209    248   
        self.exclusive_start_key.as_ref()
         249  +
        /* StructureGenerator.kt:166 */
  210    250   
    }
  211         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         251  +
    /// /* StructureGenerator.kt:231 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  212    252   
    /// <ul>
  213    253   
    /// <li>
  214    254   
    /// <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>
  215    255   
    /// <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>
  216    256   
    /// <li>
  217    257   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  218    258   
    /// <li>
  219    259   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  220    260   
    /// </ul>
         261  +
    /* StructureGenerator.kt:166 */
  221    262   
    pub fn return_consumed_capacity(&self) -> ::std::option::Option<&crate::types::ReturnConsumedCapacity> {
         263  +
        /* StructureGenerator.kt:170 */
  222    264   
        self.return_consumed_capacity.as_ref()
         265  +
        /* StructureGenerator.kt:166 */
  223    266   
    }
  224         -
    /// <p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         267  +
    /// /* StructureGenerator.kt:231 */<p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  225    268   
    /// <p>If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.</p>
  226    269   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html">Accessing Item Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         270  +
    /* StructureGenerator.kt:166 */
  227    271   
    pub fn projection_expression(&self) -> ::std::option::Option<&str> {
         272  +
        /* StructureGenerator.kt:169 */
  228    273   
        self.projection_expression.as_deref()
         274  +
        /* StructureGenerator.kt:166 */
  229    275   
    }
  230         -
    /// <p>A string that contains conditions that DynamoDB applies after the <code>Query</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p>
         276  +
    /// /* StructureGenerator.kt:231 */<p>A string that contains conditions that DynamoDB applies after the <code>Query</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p>
  231    277   
    /// <p>A <code>FilterExpression</code> does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.</p><note>
  232    278   
    /// <p>A <code>FilterExpression</code> is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.</p>
  233    279   
    /// </note>
  234    280   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults">Filter Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         281  +
    /* StructureGenerator.kt:166 */
  235    282   
    pub fn filter_expression(&self) -> ::std::option::Option<&str> {
         283  +
        /* StructureGenerator.kt:169 */
  236    284   
        self.filter_expression.as_deref()
         285  +
        /* StructureGenerator.kt:166 */
  237    286   
    }
  238         -
    /// <p>The condition that specifies the key values for items to be retrieved by the <code>Query</code> action.</p>
         287  +
    /// /* StructureGenerator.kt:231 */<p>The condition that specifies the key values for items to be retrieved by the <code>Query</code> action.</p>
  239    288   
    /// <p>The condition must perform an equality test on a single partition key value.</p>
  240    289   
    /// <p>The condition can optionally perform one of several comparison tests on a single sort key value. This allows <code>Query</code> to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values.</p>
  241    290   
    /// <p>The partition key equality test is required, and must be specified in the following format:</p>
  242    291   
    /// <p><code>partitionKeyName</code> <i>=</i> <code>:partitionkeyval</code></p>
  243    292   
    /// <p>If you also want to provide a condition for the sort key, it must be combined using <code>AND</code> with the condition for the sort key. Following is an example, using the <b>=</b> comparison operator for the sort key:</p>
  244    293   
    /// <p><code>partitionKeyName</code> <code>=</code> <code>:partitionkeyval</code> <code>AND</code> <code>sortKeyName</code> <code>=</code> <code>:sortkeyval</code></p>
  245    294   
    /// <p>Valid comparisons for the sort key condition are as follows:</p>
  246    295   
    /// <ul>
  247    296   
    /// <li>
  248    297   
    /// <p><code>sortKeyName</code> <code>=</code> <code>:sortkeyval</code> - true if the sort key value is equal to <code>:sortkeyval</code>.</p></li>
  249    298   
    /// <li>
  250    299   
    /// <p><code>sortKeyName</code> <code>&lt;</code> <code>:sortkeyval</code> - true if the sort key value is less than <code>:sortkeyval</code>.</p></li>
  251    300   
    /// <li>
  252    301   
    /// <p><code>sortKeyName</code> <code>&lt;=</code> <code>:sortkeyval</code> - true if the sort key value is less than or equal to <code>:sortkeyval</code>.</p></li>
  253    302   
    /// <li>
  254    303   
    /// <p><code>sortKeyName</code> <code>&gt;</code> <code>:sortkeyval</code> - true if the sort key value is greater than <code>:sortkeyval</code>.</p></li>
  255    304   
    /// <li>
  256    305   
    /// <p><code>sortKeyName</code> <code>&gt;= </code> <code>:sortkeyval</code> - true if the sort key value is greater than or equal to <code>:sortkeyval</code>.</p></li>
  257    306   
    /// <li>
  258    307   
    /// <p><code>sortKeyName</code> <code>BETWEEN</code> <code>:sortkeyval1</code> <code>AND</code> <code>:sortkeyval2</code> - true if the sort key value is greater than or equal to <code>:sortkeyval1</code>, and less than or equal to <code>:sortkeyval2</code>.</p></li>
  259    308   
    /// <li>
  260    309   
    /// <p><code>begins_with (</code> <code>sortKeyName</code>, <code>:sortkeyval</code> <code>)</code> - true if the sort key value begins with a particular operand. (You cannot use this function with a sort key that is of type Number.) Note that the function name <code>begins_with</code> is case-sensitive.</p></li>
  261    310   
    /// </ul>
  262    311   
    /// <p>Use the <code>ExpressionAttributeValues</code> parameter to replace tokens such as <code>:partitionval</code> and <code>:sortval</code> with actual values at runtime.</p>
  263    312   
    /// <p>You can optionally use the <code>ExpressionAttributeNames</code> parameter to replace the names of the partition key and sort key with placeholder tokens. This option might be necessary if an attribute name conflicts with a DynamoDB reserved word. For example, the following <code>KeyConditionExpression</code> parameter causes an error because <i>Size</i> is a reserved word:</p>
  264    313   
    /// <ul>
  265    314   
    /// <li>
  266    315   
    /// <p><code>Size = :myval</code></p></li>
  267    316   
    /// </ul>
  268    317   
    /// <p>To work around this, define a placeholder (such a <code>#S</code>) to represent the attribute name <i>Size</i>. <code>KeyConditionExpression</code> then is as follows:</p>
  269    318   
    /// <ul>
  270    319   
    /// <li>
  271    320   
    /// <p><code>#S = :myval</code></p></li>
  272    321   
    /// </ul>
  273    322   
    /// <p>For a 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>.</p>
  274    323   
    /// <p>For more information on <code>ExpressionAttributeNames</code> and <code>ExpressionAttributeValues</code>, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html">Using Placeholders for Attribute Names and Values</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         324  +
    /* StructureGenerator.kt:166 */
  275    325   
    pub fn key_condition_expression(&self) -> ::std::option::Option<&str> {
         326  +
        /* StructureGenerator.kt:169 */
  276    327   
        self.key_condition_expression.as_deref()
         328  +
        /* StructureGenerator.kt:166 */
  277    329   
    }
  278         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
         330  +
    /// /* StructureGenerator.kt:231 */<p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
  279    331   
    /// <ul>
  280    332   
    /// <li>
  281    333   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  282    334   
    /// <li>
  283    335   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  284    336   
    /// <li>
  285    337   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  286    338   
    /// </ul>
  287    339   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  288    340   
    /// <ul>
  289    341   
    /// <li>
  290    342   
    /// <p><code>Percentile</code></p></li>
  291    343   
    /// </ul>
  292    344   
    /// <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>
  293    345   
    /// <ul>
  294    346   
    /// <li>
  295    347   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  296    348   
    /// </ul>
  297    349   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  298    350   
    /// <ul>
  299    351   
    /// <li>
  300    352   
    /// <p><code>#P = :val</code></p></li>
  301    353   
    /// </ul><note>
  302    354   
    /// <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>
  303    355   
    /// </note>
  304    356   
    /// <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>
         357  +
    /* StructureGenerator.kt:166 */
  305    358   
    pub fn expression_attribute_names(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
         359  +
        /* StructureGenerator.kt:170 */
  306    360   
        self.expression_attribute_names.as_ref()
         361  +
        /* StructureGenerator.kt:166 */
  307    362   
    }
  308         -
    /// <p>One or more values that can be substituted in an expression.</p>
         363  +
    /// /* StructureGenerator.kt:231 */<p>One or more values that can be substituted in an expression.</p>
  309    364   
    /// <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>
  310    365   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  311    366   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  312    367   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  313    368   
    /// <p>You could then use these values in an expression, such as this:</p>
  314    369   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  315    370   
    /// <p>For more information on expression attribute values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Specifying Conditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         371  +
    /* StructureGenerator.kt:166 */
  316    372   
    pub fn expression_attribute_values(
  317    373   
        &self,
  318    374   
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         375  +
        /* StructureGenerator.kt:170 */
  319    376   
        self.expression_attribute_values.as_ref()
         377  +
        /* StructureGenerator.kt:166 */
  320    378   
    }
         379  +
    /* StructureGenerator.kt:135 */
  321    380   
}
         381  +
/* ClientCodegenVisitor.kt:237 */
  322    382   
impl QueryInput {
  323         -
    /// Creates a new builder-style object to manufacture [`QueryInput`](crate::operation::query::QueryInput).
         383  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`QueryInput`](crate::operation::query::QueryInput).
         384  +
    /* BuilderGenerator.kt:175 */
  324    385   
    pub fn builder() -> crate::operation::query::builders::QueryInputBuilder {
         386  +
        /* BuilderGenerator.kt:176 */
  325    387   
        crate::operation::query::builders::QueryInputBuilder::default()
         388  +
        /* BuilderGenerator.kt:175 */
  326    389   
    }
         390  +
    /* ClientCodegenVisitor.kt:237 */
  327    391   
}
  328    392   
  329         -
/// A builder for [`QueryInput`](crate::operation::query::QueryInput).
         393  +
/// /* BuilderGenerator.kt:342 */A builder for [`QueryInput`](crate::operation::query::QueryInput).
         394  +
/* RustType.kt:516 */
  330    395   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         396  +
/* RustType.kt:516 */
  331    397   
#[non_exhaustive]
         398  +
/* BuilderGenerator.kt:345 */
  332    399   
pub struct QueryInputBuilder {
  333         -
    pub(crate) table_name: ::std::option::Option<::std::string::String>,
  334         -
    pub(crate) index_name: ::std::option::Option<::std::string::String>,
  335         -
    pub(crate) select: ::std::option::Option<crate::types::Select>,
  336         -
    pub(crate) attributes_to_get: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
  337         -
    pub(crate) limit: ::std::option::Option<i32>,
  338         -
    pub(crate) consistent_read: ::std::option::Option<bool>,
         400  +
    /* BuilderGenerator.kt:275 */ pub(crate) table_name: ::std::option::Option<::std::string::String>,
         401  +
    /* BuilderGenerator.kt:275 */ pub(crate) index_name: ::std::option::Option<::std::string::String>,
         402  +
    /* BuilderGenerator.kt:275 */ pub(crate) select: ::std::option::Option<crate::types::Select>,
         403  +
    /* BuilderGenerator.kt:275 */ pub(crate) attributes_to_get: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         404  +
    /* BuilderGenerator.kt:275 */ pub(crate) limit: ::std::option::Option<i32>,
         405  +
    /* BuilderGenerator.kt:275 */ pub(crate) consistent_read: ::std::option::Option<bool>,
         406  +
    /* BuilderGenerator.kt:275 */
  339    407   
    pub(crate) key_conditions: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Condition>>,
         408  +
    /* BuilderGenerator.kt:275 */
  340    409   
    pub(crate) query_filter: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Condition>>,
  341         -
    pub(crate) conditional_operator: ::std::option::Option<crate::types::ConditionalOperator>,
  342         -
    pub(crate) scan_index_forward: ::std::option::Option<bool>,
         410  +
    /* BuilderGenerator.kt:275 */ pub(crate) conditional_operator: ::std::option::Option<crate::types::ConditionalOperator>,
         411  +
    /* BuilderGenerator.kt:275 */ pub(crate) scan_index_forward: ::std::option::Option<bool>,
         412  +
    /* BuilderGenerator.kt:275 */
  343    413   
    pub(crate) exclusive_start_key: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  344         -
    pub(crate) return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
  345         -
    pub(crate) projection_expression: ::std::option::Option<::std::string::String>,
  346         -
    pub(crate) filter_expression: ::std::option::Option<::std::string::String>,
  347         -
    pub(crate) key_condition_expression: ::std::option::Option<::std::string::String>,
         414  +
    /* BuilderGenerator.kt:275 */ pub(crate) return_consumed_capacity: ::std::option::Option<crate::types::ReturnConsumedCapacity>,
         415  +
    /* BuilderGenerator.kt:275 */ pub(crate) projection_expression: ::std::option::Option<::std::string::String>,
         416  +
    /* BuilderGenerator.kt:275 */ pub(crate) filter_expression: ::std::option::Option<::std::string::String>,
         417  +
    /* BuilderGenerator.kt:275 */ pub(crate) key_condition_expression: ::std::option::Option<::std::string::String>,
         418  +
    /* BuilderGenerator.kt:275 */
  348    419   
    pub(crate) expression_attribute_names: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
         420  +
    /* BuilderGenerator.kt:275 */
  349    421   
    pub(crate) expression_attribute_values: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
         422  +
    /* BuilderGenerator.kt:345 */
  350    423   
}
         424  +
/* BuilderGenerator.kt:355 */
  351    425   
impl QueryInputBuilder {
  352         -
    /// <p>The name of the table containing the requested items.</p>
  353         -
    /// This field is required.
         426  +
    /// /* BuilderGenerator.kt:286 */<p>The name of the table containing the requested items.</p>
         427  +
    /// /* BuilderGenerator.kt:288 */This field is required.
         428  +
    /* BuilderGenerator.kt:291 */
  354    429   
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         430  +
        /* BuilderGenerator.kt:292 */
  355    431   
        self.table_name = ::std::option::Option::Some(input.into());
         432  +
        /* BuilderGenerator.kt:293 */
  356    433   
        self
         434  +
        /* BuilderGenerator.kt:291 */
  357    435   
    }
  358         -
    /// <p>The name of the table containing the requested items.</p>
         436  +
    /// /* BuilderGenerator.kt:312 */<p>The name of the table containing the requested items.</p>
         437  +
    /* BuilderGenerator.kt:314 */
  359    438   
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         439  +
        /* BuilderGenerator.kt:315 */
  360    440   
        self.table_name = input;
  361    441   
        self
         442  +
        /* BuilderGenerator.kt:314 */
  362    443   
    }
  363         -
    /// <p>The name of the table containing the requested items.</p>
         444  +
    /// /* BuilderGenerator.kt:334 */<p>The name of the table containing the requested items.</p>
         445  +
    /* BuilderGenerator.kt:336 */
  364    446   
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
         447  +
        /* BuilderGenerator.kt:337 */
  365    448   
        &self.table_name
         449  +
        /* BuilderGenerator.kt:336 */
  366    450   
    }
  367         -
    /// <p>The name of an index to query. This index can be any local secondary index or global secondary index on the table. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName.</code></p>
         451  +
    /// /* BuilderGenerator.kt:286 */<p>The name of an index to query. This index can be any local secondary index or global secondary index on the table. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName.</code></p>
         452  +
    /* BuilderGenerator.kt:291 */
  368    453   
    pub fn index_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         454  +
        /* BuilderGenerator.kt:292 */
  369    455   
        self.index_name = ::std::option::Option::Some(input.into());
         456  +
        /* BuilderGenerator.kt:293 */
  370    457   
        self
         458  +
        /* BuilderGenerator.kt:291 */
  371    459   
    }
  372         -
    /// <p>The name of an index to query. This index can be any local secondary index or global secondary index on the table. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName.</code></p>
         460  +
    /// /* BuilderGenerator.kt:312 */<p>The name of an index to query. This index can be any local secondary index or global secondary index on the table. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName.</code></p>
         461  +
    /* BuilderGenerator.kt:314 */
  373    462   
    pub fn set_index_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         463  +
        /* BuilderGenerator.kt:315 */
  374    464   
        self.index_name = input;
  375    465   
        self
         466  +
        /* BuilderGenerator.kt:314 */
  376    467   
    }
  377         -
    /// <p>The name of an index to query. This index can be any local secondary index or global secondary index on the table. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName.</code></p>
         468  +
    /// /* BuilderGenerator.kt:334 */<p>The name of an index to query. This index can be any local secondary index or global secondary index on the table. Note that if you use the <code>IndexName</code> parameter, you must also provide <code>TableName.</code></p>
         469  +
    /* BuilderGenerator.kt:336 */
  378    470   
    pub fn get_index_name(&self) -> &::std::option::Option<::std::string::String> {
         471  +
        /* BuilderGenerator.kt:337 */
  379    472   
        &self.index_name
         473  +
        /* BuilderGenerator.kt:336 */
  380    474   
    }
  381         -
    /// <p>The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.</p>
         475  +
    /// /* BuilderGenerator.kt:286 */<p>The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.</p>
  382    476   
    /// <ul>
  383    477   
    /// <li>
  384    478   
    /// <p><code>ALL_ATTRIBUTES</code> - Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index, DynamoDB fetches the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.</p></li>
  385    479   
    /// <li>
  386    480   
    /// <p><code>ALL_PROJECTED_ATTRIBUTES</code> - Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying <code>ALL_ATTRIBUTES</code>.</p></li>
  387    481   
    /// <li>
  388    482   
    /// <p><code>COUNT</code> - Returns the number of matching items, rather than the matching items themselves.</p></li>
  389    483   
    /// <li>
  390    484   
    /// <p><code>SPECIFIC_ATTRIBUTES</code> - Returns only the attributes listed in <code>AttributesToGet</code>. This return value is equivalent to specifying <code>AttributesToGet</code> without specifying any value for <code>Select</code>.</p>
  391    485   
    /// <p>If you query or scan a local secondary index and request only attributes that are projected into that index, the operation will read only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB fetches each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency.</p>
  392    486   
    /// <p>If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table.</p></li>
  393    487   
    /// </ul>
  394    488   
    /// <p>If neither <code>Select</code> nor <code>AttributesToGet</code> are specified, DynamoDB defaults to <code>ALL_ATTRIBUTES</code> when accessing a table, and <code>ALL_PROJECTED_ATTRIBUTES</code> when accessing an index. You cannot use both <code>Select</code> and <code>AttributesToGet</code> together in a single request, unless the value for <code>Select</code> is <code>SPECIFIC_ATTRIBUTES</code>. (This usage is equivalent to specifying <code>AttributesToGet</code> without any value for <code>Select</code>.)</p><note>
  395    489   
    /// <p>If you use the <code>ProjectionExpression</code> parameter, then the value for <code>Select</code> can only be <code>SPECIFIC_ATTRIBUTES</code>. Any other value for <code>Select</code> will return an error.</p>
  396    490   
    /// </note>
         491  +
    /* BuilderGenerator.kt:291 */
  397    492   
    pub fn select(mut self, input: crate::types::Select) -> Self {
         493  +
        /* BuilderGenerator.kt:292 */
  398    494   
        self.select = ::std::option::Option::Some(input);
         495  +
        /* BuilderGenerator.kt:293 */
  399    496   
        self
         497  +
        /* BuilderGenerator.kt:291 */
  400    498   
    }
  401         -
    /// <p>The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.</p>
         499  +
    /// /* BuilderGenerator.kt:312 */<p>The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.</p>
  402    500   
    /// <ul>
  403    501   
    /// <li>
  404    502   
    /// <p><code>ALL_ATTRIBUTES</code> - Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index, DynamoDB fetches the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.</p></li>
  405    503   
    /// <li>
  406    504   
    /// <p><code>ALL_PROJECTED_ATTRIBUTES</code> - Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying <code>ALL_ATTRIBUTES</code>.</p></li>
  407    505   
    /// <li>
  408    506   
    /// <p><code>COUNT</code> - Returns the number of matching items, rather than the matching items themselves.</p></li>
  409    507   
    /// <li>
  410    508   
    /// <p><code>SPECIFIC_ATTRIBUTES</code> - Returns only the attributes listed in <code>AttributesToGet</code>. This return value is equivalent to specifying <code>AttributesToGet</code> without specifying any value for <code>Select</code>.</p>
  411    509   
    /// <p>If you query or scan a local secondary index and request only attributes that are projected into that index, the operation will read only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB fetches each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency.</p>
  412    510   
    /// <p>If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table.</p></li>
  413    511   
    /// </ul>
  414    512   
    /// <p>If neither <code>Select</code> nor <code>AttributesToGet</code> are specified, DynamoDB defaults to <code>ALL_ATTRIBUTES</code> when accessing a table, and <code>ALL_PROJECTED_ATTRIBUTES</code> when accessing an index. You cannot use both <code>Select</code> and <code>AttributesToGet</code> together in a single request, unless the value for <code>Select</code> is <code>SPECIFIC_ATTRIBUTES</code>. (This usage is equivalent to specifying <code>AttributesToGet</code> without any value for <code>Select</code>.)</p><note>
  415    513   
    /// <p>If you use the <code>ProjectionExpression</code> parameter, then the value for <code>Select</code> can only be <code>SPECIFIC_ATTRIBUTES</code>. Any other value for <code>Select</code> will return an error.</p>
  416    514   
    /// </note>
         515  +
    /* BuilderGenerator.kt:314 */
  417    516   
    pub fn set_select(mut self, input: ::std::option::Option<crate::types::Select>) -> Self {
         517  +
        /* BuilderGenerator.kt:315 */
  418    518   
        self.select = input;
  419    519   
        self
         520  +
        /* BuilderGenerator.kt:314 */
  420    521   
    }
  421         -
    /// <p>The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.</p>
         522  +
    /// /* BuilderGenerator.kt:334 */<p>The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.</p>
  422    523   
    /// <ul>
  423    524   
    /// <li>
  424    525   
    /// <p><code>ALL_ATTRIBUTES</code> - Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index, DynamoDB fetches the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.</p></li>
  425    526   
    /// <li>
  426    527   
    /// <p><code>ALL_PROJECTED_ATTRIBUTES</code> - Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying <code>ALL_ATTRIBUTES</code>.</p></li>
  427    528   
    /// <li>
  428    529   
    /// <p><code>COUNT</code> - Returns the number of matching items, rather than the matching items themselves.</p></li>
  429    530   
    /// <li>
  430    531   
    /// <p><code>SPECIFIC_ATTRIBUTES</code> - Returns only the attributes listed in <code>AttributesToGet</code>. This return value is equivalent to specifying <code>AttributesToGet</code> without specifying any value for <code>Select</code>.</p>
  431    532   
    /// <p>If you query or scan a local secondary index and request only attributes that are projected into that index, the operation will read only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB fetches each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency.</p>
  432    533   
    /// <p>If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table.</p></li>
  433    534   
    /// </ul>
  434    535   
    /// <p>If neither <code>Select</code> nor <code>AttributesToGet</code> are specified, DynamoDB defaults to <code>ALL_ATTRIBUTES</code> when accessing a table, and <code>ALL_PROJECTED_ATTRIBUTES</code> when accessing an index. You cannot use both <code>Select</code> and <code>AttributesToGet</code> together in a single request, unless the value for <code>Select</code> is <code>SPECIFIC_ATTRIBUTES</code>. (This usage is equivalent to specifying <code>AttributesToGet</code> without any value for <code>Select</code>.)</p><note>
  435    536   
    /// <p>If you use the <code>ProjectionExpression</code> parameter, then the value for <code>Select</code> can only be <code>SPECIFIC_ATTRIBUTES</code>. Any other value for <code>Select</code> will return an error.</p>
  436    537   
    /// </note>
         538  +
    /* BuilderGenerator.kt:336 */
  437    539   
    pub fn get_select(&self) -> &::std::option::Option<crate::types::Select> {
         540  +
        /* BuilderGenerator.kt:337 */
  438    541   
        &self.select
         542  +
        /* BuilderGenerator.kt:336 */
  439    543   
    }
  440         -
    /// Appends an item to `attributes_to_get`.
         544  +
    /// /* BuilderGenerator.kt:410 */Appends an item to `attributes_to_get`.
         545  +
    /* BuilderGenerator.kt:411 */
  441    546   
    ///
  442         -
    /// To override the contents of this collection use [`set_attributes_to_get`](Self::set_attributes_to_get).
         547  +
    /// /* BuilderGenerator.kt:412 */To override the contents of this collection use [`set_attributes_to_get`](Self::set_attributes_to_get).
         548  +
    /* BuilderGenerator.kt:413 */
  443    549   
    ///
  444         -
    /// <p>This is a legacy parameter. Use <code>ProjectionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html">AttributesToGet</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         550  +
    /// /* BuilderGenerator.kt:414 */<p>This is a legacy parameter. Use <code>ProjectionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html">AttributesToGet</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         551  +
    /* BuilderGenerator.kt:418 */
  445    552   
    pub fn attributes_to_get(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         553  +
        /* BuilderGenerator.kt:419 */
  446    554   
        let mut v = self.attributes_to_get.unwrap_or_default();
  447    555   
        v.push(input.into());
  448    556   
        self.attributes_to_get = ::std::option::Option::Some(v);
  449    557   
        self
         558  +
        /* BuilderGenerator.kt:418 */
  450    559   
    }
  451         -
    /// <p>This is a legacy parameter. Use <code>ProjectionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html">AttributesToGet</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         560  +
    /// /* BuilderGenerator.kt:312 */<p>This is a legacy parameter. Use <code>ProjectionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html">AttributesToGet</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         561  +
    /* BuilderGenerator.kt:314 */
  452    562   
    pub fn set_attributes_to_get(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
         563  +
        /* BuilderGenerator.kt:315 */
  453    564   
        self.attributes_to_get = input;
  454    565   
        self
         566  +
        /* BuilderGenerator.kt:314 */
  455    567   
    }
  456         -
    /// <p>This is a legacy parameter. Use <code>ProjectionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html">AttributesToGet</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         568  +
    /// /* BuilderGenerator.kt:334 */<p>This is a legacy parameter. Use <code>ProjectionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html">AttributesToGet</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         569  +
    /* BuilderGenerator.kt:336 */
  457    570   
    pub fn get_attributes_to_get(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
         571  +
        /* BuilderGenerator.kt:337 */
  458    572   
        &self.attributes_to_get
         573  +
        /* BuilderGenerator.kt:336 */
  459    574   
    }
  460         -
    /// <p>The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation to continue the operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html">Query and Scan</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         575  +
    /// /* BuilderGenerator.kt:286 */<p>The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation to continue the operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html">Query and Scan</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         576  +
    /* BuilderGenerator.kt:291 */
  461    577   
    pub fn limit(mut self, input: i32) -> Self {
         578  +
        /* BuilderGenerator.kt:292 */
  462    579   
        self.limit = ::std::option::Option::Some(input);
         580  +
        /* BuilderGenerator.kt:293 */
  463    581   
        self
         582  +
        /* BuilderGenerator.kt:291 */
  464    583   
    }
  465         -
    /// <p>The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation to continue the operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html">Query and Scan</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         584  +
    /// /* BuilderGenerator.kt:312 */<p>The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation to continue the operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html">Query and Scan</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         585  +
    /* BuilderGenerator.kt:314 */
  466    586   
    pub fn set_limit(mut self, input: ::std::option::Option<i32>) -> Self {
         587  +
        /* BuilderGenerator.kt:315 */
  467    588   
        self.limit = input;
  468    589   
        self
         590  +
        /* BuilderGenerator.kt:314 */
  469    591   
    }
  470         -
    /// <p>The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation to continue the operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html">Query and Scan</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         592  +
    /// /* BuilderGenerator.kt:334 */<p>The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation to continue the operation. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html">Query and Scan</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         593  +
    /* BuilderGenerator.kt:336 */
  471    594   
    pub fn get_limit(&self) -> &::std::option::Option<i32> {
         595  +
        /* BuilderGenerator.kt:337 */
  472    596   
        &self.limit
         597  +
        /* BuilderGenerator.kt:336 */
  473    598   
    }
  474         -
    /// <p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
         599  +
    /// /* BuilderGenerator.kt:286 */<p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
  475    600   
    /// <p>Strongly consistent reads are not supported on global secondary indexes. If you query a global secondary index with <code>ConsistentRead</code> set to <code>true</code>, you will receive a <code>ValidationException</code>.</p>
         601  +
    /* BuilderGenerator.kt:291 */
  476    602   
    pub fn consistent_read(mut self, input: bool) -> Self {
         603  +
        /* BuilderGenerator.kt:292 */
  477    604   
        self.consistent_read = ::std::option::Option::Some(input);
         605  +
        /* BuilderGenerator.kt:293 */
  478    606   
        self
         607  +
        /* BuilderGenerator.kt:291 */
  479    608   
    }
  480         -
    /// <p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
         609  +
    /// /* BuilderGenerator.kt:312 */<p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
  481    610   
    /// <p>Strongly consistent reads are not supported on global secondary indexes. If you query a global secondary index with <code>ConsistentRead</code> set to <code>true</code>, you will receive a <code>ValidationException</code>.</p>
         611  +
    /* BuilderGenerator.kt:314 */
  482    612   
    pub fn set_consistent_read(mut self, input: ::std::option::Option<bool>) -> Self {
         613  +
        /* BuilderGenerator.kt:315 */
  483    614   
        self.consistent_read = input;
  484    615   
        self
         616  +
        /* BuilderGenerator.kt:314 */
  485    617   
    }
  486         -
    /// <p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
         618  +
    /// /* BuilderGenerator.kt:334 */<p>Determines the read consistency model: If set to <code>true</code>, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.</p>
  487    619   
    /// <p>Strongly consistent reads are not supported on global secondary indexes. If you query a global secondary index with <code>ConsistentRead</code> set to <code>true</code>, you will receive a <code>ValidationException</code>.</p>
         620  +
    /* BuilderGenerator.kt:336 */
  488    621   
    pub fn get_consistent_read(&self) -> &::std::option::Option<bool> {
         622  +
        /* BuilderGenerator.kt:337 */
  489    623   
        &self.consistent_read
         624  +
        /* BuilderGenerator.kt:336 */
  490    625   
    }
  491         -
    /// Adds a key-value pair to `key_conditions`.
         626  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `key_conditions`.
         627  +
    /* BuilderGenerator.kt:437 */
  492    628   
    ///
  493         -
    /// To override the contents of this collection use [`set_key_conditions`](Self::set_key_conditions).
         629  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_key_conditions`](Self::set_key_conditions).
         630  +
    /* BuilderGenerator.kt:439 */
  494    631   
    ///
  495         -
    /// <p>This is a legacy parameter. Use <code>KeyConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html">KeyConditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         632  +
    /// /* BuilderGenerator.kt:440 */<p>This is a legacy parameter. Use <code>KeyConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html">KeyConditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         633  +
    /* BuilderGenerator.kt:445 */
  496    634   
    pub fn key_conditions(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::Condition) -> Self {
         635  +
        /* BuilderGenerator.kt:448 */
  497    636   
        let mut hash_map = self.key_conditions.unwrap_or_default();
  498    637   
        hash_map.insert(k.into(), v);
  499    638   
        self.key_conditions = ::std::option::Option::Some(hash_map);
  500    639   
        self
         640  +
        /* BuilderGenerator.kt:445 */
  501    641   
    }
  502         -
    /// <p>This is a legacy parameter. Use <code>KeyConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html">KeyConditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         642  +
    /// /* BuilderGenerator.kt:312 */<p>This is a legacy parameter. Use <code>KeyConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html">KeyConditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         643  +
    /* BuilderGenerator.kt:314 */
  503    644   
    pub fn set_key_conditions(
  504    645   
        mut self,
  505    646   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Condition>>,
  506    647   
    ) -> Self {
         648  +
        /* BuilderGenerator.kt:315 */
  507    649   
        self.key_conditions = input;
  508    650   
        self
         651  +
        /* BuilderGenerator.kt:314 */
  509    652   
    }
  510         -
    /// <p>This is a legacy parameter. Use <code>KeyConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html">KeyConditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         653  +
    /// /* BuilderGenerator.kt:334 */<p>This is a legacy parameter. Use <code>KeyConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html">KeyConditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         654  +
    /* BuilderGenerator.kt:336 */
  511    655   
    pub fn get_key_conditions(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Condition>> {
         656  +
        /* BuilderGenerator.kt:337 */
  512    657   
        &self.key_conditions
         658  +
        /* BuilderGenerator.kt:336 */
  513    659   
    }
  514         -
    /// Adds a key-value pair to `query_filter`.
         660  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `query_filter`.
         661  +
    /* BuilderGenerator.kt:437 */
  515    662   
    ///
  516         -
    /// To override the contents of this collection use [`set_query_filter`](Self::set_query_filter).
         663  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_query_filter`](Self::set_query_filter).
         664  +
    /* BuilderGenerator.kt:439 */
  517    665   
    ///
  518         -
    /// <p>This is a legacy parameter. Use <code>FilterExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html">QueryFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         666  +
    /// /* BuilderGenerator.kt:440 */<p>This is a legacy parameter. Use <code>FilterExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html">QueryFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         667  +
    /* BuilderGenerator.kt:445 */
  519    668   
    pub fn query_filter(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::Condition) -> Self {
         669  +
        /* BuilderGenerator.kt:448 */
  520    670   
        let mut hash_map = self.query_filter.unwrap_or_default();
  521    671   
        hash_map.insert(k.into(), v);
  522    672   
        self.query_filter = ::std::option::Option::Some(hash_map);
  523    673   
        self
         674  +
        /* BuilderGenerator.kt:445 */
  524    675   
    }
  525         -
    /// <p>This is a legacy parameter. Use <code>FilterExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html">QueryFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         676  +
    /// /* BuilderGenerator.kt:312 */<p>This is a legacy parameter. Use <code>FilterExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html">QueryFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         677  +
    /* BuilderGenerator.kt:314 */
  526    678   
    pub fn set_query_filter(
  527    679   
        mut self,
  528    680   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Condition>>,
  529    681   
    ) -> Self {
         682  +
        /* BuilderGenerator.kt:315 */
  530    683   
        self.query_filter = input;
  531    684   
        self
         685  +
        /* BuilderGenerator.kt:314 */
  532    686   
    }
  533         -
    /// <p>This is a legacy parameter. Use <code>FilterExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html">QueryFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         687  +
    /// /* BuilderGenerator.kt:334 */<p>This is a legacy parameter. Use <code>FilterExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html">QueryFilter</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         688  +
    /* BuilderGenerator.kt:336 */
  534    689   
    pub fn get_query_filter(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Condition>> {
         690  +
        /* BuilderGenerator.kt:337 */
  535    691   
        &self.query_filter
         692  +
        /* BuilderGenerator.kt:336 */
  536    693   
    }
  537         -
    /// <p>This is a legacy parameter. Use <code>FilterExpression</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>
         694  +
    /// /* BuilderGenerator.kt:286 */<p>This is a legacy parameter. Use <code>FilterExpression</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>
         695  +
    /* BuilderGenerator.kt:291 */
  538    696   
    pub fn conditional_operator(mut self, input: crate::types::ConditionalOperator) -> Self {
         697  +
        /* BuilderGenerator.kt:292 */
  539    698   
        self.conditional_operator = ::std::option::Option::Some(input);
         699  +
        /* BuilderGenerator.kt:293 */
  540    700   
        self
         701  +
        /* BuilderGenerator.kt:291 */
  541    702   
    }
  542         -
    /// <p>This is a legacy parameter. Use <code>FilterExpression</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>
         703  +
    /// /* BuilderGenerator.kt:312 */<p>This is a legacy parameter. Use <code>FilterExpression</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>
         704  +
    /* BuilderGenerator.kt:314 */
  543    705   
    pub fn set_conditional_operator(mut self, input: ::std::option::Option<crate::types::ConditionalOperator>) -> Self {
         706  +
        /* BuilderGenerator.kt:315 */
  544    707   
        self.conditional_operator = input;
  545    708   
        self
         709  +
        /* BuilderGenerator.kt:314 */
  546    710   
    }
  547         -
    /// <p>This is a legacy parameter. Use <code>FilterExpression</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>
         711  +
    /// /* BuilderGenerator.kt:334 */<p>This is a legacy parameter. Use <code>FilterExpression</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>
         712  +
    /* BuilderGenerator.kt:336 */
  548    713   
    pub fn get_conditional_operator(&self) -> &::std::option::Option<crate::types::ConditionalOperator> {
         714  +
        /* BuilderGenerator.kt:337 */
  549    715   
        &self.conditional_operator
         716  +
        /* BuilderGenerator.kt:336 */
  550    717   
    }
  551         -
    /// <p>Specifies the order for index traversal: If <code>true</code> (default), the traversal is performed in ascending order; if <code>false</code>, the traversal is performed in descending order.</p>
         718  +
    /// /* BuilderGenerator.kt:286 */<p>Specifies the order for index traversal: If <code>true</code> (default), the traversal is performed in ascending order; if <code>false</code>, the traversal is performed in descending order.</p>
  552    719   
    /// <p>Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte of the binary data as unsigned.</p>
  553    720   
    /// <p>If <code>ScanIndexForward</code> is <code>true</code>, DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If <code>ScanIndexForward</code> is <code>false</code>, DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client.</p>
         721  +
    /* BuilderGenerator.kt:291 */
  554    722   
    pub fn scan_index_forward(mut self, input: bool) -> Self {
         723  +
        /* BuilderGenerator.kt:292 */
  555    724   
        self.scan_index_forward = ::std::option::Option::Some(input);
         725  +
        /* BuilderGenerator.kt:293 */
  556    726   
        self
         727  +
        /* BuilderGenerator.kt:291 */
  557    728   
    }
  558         -
    /// <p>Specifies the order for index traversal: If <code>true</code> (default), the traversal is performed in ascending order; if <code>false</code>, the traversal is performed in descending order.</p>
         729  +
    /// /* BuilderGenerator.kt:312 */<p>Specifies the order for index traversal: If <code>true</code> (default), the traversal is performed in ascending order; if <code>false</code>, the traversal is performed in descending order.</p>
  559    730   
    /// <p>Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte of the binary data as unsigned.</p>
  560    731   
    /// <p>If <code>ScanIndexForward</code> is <code>true</code>, DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If <code>ScanIndexForward</code> is <code>false</code>, DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client.</p>
         732  +
    /* BuilderGenerator.kt:314 */
  561    733   
    pub fn set_scan_index_forward(mut self, input: ::std::option::Option<bool>) -> Self {
         734  +
        /* BuilderGenerator.kt:315 */
  562    735   
        self.scan_index_forward = input;
  563    736   
        self
         737  +
        /* BuilderGenerator.kt:314 */
  564    738   
    }
  565         -
    /// <p>Specifies the order for index traversal: If <code>true</code> (default), the traversal is performed in ascending order; if <code>false</code>, the traversal is performed in descending order.</p>
         739  +
    /// /* BuilderGenerator.kt:334 */<p>Specifies the order for index traversal: If <code>true</code> (default), the traversal is performed in ascending order; if <code>false</code>, the traversal is performed in descending order.</p>
  566    740   
    /// <p>Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte of the binary data as unsigned.</p>
  567    741   
    /// <p>If <code>ScanIndexForward</code> is <code>true</code>, DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If <code>ScanIndexForward</code> is <code>false</code>, DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client.</p>
         742  +
    /* BuilderGenerator.kt:336 */
  568    743   
    pub fn get_scan_index_forward(&self) -> &::std::option::Option<bool> {
         744  +
        /* BuilderGenerator.kt:337 */
  569    745   
        &self.scan_index_forward
         746  +
        /* BuilderGenerator.kt:336 */
  570    747   
    }
  571         -
    /// Adds a key-value pair to `exclusive_start_key`.
         748  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `exclusive_start_key`.
         749  +
    /* BuilderGenerator.kt:437 */
  572    750   
    ///
  573         -
    /// To override the contents of this collection use [`set_exclusive_start_key`](Self::set_exclusive_start_key).
         751  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_exclusive_start_key`](Self::set_exclusive_start_key).
         752  +
    /* BuilderGenerator.kt:439 */
  574    753   
    ///
  575         -
    /// <p>The primary key of the first item that this operation will evaluate. Use the value that was returned for <code>LastEvaluatedKey</code> in the previous operation.</p>
         754  +
    /// /* BuilderGenerator.kt:440 */<p>The primary key of the first item that this operation will evaluate. Use the value that was returned for <code>LastEvaluatedKey</code> in the previous operation.</p>
  576    755   
    /// <p>The data type for <code>ExclusiveStartKey</code> must be String, Number, or Binary. No set data types are allowed.</p>
         756  +
    /* BuilderGenerator.kt:445 */
  577    757   
    pub fn exclusive_start_key(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
         758  +
        /* BuilderGenerator.kt:448 */
  578    759   
        let mut hash_map = self.exclusive_start_key.unwrap_or_default();
  579    760   
        hash_map.insert(k.into(), v);
  580    761   
        self.exclusive_start_key = ::std::option::Option::Some(hash_map);
  581    762   
        self
         763  +
        /* BuilderGenerator.kt:445 */
  582    764   
    }
  583         -
    /// <p>The primary key of the first item that this operation will evaluate. Use the value that was returned for <code>LastEvaluatedKey</code> in the previous operation.</p>
         765  +
    /// /* BuilderGenerator.kt:312 */<p>The primary key of the first item that this operation will evaluate. Use the value that was returned for <code>LastEvaluatedKey</code> in the previous operation.</p>
  584    766   
    /// <p>The data type for <code>ExclusiveStartKey</code> must be String, Number, or Binary. No set data types are allowed.</p>
         767  +
    /* BuilderGenerator.kt:314 */
  585    768   
    pub fn set_exclusive_start_key(
  586    769   
        mut self,
  587    770   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  588    771   
    ) -> Self {
         772  +
        /* BuilderGenerator.kt:315 */
  589    773   
        self.exclusive_start_key = input;
  590    774   
        self
         775  +
        /* BuilderGenerator.kt:314 */
  591    776   
    }
  592         -
    /// <p>The primary key of the first item that this operation will evaluate. Use the value that was returned for <code>LastEvaluatedKey</code> in the previous operation.</p>
         777  +
    /// /* BuilderGenerator.kt:334 */<p>The primary key of the first item that this operation will evaluate. Use the value that was returned for <code>LastEvaluatedKey</code> in the previous operation.</p>
  593    778   
    /// <p>The data type for <code>ExclusiveStartKey</code> must be String, Number, or Binary. No set data types are allowed.</p>
         779  +
    /* BuilderGenerator.kt:336 */
  594    780   
    pub fn get_exclusive_start_key(
  595    781   
        &self,
  596    782   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
         783  +
        /* BuilderGenerator.kt:337 */
  597    784   
        &self.exclusive_start_key
         785  +
        /* BuilderGenerator.kt:336 */
  598    786   
    }
  599         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         787  +
    /// /* BuilderGenerator.kt:286 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  600    788   
    /// <ul>
  601    789   
    /// <li>
  602    790   
    /// <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>
  603    791   
    /// <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>
  604    792   
    /// <li>
  605    793   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  606    794   
    /// <li>
  607    795   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  608    796   
    /// </ul>
         797  +
    /* BuilderGenerator.kt:291 */
  609    798   
    pub fn return_consumed_capacity(mut self, input: crate::types::ReturnConsumedCapacity) -> Self {
         799  +
        /* BuilderGenerator.kt:292 */
  610    800   
        self.return_consumed_capacity = ::std::option::Option::Some(input);
         801  +
        /* BuilderGenerator.kt:293 */
  611    802   
        self
         803  +
        /* BuilderGenerator.kt:291 */
  612    804   
    }
  613         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         805  +
    /// /* BuilderGenerator.kt:312 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  614    806   
    /// <ul>
  615    807   
    /// <li>
  616    808   
    /// <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>
  617    809   
    /// <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>
  618    810   
    /// <li>
  619    811   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  620    812   
    /// <li>
  621    813   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  622    814   
    /// </ul>
         815  +
    /* BuilderGenerator.kt:314 */
  623    816   
    pub fn set_return_consumed_capacity(mut self, input: ::std::option::Option<crate::types::ReturnConsumedCapacity>) -> Self {
         817  +
        /* BuilderGenerator.kt:315 */
  624    818   
        self.return_consumed_capacity = input;
  625    819   
        self
         820  +
        /* BuilderGenerator.kt:314 */
  626    821   
    }
  627         -
    /// <p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
         822  +
    /// /* BuilderGenerator.kt:334 */<p>Determines the level of detail about provisioned throughput consumption that is returned in the response:</p>
  628    823   
    /// <ul>
  629    824   
    /// <li>
  630    825   
    /// <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>
  631    826   
    /// <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>
  632    827   
    /// <li>
  633    828   
    /// <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>
  634    829   
    /// <li>
  635    830   
    /// <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li>
  636    831   
    /// </ul>
         832  +
    /* BuilderGenerator.kt:336 */
  637    833   
    pub fn get_return_consumed_capacity(&self) -> &::std::option::Option<crate::types::ReturnConsumedCapacity> {
         834  +
        /* BuilderGenerator.kt:337 */
  638    835   
        &self.return_consumed_capacity
         836  +
        /* BuilderGenerator.kt:336 */
  639    837   
    }
  640         -
    /// <p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         838  +
    /// /* BuilderGenerator.kt:286 */<p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  641    839   
    /// <p>If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.</p>
  642    840   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html">Accessing Item Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         841  +
    /* BuilderGenerator.kt:291 */
  643    842   
    pub fn projection_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         843  +
        /* BuilderGenerator.kt:292 */
  644    844   
        self.projection_expression = ::std::option::Option::Some(input.into());
         845  +
        /* BuilderGenerator.kt:293 */
  645    846   
        self
         847  +
        /* BuilderGenerator.kt:291 */
  646    848   
    }
  647         -
    /// <p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         849  +
    /// /* BuilderGenerator.kt:312 */<p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  648    850   
    /// <p>If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.</p>
  649    851   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html">Accessing Item Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         852  +
    /* BuilderGenerator.kt:314 */
  650    853   
    pub fn set_projection_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         854  +
        /* BuilderGenerator.kt:315 */
  651    855   
        self.projection_expression = input;
  652    856   
        self
         857  +
        /* BuilderGenerator.kt:314 */
  653    858   
    }
  654         -
    /// <p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
         859  +
    /// /* BuilderGenerator.kt:334 */<p>A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.</p>
  655    860   
    /// <p>If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.</p>
  656    861   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html">Accessing Item Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         862  +
    /* BuilderGenerator.kt:336 */
  657    863   
    pub fn get_projection_expression(&self) -> &::std::option::Option<::std::string::String> {
         864  +
        /* BuilderGenerator.kt:337 */
  658    865   
        &self.projection_expression
         866  +
        /* BuilderGenerator.kt:336 */
  659    867   
    }
  660         -
    /// <p>A string that contains conditions that DynamoDB applies after the <code>Query</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p>
         868  +
    /// /* BuilderGenerator.kt:286 */<p>A string that contains conditions that DynamoDB applies after the <code>Query</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p>
  661    869   
    /// <p>A <code>FilterExpression</code> does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.</p><note>
  662    870   
    /// <p>A <code>FilterExpression</code> is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.</p>
  663    871   
    /// </note>
  664    872   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults">Filter Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         873  +
    /* BuilderGenerator.kt:291 */
  665    874   
    pub fn filter_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         875  +
        /* BuilderGenerator.kt:292 */
  666    876   
        self.filter_expression = ::std::option::Option::Some(input.into());
         877  +
        /* BuilderGenerator.kt:293 */
  667    878   
        self
         879  +
        /* BuilderGenerator.kt:291 */
  668    880   
    }
  669         -
    /// <p>A string that contains conditions that DynamoDB applies after the <code>Query</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p>
         881  +
    /// /* BuilderGenerator.kt:312 */<p>A string that contains conditions that DynamoDB applies after the <code>Query</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p>
  670    882   
    /// <p>A <code>FilterExpression</code> does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.</p><note>
  671    883   
    /// <p>A <code>FilterExpression</code> is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.</p>
  672    884   
    /// </note>
  673    885   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults">Filter Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         886  +
    /* BuilderGenerator.kt:314 */
  674    887   
    pub fn set_filter_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         888  +
        /* BuilderGenerator.kt:315 */
  675    889   
        self.filter_expression = input;
  676    890   
        self
         891  +
        /* BuilderGenerator.kt:314 */
  677    892   
    }
  678         -
    /// <p>A string that contains conditions that DynamoDB applies after the <code>Query</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p>
         893  +
    /// /* BuilderGenerator.kt:334 */<p>A string that contains conditions that DynamoDB applies after the <code>Query</code> operation, but before the data is returned to you. Items that do not satisfy the <code>FilterExpression</code> criteria are not returned.</p>
  679    894   
    /// <p>A <code>FilterExpression</code> does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.</p><note>
  680    895   
    /// <p>A <code>FilterExpression</code> is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.</p>
  681    896   
    /// </note>
  682    897   
    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults">Filter Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         898  +
    /* BuilderGenerator.kt:336 */
  683    899   
    pub fn get_filter_expression(&self) -> &::std::option::Option<::std::string::String> {
         900  +
        /* BuilderGenerator.kt:337 */
  684    901   
        &self.filter_expression
         902  +
        /* BuilderGenerator.kt:336 */
  685    903   
    }
  686         -
    /// <p>The condition that specifies the key values for items to be retrieved by the <code>Query</code> action.</p>
         904  +
    /// /* BuilderGenerator.kt:286 */<p>The condition that specifies the key values for items to be retrieved by the <code>Query</code> action.</p>
  687    905   
    /// <p>The condition must perform an equality test on a single partition key value.</p>
  688    906   
    /// <p>The condition can optionally perform one of several comparison tests on a single sort key value. This allows <code>Query</code> to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values.</p>
  689    907   
    /// <p>The partition key equality test is required, and must be specified in the following format:</p>
  690    908   
    /// <p><code>partitionKeyName</code> <i>=</i> <code>:partitionkeyval</code></p>
  691    909   
    /// <p>If you also want to provide a condition for the sort key, it must be combined using <code>AND</code> with the condition for the sort key. Following is an example, using the <b>=</b> comparison operator for the sort key:</p>
  692    910   
    /// <p><code>partitionKeyName</code> <code>=</code> <code>:partitionkeyval</code> <code>AND</code> <code>sortKeyName</code> <code>=</code> <code>:sortkeyval</code></p>
  693    911   
    /// <p>Valid comparisons for the sort key condition are as follows:</p>
  694    912   
    /// <ul>
  695    913   
    /// <li>
  696    914   
    /// <p><code>sortKeyName</code> <code>=</code> <code>:sortkeyval</code> - true if the sort key value is equal to <code>:sortkeyval</code>.</p></li>
  697    915   
    /// <li>
  698    916   
    /// <p><code>sortKeyName</code> <code>&lt;</code> <code>:sortkeyval</code> - true if the sort key value is less than <code>:sortkeyval</code>.</p></li>
  699    917   
    /// <li>
  700    918   
    /// <p><code>sortKeyName</code> <code>&lt;=</code> <code>:sortkeyval</code> - true if the sort key value is less than or equal to <code>:sortkeyval</code>.</p></li>
  701    919   
    /// <li>
  702    920   
    /// <p><code>sortKeyName</code> <code>&gt;</code> <code>:sortkeyval</code> - true if the sort key value is greater than <code>:sortkeyval</code>.</p></li>
  703    921   
    /// <li>
  704    922   
    /// <p><code>sortKeyName</code> <code>&gt;= </code> <code>:sortkeyval</code> - true if the sort key value is greater than or equal to <code>:sortkeyval</code>.</p></li>
  705    923   
    /// <li>
  706    924   
    /// <p><code>sortKeyName</code> <code>BETWEEN</code> <code>:sortkeyval1</code> <code>AND</code> <code>:sortkeyval2</code> - true if the sort key value is greater than or equal to <code>:sortkeyval1</code>, and less than or equal to <code>:sortkeyval2</code>.</p></li>
  707    925   
    /// <li>
  708    926   
    /// <p><code>begins_with (</code> <code>sortKeyName</code>, <code>:sortkeyval</code> <code>)</code> - true if the sort key value begins with a particular operand. (You cannot use this function with a sort key that is of type Number.) Note that the function name <code>begins_with</code> is case-sensitive.</p></li>
  709    927   
    /// </ul>
  710    928   
    /// <p>Use the <code>ExpressionAttributeValues</code> parameter to replace tokens such as <code>:partitionval</code> and <code>:sortval</code> with actual values at runtime.</p>
  711    929   
    /// <p>You can optionally use the <code>ExpressionAttributeNames</code> parameter to replace the names of the partition key and sort key with placeholder tokens. This option might be necessary if an attribute name conflicts with a DynamoDB reserved word. For example, the following <code>KeyConditionExpression</code> parameter causes an error because <i>Size</i> is a reserved word:</p>
  712    930   
    /// <ul>
  713    931   
    /// <li>
  714    932   
    /// <p><code>Size = :myval</code></p></li>
  715    933   
    /// </ul>
  716    934   
    /// <p>To work around this, define a placeholder (such a <code>#S</code>) to represent the attribute name <i>Size</i>. <code>KeyConditionExpression</code> then is as follows:</p>
  717    935   
    /// <ul>
  718    936   
    /// <li>
  719    937   
    /// <p><code>#S = :myval</code></p></li>
  720    938   
    /// </ul>
  721    939   
    /// <p>For a 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>.</p>
  722    940   
    /// <p>For more information on <code>ExpressionAttributeNames</code> and <code>ExpressionAttributeValues</code>, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html">Using Placeholders for Attribute Names and Values</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         941  +
    /* BuilderGenerator.kt:291 */
  723    942   
    pub fn key_condition_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         943  +
        /* BuilderGenerator.kt:292 */
  724    944   
        self.key_condition_expression = ::std::option::Option::Some(input.into());
         945  +
        /* BuilderGenerator.kt:293 */
  725    946   
        self
         947  +
        /* BuilderGenerator.kt:291 */
  726    948   
    }
  727         -
    /// <p>The condition that specifies the key values for items to be retrieved by the <code>Query</code> action.</p>
         949  +
    /// /* BuilderGenerator.kt:312 */<p>The condition that specifies the key values for items to be retrieved by the <code>Query</code> action.</p>
  728    950   
    /// <p>The condition must perform an equality test on a single partition key value.</p>
  729    951   
    /// <p>The condition can optionally perform one of several comparison tests on a single sort key value. This allows <code>Query</code> to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values.</p>
  730    952   
    /// <p>The partition key equality test is required, and must be specified in the following format:</p>
  731    953   
    /// <p><code>partitionKeyName</code> <i>=</i> <code>:partitionkeyval</code></p>
  732    954   
    /// <p>If you also want to provide a condition for the sort key, it must be combined using <code>AND</code> with the condition for the sort key. Following is an example, using the <b>=</b> comparison operator for the sort key:</p>
  733    955   
    /// <p><code>partitionKeyName</code> <code>=</code> <code>:partitionkeyval</code> <code>AND</code> <code>sortKeyName</code> <code>=</code> <code>:sortkeyval</code></p>
  734    956   
    /// <p>Valid comparisons for the sort key condition are as follows:</p>
  735    957   
    /// <ul>
  736    958   
    /// <li>
  737    959   
    /// <p><code>sortKeyName</code> <code>=</code> <code>:sortkeyval</code> - true if the sort key value is equal to <code>:sortkeyval</code>.</p></li>
  738    960   
    /// <li>
  739    961   
    /// <p><code>sortKeyName</code> <code>&lt;</code> <code>:sortkeyval</code> - true if the sort key value is less than <code>:sortkeyval</code>.</p></li>
  740    962   
    /// <li>
  741    963   
    /// <p><code>sortKeyName</code> <code>&lt;=</code> <code>:sortkeyval</code> - true if the sort key value is less than or equal to <code>:sortkeyval</code>.</p></li>
  742    964   
    /// <li>
  743    965   
    /// <p><code>sortKeyName</code> <code>&gt;</code> <code>:sortkeyval</code> - true if the sort key value is greater than <code>:sortkeyval</code>.</p></li>
  744    966   
    /// <li>
  745    967   
    /// <p><code>sortKeyName</code> <code>&gt;= </code> <code>:sortkeyval</code> - true if the sort key value is greater than or equal to <code>:sortkeyval</code>.</p></li>
  746    968   
    /// <li>
  747    969   
    /// <p><code>sortKeyName</code> <code>BETWEEN</code> <code>:sortkeyval1</code> <code>AND</code> <code>:sortkeyval2</code> - true if the sort key value is greater than or equal to <code>:sortkeyval1</code>, and less than or equal to <code>:sortkeyval2</code>.</p></li>
  748    970   
    /// <li>
  749    971   
    /// <p><code>begins_with (</code> <code>sortKeyName</code>, <code>:sortkeyval</code> <code>)</code> - true if the sort key value begins with a particular operand. (You cannot use this function with a sort key that is of type Number.) Note that the function name <code>begins_with</code> is case-sensitive.</p></li>
  750    972   
    /// </ul>
  751    973   
    /// <p>Use the <code>ExpressionAttributeValues</code> parameter to replace tokens such as <code>:partitionval</code> and <code>:sortval</code> with actual values at runtime.</p>
  752    974   
    /// <p>You can optionally use the <code>ExpressionAttributeNames</code> parameter to replace the names of the partition key and sort key with placeholder tokens. This option might be necessary if an attribute name conflicts with a DynamoDB reserved word. For example, the following <code>KeyConditionExpression</code> parameter causes an error because <i>Size</i> is a reserved word:</p>
  753    975   
    /// <ul>
  754    976   
    /// <li>
  755    977   
    /// <p><code>Size = :myval</code></p></li>
  756    978   
    /// </ul>
  757    979   
    /// <p>To work around this, define a placeholder (such a <code>#S</code>) to represent the attribute name <i>Size</i>. <code>KeyConditionExpression</code> then is as follows:</p>
  758    980   
    /// <ul>
  759    981   
    /// <li>
  760    982   
    /// <p><code>#S = :myval</code></p></li>
  761    983   
    /// </ul>
  762    984   
    /// <p>For a 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>.</p>
  763    985   
    /// <p>For more information on <code>ExpressionAttributeNames</code> and <code>ExpressionAttributeValues</code>, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html">Using Placeholders for Attribute Names and Values</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
         986  +
    /* BuilderGenerator.kt:314 */
  764    987   
    pub fn set_key_condition_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         988  +
        /* BuilderGenerator.kt:315 */
  765    989   
        self.key_condition_expression = input;
  766    990   
        self
         991  +
        /* BuilderGenerator.kt:314 */
  767    992   
    }
  768         -
    /// <p>The condition that specifies the key values for items to be retrieved by the <code>Query</code> action.</p>
         993  +
    /// /* BuilderGenerator.kt:334 */<p>The condition that specifies the key values for items to be retrieved by the <code>Query</code> action.</p>
  769    994   
    /// <p>The condition must perform an equality test on a single partition key value.</p>
  770    995   
    /// <p>The condition can optionally perform one of several comparison tests on a single sort key value. This allows <code>Query</code> to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values.</p>
  771    996   
    /// <p>The partition key equality test is required, and must be specified in the following format:</p>
  772    997   
    /// <p><code>partitionKeyName</code> <i>=</i> <code>:partitionkeyval</code></p>
  773    998   
    /// <p>If you also want to provide a condition for the sort key, it must be combined using <code>AND</code> with the condition for the sort key. Following is an example, using the <b>=</b> comparison operator for the sort key:</p>
  774    999   
    /// <p><code>partitionKeyName</code> <code>=</code> <code>:partitionkeyval</code> <code>AND</code> <code>sortKeyName</code> <code>=</code> <code>:sortkeyval</code></p>
  775   1000   
    /// <p>Valid comparisons for the sort key condition are as follows:</p>
  776   1001   
    /// <ul>
  777   1002   
    /// <li>
  778   1003   
    /// <p><code>sortKeyName</code> <code>=</code> <code>:sortkeyval</code> - true if the sort key value is equal to <code>:sortkeyval</code>.</p></li>
  779   1004   
    /// <li>
  780   1005   
    /// <p><code>sortKeyName</code> <code>&lt;</code> <code>:sortkeyval</code> - true if the sort key value is less than <code>:sortkeyval</code>.</p></li>
  781   1006   
    /// <li>
  782   1007   
    /// <p><code>sortKeyName</code> <code>&lt;=</code> <code>:sortkeyval</code> - true if the sort key value is less than or equal to <code>:sortkeyval</code>.</p></li>
  783   1008   
    /// <li>
  784   1009   
    /// <p><code>sortKeyName</code> <code>&gt;</code> <code>:sortkeyval</code> - true if the sort key value is greater than <code>:sortkeyval</code>.</p></li>
  785   1010   
    /// <li>
  786   1011   
    /// <p><code>sortKeyName</code> <code>&gt;= </code> <code>:sortkeyval</code> - true if the sort key value is greater than or equal to <code>:sortkeyval</code>.</p></li>
  787   1012   
    /// <li>
  788   1013   
    /// <p><code>sortKeyName</code> <code>BETWEEN</code> <code>:sortkeyval1</code> <code>AND</code> <code>:sortkeyval2</code> - true if the sort key value is greater than or equal to <code>:sortkeyval1</code>, and less than or equal to <code>:sortkeyval2</code>.</p></li>
  789   1014   
    /// <li>
  790   1015   
    /// <p><code>begins_with (</code> <code>sortKeyName</code>, <code>:sortkeyval</code> <code>)</code> - true if the sort key value begins with a particular operand. (You cannot use this function with a sort key that is of type Number.) Note that the function name <code>begins_with</code> is case-sensitive.</p></li>
  791   1016   
    /// </ul>
  792   1017   
    /// <p>Use the <code>ExpressionAttributeValues</code> parameter to replace tokens such as <code>:partitionval</code> and <code>:sortval</code> with actual values at runtime.</p>
  793   1018   
    /// <p>You can optionally use the <code>ExpressionAttributeNames</code> parameter to replace the names of the partition key and sort key with placeholder tokens. This option might be necessary if an attribute name conflicts with a DynamoDB reserved word. For example, the following <code>KeyConditionExpression</code> parameter causes an error because <i>Size</i> is a reserved word:</p>
  794   1019   
    /// <ul>
  795   1020   
    /// <li>
  796   1021   
    /// <p><code>Size = :myval</code></p></li>
  797   1022   
    /// </ul>
  798   1023   
    /// <p>To work around this, define a placeholder (such a <code>#S</code>) to represent the attribute name <i>Size</i>. <code>KeyConditionExpression</code> then is as follows:</p>
  799   1024   
    /// <ul>
  800   1025   
    /// <li>
  801   1026   
    /// <p><code>#S = :myval</code></p></li>
  802   1027   
    /// </ul>
  803   1028   
    /// <p>For a 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>.</p>
  804   1029   
    /// <p>For more information on <code>ExpressionAttributeNames</code> and <code>ExpressionAttributeValues</code>, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html">Using Placeholders for Attribute Names and Values</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
        1030  +
    /* BuilderGenerator.kt:336 */
  805   1031   
    pub fn get_key_condition_expression(&self) -> &::std::option::Option<::std::string::String> {
        1032  +
        /* BuilderGenerator.kt:337 */
  806   1033   
        &self.key_condition_expression
        1034  +
        /* BuilderGenerator.kt:336 */
  807   1035   
    }
  808         -
    /// Adds a key-value pair to `expression_attribute_names`.
        1036  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `expression_attribute_names`.
        1037  +
    /* BuilderGenerator.kt:437 */
  809   1038   
    ///
  810         -
    /// To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
        1039  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_expression_attribute_names`](Self::set_expression_attribute_names).
        1040  +
    /* BuilderGenerator.kt:439 */
  811   1041   
    ///
  812         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
        1042  +
    /// /* BuilderGenerator.kt:440 */<p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
  813   1043   
    /// <ul>
  814   1044   
    /// <li>
  815   1045   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  816   1046   
    /// <li>
  817   1047   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  818   1048   
    /// <li>
  819   1049   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  820   1050   
    /// </ul>
  821   1051   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  822   1052   
    /// <ul>
  823   1053   
    /// <li>
  824   1054   
    /// <p><code>Percentile</code></p></li>
  825   1055   
    /// </ul>
  826   1056   
    /// <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>
  827   1057   
    /// <ul>
  828   1058   
    /// <li>
  829   1059   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  830   1060   
    /// </ul>
  831   1061   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  832   1062   
    /// <ul>
  833   1063   
    /// <li>
  834   1064   
    /// <p><code>#P = :val</code></p></li>
  835   1065   
    /// </ul><note>
  836   1066   
    /// <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>
  837   1067   
    /// </note>
  838   1068   
    /// <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>
        1069  +
    /* BuilderGenerator.kt:445 */
  839   1070   
    pub fn expression_attribute_names(
  840   1071   
        mut self,
  841   1072   
        k: impl ::std::convert::Into<::std::string::String>,
  842   1073   
        v: impl ::std::convert::Into<::std::string::String>,
  843   1074   
    ) -> Self {
        1075  +
        /* BuilderGenerator.kt:448 */
  844   1076   
        let mut hash_map = self.expression_attribute_names.unwrap_or_default();
  845   1077   
        hash_map.insert(k.into(), v.into());
  846   1078   
        self.expression_attribute_names = ::std::option::Option::Some(hash_map);
  847   1079   
        self
        1080  +
        /* BuilderGenerator.kt:445 */
  848   1081   
    }
  849         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
        1082  +
    /// /* BuilderGenerator.kt:312 */<p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
  850   1083   
    /// <ul>
  851   1084   
    /// <li>
  852   1085   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  853   1086   
    /// <li>
  854   1087   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  855   1088   
    /// <li>
  856   1089   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  857   1090   
    /// </ul>
  858   1091   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  859   1092   
    /// <ul>
  860   1093   
    /// <li>
  861   1094   
    /// <p><code>Percentile</code></p></li>
  862   1095   
    /// </ul>
  863   1096   
    /// <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>
  864   1097   
    /// <ul>
  865   1098   
    /// <li>
  866   1099   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  867   1100   
    /// </ul>
  868   1101   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  869   1102   
    /// <ul>
  870   1103   
    /// <li>
  871   1104   
    /// <p><code>#P = :val</code></p></li>
  872   1105   
    /// </ul><note>
  873   1106   
    /// <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>
  874   1107   
    /// </note>
  875   1108   
    /// <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>
        1109  +
    /* BuilderGenerator.kt:314 */
  876   1110   
    pub fn set_expression_attribute_names(
  877   1111   
        mut self,
  878   1112   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
  879   1113   
    ) -> Self {
        1114  +
        /* BuilderGenerator.kt:315 */
  880   1115   
        self.expression_attribute_names = input;
  881   1116   
        self
        1117  +
        /* BuilderGenerator.kt:314 */
  882   1118   
    }
  883         -
    /// <p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
        1119  +
    /// /* BuilderGenerator.kt:334 */<p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p>
  884   1120   
    /// <ul>
  885   1121   
    /// <li>
  886   1122   
    /// <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>
  887   1123   
    /// <li>
  888   1124   
    /// <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>
  889   1125   
    /// <li>
  890   1126   
    /// <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li>
  891   1127   
    /// </ul>
  892   1128   
    /// <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p>
  893   1129   
    /// <ul>
  894   1130   
    /// <li>
  895   1131   
    /// <p><code>Percentile</code></p></li>
  896   1132   
    /// </ul>
  897   1133   
    /// <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>
  898   1134   
    /// <ul>
  899   1135   
    /// <li>
  900   1136   
    /// <p><code>{"#P":"Percentile"}</code></p></li>
  901   1137   
    /// </ul>
  902   1138   
    /// <p>You could then use this substitution in an expression, as in this example:</p>
  903   1139   
    /// <ul>
  904   1140   
    /// <li>
  905   1141   
    /// <p><code>#P = :val</code></p></li>
  906   1142   
    /// </ul><note>
  907   1143   
    /// <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>
  908   1144   
    /// </note>
  909   1145   
    /// <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>
        1146  +
    /* BuilderGenerator.kt:336 */
  910   1147   
    pub fn get_expression_attribute_names(
  911   1148   
        &self,
  912   1149   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
        1150  +
        /* BuilderGenerator.kt:337 */
  913   1151   
        &self.expression_attribute_names
        1152  +
        /* BuilderGenerator.kt:336 */
  914   1153   
    }
  915         -
    /// Adds a key-value pair to `expression_attribute_values`.
        1154  +
    /// /* BuilderGenerator.kt:436 */Adds a key-value pair to `expression_attribute_values`.
        1155  +
    /* BuilderGenerator.kt:437 */
  916   1156   
    ///
  917         -
    /// To override the contents of this collection use [`set_expression_attribute_values`](Self::set_expression_attribute_values).
        1157  +
    /// /* BuilderGenerator.kt:438 */To override the contents of this collection use [`set_expression_attribute_values`](Self::set_expression_attribute_values).
        1158  +
    /* BuilderGenerator.kt:439 */
  918   1159   
    ///
  919         -
    /// <p>One or more values that can be substituted in an expression.</p>
        1160  +
    /// /* BuilderGenerator.kt:440 */<p>One or more values that can be substituted in an expression.</p>
  920   1161   
    /// <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>
  921   1162   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  922   1163   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  923   1164   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  924   1165   
    /// <p>You could then use these values in an expression, such as this:</p>
  925   1166   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  926   1167   
    /// <p>For more information on expression attribute values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Specifying Conditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
        1168  +
    /* BuilderGenerator.kt:445 */
  927   1169   
    pub fn expression_attribute_values(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::AttributeValue) -> Self {
        1170  +
        /* BuilderGenerator.kt:448 */
  928   1171   
        let mut hash_map = self.expression_attribute_values.unwrap_or_default();
  929   1172   
        hash_map.insert(k.into(), v);
  930   1173   
        self.expression_attribute_values = ::std::option::Option::Some(hash_map);
  931   1174   
        self
        1175  +
        /* BuilderGenerator.kt:445 */
  932   1176   
    }
  933         -
    /// <p>One or more values that can be substituted in an expression.</p>
        1177  +
    /// /* BuilderGenerator.kt:312 */<p>One or more values that can be substituted in an expression.</p>
  934   1178   
    /// <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>
  935   1179   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  936   1180   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  937   1181   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  938   1182   
    /// <p>You could then use these values in an expression, such as this:</p>
  939   1183   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  940   1184   
    /// <p>For more information on expression attribute values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Specifying Conditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
        1185  +
    /* BuilderGenerator.kt:314 */
  941   1186   
    pub fn set_expression_attribute_values(
  942   1187   
        mut self,
  943   1188   
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>,
  944   1189   
    ) -> Self {
        1190  +
        /* BuilderGenerator.kt:315 */
  945   1191   
        self.expression_attribute_values = input;
  946   1192   
        self
        1193  +
        /* BuilderGenerator.kt:314 */
  947   1194   
    }
  948         -
    /// <p>One or more values that can be substituted in an expression.</p>
        1195  +
    /// /* BuilderGenerator.kt:334 */<p>One or more values that can be substituted in an expression.</p>
  949   1196   
    /// <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>
  950   1197   
    /// <p><code>Available | Backordered | Discontinued</code></p>
  951   1198   
    /// <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p>
  952   1199   
    /// <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p>
  953   1200   
    /// <p>You could then use these values in an expression, such as this:</p>
  954   1201   
    /// <p><code>ProductStatus IN (:avail, :back, :disc)</code></p>
  955   1202   
    /// <p>For more information on expression attribute values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Specifying Conditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
        1203  +
    /* BuilderGenerator.kt:336 */
  956   1204   
    pub fn get_expression_attribute_values(
  957   1205   
        &self,
  958   1206   
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>> {
        1207  +
        /* BuilderGenerator.kt:337 */
  959   1208   
        &self.expression_attribute_values
        1209  +
        /* BuilderGenerator.kt:336 */
  960   1210   
    }
  961         -
    /// Consumes the builder and constructs a [`QueryInput`](crate::operation::query::QueryInput).
        1211  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`QueryInput`](crate::operation::query::QueryInput).
        1212  +
    /* BuilderGenerator.kt:253 */
  962   1213   
    pub fn build(self) -> ::std::result::Result<crate::operation::query::QueryInput, ::aws_smithy_types::error::operation::BuildError> {
  963         -
        ::std::result::Result::Ok(crate::operation::query::QueryInput {
  964         -
            table_name: self.table_name,
        1214  +
        /* BuilderGenerator.kt:254 */
        1215  +
        ::std::result::Result::Ok(
        1216  +
            /* BuilderGenerator.kt:477 */
        1217  +
            crate::operation::query::QueryInput {
        1218  +
                /* BuilderGenerator.kt:481 */ table_name: self.table_name,
        1219  +
                /* BuilderGenerator.kt:481 */
  965   1220   
                index_name: self.index_name,
        1221  +
                /* BuilderGenerator.kt:481 */
  966   1222   
                select: self.select,
        1223  +
                /* BuilderGenerator.kt:481 */
  967   1224   
                attributes_to_get: self.attributes_to_get,
        1225  +
                /* BuilderGenerator.kt:481 */
  968   1226   
                limit: self.limit,
        1227  +
                /* BuilderGenerator.kt:481 */
  969   1228   
                consistent_read: self.consistent_read,
        1229  +
                /* BuilderGenerator.kt:481 */
  970   1230   
                key_conditions: self.key_conditions,
        1231  +
                /* BuilderGenerator.kt:481 */
  971   1232   
                query_filter: self.query_filter,
        1233  +
                /* BuilderGenerator.kt:481 */
  972   1234   
                conditional_operator: self.conditional_operator,
        1235  +
                /* BuilderGenerator.kt:481 */
  973   1236   
                scan_index_forward: self.scan_index_forward,
        1237  +
                /* BuilderGenerator.kt:481 */
  974   1238   
                exclusive_start_key: self.exclusive_start_key,
        1239  +
                /* BuilderGenerator.kt:481 */
  975   1240   
                return_consumed_capacity: self.return_consumed_capacity,
        1241  +
                /* BuilderGenerator.kt:481 */
  976   1242   
                projection_expression: self.projection_expression,
        1243  +
                /* BuilderGenerator.kt:481 */
  977   1244   
                filter_expression: self.filter_expression,
        1245  +
                /* BuilderGenerator.kt:481 */
  978   1246   
                key_condition_expression: self.key_condition_expression,
        1247  +
                /* BuilderGenerator.kt:481 */
  979   1248   
                expression_attribute_names: self.expression_attribute_names,
        1249  +
                /* BuilderGenerator.kt:481 */
  980   1250   
                expression_attribute_values: self.expression_attribute_values,
  981         -
        })
        1251  +
                /* BuilderGenerator.kt:477 */
        1252  +
            }, /* BuilderGenerator.kt:254 */
        1253  +
        )
        1254  +
        /* BuilderGenerator.kt:253 */
  982   1255   
    }
        1256  +
    /* BuilderGenerator.kt:355 */
  983   1257   
}